-# Make a basic chroot at the specified location given the specified
-# configuration.
-make_chroot() {
- root=$1
- config=$2
-
- # Get group list
- groups=
- while read group ; do
- groups="$groups -g \"$group\""
- done < <(./plc-config --groups $config)
-
- # Get package list
- packages=
- while read package ; do
- packages="$packages -p \"$package\""
- done < <(./plc-config --packages $config)
-
- # Install base system
- eval mkfedora -v -l $PLC_DEVEL_FEDORA_URL -r $PLC_DEVEL_FEDORA_RELEASE -a $PLC_DEVEL_FEDORA_ARCH $packages $groups $root
-
- # Disable all services in reference image
- chroot $root sh -c "/sbin/chkconfig --list | awk '{ print \$1 }' | xargs -i /sbin/chkconfig {} off"
-
- # FC2 minilogd starts up during shutdown and makes unmounting
- # impossible. Just get rid of it.
- rm -f $root/sbin/minilogd
- ln -nsf /bin/true $root/sbin/minilogd
-}
-
-# Move specified directories out of the chroot and into a "data"
-# directory that will be bind mounted on /data inside the chroot.
-move_datadirs() {
- root=$1
- data=$2
- shift 2
-
- mkdir -p $root/data
- for datadir in "$@" ; do
- mkdir -p ${data}$datadir
- if [ -d $root/$datadir -a ! -h $root/$datadir ] ; then
- (cd $root && find ./$datadir | cpio -p -d -u ../$data/)
- fi
- rm -rf $root/$datadir
- mkdir -p $(dirname $root/$datadir)
- ln -nsf /data$datadir $root/$datadir
- done
+# this is fragile, as the actual layout may vary from one mirror to the other
+# however this should be in line with the layouts obtained
+# when running build/vbuild-fedora-mirror.sh
+
+function yum_conf_to_build_host () {
+ build_dir=$1; shift
+ BUILD_HOST=$(hostname)
+
+ cat <<EOF
+[main]
+cachedir=/var/cache/yum
+debuglevel=2
+logfile=/var/log/yum.log
+pkgpolicy=newest
+distroverpkg=redhat-release
+tolerant=1
+exactarch=1
+retries=10
+obsoletes=1
+gpgcheck=0
+# Prevent yum-2.4 from loading additional repository definitions
+# (e.g., from /etc/yum.repos.d/)
+reposdir=/dev/null
+
+EOF
+
+ template=$build_dir/mirroring/${pl_DISTRO_NAME}/yum.repos.d/building.repo.in
+ if [ ! -f $template ] ; then
+ echo "# MyPLC/$0: cannot find template $template"
+ else
+ sed -e s,@MIRRORURL@,http://${BUILD_HOST}/mirror/, $template
+ fi