On Nov 11 12:53, Corinna Vinschen wrote: > On Nov 10 22:33, Yaakov Selkowitz wrote: > > On 2014-11-10 22:23, Yaakov Selkowitz wrote: > > >Dependency order of packages: libgcc1 base-cygwin cygwin dash tzcode > > >libstdc++6 terminfo sed gzip libpcre1 grep libreadline7 bash > > >libncursesw10 > > [snip] > > > > Now that I think about it, regardless of libgcc1, that still doesn't make > > much sense. sed, grep, and bash depend on libintl8, which depends on > > libiconv2, and libreadline7 (which is required by bash) itself depends on > > libncursesw10, so that should be at least two places earlier. All of those > > dependencies are listed in setup.hint (and hence setup.ini), so is there > > something wrong with setup itself? > > What about dependency loops? > > AFAICS, coreutils depends on tzcode, tzcode depends on coreutils. Both > depend on libgcc1. This introduces a big problem in dependency > resolution because there's no unambiguous starting point. > > What if we remove the coretuls dep from tzcode. > > Or, actually, what if we make sure that Base packages only depend > on libs, but never on any other Base package?
Ok, now after a collegue of mine informed me about the existence of
tsort (*blush*), I could finally produce some more info about loops
in our dependencies. I wrote a simple script:
awk '/^@ /{ left=$2; }
/^requires: /{ for (i=2; i<=NF; ++i) print left " " $i; }
' < setup.ini | tsort
It found the following dependency loops which have to be fixed.
Most notably are the dep loops of _autorebase and _update-info-dir,
which we'll fix ASAP.
GConf2 -> libgconf2_4 -> gconf-desktop-schemas -> GConf2
xf86-video-dummy -> xorg-server -> xf86-video-dummy
xf86-video-nested -> xorg-server -> xf86-video-nested
texlive -> texlive-collection-basic -> texlive
libautotrace3 -> libMagickCore5 -> libautotrace3
libgeoclue0 -> geoclue -> libgeoclue0
shared-mime-info -> libglib2.0_0 -> shared-mime-info
libatspi0 -> at-spi2-core -> libatspi0
libfam0 -> gamin -> libglib2.0_0 -> libfam0
gsettings-desktop-schemas -> libglib2.0_0 -> gsettings-desktop-schemas
libdbus1_3 -> dbus -> libdbus1_3
php-Archive_Tar -> php-PEAR -> php-Archive_Tar
autogen -> libopts-devel -> autogen
python-libxslt -> python-libxml2 -> python-libxslt
libopenldap2_4_2 -> libsasl2_3 -> libopenldap2_4_2
perl-Mozilla-CA -> perl-IO-Socket-SSL -> perl-Mozilla-CA
rubygems -> ruby-io-console -> ruby -> rubygems
ruby-rake -> rubygems -> ruby-rake
ruby-rdoc -> rubygems -> ruby-rdoc
ruby-rdoc -> rubygems -> ruby-io-console -> ruby -> ruby-rdoc
mingw64-i686-runtime -> mingw64-i686-gcc-core -> mingw64-i686-runtime
mingw64-x86_64-runtime -> mingw64-x86_64-gcc-core -> mingw64-x86_64-runtime
_autorebase -> rebase -> sed -> libintl8 -> libiconv2 -> libgcc1 ->
_autorebase
_autorebase -> rebase -> coreutils -> libgmp10 -> _autorebase
tesseract-ocr-eng -> tesseract-ocr -> tesseract-ocr-eng
openmpi -> libopenmpi -> openmpi
_autorebase -> rebase -> grep -> libpcre1 -> _autorebase
_autorebase -> rebase -> grep -> bash -> libreadline7 -> libncursesw10 ->
libstdc++6 -> _autorebase
_update-info-dir -> bash -> _update-info-dir
_update-info-dir -> bash -> coreutils -> _update-info-dir
_update-info-dir -> info -> _update-info-dir
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
pgpfhw4MAZA3B.pgp
Description: PGP signature

