From 032b6810d1f323772d8ba078d0717bfcfa0f8911 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 24 Apr 2018 22:13:14 -0400 Subject: db-import-*: Split UPSTREAM=archlinux => UPSTREAM=packages and UPSTREAM=community Config: - Split db-import-archlinux.conf in to db-import-{packages,community}.conf - Rename db-import-*.conf:ARCHPKGPOOLS -> ARCHPKGPOOL (non-plural) - Rename db-import-*.conf:ARCHSRCPOOLS -> ARCHSRCPOOL (non-plural) db-import-pkg: - Adjust UPSTREAMS - s/archlinux)/packages|community)/ - s/POOLS/POOL/g - Use a case block to decide which variables belong in db-import-$UPSTREAM.conf - Don't loop over ARCH{PKG,SRC}POOL, use it as a single value --- db-import-archlinux.conf | 28 ----------------------- db-import-archlinux32.conf | 3 +-- db-import-archlinuxarm.conf | 3 +-- db-import-community.conf | 28 +++++++++++++++++++++++ db-import-packages.conf | 28 +++++++++++++++++++++++ db-import-pkg | 55 +++++++++++++++++++++------------------------ 6 files changed, 83 insertions(+), 62 deletions(-) delete mode 100644 db-import-archlinux.conf create mode 100644 db-import-community.conf create mode 100644 db-import-packages.conf diff --git a/db-import-archlinux.conf b/db-import-archlinux.conf deleted file mode 100644 index e230a2b..0000000 --- a/db-import-archlinux.conf +++ /dev/null @@ -1,28 +0,0 @@ -ARCHREPOS=('core' 'testing' 'extra' 'community' 'multilib' 'multilib-testing') -ARCHPKGPOOLS=(pool/{packages,community}) -ARCHSRCPOOLS=(sources/{packages,community}) -ARCHARCHES=(x86_64) -OURARCHES=(armv7h i686) - -mirror="archlinux.mirror.pkern.at" -#mirror="mirrors.kernel.org" - -## mirrors without sources folder -#mirror="mirrors.niyawe.de" -#mirror="mirror.nl.leaseweb.net" -#mirror="mirror.one.com" -#mirror="mirror.us.leaseweb.net" -#mirror="mirror.bytemark.co.uk" -#mirror="mirror.de.leaseweb.net" - -mirrorpath="archlinux" - -# The followng is for db-import-archlinux-src - -# NB: I am unsure if the presence or absence of a trailing slash in -# the _ROOT variables is significant. -- lukeshu -SYNCARGS='-mrtv --no-motd --delete-after --no-p --no-o --no-g --quiet --exclude .~tmp~/' -ABSLIBRE_ROOT=/srv/repo/db-import-archlinux-src/abslibre -ABSLIBRE_GIT=https://git.parabola.nu/abslibre.git/ -ABS_ROOT="/srv/repo/db-import-archlinux-src/abs/" -ABS_SERVER="rsync.archlinux.org" diff --git a/db-import-archlinux32.conf b/db-import-archlinux32.conf index f2cb3dc..fa7fb73 100644 --- a/db-import-archlinux32.conf +++ b/db-import-archlinux32.conf @@ -1,6 +1,5 @@ ARCHREPOS=('build-support' 'core' 'testing' 'extra' 'community') -ARCHPKGPOOLS='pool/archlinux32' -# ARCHSRCPOOLS='sources/archlinux32' # archlinux32 doesn't provide .src tarballs +ARCHPKGPOOL='pool/archlinux32' ARCHARCHES=(i686) # OURARCHES=(i686) # useless? diff --git a/db-import-archlinuxarm.conf b/db-import-archlinuxarm.conf index 5e0dd4f..574dd37 100644 --- a/db-import-archlinuxarm.conf +++ b/db-import-archlinuxarm.conf @@ -1,6 +1,5 @@ ARCHREPOS=('core' 'extra' 'community') -ARCHPKGPOOLS='pool/alarm' -# ARCHSRCPOOLS='sources/alarm' # ALARM doesn't provide .src tarballs +ARCHPKGPOOL='pool/alarm' ARCHARCHES=(armv7h) # OURARCHES=(armv7h) # useless? diff --git a/db-import-community.conf b/db-import-community.conf new file mode 100644 index 0000000..2f286ec --- /dev/null +++ b/db-import-community.conf @@ -0,0 +1,28 @@ +ARCHREPOS=('community' 'multilib' 'multilib-testing') +ARCHPKGPOOL='pool/community' +ARCHSRCPOOL='sources/community' +ARCHARCHES=(x86_64) +OURARCHES=(armv7h i686) + +mirror="archlinux.mirror.pkern.at" +#mirror="mirrors.kernel.org" + +## mirrors without sources folder +#mirror="mirrors.niyawe.de" +#mirror="mirror.nl.leaseweb.net" +#mirror="mirror.one.com" +#mirror="mirror.us.leaseweb.net" +#mirror="mirror.bytemark.co.uk" +#mirror="mirror.de.leaseweb.net" + +mirrorpath="archlinux" + +# The followng is for db-import-archlinux-src + +# NB: I am unsure if the presence or absence of a trailing slash in +# the _ROOT variables is significant. -- lukeshu +SYNCARGS='-mrtv --no-motd --delete-after --no-p --no-o --no-g --quiet --exclude .~tmp~/' +ABSLIBRE_ROOT=/srv/repo/db-import-archlinux-src/abslibre +ABSLIBRE_GIT=https://git.parabola.nu/abslibre.git/ +ABS_ROOT="/srv/repo/db-import-archlinux-src/abs/" +ABS_SERVER="rsync.archlinux.org" diff --git a/db-import-packages.conf b/db-import-packages.conf new file mode 100644 index 0000000..f971f74 --- /dev/null +++ b/db-import-packages.conf @@ -0,0 +1,28 @@ +ARCHREPOS=('core' 'testing' 'extra') +ARCHPKGPOOL='pool/packages' +ARCHSRCPOOL='sources/packages' +ARCHARCHES=(x86_64) +OURARCHES=(armv7h i686) + +mirror="archlinux.mirror.pkern.at" +#mirror="mirrors.kernel.org" + +## mirrors without sources folder +#mirror="mirrors.niyawe.de" +#mirror="mirror.nl.leaseweb.net" +#mirror="mirror.one.com" +#mirror="mirror.us.leaseweb.net" +#mirror="mirror.bytemark.co.uk" +#mirror="mirror.de.leaseweb.net" + +mirrorpath="archlinux" + +# The followng is for db-import-archlinux-src + +# NB: I am unsure if the presence or absence of a trailing slash in +# the _ROOT variables is significant. -- lukeshu +SYNCARGS='-mrtv --no-motd --delete-after --no-p --no-o --no-g --quiet --exclude .~tmp~/' +ABSLIBRE_ROOT=/srv/repo/db-import-archlinux-src/abslibre +ABSLIBRE_GIT=https://git.parabola.nu/abslibre.git/ +ABS_ROOT="/srv/repo/db-import-archlinux-src/abs/" +ABS_SERVER="rsync.archlinux.org" diff --git a/db-import-pkg b/db-import-pkg index a399f41..ec4f88d 100755 --- a/db-import-pkg +++ b/db-import-pkg @@ -7,7 +7,7 @@ set -eE source "$(librelib messages)" setup_traps -readonly -a UPSTREAMS=(archlinux{,32,arm}) +readonly -a UPSTREAMS=(packages community archlinux{32,arm}) fatal_error() { error "$@" @@ -35,7 +35,7 @@ sync_dbs() { # Prints workdir path for given combination get_repo_workdir() { case "$UPSTREAM" in - archlinux) + packages|community) printf -- '%s' "${WORKDIR}/${1}/os/${2}/" ;; archlinux32|archlinuxarm) printf -- '%s' "${WORKDIR}/${2}/${1}/" ;; @@ -186,7 +186,7 @@ make_repo_dbs() { "${db_file##*/}" "${files_file##*/}" rm "$db_file" "$files_file" case "$UPSTREAM" in - archlinux) + packages|community) LC_ALL=C repo-add "$db_file" \ $(sed "s|^|${into}|; s|$|${PKGEXT}|" "$whitelist") |& \ sed -n 's/==> Adding/ -> Adding/p' @@ -242,8 +242,11 @@ main() { done source "$(dirname "$(readlink -e "$0")")/db-import-${UPSTREAM}.conf" - vars=(mirror mirrorpath ARCHREPOS ARCHPKGPOOLS) - [[ $UPSTREAM == archlinux ]] && vars+=(ARCHSRCPOOLS) + local vars + case "$UPSTREAM" in + packages|community) vars=(mirror mirrorpath ARCHREPOS ARCHPKGPOOL ARCHSRCPOOL) ;; + archlinux32|archlinuxarm) vars=(mirror mirrorpath ARCHREPOS ARCHPKGPOOL ) ;; + esac for var in "${vars[@]}"; do test -z "${!var}" && fatal_error "Empty %s" "${var}" done @@ -305,7 +308,7 @@ main() { "$db_file" \ "${blacklist[@]}" case "$UPSTREAM" in - archlinux) + packages|community) # Append to whitelists array so that we can # later sync_pool() all packages local -a whitelists+=(/tmp/${reponame}-${_arch}.whitelist) @@ -322,36 +325,30 @@ main() { > "/tmp/${reponame}-${_arch}-nodups.whitelist" sync_pool "rsync://${mirror}/${mirrorpath}/${_arch}/${reponame}/" \ "/tmp/${reponame}-${_arch}-nodups.whitelist" \ - "${FTP_BASE}/${ARCHPKGPOOLS}/" + "${FTP_BASE}/${ARCHPKGPOOL}/" ;; esac done case "$UPSTREAM" in - archlinux) + packages|community) # Concatenate all whitelists, check for single *s just in case cat "${whitelists[@]}" | grep -v "^\*$" | sort -u > "/tmp/${UPSTREAM}-all.whitelist" # FIXME: make_whitelist() wildcards should be narrowed # down to respect ${ARCHARCHES[@]} - msg "Syncing package pools" - local pkgpool - for pkgpool in "${ARCHPKGPOOLS[@]}"; do - sync_pool \ - "rsync://${mirror}/${mirrorpath}/${pkgpool}/" \ - "/tmp/${UPSTREAM}-all.whitelist" \ - "${FTP_BASE}/${pkgpool}/" - done + msg "Syncing package pool" + sync_pool \ + "rsync://${mirror}/${mirrorpath}/${pkgpool}/" \ + "/tmp/${UPSTREAM}-all.whitelist" \ + "${FTP_BASE}/${ARCHPKGPOOL}/" msg "Syncing source pool" - local srcpool - for srcpool in "${ARCHSRCPOOLS[@]}"; do - sync_pool \ - "rsync://${mirror}/${mirrorpath}/${srcpool}/" \ - "/tmp/${UPSTREAM}-all.whitelist" \ - "${FTP_BASE}/${srcpool}/" - done + sync_pool \ + "rsync://${mirror}/${mirrorpath}/${ARCHSRCPOOL}/" \ + "/tmp/${UPSTREAM}-all.whitelist" \ + "${FTP_BASE}/${ARCHSRCPOOL}/" ;; archlinux32|archlinuxarm) msg "Generating symbolic links to pool" @@ -359,13 +356,11 @@ main() { local _arch _repo _pkgpool for _arch in "${ARCHARCHES[@]}"; do for _repo in "${ARCHREPOS[@]}"; do - for _pkgpool in "${ARCHPKGPOOLS[@]}"; do - make_repo_symlinks \ - "$_pkgpool" \ - "/tmp/${_repo}-${_arch}.whitelist" \ - "$_repo" \ - "$_arch" - done + make_repo_symlinks \ + "$ARCHPKGPOOL" \ + "/tmp/${_repo}-${_arch}.whitelist" \ + "$_repo" \ + "$_arch" done done ;; -- cgit v1.2.2