diff options
-rwxr-xr-x | db-check-nonfree | 11 | ||||
-rwxr-xr-x | repo-update | 17 |
2 files changed, 10 insertions, 18 deletions
diff --git a/db-check-nonfree b/db-check-nonfree index d8f34f0..83efb14 100755 --- a/db-check-nonfree +++ b/db-check-nonfree @@ -23,10 +23,15 @@ for repo in ${ARCHREPOS[@]}; do if [ ! -f "${FTP_BASE}/${repo}/os/${pkgarch}/${repo}${DBEXT}" ]; then continue fi + unset dbpkgs unset cleanpkgs - cmd_="$(dirname $0)/list_nonfree_in_db.py -k ${BLACKLIST_FILE} \ - -b ${FTP_BASE}/${repo}/os/${pkgarch}/${repo}${DBEXT}" - cleanpkgs=($(${cmd_})) + cleanpkgs=() + dbpkgs=($(bsdtar -xOf "${FTP_BASE}/${repo}/os/${pkgarch}/${repo}${DBEXT}" | awk '/^%NAME%/{getline;print}' | sort -u )) + for pkgname in ${dbpkgs[@]}; do + if in_array ${pkgname} ${nonfree[@]}; then + cleanpkgs[${#cleanpkgs[*]}]=${pkgname} + fi + done if [ ${#cleanpkgs[@]} -ge 1 ]; then arch_repo_remove "${repo}" "${pkgarch}" ${cleanpkgs[@]} fi diff --git a/repo-update b/repo-update index 12c6d0c..a44ae87 100755 --- a/repo-update +++ b/repo-update @@ -5,41 +5,28 @@ source $(dirname $0)/config source $(dirname $0)/local_config source $(dirname $0)/libremessages -msg "Updating your-freedom" -$(dirname $0)/yf-update - -msg "Global exclude-list" -# To not downgrade repos by accident -find ${repodir}/old/packages -name "*${PKGEXT}" \ - -fprintf ${rsync_not_needed}2 '%f\n' - for repo in ${ARCHREPOS[@]}; do msg "Syncing ${repo}" for arch in ${ARCHARCHES[@]} 'any'; do msg2 "${repo} ${arch}" # makes a file containing rsync output for filter.py - plain "Checking packages..." ${rsync_list_command} \ rsync://${mirror}/${mirrorpath}/${repo}/os/${arch}/ \ - ${repodir}/staging/${repo}/ > ${rsout_file} 2&>/dev/null + ${repodir}/staging/${repo}/ > ${rsout_file} # reads blacklist and rsout_file and makes an rsync exclude-from # list - plain "Excluding nonfree..." filter.py -r ${rsync_blacklist} -k ${blacklist} \ -f ${rsout_file} # list files in ${repodir}/${repo} and write their names on # rsync_not_needed for using as an rsync exclude-from - plain "Excluding our packages" find ${repodir}/${repo} -name "*${PKGEXT}" \ -fprintf ${rsync_not_needed} '%f\n' # Actual rsync command - plain "Syncing..." ${rsync_update_command} \ --exclude-from=${rsync_blacklist} \ --exclude-from=${rsync_not_needed} \ - --exclude-from=${rsync_not_needed}2 \ rsync://${mirror}/${mirrorpath}/${repo}/os/${arch}/ \ - ${repodir}/staging/${repo}/ 2&>/dev/null + ${repodir}/staging/${repo}/ done for arch in ${ARCHARCHES[@]}; do msg2 "Making pending list for $repo $arch" |