Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 191739
Summary: | xorg shouldn't require perl at runtime | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | David Zeuthen <davidz> |
Component: | xorg-x11-server | Assignee: | X/OpenGL Maintenance List <xgl-maint> |
Status: | CLOSED RAWHIDE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | ajax, blizzard, krh, mclasen |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-07-11 17:20:11 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 150224, 191931 |
Description
David Zeuthen
2006-05-15 15:21:00 UTC
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. |