summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bélanger <snowmaniscool@gmail.com>2013-04-28 22:42:22 -0400
committerAllan McRae <allan@archlinux.org>2013-04-30 21:04:21 +1000
commit9de33488bffffd4bb273f73f98a0ced40ba06f29 (patch)
tree96959a555ed012e1d3259b1cb2cc6efd6e371e93
parentb8c84479712f021735466d9882bf8ebbf1c558e4 (diff)
Add --noprepare option to makepkg
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> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--contrib/bash_completion.in2
-rw-r--r--contrib/zsh_completion.in1
-rw-r--r--doc/makepkg.8.txt3
-rw-r--r--scripts/makepkg.sh.in9
-rwxr-xr-xtest/scripts/parseopts_test.sh2
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 <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"
@@ -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')