Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkpcyrd <kpcyrd@archlinux.org>2023-08-25 04:02:56 +0200
committerLevente Polyak <anthraxx@archlinux.org>2023-11-26 16:48:15 +0100
commitae14c246b800139e3a8f5589fb8fe12aaeab6a76 (patch)
treef0f339444b78f906de59da1e412943736f08e60d
parentcc369e86d2e060d8b65c7dbbb0c933d18f8aa6b0 (diff)
feat(makerepropkg): Add option to skip running check for speedup
Add -n to allow running makepkg with --nocheck. This is useful to reduce the time required to reproduce a package, as they should not depend on running the check function for being reproducible. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
-rw-r--r--contrib/completion/bash/devtools.in1
-rw-r--r--contrib/completion/zsh/_devtools.in1
-rw-r--r--doc/man/makerepropkg.1.asciidoc3
-rw-r--r--src/makerepropkg.in7
4 files changed, 10 insertions, 2 deletions
diff --git a/contrib/completion/bash/devtools.in b/contrib/completion/bash/devtools.in
index b347b31..78f0741 100644
--- a/contrib/completion/bash/devtools.in
+++ b/contrib/completion/bash/devtools.in
@@ -42,6 +42,7 @@ complete -F _makechrootpkg makechrootpkg
_makerepropkg_args=(
-h
-d
+ -n
-c
-M
)
diff --git a/contrib/completion/zsh/_devtools.in b/contrib/completion/zsh/_devtools.in
index feeb2c2..372f07b 100644
--- a/contrib/completion/zsh/_devtools.in
+++ b/contrib/completion/zsh/_devtools.in
@@ -230,6 +230,7 @@ _offload_build_args=(
_makerepropkg_args=(
'-d[Run diffoscope if the package is unreproducible]'
+ '-n[Do not run the check() function in the PKGBUILD]'
'-c[Set pacman cache]:pacman_cache:_files -/'
'-M[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
'-h[Display usage]'
diff --git a/doc/man/makerepropkg.1.asciidoc b/doc/man/makerepropkg.1.asciidoc
index 6044d7c..51a81ff 100644
--- a/doc/man/makerepropkg.1.asciidoc
+++ b/doc/man/makerepropkg.1.asciidoc
@@ -42,6 +42,9 @@ Options
*-d*::
If packages are not reproducible, compare them using diffoscope.
+*-n*::
+ Do not run the check() function in the PKGBUILD.
+
*-c*::
Set the pacman cache directory.
diff --git a/src/makerepropkg.in b/src/makerepropkg.in
index 398d4af..a31f8d5 100644
--- a/src/makerepropkg.in
+++ b/src/makerepropkg.in
@@ -22,6 +22,7 @@ declare -a buildenv buildopts installed installpkgs
archiveurl='https://archive.archlinux.org/packages'
buildroot=/var/lib/archbuild/reproducible
diffoscope=0
+makepkg_options=()
chroot=$USER
[[ -n ${SUDO_USER:-} ]] && chroot=$SUDO_USER
@@ -116,6 +117,7 @@ For more details see https://reproducible-builds.org/
OPTIONS
-d Run diffoscope if the package is unreproducible
+ -n Do not run the check() function in the PKGBUILD
-c <dir> Set pacman cache
-M <file> Location of a makepkg config file
-l <chroot> The directory name to use as the chroot namespace
@@ -128,9 +130,10 @@ __EOF__
# save all args for check_root
orig_args=("$@")
-while getopts 'dM:c:l:h' arg; do
+while getopts 'dnM:c:l:h' arg; do
case "$arg" in
d) diffoscope=1 ;;
+ n) makepkg_options+=(--nocheck) ;;
M) archroot_args+=(-M "$OPTARG") ;;
c) cache_dirs+=("$OPTARG") ;;
l) chroot="$OPTARG" ;;
@@ -254,7 +257,7 @@ install -d -o "${SUDO_UID:-$UID}" -g "$(id -g "${SUDO_UID:-$UID}")" "${namespace
arch-nspawn "${namespace}/build" \
--bind="${PWD}:/startdir" \
--bind="${SRCDEST}:/srcdest" \
- /chrootbuild -C --noconfirm --log --holdver --skipinteg
+ /chrootbuild -C --noconfirm --log --holdver --skipinteg "${makepkg_options[@]}"
ret=$?
if (( ${ret} == 0 )); then