feat(util): add library function to generate source packages
This commit is contained in:
parent
b264c7f1c7
commit
d210079037
|
@ -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)"
|
||||||
|
)
|
||||||
|
}
|
|
@ -6,11 +6,16 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
_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/makepkg.sh
|
||||||
|
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/makepkg.sh
|
||||||
|
|
||||||
source /usr/share/makepkg/util/config.sh
|
source /usr/share/makepkg/util/config.sh
|
||||||
|
|
||||||
# Deprecation warning
|
# Deprecation warning
|
||||||
if [[ -z $_DEVTOOLS_COMMAND ]]; then
|
if [[ -z $_DEVTOOLS_COMMAND ]]; then
|
||||||
colorize
|
|
||||||
warning "${0##*/} is deprecated and will be removed. Use 'pkgctl build --offload' instead"
|
warning "${0##*/} is deprecated and will be removed. Use 'pkgctl build --offload' instead"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -19,8 +24,6 @@ repo=extra
|
||||||
arch=x86_64
|
arch=x86_64
|
||||||
server=build.archlinux.org
|
server=build.archlinux.org
|
||||||
|
|
||||||
die() { printf "error: $1\n" "${@:2}"; exit 1; }
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<- _EOF_
|
cat <<- _EOF_
|
||||||
Usage: ${BASH_SOURCE[0]##*/} [--repo REPO] [--arch ARCHITECTURE] [--server SERVER] -- [ARCHBUILD_ARGS]
|
Usage: ${BASH_SOURCE[0]##*/} [--repo REPO] [--arch ARCHITECTURE] [--server SERVER] -- [ARCHBUILD_ARGS]
|
||||||
|
@ -84,7 +87,7 @@ load_makepkg_config
|
||||||
# transferred, including local sources, install scripts, and changelogs.
|
# transferred, including local sources, install scripts, and changelogs.
|
||||||
export TEMPDIR=$(mktemp -d --tmpdir offload-build.XXXXXXXXXX)
|
export TEMPDIR=$(mktemp -d --tmpdir offload-build.XXXXXXXXXX)
|
||||||
export SRCPKGDEST=${TEMPDIR}
|
export SRCPKGDEST=${TEMPDIR}
|
||||||
makepkg --source || die "unable to make source package"
|
makepkg_source_package || die "unable to make source package"
|
||||||
|
|
||||||
# Temporary cosmetic workaround makepkg if SRCDEST is set somewhere else
|
# Temporary cosmetic workaround makepkg if SRCDEST is set somewhere else
|
||||||
# but an empty src dir is created in PWD. Remove once fixed in makepkg.
|
# but an empty src dir is created in PWD. Remove once fixed in makepkg.
|
||||||
|
|
Loading…
Reference in New Issue