X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fpackages;h=6117538a492e74c7911c51942dd23136295e1f92;hb=1046177618d63abfa91e84d25bfd2bfb9554f314;hp=0108cde76b99a62e8666d6e2166b6828a057134a;hpb=1dca97c8ec500331c22d81dd7e77ed6a85971288;p=nodeimage.git diff --git a/plc.d/packages b/plc.d/packages index 0108cde..6117538 100755 --- a/plc.d/packages +++ b/plc.d/packages @@ -108,26 +108,29 @@ case "$1" in 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 @@ -163,6 +166,8 @@ case "$1" in ########## 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