This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
RE: generic build script 'help' patch
- From: "Gary R. Van Sickle" <g dot r dot vansickle at worldnet dot att dot net>
- To: <cygwin-apps at cygwin dot com>
- Date: Mon, 11 Oct 2004 00:25:44 -0500
- Subject: RE: generic build script 'help' patch
> Here is a patch that adds some 'help' or 'usage' text to the
> generic build script. This seems to me to be a useful thing
> for someone who has downloaded and unpacked a package source
> archive; sees the package source, patch, and build script;
> and wonders what to do next. As a guess, they try running
> './package-ver.sh --help' or similar, and now instead of getting back
> 'Error: bad arguments', they get some description of the
> script's purpose and available options, as well as a pointer
> to the build script discussion on cygwin.com. I also find
> the usage summary useful as a reminder to myself of what some
> of my available operations are, and exactly what 'all' does.
>
> Feel free to improve the particulars of my help text. The
> main thing is that I think some help text is needed.
>
> Andrew.
>
Hear hear.
--
Gary R. Van Sickle
> --- generic-build-script.orig 2004-10-08 22:48:07.000000000 -0400
> +++ generic-build-script 2004-10-10 23:58:23.000000000 -0400
> @@ -30,6 +30,7 @@
> fi
> fi
>
> +scriptname=`basename $0`
> tscriptname=`basename $0 .sh`
> export PKG=`echo $tscriptname | sed -e
> 's/\-[^\-]*\-[^\-]*$//'` export VER=`echo $tscriptname | sed
> -e "s/${PKG}\-//" -e 's/\-[^\-]*$//'` @@ -320,6 +321,47 @@
> echo "You need the gnupg package installed in order to
> check signatures." ; \
> fi
> }
> +usage() {
> + echo "Build script for the Cygwin ${PKG} package.
> +Adapted from the Cygwin generic-build-script; see
> +http://cygwin.com/setup.html#srcpackage_contents for detailed usage
> instructions.
> +Usage: ${scriptname} operation...
> +build operations:
> + all build source and binary packages
> + (same as: prep conf build check install strip
> pkg spkg)
> + build run 'make' on patched source
> + conf run ./configure
> + configure run ./configure
> + check run test suite
> + make run 'make' on patched source
> + prep unpack and patch package source; run mkdirs
> + strip strip built executables
> + test run test suite
> +packaging operations:
> + first build source package first time, from
> existing patched
> + source directory (same as: mkdirs spkg finish)
> + install install package into installation staging subdir
> + package build binary package
> + pkg build binary package
> + spkg build source package
> + src-package build source package
> +information:
> + depend list packages on which the binary package depends
> + help display this message
> + list list files in the binary package
> + usage display this message
> +minor operations:
> + acceptpatch accept Cygwin source patch
> + checksig check package, patch, and script signatures
> + clean run 'make clean'
> + finish remove source directory
> + mkdirs create package staging directories
> + mkpatch create Cygwin source patch
> + reconf remove build staging dir and rerun ./configure
> +"
> +}
> +
> +test -n "$1" || set "usage"
> while test -n "$1" ; do
> case $1 in
> prep) prep ; STATUS=$? ;;
> @@ -348,7 +390,10 @@
> all) checksig && prep && conf && build && install && \
> strip && pkg && spkg && finish ; \
> STATUS=$? ;;
> - *) echo "Error: bad arguments" ; exit 1 ;;
> + help|-help|--help|usage) usage ; STATUS=$? ;;
> + *) echo "${scriptname}: error: unknown argument \"$1\"" ;
> + echo "${scriptname}: run \"${scriptname} help\" to get a usage
> summary" ;
> + exit 1 ;;
> esac
> ( exit ${STATUS} ) || exit ${STATUS}
> shift