From fa4dcda68416cbdde4c5aeaa533db2a117c13e6d Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 14 Jun 2017 09:25:46 +0200 Subject: bin/db-update: decision wether package is from community extracted to new function "official_or_community" --- bin/common-functions | 28 ++++++++++++++++++++++++++-- bin/db-update | 19 +------------------ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/bin/common-functions b/bin/common-functions index f5e1d39..92da590 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -238,8 +238,7 @@ generate_package_metadata() { # delete_old_metadata # delete old (=unneeded) meta data of packages -delete_old_metadata() -{ +delete_old_metadata() { true # ls -1 "${file_prefix%.*.*}."* 2> /dev/null | \ # sed 's|^.*/||' | \ @@ -248,3 +247,28 @@ delete_old_metadata() # rm "${work_dir}/package-infos/${file}" # done } + +# official_or_community $package.$repo_revision.$mod_repo_revision.$repository +# print wether the specified package is an official package (print +# nothing) or a community package (print 'community-') + +official_or_community() { + local package="$1" + local repository="${package##*.}" + package="${package%.*}" + local a32_rev="${package##*.}" + package="${package%.*.*}" + + case "${repository}" in + 'community') + echo 'community-' + ;; + 'multilib') + if ! git -C "${repo_paths['archlinux32']}" archive --format=tar "${a32_rev}" -- 'extra-from-multilib' | \ + tar -Ox | \ + grep -qFx "${package%.*.*.*}"; then + echo 'community-' + fi + ;; + esac +} diff --git a/bin/db-update b/bin/db-update index 6831c22..81bb2d6 100755 --- a/bin/db-update +++ b/bin/db-update @@ -204,24 +204,7 @@ for package in ${done_packages}; do sed 's|\(-[^-]\+\)\{3\}\.pkg\.tar\.xz$||' ) ) - case "${package##*.}" in - 'community') - destination='community-testing' - ;; - 'multilib') - a32_rev="${package%.*}" - a32_rev="${a32_rev##*.}" - if git -C "${repo_paths['archlinux32']}" archive --format=tar "${a32_rev}" | \ - tar -Ox 'extra-from-multilib' | \ - grep -q "^${package%.*.*.*}\$"; then - destination='testing' - else - destination='community-testing' - fi - ;; - *) - destination='testing' - esac + destination="$(official_or_community "${package}")testing" pushd "${master_mirror_directory}/i686/staging" > /dev/null mkdir -p "../${destination}" -- cgit v1.2.3-54-g00ecf