Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-09-30 18:39:22 +0200
committerErich Eckner <git@eckner.net>2018-09-30 18:39:22 +0200
commit968bff332a3d1eab840fbc4c9f61bd762b00cde8 (patch)
treef97ee6530341a0343b6087b28bfbb336e4ed052f
parentd79aaf42d898df61254d016a9f8d71e158501fe5 (diff)
parentd91676e96f5cbf0cf6b69cc65a78bfadd2daec97 (diff)
Merge branch 'archive-server'
-rwxr-xr-xlib/common-functions2
-rw-r--r--misc/PKGBUILD-appendix-for-archive-server68
2 files changed, 70 insertions, 0 deletions
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