#!/bin/sh
-# $URL$
COMMAND=$(basename $0)
exit 1
}
-[[ -n "$@" ]] || usage
-case "$1" in *-h*) usage ;; esac
+ OPTS=$(getopt -o "ih" -- "$@")
+ if [ $? != 0 ]; then usage; fi
+ eval set -- "$OPTS"
+ while true; do
+ case $1 in
+ -i) INCREMENTAL=true; shift;;
+ -h) usage;;
+ --) shift; break ;;
+ esac
+ done
set -e
-for repo in "$@" ; do
- if [ ! -d $repo/RPMS ] ; then
- echo could not find $repo/RPMS - ignored
+for rpms_dir in $(find "$@" -name RPMS) ; do
+ pushd $rpms_dir >& /dev/null
+ cd ..
+ echo "============================== Dealing with repo $(pwd)"
+ if [ -d PARTIAL-RPMS -a -n "$INCREMENTAL" ]; then
+ echo "$COMMAND - incremental mode"
+ echo "repo $rpms_dir already has a PARTIAL-RPMS - skipped"
+ popd >& /dev/null
continue
fi
-
- cd $repo
- echo "==================== Dealing with repo $repo"
mkdir -p PARTIAL-RPMS
+ echo "========== rsyncing relevant rpms into PARTIAL-RPMS"
rsync --archive --verbose $(find RPMS -type f | egrep '/(bootcd|bootstrapfs|nodeimage|noderepo|slicerepo)-.*-.*-.*-.*rpm') PARTIAL-RPMS/
- echo "==================== building packages index in $repo .."
+ echo "========== building packages index (i.e. running createrepo) in $(pwd)/PARTIAL-RPMS"
createrepo PARTIAL-RPMS
- echo '==================== DONE'
- cd - >& /dev/null
+ echo "========== DONE"
+ popd >& /dev/null
done