From d210079037d34fd32fc9a84e490655204bae103a Mon Sep 17 00:00:00 2001 From: Levente Polyak Date: Tue, 9 Jan 2024 00:39:43 +0100 Subject: feat(util): add library function to generate source packages --- src/lib/util/makepkg.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/lib/util/makepkg.sh (limited to 'src/lib/util/makepkg.sh') diff --git a/src/lib/util/makepkg.sh b/src/lib/util/makepkg.sh new file mode 100644 index 0000000..adb3af6 --- /dev/null +++ b/src/lib/util/makepkg.sh @@ -0,0 +1,35 @@ +#!/hint/bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +[[ -z ${DEVTOOLS_INCLUDE_UTIL_MAKEPKG_SH:-} ]] || return 0 +DEVTOOLS_INCLUDE_UTIL_MAKEPKG_SH=1 + +_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@} +# shellcheck source=src/lib/common.sh +source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh +# shellcheck source=src/lib/util/srcinfo.sh +source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/srcinfo.sh + + +set -e + +makepkg_source_package() { + if (( EUID != 0 )); then + [[ -z ${WORKDIR:-} ]] && setup_workdir + export WORKDIR DEVTOOLS_INCLUDE_COMMON_SH + fakeroot -- bash -$- -c "source '${BASH_SOURCE[0]}' && ${FUNCNAME[0]}" + return + fi + ( + export LIBMAKEPKG_LINT_PKGBUILD_SH=1 + lint_pkgbuild() { :; } + + export LIBMAKEPKG_SRCINFO_SH=1 + write_srcinfo() { print_srcinfo; } + + set +e -- -F --source + # shellcheck source=/usr/bin/makepkg + source "$(command -v makepkg)" + ) +} -- cgit v1.2.3-54-g00ecf From 98bd7e376091ef8a19d848f865521cb13fdfb577 Mon Sep 17 00:00:00 2001 From: Jakub Klinkovský Date: Sun, 11 Feb 2024 13:37:49 +0100 Subject: fix(build): explicitly add --nosign when building a srcpkg We should explicitly instruct makepkg to not sign the source package, even when the BUILDENV array in makepkg.conf contains 'sign'. The devtools workflow is to always sign separately from building, which is different from makepkg and it should not depend on its configuration. Furthermore, this function is currently used only in offload-build to collect sources that are transferred to the server before the build itself. Signing this source package does not provide any benefits. --- src/lib/util/makepkg.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/lib/util/makepkg.sh') diff --git a/src/lib/util/makepkg.sh b/src/lib/util/makepkg.sh index adb3af6..22df247 100644 --- a/src/lib/util/makepkg.sh +++ b/src/lib/util/makepkg.sh @@ -28,7 +28,9 @@ makepkg_source_package() { export LIBMAKEPKG_SRCINFO_SH=1 write_srcinfo() { print_srcinfo; } - set +e -- -F --source + # explicitly instruct makepkg to not sign the source package, even when + # the BUILDENV array in makepkg.conf contains 'sign' + set +e -- -F --source --nosign # shellcheck source=/usr/bin/makepkg source "$(command -v makepkg)" ) -- cgit v1.2.3-54-g00ecf