Setting tag bootcd-5.3-1
[build.git] / partial-repo.sh
1 #!/bin/sh
2
3 COMMAND=$(basename $0)
4
5 function usage () {
6     echo "Usage: $COMMAND repo1..."
7     echo "  a 'RPMS' subdir is expected in each repo arg"
8     exit 1
9 }
10
11     OPTS=$(getopt -o "ih" -- "$@")
12     if [ $? != 0 ]; then usage; fi
13     eval set -- "$OPTS"
14     while true; do
15         case $1 in
16             -i) INCREMENTAL=true; shift;;
17             -h) usage;;
18             --) shift; break ;;
19         esac
20     done
21
22 set -e 
23
24 for rpms_dir in $(find "$@" -name RPMS) ; do
25     pushd $rpms_dir >& /dev/null
26     cd ..
27     echo "============================== Dealing with repo $(pwd)"
28     if [ -d PARTIAL-RPMS -a -n "$INCREMENTAL" ]; then
29         echo "$COMMAND - incremental mode"
30         echo "repo $rpms_dir already has a PARTIAL-RPMS - skipped"
31         popd >& /dev/null
32         continue
33     fi
34     mkdir -p PARTIAL-RPMS
35     echo "========== rsyncing relevant rpms into PARTIAL-RPMS"
36     rsync --archive --verbose $(find RPMS -type f | egrep '/(bootcd|bootstrapfs|nodeimage|noderepo|slicerepo)-.*-.*-.*-.*rpm') PARTIAL-RPMS/
37     echo "========== building packages index (i.e. running createrepo) in $(pwd)/PARTIAL-RPMS"
38     createrepo PARTIAL-RPMS
39     echo "========== DONE"
40     popd >& /dev/null
41 done