Building Rawhide(f18) for PPC

From FedoraProject

Revision as of 21:30, 11 July 2012 by Hamzy (Talk | contribs)

Jump to: navigation, search

I have run into the following issues:

  • (informational) you need to be running Fedora 17 to run a rawhide mock shell

Your host OS needs to have an rpm version that supports usermove. Also, your host OS is used when files are mounted.

  • no source repo for rawhide

This is used when downloading source rpms to rebuild when fixing problems. A defect will be written.

cat << __EOF__ >> /etc/yum.conf

[fedora-source]
name=fedora-source
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide-source&arch=ppc64
failovermethod=priority
__EOF__
  • (informational) yum not installed during mock --init

Probably working as designed but still annoying.

  • loop devices not created during mock --init

You have to run the following inside the shell:

MAKEDEV loop
  • apply wwoods patch: hack to fix ppc ISO volume labels so yaboot doesn't flip out
(cd  /usr/lib/python2.7/site-packages/; cat << __EOF__ | patch -p2
commit 04156443a55e1841e86a984c58b5a19531180621
Author: Will Woods <wwoods@redhat.com>
Date:   Wed Nov 16 16:17:58 2011 -0500

    hack to fix ppc ISO volume labels so yaboot doesn't flip out

    blerg. yaboot freaks out if there's any slashes in its config, so we
    can't boot anything with non-ascii characters in the volume name. So we
    need to remove all non-ascii chars, and do it the same way lorax does
    it.

    This is why lorax and pungi shouldn't both be building bootable images.

diff --git a/src/pypungi/__init__.py b/src/pypungi/__init__.py
index d558307..638e534 100644
--- a/src/pypungi/__init__.py
+++ b/src/pypungi/__init__.py
@@ -1120,8 +1120,13 @@ class Pungi(pypungi.PungiBase):
         # NOTE: if this doesn't match what's in the bootloader config, the
         # image won't be bootable!
         extraargs.append('-V')
-        extraargs.append('%s %s %s' % (self.config.get('pungi', 'name'),
-            self.config.get('pungi', 'version'), self.config.get('pungi', 'arch')))
+        cdlabel = '%s %s %s' % (self.config.get('pungi', 'name'),
+                                self.config.get('pungi', 'version'),
+                                self.config.get('pungi', 'arch'))
+        if self.config.get('pungi', 'arch').startswith('ppc'):
+            # special case for PPC, because yaboot is terrible
+            cdlabel = ''.join(ch if ch.isalnum() else '_' for ch in cdlabel)
+        extraargs.append(cdlabel)

         extraargs.extend(['-o', isofile])

__EOF__
)
  • yaboot is not in repo
yum install http://dl.fedoraproject.org/pub/fedora-secondary/releases/17/Fedora/ppc64/os/Packages/y/yaboot-1.3.17-2.fc16.ppc.rpm
  • (fixed) libdrm_nouveau.so.1()(64bit) is needed by xorg-x11-drv-nouveau-1:0.0.16-34.20110720gitb806e3f.fc17.ppc64

I worked on http://fpaste.org/ua34/ . Karsten fixed it in the build simultaneously.

  • docbook-style-xsl-1.77.1-1.fc18 was tagged instead of docbook-style-xsl-1.77.2-1.fc18

At one time, ppc.koji looked like this:

NVR                                     Built by        Finished                State
docbook-style-xsl-1.77.1-1.fc18         karsten         2012-06-22 09:34:30     complete
docbook-style-xsl-1.77.1-2.fc18         karsten         2012-06-07 14:03:13     complete

It would be nice if we could figure out how this happened and prevent it in the future...

  • systemd.spec needs to depend on docbook-style-xsl >= 1.77.1-2

add the following to the spec file: BuildRequires: docbook-style-xsl >= 1.77.1-2

  • (optional/helpful) apply pungi debug output
  • apply hamzy dracut readonly patch: 0051-fix-readonly-prefix.patch
  • add python-udev to builder-rawhide-koji.ks
  • add "installpkg python-pyudev" to runtime-install.tmpl
  • don't delete ldconfig from glibc in runtime-cleanup.tmpl
  • systemd.spec Provides libudev
  • pyanaconda/pyudev.py uses .0 version of libudev library
  • don't delete localdef from glibc-common in runtime-cleanup.tmpl
  • Failed to start Network Manager
  • ifconfig does not exist on install root
  • Dependency failed for Shell on tty2