Red Hat Bugzilla – Bug 559644
RFE: remove liveinst dependencies on perl
Last modified: 2014-09-30 19:38:36 EDT
Anaconda uses two perl based script utilities within the syslinux package. For live CDs this pulls in about 40Mb of perl dependencies which is quite large on an average livecd.
AFAICT The first is a tiny 34 line script called md5pass which I think can be moved to its python equivalent.
The second is isohybrid which AFAICT isn't used as part of a liveinst install to disk.
I'm not sure the best way to handle it but I'm not sure if liveinst can be split out to a subpackage so that the perl utils in syslinux can be moved to a perl sub package and hence remove the dependency on perl
I don't see md5pass being used anywhere in anaconda, so I don't see why it might be getting included in the livecd image. isohybrid is required to build ISO images that can be bootable both from CDs and USB. But again, that's used as part of the image building process and therefore should not be included in the live CD image itself.
Just a simple grep on the perl tools in syslinux gave me
[perobinson@neo anaconda-13.21]$ grep -R md5pass *
booty/x86.py: args.append("--md5pass=%s" %(self.password))
kickstart.py: if self.md5pass:
But the problem is because anaconda depends on syslinux, syslinux pulls in perl. The anaconda stuff is one large package so if you only need the liveinst component for a live CD you still need all of anaconda and hence the dependency.
Not sure why this was changed to the LiveCD component as it is about liveinst which is part of anaconda
Of course, those references to "md5pass" are an internal variable, and don't have anything to do with md5pass the program.
Ales - can you figure out what to do with this bug?
'md5pass' in the anaconda code is simply a string, in this case used in kickstart to supply an encrypted bootloader password.
isohybrid is needed when anaconda builds images but, as Chris mentioned, this actually is not needed for the LiveCD install.
I would guess that when LiveCD is built you pull in the anaconda rpm and all its dependencies with it, even those that are needed solely for image building (hard to blame you). The real problem here is that the anaconda installer and the image building scripts are currently inseparable in one package. So for the time
being we either need to live with the extra 40 megabytes or force omission of the syslinux dependency during LiveCD compose.
Then there's the Lorax project going on:
Lorax is a rewrite of the image building process into a separate package. Once Anaconda adopts this we will get rid of the syslinux dependency.
Let me know if you have further questions, otherwise I will close this as can't fix.
> being we either need to live with the extra 40 megabytes or force omission of
> the syslinux dependency during LiveCD compose.
That is unfortunately correct. Releases prior to F-12 suppressed the perl requirement in the syslinux package. The other alternative would be to re-write the isohybrid script in something other than perl. I've not got the ability to do that but it seems its not that big.
> Then there's the Lorax project going on:
> Lorax is a rewrite of the image building process into a separate package. Once
> Anaconda adopts this we will get rid of the syslinux dependency.
Is there a timeframe for this replacing the image building that's currently in anaconda
> Let me know if you have further questions, otherwise I will close this as can't
Sorry about my delay in response.
(In reply to comment #6)
> Is there a timeframe for this replacing the image building that's currently in
No, unfortunately not.