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>
This commit is contained in:
kpcyrd 2023-08-25 04:02:56 +02:00 committed by Levente Polyak
parent cc369e86d2
commit ae14c246b8
No known key found for this signature in database
GPG Key ID: FC1B547C8D8172C8
4 changed files with 10 additions and 2 deletions

View File

@ -42,6 +42,7 @@ complete -F _makechrootpkg makechrootpkg
_makerepropkg_args=(
-h
-d
-n
-c
-M
)

View File

@ -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]'

View File

@ -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.

View File

@ -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