index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
author | Erich Eckner <git@eckner.net> | 2018-09-30 18:39:22 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-09-30 18:39:22 +0200 |
commit | 968bff332a3d1eab840fbc4c9f61bd762b00cde8 (patch) | |
tree | f97ee6530341a0343b6087b28bfbb336e4ed052f | |
parent | d79aaf42d898df61254d016a9f8d71e158501fe5 (diff) | |
parent | d91676e96f5cbf0cf6b69cc65a78bfadd2daec97 (diff) |
-rwxr-xr-x | lib/common-functions | 2 | ||||
-rw-r--r-- | misc/PKGBUILD-appendix-for-archive-server | 68 |
diff --git a/lib/common-functions b/lib/common-functions index 34a3bf6..e9585a4 100755 --- a/lib/common-functions +++ b/lib/common-functions @@ -499,6 +499,8 @@ extract_source_directory() { tar -x --strip-components=3 -C "${output}" printf '\n' >> \ "${output}/PKGBUILD" + cat "${base_dir}/misc/PKGBUILD-appendix-for-archive-server" >> \ + "${output}/PKGBUILD" fi if [ -n "${PKGBUILD_mod}" ]; then diff --git a/misc/PKGBUILD-appendix-for-archive-server b/misc/PKGBUILD-appendix-for-archive-server new file mode 100644 index 0000000..a968159 --- /dev/null +++ b/misc/PKGBUILD-appendix-for-archive-server @@ -0,0 +1,68 @@ +for ((i=0; i<${#source[@]}; i++)); do + infos=$( + printf '%s\n' "${source[${i}]}" | \ + sed -n ' + s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\('"$( + printf '%s\|' \ + 'https://git.archlinux.org/linux.git' \ + 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git' \ + 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' \ + 'https://github.com/zen-kernel/zen-kernel' \ + 'https://hg.mozilla.org/mozilla-unified' | \ + sed ' + s/\\|$// + s/[.]/[.]/g + ' + )"'\)\(?signed\)\?#\(\(tag\|commit\)=\S\+\)$@\3 \2 \4 \5 \6@ + T + p + ' + ) + if [ -n "${infos}" ]; then + source[${i}]=$( + type="${infos%% *}" + infos="${infos#* }" + if [ -n "${infos%% *}" ]; then + prefix="${infos%% *}" + else + prefix='' + fi + infos="${infos#* }" + repo="${infos%% *}" + repo64=$( + printf '%s' "${repo}" | \ + base64 -w0 | \ + sed 's/=/%3D/g' + ) + infos="${infos#* }" + if [ "${infos%% *}" = '?signed' ]; then + key_check=$( + printf '&valid_keys=' + printf '%s,' "${validpgpkeys[@]}" | \ + sed 's/,$//' + ) + else + key_check='' + fi + infos="${infos#* }" + if [ -z "${prefix}" ]; then + prefix="${repo%.git}" + prefix="${prefix##*/}" + fi + prefix_64=$( + printf '%s/' "${prefix}" | \ + base64 -w0 | \ + sed 's/=/%3D/g' + ) + + printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \ + "${prefix}" \ + "${pkgver}" \ + "${type}" \ + "${prefix_64}" \ + "${repo64}" \ + "${key_check}" \ + "${infos}" + ) + fi +done |