I'll respond to everyone in one note:
From: Will Woods wwoods@redhat.com
Heh, HTML email breaks inline python super-hard. You might want to try attaching it as a file - preferably created with git format-patch, like: git format-patch -1 [commitid] But a link to fpaste would work in a pinch (just *thinking* about trying to do attachments with Notes makes my brain throb a little..)
Ugh, sorry. That was imported into the note from a git format-patch. Next time I'll attach it to the note.
Can you give us a general idea of what this patch is trying to do? AFAICT it's updating nvram to make the OF 'boot-device' variable point to the device we're installing on. Is that right?
Yes, the user could have set up the list of bootable items before hand. This just reads the list, figures out what drive to boot to, prepends that drive to the list, and then updates SMS.
For example the list could be the DVD, hard drive, and ethernet.
[anaconda root@(none) /]# nvram --print-config=boot-device /vdevice/v-scsi@30000005/disk@8100000000000000 /vdevice/v-scsi@30000002/disk@8100000000000000 /vdevice/l-lan@30000003:speed=auto,duplex=auto,000.000.000.000,,000.000.000.000,000.000.000.000,5,5,000.000.000.000,512
Why not just make updatePowerPCBootList() a method of IPSeriesYaboot?
I'll do that. It does clean the patch up a bit.
So, it needs a list of PREP locations? I feel like that information might already available inside the IPSeriesYaboot class - like from the stage1_devices property. (Another reason to move this method there.)
Yes.
From: David Cantrell dcantrell@redhat.com
And this depends on 'which' in the installer environment, which is entirely unnecessary. If bc is required for a successful ofpathname run, we just need to ensure it's in the installer environment. ofpathname can report bc not existing (it should if it doesn't).
ofpathname does report bc missing to stderr
[anaconda root@(none) /]# ofpathname /dev/sda /usr/sbin/ofpathname: line 120: bc: command not found /usr/sbin/ofpathname: line 123: bc: command not found /usr/sbin/ofpathname: line 125: bc: command not found /usr/sbin/ofpathname: line 120: bc: command not found /usr/sbin/ofpathname: line 123: bc: command not found /usr/sbin/ofpathname: line 125: bc: command not found /usr/sbin/ofpathname: line 162: bc: command not found /vdevice/v-scsi@30000002/disk@000000000000
So it appears to work, but the numbers that it calculates are wrong and the execWithCapture doesn't capture stderr. Which is why I need the presence of which. Does this mean that ofpathname should be changed to fail if bc does not exist?
From: David Lehman dlehman@redhat.com
David is correct, but as a point of information we also have iutil.find_program_in_path("bc") which will return either the full path to the executable or None if it isn't present.
Thanks!
Normally we only alter the PReP partition that we're using to boot from, which is BootLoader.stage1_device.
I can rework the patch to just use stage1_device.path.
anaconda-devel@lists.fedoraproject.org