mode=$1; shift
- # on PLC there is a need to select the repos as there are quite a few in there
- # would contain names or patterns relative to install-rpms
- explicit_list=/var/www/html/install-rpms/PACKAGES
+ # hack for PLC
+ # there are some very old repos there, as well as some sensitive areas
+ # so by convention the repositories that have a 'PRESERVE' file won't
+ # be touched by the cross-flavour stuff
+ # i.e. no symlinks get created to or from there,
+ # and yumgroups is untouched
# use argv if provided
if [[ -n "$@" ]] ; then
repositories="$@"
- cross_repositories="$@"
- elif [ -f $explicit_list ] ; then
- cross_repositories=""
- for name in $(grep -v '#' $explicit_list); do
- cross_repositories="$cross_repositories /var/www/html/install-rpms/$name"
- done
- repositories=/var/www/html/install-rpms/*
else
- # use all subdirs in install-rpms by default
- repositories=/var/www/html/install-rpms/*
- cross_repositories=/var/www/html/install-rpms/*
+ # consider all subdirs in install-rpms by default, except the slice repos
+ # use find instead of ls - for the corner case where the dir. is empty
+ # (thanks Thomas Dreibholz for the heads up)
+ repositories=$(find /var/www/html/install-rpms -maxdepth 1 -mindepth 1 -type d \! -name 'slice-*' 2> /dev/null)
fi
+ # filter out PRESERVE'd repos
+ cross_repositories=""
+ for repository in $repositories; do
+ [ -f $repository/PRESERVE ] || cross_repositories="$cross_repositories $repository"
+ done
+
##########
# deal with the sliceimage packages
# symlink all instances of plain 'sliceimage-*rpm' in all repos
########## sign plain packages
for repository in $repositories ; do
+ # skip non-directory
+ [ -d $repository ] || continue
# the rpms that need signing
new_rpms=
# and the corresponding stamps
result "$MESSAGE"
;;
+ index)
+ # just rerun createrepo
+ shift
+ if [[ -z "$@" ]] ; then
+ # use all subdirs in install-rpms by default
+ repositories=/var/www/html/install-rpms/*
+ else
+ # else use argv
+ repositories=$@
+ fi
+
+ for repository in $repositories ; do
+ echo ============================== running createrepo in $repository
+ createrepo -g yumgroups.xml $repository
+ done
+ ;;
clean)
shift
if [[ -z "$@" ]] ; then