This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
g-b-s patch - dependency calculation
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin-apps <cygwin-apps at cygwin dot com>
- Date: Tue, 20 Sep 2005 06:59:25 -0600
- Subject: 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() {