This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
gbs patches?
- From: Reini Urban <rurban at x-ray dot at>
- To: Cygwin Apps <cygwin-apps at cygwin dot com>
- Date: Sun, 10 Oct 2004 22:26:59 +0200
- Subject: gbs patches?
Aren't there any more gbs patches accepted?
I've got a lot of new functionality.
Maybe someone upstream may find it useful.
new args: requires difforig up setup
issues:
* reconf is currently invasive. most of the time autoreconf is easier.
I added a fixup function which can easily replace the current reconf
changes:
* catch interim log files and put them as -log.tar.bz2
into the src package.
* added binary package sig.
* depend sorted
* new files for the docs list.
* make test changed to make check.
new features:
* requires
creates the single requires: line for setup.hint
* setup
poor mans setup.
missing: preremove, permissions, check if in use.
* difforig (optional)
create a smaller interim patch from .orig files.
This eases development (and is standard on postgresql).
Most of the time (if autoreconf is not involved) 1:1
the same as current mkpatch, which is quite invasive.
Better than my version from
http://sources.redhat.com/ml/cygwin-apps/2004-09/msg00044.html
* up (optional)
if rsync_up_target is defined rsync the package files to
the distribution server.
future:
* make splitting seperate base, -devel packaging easier.
How to put all this into ChangeLog format? Should I?
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
--- generic-build-script 2004-10-10 22:21:28.290266000 +0200
+++ generic-build-script.orig 2004-10-10 22:13:53.421088400 +0200
@@ -9,11 +9,6 @@
# and redefine the unpack() helper function appropriately.
# Also, if the Makefile rule to run the test suite is not "test", change
# the definition of ${test_rule} below.
-#
-
-#custom vars:
-#where to drop the cygwin packages
-#rsync_up_target="<host>:<software>/cygwin"
# find out where the build script is located
tdir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
@@ -101,25 +96,22 @@
CREDITS \
CHANGELOG \
ChangeLog* \
- FAQ* \
+ FAQ \
HOW-TO-CONTRIBUTE \
INSTALL \
KNOWNBUG \
- KNOWN_BUGS \
LEGAL \
LICENSE \
- MISSING_FEATURES \
NEWS \
NOTES \
PROGLIST \
README \
- README.* \
RELEASE_NOTES \
THANKS \
TODO \
"
export install_docs="`for i in ${install_docs}; do echo $i; done | sort -u`"
-export test_rule="check"
+export test_rule=test
if [ -z "$SIG" ]; then
export SIG=0 # set to 1 to turn on signing by default
fi
@@ -141,11 +133,10 @@
}
prep() {
(cd ${topdir} && \
- if [ -d ${srcdir} ]; then rm -rf ${srcdir}; fi; && \
unpack ${src_orig_pkg} && \
cd ${topdir} && \
if [ -f ${src_patch} ] ; then \
- patch -b -Z -p0 < ${src_patch} ;\
+ patch -Z -p0 < ${src_patch} ;\
fi && \
mkdirs )
}
@@ -158,16 +149,9 @@
--libdir='${prefix}/lib' --includedir='${prefix}/include' \
--mandir='${prefix}/share/man' --infodir='${prefix}/share/info' \
--libexecdir='${sbindir}' --localstatedir="${localstatedir}" \
- --datadir='${prefix}/share' && cp config.log ${srcinstdir}/)
-}
-fixup() {
- (cd ${srcdir} && \
- libtoolize -f && autoreconf -f -i -s )
+ --datadir='${prefix}/share' )
}
reconf() {
- fixup
-}
-reconf_force() {
(cd ${topdir} && \
rm -fr ${objdir} && \
mkdir -p ${objdir} && \
@@ -175,7 +159,7 @@
}
build() {
(cd ${objdir} && \
- CFLAGS="${MY_CFLAGS}" make | tee ${srcinstdir}/make.log 2>&1 )
+ CFLAGS="${MY_CFLAGS}" make )
}
check() {
(cd ${objdir} && \
@@ -188,7 +172,7 @@
install() {
(cd ${objdir} && \
rm -fr ${instdir}/* && \
- make install DESTDIR=${instdir} | tee ${srcinstdir}/make-install.log 2>&1 && \
+ make install DESTDIR=${instdir} && \
for f in ${prefix}/share/info/dir ${prefix}/info/dir ; do \
if [ -f ${instdir}${f} ] ; then \
rm -f ${instdir}${f} ; \
@@ -259,55 +243,12 @@
(cd ${instdir} && \
find ${instdir} -name "*.exe" -o -name "*.dll" | xargs cygcheck | \
sed -e '/\.exe/d' -e 's,\\,/,g' | sort -bu | xargs -n1 cygpath -u \
- | xargs cygcheck -f | sed 's%^% %' | sort -bu ; \
+ | xargs cygcheck -f | sed 's%^% %' ; \
true )
}
-requires() {
- cd ${instdir}
- requires=
- for p in $(find ${instdir} -name "*.exe" -o -name "*.dll" | xargs cygcheck | \
- sed -e '/\.exe/d' -e 's,\\,/,g' | sort -bu | xargs -n1 cygpath -u \
- | xargs cygcheck -f | sort -bu | sed -e 's/\-[^\-]*\-[^\-]*$//'); do
- requires="$requires $p"
- done; \
- echo $requires
-}
pkg() {
(cd ${instdir} && \
- tar cvjf ${bin_pkg} * && \
- if [ "${SIG}" -eq 1 ] ; then \
- name=${bin_pkg} text="PKG" sigfile ; \
- fi )
-}
-# poor mans setup
-# missing: preremove, permissions, check if in use.
-setup() {
- (tar -C / -jxvf ${FULLPKG}.tar.bz2 && \
- post="/etc/postinstall/${PKG}.sh" \
- test -f ${post} && ${post} && mv ${post} ${post}.done )
-}
-difforig() {
- (cd ${topdir} && \
- echo "difforig ${FULLPKG} > ${topdir}/${src_patch_name}" 1>&2
- find ${BASEPKG}/CYGWIN-PATCHES -type f ! -name '*~' ! -name '*.orig*' ! -name '*.log' -print | sort | while read FILE
- do
- echo "$FILE" 1>&2
- diff -N -ub $FILE.orig $FILE # > ${topdir}/${src_patch_name}
- done
- find ${BASEPKG} \( -type d -path "${BASEPKG}/CYGWIN-PATCHES" \) -prune -o -type f -name '*.orig' -print | sort | while read FILE
- do
- NEW="`dirname $FILE`/`basename $FILE .orig`"
- echo "$NEW" 1>&2
- diff -N -ub $FILE $NEW # > ${topdir}/${src_patch_name}
- done )
-}
-# Note: maintainer-only functionality
-acceptpatch() {
- cp --backup=numbered ${srcinstdir}/${src_patch_name} ${topdir}
-}
-mkpatch_dev() {
- $0 difforig > ${src_patch_name}
- true
+ tar cvjf ${bin_pkg} * )
}
mkpatch() {
(cd ${srcdir} && \
@@ -320,13 +261,12 @@
${srcinstdir}/${src_patch_name} ; \
rm -rf ${BASEPKG}-orig )
}
+# Note: maintainer-only functionality
+acceptpatch() {
+ cp --backup=numbered ${srcinstdir}/${src_patch_name} ${topdir}
+}
spkg() {
(mkpatch && \
- cd ${srcinstdir} && \
- if [ -e make.log ]; then \
- FILES="*.log"; \
- tar cvjf ${FULLPKG}-log.tar.bz2 ${FILES} && rm ${FILES}; \
- fi; && \
if [ "${SIG}" -eq 1 ] ; then \
name=${srcinstdir}/${src_patch_name} text="PATCH" sigfile ; \
fi && \
@@ -334,25 +274,14 @@
if [ -e ${src_orig_pkg}.sig ] ; then \
cp ${src_orig_pkg}.sig ${srcinstdir}/ ; \
fi && \
- cp ${topdir}/${tscriptname}.sh ${srcinstdir}/ && \
+ cp $0 ${srcinstdir}/`basename $0` && \
name=$0 text="SCRIPT" sigfile && \
+ if [ "${SIG}" -eq 1 ] ; then \
+ cp $0.sig ${srcinstdir}/ ; \
+ fi && \
+ cd ${srcinstdir} && \
tar cvjf ${src_pkg} * )
}
-up() {
- (cd ${topdir} && \
- FILES="README setup.hint $tscriptname.sh ${src_patch_name} $src_pkg_name $bin_pkg_name" && \
- for f in $FILES; do \
- if [ ! -e $f ]; then if [ -e ${BASEPKG}/CYGWIN-PATCHES/$f ]; then \
- ln -s ${BASEPKG}/CYGWIN-PATCHES/$f $f; \
- fi; fi; \
- done && \
- for f in get.sh ${src_pkg_name}.sig ${bin_pkg_name}.sig ${srcinstdir}/${FULLPKG}-log.tar.bz2; do \
- if [ -e $f ]; then FILES="${FILES} $f"; fi; done && \
- rsync -avzL $FILES ${rsync_up_target}/${PKG}/ && \
- ssh $(echo $rsync_up_target| cut -d: -f1) ls -al $(echo $rsync_up_target| cut -d: -f2)/${PKG} && \
- FILES= && \
- true )
-}
finish() {
rm -rf ${srcdir}
}
@@ -406,17 +335,13 @@
install) install ; STATUS=$? ;;
list) list ; STATUS=$? ;;
depend) depend ; STATUS=$? ;;
- requires) requires ; STATUS=$? ;;
strip) strip ; STATUS=$? ;;
package) pkg ; STATUS=$? ;;
pkg) pkg ; STATUS=$? ;;
- setup) setup ; STATUS=$? ;;
- difforig) difforig ; STATUS=$? ;;
mkpatch) mkpatch ; STATUS=$? ;;
acceptpatch) acceptpatch ; STATUS=$? ;;
src-package) spkg ; STATUS=$? ;;
spkg) spkg ; STATUS=$? ;;
- up) up ; STATUS=$? ;;
finish) finish ; STATUS=$? ;;
checksig) checksig ; STATUS=$? ;;
first) mkdirs && spkg && finish ; STATUS=$? ;;