X-Git-Url: http://git.onelab.eu/?p=build.git;a=blobdiff_plain;f=partial-repo.sh;h=810c9b328a466270a9dbdddb09991af2111c1bdd;hp=703ee2848c21ce7bd1ff1a35194e6c200680ba8f;hb=cc5a9338d1528a7fec60f496bfba7b8b28a80539;hpb=9831ced3ca36ed077dba6abe02c9f2746e1f490b diff --git a/partial-repo.sh b/partial-repo.sh index 703ee284..810c9b32 100755 --- a/partial-repo.sh +++ b/partial-repo.sh @@ -1,5 +1,4 @@ #!/bin/sh -# $URL$ COMMAND=$(basename $0) @@ -9,23 +8,34 @@ function usage () { 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