This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: g-b-s patch: upstream patch list
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin-apps at cygwin dot com
- Date: Wed, 01 Feb 2006 06:27:41 -0700
- Subject: Re: g-b-s patch: upstream patch list
- References: <43DE2019.4060001@byu.net> <Pine.GSO.4.63.0601301027160.7389@access1.cims.nyu.edu>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Igor Peshansky on 1/30/2006 8:45 AM:
> First off, please, please don't bundle unrelated changes into the same
> patch. I like the idea of the leading comments, and of fixing up the mode
> on manifest.lst, but could that be a separate patch, with a separate
> ChangeLog? That makes it much easier to review the changes.
The uncontroversial bits of my patch:
2006-02-01 Eric Blake <ebb9@byu.net>
* templates/generic-build-script: Add comments throughout.
(usage): Document --logs option.
(install): manifest.lst is not executable.
- --
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
iD8DBQFD4LdM84KuGfSFAYARAlvNAJ41BTLZGFeSmiWVY4A2fNlntUHM5QCgk1zi
klZpCIYnkARojF+reWqEjdo=
=ycK1
-----END PGP SIGNATURE-----
Index: generic-build-script
===================================================================
RCS file: /cvs/cygwin-apps/packaging/templates/generic-build-script,v
retrieving revision 1.46
diff -u -p -r1.46 generic-build-script
--- generic-build-script 28 Jan 2006 20:33:13 -0000 1.46
+++ generic-build-script 1 Feb 2006 13:25:12 -0000
@@ -142,10 +142,12 @@ export LC_ALL=C
help() {
cat <<EOF
This is the cygwin packaging script for ${FULLPKG}.
-Usage: $0 <action>
-Actions are:
+Usage: $0 [<option>...] <action>...
+Options are:
help, --help Print this message
version, --version Print the version message
+ with_logs, --logs Create logs of remaining steps
+Actions are:
prep Unpack and patch into ${srcdir}
mkdirs Make hidden directories needed during build
conf, configure Configure the package (./configure)
@@ -169,19 +171,20 @@ Actions are:
EOF
}
-# Provide version of generic-build-script modified to make this
+# Provide version of generic-build-script modified to make this script.
version() {
vers=`echo '$Revision: 1.46 $' | sed -e 's/Revision: //' -e 's/ *\\$//g'`
echo "$0 based on generic-build-script $vers"
}
-# unpacks the original package source archive into ./${BASEPKG}/
-# change this if the original package was not tarred
-# or if it doesn't unpack to a correct directory
+# Unpacks the original package source archive into ./${BASEPKG}/.
+# Change this if the original package was not tarred
+# or if it doesn't unpack to a correct directory.
unpack() {
tar xv${opt_decomp}f "$1"
}
+# Make the hidden directories used by this script.
mkdirs() {
(cd ${topdir} && \
rm -fr ${objdir} ${instdir} ${srcinstdir} && \
@@ -195,6 +198,8 @@ mkdirs_log() {
rm -fr ${buildlogdir} && \
mkdir -p ${buildlogdir} )
}
+
+# Unpack the original tarball, and get everything set up for this script.
prep() {
(cd ${topdir} && \
unpack ${src_orig_pkg} && \
@@ -212,6 +217,8 @@ prep_log() {
tar xvjf ${topdir}/${log_pkg_name}
fi
}
+
+# Configure the package.
conf() {
(cd ${objdir} && \
CFLAGS="${MY_CFLAGS}" LDFLAGS="${MY_LDFLAGS}" \
@@ -227,6 +234,8 @@ conf_log() {
conf "$@" 2>&1 | tee ${configurelogfile}
return ${PIPESTATUS[0]}
}
+
+# Rerun configure to pick up changes in the environment.
reconf() {
(cd ${topdir} && \
rm -fr ${objdir} && \
@@ -237,6 +246,8 @@ reconf_log() {
reconf "$@" 2>&1 | tee ${configurelogfile}
return ${PIPESTATUS[0]}
}
+
+# Run make.
build() {
(cd ${objdir} && \
make CFLAGS="${MY_CFLAGS}" )
@@ -245,6 +256,8 @@ build_log() {
build "$@" 2>&1 | tee ${makelogfile}
return ${PIPESTATUS[0]}
}
+
+# Run the package testsuite.
check() {
(cd ${objdir} && \
make -k ${test_rule} )
@@ -253,10 +266,14 @@ check_log() {
check "$@" 2>&1 | tee ${checklogfile}
return ${PIPESTATUS[0]}
}
+
+# Remove files built by configure and make.
clean() {
(cd ${objdir} && \
make clean )
}
+
+# Install the package, with DESTDIR set to '.inst'.
install() {
(cd ${objdir} && \
rm -fr ${instdir}/* && \
@@ -325,7 +342,7 @@ install() {
if [ ! -d ${instdir}${sysconfdir}/preremove ]; then
mkdir -p ${instdir}${sysconfdir}/preremove ;
fi &&
- /usr/bin/install -m 755 ${srcdir}/CYGWIN-PATCHES/manifest.lst \
+ /usr/bin/install -m 644 ${srcdir}/CYGWIN-PATCHES/manifest.lst \
${instdir}${sysconfdir}/preremove/${PKG}-manifest.lst ;
fi )
}
@@ -333,16 +350,24 @@ install_log() {
install "$@" 2>&1 | tee ${installlogfile}
return ${PIPESTATUS[0]}
}
+
+# Strip binaries.
strip() {
(cd ${instdir} && \
find . -name "*.dll" -or -name "*.exe" | xargs -r strip 2>&1 ; \
true )
}
+
+# List files that belong to the package.
list() {
(cd ${instdir} && \
find . -name "*" ! -type d | sed 's%^\.% %' | sort ; \
true )
}
+
+# List the static .dll dependencies of the package. This does not pick up
+# dynamic dependencies (whether or not libtool was used), nor does it pick
+# up program dependencies, such as system() depending on /bin/sh.
depend() {
(cd ${instdir} && \
find ${instdir} -name "*.exe" -o -name "*.dll" | xargs -r cygcheck | \
@@ -350,10 +375,14 @@ depend() {
xargs -r -n1 cygpath -u | xargs -r cygcheck -f | sed 's%^% %' | sort -u ; \
true )
}
+
+# Build the binary package.
pkg() {
(cd ${instdir} && \
tar cvjf ${bin_pkg} * )
}
+
+# Compare the original tarball against cygwin modifications.
mkpatch() {
(cd ${srcdir} && \
find . -name "autom4te.cache" | xargs -r rm -rf ; \
@@ -369,6 +398,8 @@ mkpatch() {
acceptpatch() {
cp --backup=numbered ${srcinstdir}/${src_patch_name} ${topdir}
}
+
+# Build the source tarball.
spkg() {
(mkpatch && \
if [ "${SIG}" -eq 1 ] ; then \
@@ -398,9 +429,13 @@ spkg_log() {
fi && \
tar uvjf ${src_pkg} * )
}
+
+# Clean up everything.
finish() {
rm -rf ${srcdir}
}
+
+# Generate GPG signtatures.
sigfile() {
if [ \( "${SIG}" -eq 1 \) -a \( -e $name \) -a \( \( ! -e $name.sig \) -o \( $name -nt $name.sig \) \) ]; then \
if [ -x /usr/bin/gpg ]; then \
@@ -412,6 +447,8 @@ sigfile() {
fi; \
fi
}
+
+# Validate signatures.
checksig() {
if [ -x /usr/bin/gpg ]; then \
if [ -e ${src_orig_pkg}.sig ]; then \