# pkgs parsing utilities
PATH=$(dirname $0):$PATH export PATH
+
+# old guests have e.g. mount in /bin but this is no longer part of
+# the standard PATH in recent hosts after usrmove, so let's keep it simple
+export PATH=PATH=$PATH:/bin:/sbin
+
. build.common
DEFAULT_FCDISTRO=f20
# don't mount devpts, for pete's sake
sed -i 's/^.*dev.pts.*$/#\0/' ${rootfs_path}/etc/rc.sysinit
sed -i 's/^.*dev.pts.*$/#\0/' ${rootfs_path}/etc/rc.d/rc.sysinit
- chroot ${rootfs_path} /sbin/chkconfig udev-post off
- chroot ${rootfs_path} /sbin/chkconfig network on
+ chroot ${rootfs_path} chkconfig udev-post off
+ chroot ${rootfs_path} chkconfig network on
}
# this code of course is for guests that do run on systemd
ln -sf /dev/null ${rootfs_path}/etc/systemd/system/"getty@.service"
rm -f ${rootfs_path}/etc/systemd/system/getty.target.wants/*service || :
# can't seem to handle this one with systemctl
- chroot ${rootfs_path} /sbin/chkconfig network on
+ chroot ${rootfs_path} chkconfig network on
}
# overwrite container yum config
pldistro=$1; shift
# rpm --rebuilddb
- chroot $rootfs_path /bin/rpm --rebuilddb
+ chroot $rootfs_path rpm --rebuilddb
echo "Initializing yum.repos.d in $lxc"
rm -f $rootfs_path/etc/yum.repos.d/*
mkdir -p $rootfs_path
arch=$(canonical_arch $personality $fcdistro)
mirror=$(debian_mirror $fcdistro)
- # old guests have mount in /bin but this is no longer part of
- # the standard PATH in recent hosts
- PATH=$PATH:/bin:/sbin debootstrap --arch $arch $fcdistro $rootfs_path $mirror
+ debootstrap --arch $arch $fcdistro $rootfs_path $mirror
}
function debian_configure () {
### install individual packages, then groups
# get target arch - use uname -i here (we want either x86_64 or i386)
- lxc_arch=$(chroot $rootfs_path /bin/uname -i)
+ lxc_arch=$(chroot $rootfs_path uname -i)
# on debian systems we get arch through the 'arch' command
- [ "$lxc_arch" = "unknown" ] && lxc_arch=$(chroot $rootfs_path /bin/arch)
+ [ "$lxc_arch" = "unknown" ] && lxc_arch=$(chroot $rootfs_path arch)
packages=$(pl_getPackages -a $lxc_arch $fcdistro $pldistro $pkgsfile)
groups=$(pl_getGroups -a $lxc_arch $fcdistro $pldistro $pkgsfile)
case "$pkg_method" in
yum)
- [ -n "$packages" ] && chroot $rootfs_path /usr/bin/yum -y install $packages
+ [ -n "$packages" ] && chroot $rootfs_path yum -y install $packages
for group_plus in $groups; do
group=$(echo $group_plus | sed -e "s,+++, ,g")
- chroot $rootfs_path /usr/bin/yum -y groupinstall "$group"
+ chroot $rootfs_path yum -y groupinstall "$group"
done
# store current rpm list in /init-lxc.rpms in case we need to check the contents
- chroot $rootfs_path /bin/rpm -aq > $rootfs_path/init-lxc.rpms
+ chroot $rootfs_path rpm -aq > $rootfs_path/init-lxc.rpms
;;
debootstrap)
- chroot $rootfs_path /usr/bin/apt-get update
+ chroot $rootfs_path apt-get update
for package in $packages ; do
- chroot $rootfs_path /usr/bin/apt-get install -y $package
+ chroot $rootfs_path apt-get install -y $package
done
### xxx todo install groups with apt..
;;
### From myplc-devel-native.spec
# be careful to backslash $ in this, otherwise it's the root context that's going to do the evaluation
- cat << EOF | chroot $rootfs_path /bin/bash -x
+ cat << EOF | chroot $rootfs_path bash -x
# set up /dev/loop* in lxc
for i in \$(seq 0 255) ; do
/bin/mknod -m 640 /dev/loop\$i b 7 \$i
personality=$1; shift
# be careful to backslash $ in this, otherwise it's the root context that's going to do the evaluation
- cat << EOF | chroot $rootfs_path /bin/bash -x
+ cat << EOF | chroot $rootfs_path bash -x
# create /etc/sysconfig/network if missing
[ -f /etc/sysconfig/network ] || /bin/echo NETWORKING=yes > /etc/sysconfig/network