This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

g-b-s patch - dependency calculation


-----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  <ebb9@byu.net>

	* templates/generic-build-script (depend): Don't do transitive
	closure, only direct dependencies.

- --
Life is short - so eat dessert first!

Eric Blake             ebb9@byu.net
-----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() {

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]