-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dependency calculation should not do transitive closure, but should only list direct library dependencies. For example, something that depends on only libxml2 should not also depend on libiconv2. Otherwise, if libxml2 is recompiled to depend on a (theoretical) new libiconv3, the package that depended on libxml2 pulls in the now unneeded libiconv2 in addition to setup.exe correctly recognizing that libiconv3 is needed.
http://cygwin.com/setup.html agrees with this, stating "Conversely, do not include package dependencies of dependent packages in your dependency list." So, this patch fixes g-b-s to only grab direct dependencies, rather than everything: 2005-09-20 Eric Blake <[EMAIL PROTECTED]> * templates/generic-build-script (depend): Don't do transitive closure, only direct dependencies. - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDMAet84KuGfSFAYARAg+0AJ0U5yHxTh8A9MspruD0k7d8AlJXOgCgqQOa m4WWexuF0O0QJg+VHNMtpsU= =OZOx -----END PGP SIGNATURE-----
Index: templates/generic-build-script =================================================================== RCS file: /cvs/cygwin-apps/packaging/templates/generic-build-script,v retrieving revision 1.35 diff -u -p -r1.35 generic-build-script --- templates/generic-build-script 23 Aug 2005 22:25:02 -0000 1.35 +++ templates/generic-build-script 20 Sep 2005 12:57:42 -0000 @@ -244,15 +244,15 @@ install() { case "$fp" in \ */) templist="$templist `cd ${srcdir} && find $fp -type f`" ;; *) for f in ${srcdir}/$fp ; do \ - if [ -f $f ] ; then \ - templist="$templist $f"; \ - fi ; \ - done ;; \ + if [ -f $f ] ; then \ + templist="$templist $f"; \ + fi ; \ + done ;; \ esac ; \ done && \ if [ ! "x$templist" = "x" ]; then \ /usr/bin/install -m 644 $templist \ - ${instdir}${prefix}/share/doc/${SHORTPKG} ; \ + ${instdir}${prefix}/share/doc/${SHORTPKG} ; \ fi && \ if [ -f ${srcdir}/CYGWIN-PATCHES/${PKG}.README ]; then \ /usr/bin/install -m 644 ${srcdir}/CYGWIN-PATCHES/${PKG}.README \ @@ -302,8 +302,8 @@ list() { depend() { (cd ${instdir} && \ find ${instdir} -name "*.exe" -o -name "*.dll" | xargs -r cygcheck | \ - sed -e '/\.exe/d' -e 's,\\,/,g' | sort -bu | xargs -r -n1 cygpath -u \ - | xargs -r cygcheck -f | sed 's%^% %' | sort -u ; \ + sed -ne '/^ [[:alpha:]]/ s,\\,/,gp' | sort -bu | \ + xargs -r -n1 cygpath -u | xargs -r cygcheck -f | sed 's%^% %' | sort -u ; \ true ) } pkg() {