Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src/lib/util/makepkg.sh
blob: 22df247d219c1b2863f909244e16780048c8278a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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; }

		# 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)"
	)
}