Some rough notes describing the process to bootstrap F8T1 for ia64. Prolly useful for anyone else trying to bootstrap.
1. In this release I used thetango and mockbuilder to bootstrap the entire Fedora tree.
There were four critical issues to overcome:
a) Generating the initial set of RPMS in /etc/thetango/built.
This required the setting up of a Debian based environment to get some initial packages built. See Debian note at bottom.
b) Initial perl packages
A lot of the perl-* packages are NOARCH and they can be directly "ported" from the primary arches (TODO: Can all noarch packages be ported over? Why or why not?)
c) mock errors
- "Could not find useradd in chroot, maybe the install failed?"
probably caused by missing/inadequate version of rpmdevtools
- make sure you are using the right version of buildgroups. AFAICT, you must use the version of buildgroups that corresponds to the version of rpmdevtools and mock you are using.
For example, if you are using F6's mock & rpmdevtools you must use F6's buildgroups
d) mock building errors
The big issue is the versions of rpm, redhat-rpm-config, and rpmdevtools.
As we build the OS, new versions of these packages are available and can conflict with the existing packages that are being used to do the mock compose.
I had to run the build in the following order:
First: run through with mockbuilder's rpm-slave. Second: run through with mockbuilder's mock-slave -- eventually errors are generated because of mis-matched rpm, redhat-rpm-config, and rpmdevtools.
At this point I removed the three rpms and prevented them from building.
Third: run through with mockbuilder's mock-slave again.
(TODO: Is it sufficient to just remove rpm, redhat-rpm-config, and rpmdevtools from the repo? Can they be excluded in yum?)
2. Using pungi to build
a) After configuring pungi correctly I hit three errors that required action
- gcc did not build, - glibc did not build, - booty was broken, and - anaconda was broken.
GCC and GLIBC were taken from the F-7 distro. I entered in bugs (which jakub has resolved) and hopefully these will be available from F8T2 on.
booty had to be downversioned to booty-0.85.1 .
I had to modify anaconda with the following patch (warning, cut-and-paste):
Index: anaconda/scripts/upd-instroot diff -u anaconda/scripts/upd-instroot:1.565 anaconda/scripts/upd-instroot:1.566 --- anaconda/scripts/upd-instroot:1.565 Mon Aug 6 14:49:10 2007 +++ anaconda/scripts/upd-instroot Wed Aug 8 11:14:48 2007 @@ -433,6 +433,7 @@ sbin/busybox.anaconda sbin/clock sbin/debugfs +sbin/dosfslabel sbin/e2fsck sbin/e2fsadm sbin/e2label
-------------------------------------------------------------------------------
Debian -- HOW TO BOOTSTRAP!
1. Download debootstrap source rpm, installed sources and manually built using make install.
2. made a debian dir.
3. debootstrap --arch ia64 etch debian http://http.us.debian.org/debian
etch is the release name, it may change.
4.
cp /etc/resolv.conf debian/etc cp /etc/hosts debian//etc
5. chroot debian /usr/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w$' PATH=/bin:/ usr/bin:/sbin:/usr/sbin /bin/bash --login
6. In the debian root, apt-get install <package_name> downloads and installs a package.
7. In the debian root, apt-get -d install <package_name> downloads and doesn't install a package.
The download is in /var/cache/apt/archives.
8. apt-get install alien rpm
9. Use alien to create an rpm from the deb package
10. Useful links http://www.underhanded.org/papers/debian-conversion/remotedeb.html#debootstr... http://www.gelato.unsw.edu.au/IA64wiki/debootstrap
buildsys@lists.fedoraproject.org