X-Git-Url: https://git.jankratochvil.net/?a=blobdiff_plain;f=src%2Frawhide-bootstrap;h=6729a6d416db357b92d8a29e4512609fd362592a;hb=e93a818489e4fddef04fff98708a741713fb370e;hp=bbbd389f43325943fd1951590b985137f34e8543;hpb=f232e87ee2e4cdaa1814c82dab5f928b6ee98fa4;p=nethome.git diff --git a/src/rawhide-bootstrap b/src/rawhide-bootstrap index bbbd389..6729a6d 100755 --- a/src/rawhide-bootstrap +++ b/src/rawhide-bootstrap @@ -5,8 +5,10 @@ # http://cvs.jankratochvil.net/viewcvs/nethome/src/rawhide-bootstrap?rev=HEAD -###RPMS_URL_BASE=http://sunsite.mff.cuni.cz/pub/fedora/development/`uname -i`/os -RPMS_URL_BASE=http://localhost/redhat/devel/rawhide-latest/rawhide-latest/latest/`uname -i`/os +uname_i=`uname -i|sed 's/^ppc64$/ppc/'` +RPMS_URL_BASE=http://armstrong.rhts.boston.redhat.com/distros/rawhide-$uname_i +wget -q -O - $RPMS_URL_BASE/GPL >/dev/null || \ +RPMS_URL_BASE=http://sunsite.mff.cuni.cz/pub/fedora/development/$uname_i/os if test $# != 1;then echo >&2 "Syntax: $0 ";exit 1;fi @@ -15,18 +17,21 @@ if test "${ROOT#/}" = "$ROOT";then echo >&2 "Absolute pathname required: $ROOT"; cd / umount $ROOT/proc +umount $ROOT/selinux umount $ROOT/sys set -ex set +x;pkgs="`set -x;wget -q -O - $RPMS_URL_BASE/Fedora/RPMS/ | sed -n 's/^.*.*$/\1/p'`";set -x function pkg { - for arch in `uname -m` `uname -i` noarch;do + for arch in `uname -m` $uname_i noarch;do r="`set +x;echo "$pkgs"|(set +e;grep -P '^\Q'"$1"'\E-[^-]+-[^-]+'".$arch.rpm"'$')`" if [ `echo "$r"|wc -l` -ge 2 ];then break;fi if [ -n "$r" ];then echo "$RPMS_URL_BASE/Fedora/RPMS/$r" - return + if [ "$arch" != ppc64 ];then + return + fi fi done echo >&2 "ERROR: $1" @@ -36,19 +41,22 @@ function pkg KEY=/tmp/fedora-bootstrap-$$-key rm -rf $KEY -trap 'rm -f $KEY' EXIT +trap 'rm -rf $KEY' EXIT mkdir $KEY cd $KEY # wget(1) due to: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=167483 +wget -q -O - `pkg fedora-release` >/dev/null wget -q -O - `pkg fedora-release` | rpm2cpio | cpio -id rm -rf $ROOT mkdir -p $ROOT/{etc,dev,var/log,sys} +cp -p /etc/resolv.conf $ROOT/etc awk '/^[ \t]*[^#]/ { if ($2 == "/" || $2 == "/sys" || $2 == "/proc") { print; }}' $ROOT/etc/fstab if grep -q '^LABEL=' $ROOT/etc/fstab;then awk <$ROOT/etc/fstab >$ROOT/etc/fstab2 '{ if ($2 == "/") $1="/dev/root"; }{ print; }' mv -f $ROOT/etc/fstab2 $ROOT/etc/fstab fi +echo 'none /selinux selinuxfs defaults 0 0' >>$ROOT/etc/fstab cp -a /dev/{null,urandom,random} `awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' <$ROOT/etc/fstab` $ROOT/dev/ touch $ROOT/{etc/mtab,var/log/lastlog} mount -tsysfs sysfs $ROOT/sys @@ -69,8 +77,10 @@ while read -r key val;do EOH # Workaround coreutils: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199840 -mkdir -p $ROOT/bin +mkdir -p $ROOT/{bin,etc/rpm} cp -p /bin/{cat,rm} $ROOT/bin/ +cp -p /etc/rpm/platform $ROOT/etc/rpm/ +cp -p /etc/rpm/macros $ROOT/etc/rpm/ || echo May be missing # Prevent: # matchpathcon(/var/log/lastlog) failed: No such file or directory @@ -85,7 +95,7 @@ rm -rf $DOWNLOAD trap 'rm -rf $DOWNLOAD $KEY' EXIT mkdir $DOWNLOAD cd $DOWNLOAD -wget `set +x;while read -r line;do pkg $line;done <$repo done -chroot $ROOT mount /proc -# Prevent: socket.error: (2, 'No such file or directory') -patch $ROOT/usr/lib/python2.4/site-packages/yum/logginglevels.py <