# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2004-2006 The Trustees of Princeton University
#
-# $Id: mkfedora,v 1.21 2006/08/22 12:37:08 thierry Exp $
+# $Id: mkfedora,v 1.22 2006/08/22 12:56:14 thierry Exp $
#
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
while getopts "l:r:a:g:p:x:kvh" opt ; do
case $opt in
l)
- if echo $OPTARG | grep -q -i '^\(file\|http[s]*\)://' ; then
- mirrors=($OPTARG)
+ if echo $OPTARG | grep -q -i '^\(file\|http[s]*\|ftp\)://' ; then
+ mirrors=($OPTARG ${mirrors[@]})
else
- mirrors=(file://$OPTARG)
+ mirrors=(file://$OPTARG ${mirrors[@]})
fi
;;
r)
usage
fi
+
exec 3>&1
exec 4>&2
if [ $verbose -eq 0 ] ; then
echo "* Installing glibc" >&3
yum -c $vroot/etc/yum.conf --installroot=$vroot -y $excludes install glibc
+#get rpm and yum
+yum -c $vroot/etc/yum.conf --installroot=$vroot -y install rpm yum
+
+# use host env resolv info
+cp /etc/resolv.conf $vroot/etc/resolv.conf
+
# Go, baby, go
if [ ${#packages[*]} -gt 0 ] ; then
echo "* Installing optional packages" "${packages[@]}" >&3
- yum -c $vroot/etc/yum.conf --installroot=$vroot -y $excludes \
- install "${packages[@]}"
- if ! rpm --root $vroot -q "${packages[@]}" >/dev/null ; then
+ chroot $vroot yum -c /etc/yum.conf -y $excludes install "${packages[@]}"
+ if ! chroot $vroot rpm -q "${packages[@]}" >/dev/null ; then
echo "* Warning: Missing packages"
- rpm --root $vroot -q "${packages[@]}" | grep "not installed"
+ chroot $vroot rpm -q "${packages[@]}" | grep "not installed"
fi
fi
## call yum sequentially to get finer-grained info on dependencies
for grp in "${groups[@]}" ; do
echo "* Installing optional group $grp" >&3
- yum -c $vroot/etc/yum.conf --installroot=$vroot -y $excludes \
- groupinstall "$grp"
+ chroot $vroot yum -c /etc/yum.conf -y $excludes groupinstall "$grp"
done
fi
# Clean yum cache
echo "* Cleaning up" >&3
-yum -c $vroot/etc/yum.conf --installroot=$vroot -y \
- clean all
+chroot $vroot yum -c /etc/yum.conf -y clean all
# Clean RPM state
rm -f $vroot/var/lib/rpm/__db*