diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2015-08-25 18:05:37 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2015-08-25 18:05:37 -0300 |
commit | 12b709bd141bf25a97c42034ec77798b3a548105 (patch) | |
tree | 98a8eb455a837ce034c1d1ffbccd466b1d1fa4fe /any-to-ours | |
parent | a6e67e220e638ee69b63dd9a96af7e608c27531c (diff) |
update any-to-ours and fixes
Diffstat (limited to 'any-to-ours')
-rwxr-xr-x | any-to-ours | 75 |
1 files changed, 61 insertions, 14 deletions
diff --git a/any-to-ours b/any-to-ours index a901d54..a84c368 100755 --- a/any-to-ours +++ b/any-to-ours @@ -1,5 +1,5 @@ #!/bin/bash -# Releases 'any' packages from Arch arches to ours +# Releases 'any' packages from Arch-derivations arches to ours trap_exit() { echo @@ -7,7 +7,8 @@ trap_exit() { exit 1 } -source "$(dirname "$(readlink -e "$0")")/config" +platform_name="${platform/\//+}" +source "$(dirname "$(readlink -e "$0")")/config_${platform_name,,}" source "$(dirname "$(readlink -e "$0")")/db-libremessages" # From makepkg @@ -17,16 +18,13 @@ trap 'trap_exit "$(gettext "TERM signal caught. Exiting...")"' TERM HUP QUIT trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR -# The architecture to compare with -BASEARCH='x86_64' - # Traverse all Arch repos -for _repo in "${ARCHREPOS[@]}"; do +for '_repo' in "${MAIN_REPOS[@]}"; do msg "Processing %s..." "${_repo}" # Find 'any' packages # This is hardcoded but it could release other arches... - PKGS=($(find "${FTP_BASE}/${_repo}/os/${BASEARCH}/" \ + PKGS=($(find "${REPO_DIR}/${_repo}/os/${ARCHES[0]}/" \ -iname '*-any.pkg.tar.?z' \ -printf "%f ")) @@ -35,7 +33,7 @@ for _repo in "${ARCHREPOS[@]}"; do continue fi - for _arch in "${OURARCHES[@]}"; do + for '_arch' in "${ARCHES[@]}"; do msg2 "Syncing %s..." "${_arch}" # Sync 'any' only and extract the synced packages @@ -44,12 +42,12 @@ for _repo in "${ARCHREPOS[@]}"; do --include='*-any.pkg.tar.?z' \ --include='*-any.pkg.tar.?z.sig' \ --exclude='*' \ - "${FTP_BASE}/${_repo}/os/${BASEARCH}/" \ - "${FTP_BASE}/${_repo}/os/${_arch}/" 2>&1 | \ + "${REPO_DIR}/${_repo}/os/${ARCHES[0]}/" \ + "${REPO_DIR}/${_repo}/os/${_arch}/" 2>&1 | \ grep 'any\.pkg\.tar\..z$' | \ cut -d ' ' -f 1 )) - if [ ${#SYNCED[@]} -eq 0 ]; then + if [ "${#SYNCED[@]}" -eq 0 ]; then msg2 "Already synced (or error happened)" continue fi @@ -58,14 +56,63 @@ for _repo in "${ARCHREPOS[@]}"; do msg2 "Adding to db..." - pushd "${FTP_BASE}/${_repo}/os/${_arch}/" >/dev/null + pushd "${REPO_DIR}/${_repo}/os/${_arch}/" >/dev/null # Add the packages to the db - repo-add "${_repo}${DBEXT}" "${SYNCED[@]}" + repo-add "${_repo}${DB_EXT}" "${SYNCED[@]}" popd >/dev/null # Avoid mixups - unset SYNCED PKGS + unset 'SYNCED' 'PKGS' done + if [ -n "${MULTILIB}" ]; then + for '_repo_multilib' in "${MULTILIB_REPOS[@]}"; do + msg "Processing %s..." "${_repo}" '(multilib)' + + # Find 'any' packages + # This is hardcoded but it could release other arches... + PKGS_MULTILIB=($(find "${REPO_DIR}/${_repo_multilib}/os/${MULTILIB[0]}/" \ + -iname '*-any.pkg.tar.?z' \ + -printf "%f ")) + + if [ ${#PKGS_MULTILIB[@]} -eq 0 ]; then + msg2 "No '%s' multilib packages here" any + continue + fi + + for '_arch_multilib' in "${MULTILIB[@]}"; do + msg2 "Syncing %s..." "${_arch_multilib}" '(multilib)' + + # Sync 'any' only and extract the synced packages + SYNCED_MULTILIB=($( + rsync -av \ + --include='*-any.pkg.tar.?z' \ + --include='*-any.pkg.tar.?z.sig' \ + --exclude='*' \ + "${REPO_DIR}/${_repo_multilib}/os/${MULTILIB[0]}/" \ + "${REPO_DIR}/${_repo_multilib}/os/${_arch_multilib}/" 2>&1 | \ + grep 'any\.pkg\.tar\..z$' | \ + cut -d ' ' -f 1 )) + + if [ "${#SYNCED_MULTILIB[@]}" -eq 0 ]; then + msg2 "Already synced (or error happened)" + continue + fi + + msg2 "Synced %d packages: %s" "${#SYNCED_MULTILIB[@]}" "${SYNCED_MULTILIB[*]}" + + msg2 "Adding Multilib to db..." + + pushd "${REPO_DIR}/${_repo_multilib}/os/${_arch_multilib}/" >/dev/null + + # Add the packages to the db + repo-add "${_repo_multilib}${DB_EXT}" "${SYNCED_MULTILIB[@]}" + + popd >/dev/null + + # Avoid mixups + unset 'SYNCED_MULTILIB' 'PKGS_MULTILIB' + done + fi done |