X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fpackages;h=2046fadb7968e5b683d14f96b137ffa4b6d2908a;hb=HEAD;hp=0108cde76b99a62e8666d6e2166b6828a057134a;hpb=1dca97c8ec500331c22d81dd7e77ed6a85971288;p=nodeimage.git diff --git a/plc.d/packages b/plc.d/packages index 0108cde..2046fad 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 @@ -225,6 +230,22 @@ case "$1" in 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