#!/bin/bash
-# $Id$
-# $URL$
#
# priority: 1200
#
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"
+
+ ### 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
+ DISTRO=${PLC_FLAVOUR_SLICE_PLDISTRO}
+ VSERVER_PKG=vserver-$(basename $repository1)
+ VSERVER_SYS_SLICES_PKG=vserver-systemslices-$(basename $repository1)
+ for repository2 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
+ done
+ done
+
for repository in $repositories ; do
# the rpms that need signing
new_rpms=
# 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
for package in $(find $repository/ -name '*.rpm') ; do
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
done
# 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