Bug 559644 - RFE: remove liveinst dependencies on perl
RFE: remove liveinst dependencies on perl
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: anaconda (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Ales Kozumplik
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 544136 SOAS-3
  Show dependency treegraph
 
Reported: 2010-01-28 11:33 EST by Peter Robinson
Modified: 2014-09-30 19:38 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-03-01 03:02:14 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Peter Robinson 2010-01-28 11:33:17 EST
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
Comment 1 Chris Lumens 2010-01-28 12:04:31 EST
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.
Comment 2 Peter Robinson 2010-01-28 12:39:52 EST
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:
kickstart.py:                anaconda.id.bootloader.setPassword(self.md5pass)
[perobinson@neo anaconda-13.21]$ 

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.
Comment 3 Peter Robinson 2010-02-03 05:14:29 EST
Not sure why this was changed to the LiveCD component as it is about liveinst which is part of anaconda
Comment 4 Chris Lumens 2010-02-04 10:19:22 EST
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?
Comment 5 Ales Kozumplik 2010-02-16 08:36:19 EST
Hi Peter,

'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:
https://fedorahosted.org/lorax/
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.

Ales
Comment 6 Peter Robinson 2010-03-08 15:34:17 EST
> 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:
> https://fedorahosted.org/lorax/
> 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
> fix.

Sorry about my delay in response.
Comment 7 Ales Kozumplik 2010-03-09 02:49:22 EST
(In reply to comment #6)
> Is there a timeframe for this replacing the image building that's currently in
> anaconda
> 

No, unfortunately not.

Ales

Note You need to log in before you can comment on or make changes to this bug.