From 9de33488bffffd4bb273f73f98a0ced40ba06f29 Mon Sep 17 00:00:00 2001 From: Eric Bélanger Date: Sun, 28 Apr 2013 22:42:22 -0400 Subject: Add --noprepare option to makepkg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This new option disables the prepare function. Useful in combination with -o to get an unpatched copy of the sources for testing purpose. Signed-off-by: Eric Bélanger Signed-off-by: Allan McRae --- contrib/bash_completion.in | 2 +- contrib/zsh_completion.in | 1 + doc/makepkg.8.txt | 3 +++ scripts/makepkg.sh.in | 9 +++++++-- test/scripts/parseopts_test.sh | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/contrib/bash_completion.in b/contrib/bash_completion.in index 28981ae4..519aa6dc 100644 --- a/contrib/bash_completion.in +++ b/contrib/bash_completion.in @@ -77,7 +77,7 @@ _makepkg() { if [[ $cur = -* && ! $prev =~ ^-(-(config|help)$|\w*[Chp]) ]]; then opts=('allsource asdeps asroot check clean config force geninteg help holdver ignorearch install key log needed nobuild nocheck nocolor noconfirm nodeps noextract - noprogressbar nosign pkg repackage rmdeps sign skipchecksums skipinteg + noprepare noprogressbar nosign pkg repackage rmdeps sign skipchecksums skipinteg skippgpcheck source syncdeps verifysource version' 'A L R S c d e f g h i m o p r s') _arch_ptr2comp opts diff --git a/contrib/zsh_completion.in b/contrib/zsh_completion.in index f9d11063..c1fe0412 100644 --- a/contrib/zsh_completion.in +++ b/contrib/zsh_completion.in @@ -583,6 +583,7 @@ _makepkg_longopts=( '--holdver[Prevent automatic version bumping for development PKGBUILDs]' '--key[Specify key to use for gpg signing instead of the default]: :_keys' '--nocheck[Do not run the check() function in the PKGBUILD]' + '--noprepare[Do not run the prepare() function in the PKGBUILD]' '--nosign[Do not create a signature for the package]' '--pkg[Only build listed packages from a split package]' '--sign[Sign the resulting package with gpg]' diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index ecee63a1..82ef88b8 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -162,6 +162,9 @@ Options *\--nocheck*:: Do not run the check() function in the PKGBUILD or handle the checkdepends. +*\--noprepare*:: + Do not run the prepare() function in the PKGBUILD. + *\--sign*:: Sign the resulting package with gpg, overriding the setting in linkman:makepkg.conf[5]. diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 1bc93519..edfca3cb 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2483,6 +2483,7 @@ usage() { printf -- "$(gettext " --holdver Do not update VCS sources")\n" printf -- "$(gettext " --key Specify a key to use for %s signing instead of the default")\n" "gpg" printf -- "$(gettext " --nocheck Do not run the %s function in the %s")\n" "check()" "$BUILDSCRIPT" + printf -- "$(gettext " --noprepare Do not run the %s function in the %s")\n" "prepare()" "$BUILDSCRIPT" printf -- "$(gettext " --nosign Do not create a signature for the package")\n" printf -- "$(gettext " --pkg Only build listed packages from a split package")\n" printf -- "$(gettext " --sign Sign the resulting package with %s")\n" "gpg" @@ -2525,7 +2526,7 @@ ARGLIST=("$@") OPT_SHORT="AcdefFghiLmop:rRsSV" OPT_LONG=('allsource' 'asroot' 'check' 'clean' 'config:' 'force' 'geninteg' 'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'nobuild' 'nocolor' - 'nocheck' 'nodeps' 'noextract' 'nosign' 'pkg:' 'repackage' 'rmdeps' + 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'pkg:' 'repackage' 'rmdeps' 'sign' 'skipchecksums' 'skipinteg' 'skippgpcheck' 'source' 'syncdeps' 'verifysource' 'version') @@ -2564,6 +2565,7 @@ while true; do -L|--log) LOGGING=1 ;; -m|--nocolor) USE_COLOR='n' ;; --nocheck) RUN_CHECK='n' ;; + --noprepare) RUN_PREPARE='n' ;; --nosign) SIGNPKG='n' ;; -o|--nobuild) NOBUILD=1 ;; -p) shift; BUILDFILE=$1 ;; @@ -2796,7 +2798,10 @@ fi # test for available PKGBUILD functions if declare -f prepare >/dev/null; then - PREPAREFUNC=1 + # "Hide" prepare() function if not going to be run + if [[ $RUN_PREPARE != "n" ]]; then + PREPAREFUNC=1 + fi fi if declare -f build >/dev/null; then BUILDFUNC=1 diff --git a/test/scripts/parseopts_test.sh b/test/scripts/parseopts_test.sh index 1693b9f9..0d894c9a 100755 --- a/test/scripts/parseopts_test.sh +++ b/test/scripts/parseopts_test.sh @@ -18,7 +18,7 @@ fi OPT_SHORT="AcdefFghiLmop:rRsV" OPT_LONG=('allsource' 'asroot' 'ignorearch' 'check' 'clean:' 'cleanall' 'nodeps' 'noextract' 'force' 'forcever:' 'geninteg' 'help' 'holdver' - 'install' 'key:' 'log' 'nocolor' 'nobuild' 'nocheck' 'nosign' 'pkg:' 'rmdeps' + 'install' 'key:' 'log' 'nocolor' 'nobuild' 'nocheck' 'noprepare' 'nosign' 'pkg:' 'rmdeps' 'repackage' 'skipinteg' 'sign' 'source' 'syncdeps' 'version' 'config:' 'noconfirm' 'noprogressbar') -- cgit v1.2.3-70-g09d2