-----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() {

Reply via email to