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 <snowmaniscool@gmail.com> --- 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 28981ae..519aa6d 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 f9d1106..c1fe041 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 53a7867..3f2e24d 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -165,6 +165,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 710b76b..13f3610 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2484,6 +2484,7 @@ usage() { printf -- "$(gettext " --holdver Do not update VCS sources")\n" printf -- "$(gettext " --key <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 <list> Only build listed packages from a split package")\n" printf -- "$(gettext " --sign Sign the resulting package with %s")\n" "gpg" @@ -2526,7 +2527,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') @@ -2565,6 +2566,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 ;; @@ -2798,7 +2800,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 1693b9f..0d894c9 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') -- 1.8.2.2