Anecdotal: Rebase and Visual Studio 2015 and /etc

Ken Brown kbrown@cornell.edu
Tue Jul 5 20:09:00 GMT 2016


On 7/5/2016 9:59 AM, Ken Brown wrote:
> On 7/3/2016 10:02 AM, Ken Brown wrote:

>> This script has a couple of problems.  First, it doesn't take dependency
>> loops into account.  For example, if package p requires q and q requires
>> p, then both will be marked as non-root.  Second, if the mirror was used
>> for both an x86 and x86_64 installation, it always uses the x86
>> setup.ini, regardless of the current architecture.
>
> The second problem is easy to fix.  I think you can fix the first
> problem by using the dependency order computed by setup and recorded in
> /var/log/setup.log.full:
>
> $ grep "Dependency order" /var/log/setup.log.full
> Dependency order of packages: base-cygwin cygwin libdbus1_3 libiconv2
> libintl8 libffi6 libpcre1 liblzma5 libgcc1 libstdc++6 terminfo...
>
> You should only mark a package as a non-root if it is required by a
> package that occurs later in the list.

Sorry, this isn't quite right, at least if your goal is to produce a 
minimal set of roots.  [It will, however, produce a set of roots that is 
not necessarily minimal.]  To get a minimal set you would have to find 
the strongly-connected components of the dependency graph.  [This is 
what is done internally by setup.exe in order to compute the dependency 
order.]  Then when a package is marked as a non-root, all packages in 
the same component should also be marked as non-root.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list