index : devtools32 | |
Archlinux32 fork of devtools | gitolite user |
summaryrefslogtreecommitdiff |
author | Levente Polyak <anthraxx@archlinux.org> | 2021-07-18 18:27:14 +0200 |
---|---|---|
committer | Levente Polyak <anthraxx@archlinux.org> | 2021-11-18 20:31:23 +0100 |
commit | dacde204c91b9c5cb25ac793c17e13d287187b57 (patch) | |
tree | 5bb42b72e661ad58a9c27b0437c280497840b450 /makerepropkg.in | |
parent | 1f1f6be8892d95eb62fb8d0d190f816b3db32d8e (diff) |
-rwxr-xr-x | makerepropkg.in | 33 |
diff --git a/makerepropkg.in b/makerepropkg.in index ec9cd36..70abcbe 100755 --- a/makerepropkg.in +++ b/makerepropkg.in @@ -81,6 +81,18 @@ get_pkgfile() { return 1 } +get_makepkg_conf() { + local fname=${1} + local makepkg_conf="${2}" + if ! buildtool_file=$(get_pkgfile "${fname}"); then + error "failed to retrieve ${fname}" + return 1 + fi + msg2 "using makepkg.conf from ${fname}" + bsdtar xOqf "${buildtool_file/file:\/\//}" usr/share/devtools/makepkg-x86_64.conf > "${makepkg_conf}" + return 0 +} + usage() { cat << __EOF__ usage: ${BASH_SOURCE[0]##*/} [options] <package_file> @@ -185,7 +197,26 @@ for fname in "${installed[@]}"; do exit 1 fi done -printf '%s\n' "${allpkgfiles[@]}" | mkarchroot -M @pkgdatadir@/makepkg-x86_64.conf -U "${archroot_args[@]}" "${buildroot}"/root - || exit 1 + +trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT +TEMPDIR=$(mktemp -d --tmpdir makerepropkg.XXXXXXXXXX) + +makepkg_conf="${TEMPDIR}/makepkg.conf" +# anything before buildtool support is pinned to the last none buildtool aware release +if [[ -z "${BUILDTOOL}" ]]; then + get_makepkg_conf "devtools-20210202-3-any" "${makepkg_conf}" || exit 1 +# prefere to assume devtools up until matching makepkg version so repository packages remain reproducible +elif [[ "${BUILDTOOL}" = makepkg ]] && (( $(vercmp "${BUILDTOOLVER}" 6.0.1) <= 0 )); then + get_makepkg_conf "devtools-20210202-3-any" "${makepkg_conf}" || exit 1 +# all devtools builds +elif [[ "${BUILDTOOL}" = devtools ]] && get_makepkg_conf "${BUILDTOOL}-${BUILDTOOLVER}" "${makepkg_conf}"; then + true +# fallback to current makepkg.conf +else + warning "Unknown buildtool (${BUILDTOOL}-${BUILDTOOLVER}), using fallback" + makepkg_conf=@pkgdatadir@/makepkg-x86_64.conf +fi +printf '%s\n' "${allpkgfiles[@]}" | mkarchroot -M "${makepkg_conf}" -U "${archroot_args[@]}" "${buildroot}"/root - || exit 1 # use makechrootpkg to prep the build directory makechrootpkg -r "${buildroot}" -l "${chroot}" -- --packagelist || exit 1 |