Description of problem: There is no good reason perl needs to be pulled in as a run-time requirement for the X.org server, but apparently it is $ rpm -q --requires xorg-x11-server-Xorg |grep perl /usr/bin/perl We really would like to avoid this for OLPC Version-Release number of selected component (if applicable): $ rpm -q xorg-x11-server-Xorg xorg-x11-server-Xorg-1.0.99.902-1
The X server internally invokes perl for getconfig.pl for it's built in autoconfiguration written for XFree86 originally by David Dawes. Removing the perl dependency will require rearchitecting the X server, which is something that will probably happen at some point in the near future, but not likely in time for OLPC use. To be honest though, I'd be surprised if you can install Fedora _without_ having perl installed. It is relied upon by a lot of software, so removing all deps on it, IMHO is rather fruitless.
Hi, > The X server internally invokes perl for getconfig.pl for it's built in > autoconfiguration written for XFree86 originally by David Dawes. Removing > the perl dependency will require rearchitecting the X server, which is > something that will probably happen at some point in the near future, but > not likely in time for OLPC use. It has come to my attention that this feature is not used at all in Fedora. Is that correct? Question: /usr/bin/Xorg will still run even if /usr/bin/perl is not available, yes? > To be honest though, I'd be surprised if you can install Fedora _without_ > having perl installed. It is relied upon by a lot of software, so removing > all deps on it, IMHO is rather fruitless. Disagree. If we want Fedora to be successful beyond Fedora Core (and some people do), Fedora needs to be an easy toolkit for derived distributions like e.g. OLPC so I frankly don't give much for your attitude that it's "rather fruitless". The fact remains: Perl, as it's packaged today in Fedora Core, is about 30MB of disk space and it's completely unacceptable that it is pulled in by the X.org package. This needs to be fixed.
Right now we're wasting a huge amount of disk with perl, just because it's a dependency of the X server. I would love to see this dependency broken. After all, we're not installing Fedora, we're installing OLPC so the Fedora assertion is a bit off base. We're OK with forking packages, but the X server is one of the packages I loathe forking. David's question still stands: will X run without a config file and without perl being around?
> will X run without a config file and without perl being around? Investigation shows that the X server will run just fine without perl given it has a config file. In fact many people routinely do 'rpm -e perl' as the first thing when they install. For Fedora, you'll have perl anyways (since Fedora installs a huge boatload of packages) so I don't see how this is breaking anything. Right now, in OLPC, we're down to this # rpm -e perl error: Failed dependencies: /usr/bin/perl is needed by (installed) xorg-x11-font-utils-1.0.2-2.i386 /usr/bin/perl is needed by (installed) xorg-x11-server-Xorg-1.0.99.903-1.i386 and that's what needs fixing so OLPC or other projects building on top of Fedora as derived distros don't need to jump through hoops. Having X.org requiring perl is just bad packaging IMO. I'd like to use this opportunity to once again point to the link in comment 1. (Coincidentally, I was doing 'rpm -e --nodeps perl' and my OLPC system still works like a charm.) Thanks, David
So what's the good word here?
There are 2 things that use perl: - X server via getconfig.pl - X rpm scripts for various packages, for stream processing config and other files inline to massage during upgrades, etc. I beleive ajax or krh commented in IRC that the first problem is resolveable, however I have not investigated it personally. I would assume that they are correct nonetheless. For the rpm scripts, they'll have to be rewritten carefully to use sed and/or awk instead of perl. My original choice of using perl was because perl was used both at build time and runtime by the X server already, and it seemed impossible to install Fedora Core or RHEL even in minimal case scenarios without /something/ using perl in the system. In other words, perl was more or less guaranteed to be available in our primary OS's all the time, and many other things use it already, so it was considered acceptable to write quick working perl solutions instead of uglier solutions without it. Now that we have a good reason for not using perl, these will need conversion. I had hoped to be able to use "sed -i" which would make the changes more painless, but feared that couldn't be done due to OS upgrade promises to RHEL customers and/or Fedora users. I have since investigated this, and GSS engineers tell me that we officially only support RHEL OS upgrades from one release to the next OS release. Therefore, the RHEL 2.1 -> 5 upgrade scenario is not something our scripts need to be concerned with. Nor 3 -> 5. Since I know RHEL4's sed, and I think RHEL3's as well both support the -i option, it shouldn't be too much effort to convert all of the X rpm scripts. Ajax/krh: Any comments to share about getconfig.pl?
If I get the pci-id-based driver loading done, getconfig.pl will be totally superfluous. Even if I don't, I can hardcode the rules it embodies _very_ cheaply.
fixed in 1.1.1-2.fc6.