summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclean_repo.py6
-rw-r--r--config3
-rwxr-xr-xrepo-update33
3 files changed, 26 insertions, 16 deletions
diff --git a/clean_repo.py b/clean_repo.py
index bc401b5..6f3d632 100755
--- a/clean_repo.py
+++ b/clean_repo.py
@@ -80,11 +80,9 @@ if __name__ == "__main__":
args=parser.parse_args()
- if not args.directory and not args.database:
- parser.print_help()
- elif not args.pending_file or not args.whitelist_file \
- and args.database:
+ if args.database and not (args.pending_file and args.whitelist_file):
parser.print_help()
+ exit(1)
blacklisted=listado(args.blacklist_file)
diff --git a/config b/config
index 300893a..7180f9e 100644
--- a/config
+++ b/config
@@ -1,7 +1,8 @@
FTP_BASE="/home/parabolavnx/parabolagnulinux.org/free"
ARCH_BASE="/home/parabolavnx/parabolagnulinux.org/repo"
SVNREPO="/home/parabolavnx/parabolagnulinux.org/abslibre"
-PKGREPOS=('core' 'extra' 'community' 'libre' 'libre-testing' 'social' 'sugar' 'testing' 'multilib')
+ARCHREPOS=('core' 'extra' 'community' 'testing' 'multilib')
+PKGREPOS=(${ARCHREPOS[@]} 'libre' 'libre-testing' 'social' 'sugar')
PKGPOOL='pool/packages'
SRCPOOL='sources/packages'
diff --git a/repo-update b/repo-update
index 2354e0a..7241507 100755
--- a/repo-update
+++ b/repo-update
@@ -5,29 +5,40 @@ source config
source local_config
source libremessages
-for repo in ${PKGREPOS[@]}; do
- for arch in ${ARCHES[@]} 'any'; do
+for repo in ${ARCHREPOS[@]}; do
+ for arch in 'i686' 'x86_64' 'any'; do
msg "Syncing ${repo} ${arch}"
+ # makes a file containing rsync output for filter.py
${rsync_list_command} \
- ${mirror}::${mirrorpath}/${repo}/os/${arch}/ \
- ${repodir}/${repo}/ > ${rsout_file}
+ rsync://${mirror}/${mirrorpath}/${repo}/os/${arch}/ \
+ ${repodir}/staging/${repo}/ > ${rsout_file}
+ # reads blacklist and rsout_file and makes an rsync exclude-from
+ # list
filter.py -r ${rsync_blacklist} -k ${blacklist} \
-f ${rsout_file}
- find ${repodir}/${repo} -name *${PKGEXT} \
- -fprint ${rsync_not_needed}
+ # list files in ${repodir}/${repo} and write their names on
+ # rsync_not_needed for using as an rsync exclude-from
+ find ${repodir}/${repo} -name "*${PKGEXT}" \
+ -fprintf ${rsync_not_needed} '%f\n'
+ # Actual rsync command
${rsync_update_command} \
--exclude-from=${rsync_blacklist} \
- --exclude-from=${rsync_not_needed}
- ${mirror}::${mirrorpath}/${repo}/os/${arch}/ \
- ${repodir}/${repo}/
+ --exclude-from=${rsync_not_needed} \
+ rsync://${mirror}/${mirrorpath}/${repo}/os/${arch}/ \
+ ${repodir}/staging/${repo}/
done
for arch in ${ARCHES[@]}; do
+ msg2 "Cleaning"
+ # if there is a db in repo (db is created on rsync)
if [ -r ${repodir}/${repo}/os/${arch}/${repo}${DBEXT} ]; then
+ # clean_repo makes pending list with files on db and remove
+ # packages from db
clean_repo.py -k ${blacklist} -w ${whitelist} \
-p ${docs_dir}/pending-${repo} \
- -b ${repodir}/${repo}/${repo}${DBEXT}
+ -b ${repodir}/staging/${repo}/${repo}${DBEXT}
fi
- python clean_repo.py -k ${blacklist} -d ${repodir}/${repo}
+ # if some nonfree files got pass the filter this command delete them
+ python clean_repo.py -k ${blacklist} -d ${repodir}/staging/${repo}
done
done