#!/bin/bash
-# $Id$
-# $URL$
#
# priority: 1200
#
repositories="$@"
fi
- ### availability of repo indexing tools
- # old one - might be needed for old-style nodes
- type -p yum-arch > /dev/null && have_yum_arch="true"
- # new one
- type -p createrepo > /dev/null && have_createrepo="true"
-
-
- ### copy vserver-PLDISTRO* and vserver-systemslices-PLDISTRO*
+ ### symlink vserver-PLDISTRO* and vserver-systemslices-PLDISTRO*
### packages to each repository to be able to create different
### flavours of vservers on nodes
for repository1 in $repositories; do
if [[ $(basename $repository1) == ${DISTRO}* ]] \
&& [[ $(basename $repository2) == ${DISTRO}* ]] \
&& [[ $repository1 != $repository2 ]] ; then
+ rm -rf $repository2/${VSERVER_PKG}*
+ rm -rf $repository2/${VSERVER_SYS_SLICES_PKG}*
+
ln -s $repository1/${VSERVER_PKG}* $repository2
ln -s $repository1/${VSERVER_SYS_SLICES_PKG}* $repository2
fi
# and the corresponding stamps
new_stamps=
# is there a need to refresh yum metadata
- need_yum_arch=
- need_createrepo=
+ need_createrepo=true # always run createrepo as links may change for vserver packages
# right after installation, no package is present
# but we still need to create index
- [ -n "$have_yum_arch" -a ! -f $repository/headers/header.info ] && need_yum_arch=true
- [ -n "$have_createrepo" -a ! -f $repository/repodata/repomd.xml ] && need_createrepo=true
+ [ ! -f $repository/repodata/repomd.xml ] && need_createrepo=true
for package in $(find $repository/ -name '*.rpm') ; do
stamp=$repository/signed-stamps/$(basename $package).signed
new_rpms="$new_rpms $package"
new_stamps="$new_stamps $stamp"
fi
- # Or than yum-arch headers
- [ -n "$have_yum_arch" ] && [ $package -nt $repository/headers/header.info ] && need_yum_arch=true
# Or than createrepo database
- [ -n "$have_createrepo" ] && [ $package -nt $repository/repodata/repomd.xml ] && need_createrepo=true
+ [ $package -nt $repository/repodata/repomd.xml ] && need_createrepo=true
done
if [ -n "$new_rpms" ] ; then
# Update repository index / yum metadata.
- if [ -n "$need_yum_arch" ] ; then
- # yum-arch sometimes leaves behind
- # .oldheaders and .olddata directories accidentally.
- rm -rf $repository/{.oldheaders,.olddata}
- yum-arch $repository
- check
- fi
-
if [ -n "$need_createrepo" ] ; then
if [ -f $repository/yumgroups.xml ] ; then
createrepo --quiet -g yumgroups.xml $repository