Hi (this is my first post here \:D/) Pkgmk deletes work dir before performing build, I think it would be very handy feature to optionally allow building package from existing work dir, it would work very well altogether with nipuL's pkgutils-5.32.0-extract-only.patch[1], instead of pkgmk -do, then extracting sources manually, then modifiing Pkgfile, making patches, and then checking if it works, it would be easier to do firstly pkgmk -do -e to download and extract sources, "mess" with them, and then pkgmk -b to build from already modified sources. It would speed up port creating and debugging process, and would be useful not only for port maintainers but also end users trying to tweak or simply make ports to work. You may think of it as similar to putting read KEY inside build(). Such feature is included in other distros' package builders i.e. "makepkg -e" etc. etc. Patch attached. Best regards Bartlomiej Palmowski 1 - http://article.gmane.org/gmane.linux.distributions.crux.general/2940 diff -pruN pkgutils-5.32.0.orig/pkgmk.in pkgutils-5.32.0/pkgmk.in --- pkgutils-5.32.0.orig/pkgmk.in 2008-03-01 10:18:03.000000000 +0100 +++ pkgutils-5.32.0/pkgmk.in 2008-05-22 21:59:50.000000000 +0200 @@ -339,8 +339,11 @@ build_package() { umask 022 cd $PKGMK_ROOT + + if [[ $PKGMK_BUILD = "no" ]] ; then rm -rf $PKGMK_WORK_DIR mkdir -p $SRC $PKG + fi if [ "$PKGMK_IGNORE_MD5SUM" = "no" ]; then check_md5sum @@ -352,7 +355,7 @@ build_package() { info "Building '$TARGET'." - unpack_source + [[ $PKGMK_BUILD = "yes" ]] || unpack_source cd $SRC (set -e -x ; build) @@ -508,6 +511,7 @@ print_help() { echo " -f, --force build package even if it appears to be up to date" echo " -c, --clean remove package and downloaded files" echo " -kw, --keep-work keep temporary working directory" + echo " -b --build build from existing work directory" echo " -cf, --config-file <file> use alternative configuration file" echo " -v, --version print version and exit " echo " -h, --help print help and exit" @@ -547,6 +551,8 @@ parse_options() { PKGMK_CLEAN="yes" ;; -kw|--keep-work) PKGMK_KEEP_WORK="yes" ;; + -b|--build) + PKGMK_BUILD="yes" ;; -cf|--config-file) if [ ! "$2" ]; then echo "`basename $PKGMK_COMMAND`: option $1 requires an argument" @@ -667,6 +673,7 @@ PKGMK_UPDATE_FOOTPRINT="no" PKGMK_IGNORE_FOOTPRINT="no" PKGMK_FORCE="no" PKGMK_KEEP_WORK="no" +PKGMK_BUILD="no" PKGMK_UPDATE_MD5SUM="no" PKGMK_IGNORE_MD5SUM="no" PKGMK_CHECK_MD5SUM="no"