# http://cvs.jankratochvil.net/viewcvs/nethome/src/rawhide-bootstrap?rev=HEAD
-RPMS_URL_BASE=http://armstrong.rhts.boston.redhat.com/distros/rawhide-`uname -i`
+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
+RPMS_URL_BASE=http://sunsite.mff.cuni.cz/pub/fedora/development/$uname_i/os
if test $# != 1;then echo >&2 "Syntax: $0 <target-root-directory(DELETED!)>";exit 1;fi
set +x;pkgs="`set -x;wget -q -O - $RPMS_URL_BASE/Fedora/RPMS/ | sed -n 's/^.*<a href="\([^/?][^/]*\)">.*$/\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"
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
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
trap 'rm -rf $DOWNLOAD $KEY' EXIT
mkdir $DOWNLOAD
cd $DOWNLOAD
-wget `set +x;while read -r line;do pkg $line;done <<EOH
+wget `set +x;while read -r line;do if [ -n "$line" ];then pkg $line;fi;done <<EOH
coreutils
rpm
bash
info
zlib
fedora-release
+fedora-release-notes
cracklib-dicts
mingetty
iputils
mcstrans
libcap
kpartx
-fedora-release-notes
+$(if [ $uname_i = ppc ];then echo ppc64-utils;fi)
+$(if [ $uname_i = ppc ];then echo yaboot ;fi)
+perl
+binutils
+hfsutils
+tcl
+nash
EOH
`
mkdir -p $ROOT/var/lock/rpm
mount -n -t proc none $ROOT/proc
mount -n -t selinuxfs none $ROOT/selinux
$RPM --root=$ROOT -i *
-umount $ROOT/proc
-umount $ROOT/selinux
rm -f *
cd
rm -rf $DOWNLOAD
-chroot $ROOT /bin/rpm --rebuilddb
-
# Do not install yum(8) just by 'rpm --root', later --rebuilddb would:
# rpmdb: Program version 4.2 doesn't match environment version
# FIXME: Analyse and bugreport:
gmp
libxml2
elfutils
-binutils
+elfutils-libs
python-elementtree
python-sqlite
python-urlgrabber
yum-metadata-parser
-elfutils-libs
EOH
`"
chroot $ROOT /usr/bin/wget `set +x;for line in $lines;do pkg $line;done`
-chroot $ROOT /bin/rpm -i `set +x;for line in $lines;do basename $(pkg $line);done`
-chroot $ROOT /bin/rm -f `set +x;for line in $lines;do basename $(pkg $line);done`
+$RPM --root=$ROOT -i `set +x;for line in $lines;do for i in $(pkg $line|xargs -n1 basename);do echo $ROOT/$i;done;done`
+chroot $ROOT /bin/rm -f `set +x;for line in $lines;do pkg $line|xargs -n1 basename;done`
+
+# Reported as Bug 206524, occurs on ppc, possibly not a bug:
+rm -f $ROOT/var/lib/rpm/__db.*
+
+chroot $ROOT /bin/rpm --rebuilddb
for repo in $ROOT/etc/yum.repos.d/*.repo;do
mv -f $repo $repo-orig
<$repo-orig >$repo
done
-chroot $ROOT mount /proc
chroot $ROOT /usr/bin/yum -y update
# For: kernel-2.6.9-11.EL.src.rpm
gcc
redhat-rpm-config
diffutils
+gdb
EOH
`
+umount $ROOT/proc
+umount $ROOT/selinux
umount $ROOT/sys
echo OK