Building Rawhide(f18) for PPC

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
Line 18: Line 18:
  
 
* apply wwoods patch: hack to fix ppc ISO volume labels so yaboot doesn't flip out
 
* apply wwoods patch: hack to fix ppc ISO volume labels so yaboot doesn't flip out
 +
 +
<pre>
 +
(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__
 +
)
 +
</pre>
  
 
* yaboot is not in repo
 
* yaboot is not in repo
 +
 +
<pre>
 +
yum install http://dl.fedoraproject.org/pub/fedora-secondary/releases/17/Fedora/ppc64/os/Packages/y/yaboot-1.3.17-2.fc16.ppc.rpm
 +
</pre>
  
 
* (fixed) libdrm_nouveau.so.1()(64bit) is needed by xorg-x11-drv-nouveau-1:0.0.16-34.20110720gitb806e3f.fc17.ppc64
 
* (fixed) libdrm_nouveau.so.1()(64bit) is needed by xorg-x11-drv-nouveau-1:0.0.16-34.20110720gitb806e3f.fc17.ppc64
Line 29: Line 72:
 
At one time, ppc.koji looked like this:
 
At one time, ppc.koji looked like this:
  
NVR     Built by        Finished descending sort        State
+
<pre>
 +
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-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
 
docbook-style-xsl-1.77.1-2.fc18        karsten        2012-06-07 14:03:13    complete
 +
</pre>
  
 
It would be nice if we could figure out how this happened and prevent it in the future...
 
It would be nice if we could figure out how this happened and prevent it in the future...

Revision as of 20:59, 11 July 2012

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.

  • (informational) yum not installed during mock --init

Probably working as designed but still annoying.

  • loop devices not created during mock --init
  • 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