Bug 191739 - xorg shouldn't require perl at runtime
xorg shouldn't require perl at runtime
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: xorg-x11-server (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: X/OpenGL Maintenance List
:
Depends On:
Blocks: FC6Blocker OLPCTracker
  Show dependency treegraph
 
Reported: 2006-05-15 11:21 EDT by David Zeuthen
Modified: 2013-03-05 22:45 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-07-11 13:20:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description David Zeuthen 2006-05-15 11:21:00 EDT
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
Comment 2 Mike A. Harris 2006-05-16 13:53:48 EDT
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.
Comment 3 David Zeuthen 2006-05-16 14:16:57 EDT
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.
Comment 4 Christopher Blizzard 2006-05-17 15:57:52 EDT
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?
Comment 5 David Zeuthen 2006-05-17 16:13:20 EDT
> 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
Comment 6 Christopher Blizzard 2006-05-18 08:06:23 EDT
So what's the good word here?
Comment 7 Mike A. Harris 2006-05-18 16:33:06 EDT
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?
Comment 8 Adam Jackson 2006-07-08 20:30:04 EDT
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.
Comment 9 Adam Jackson 2006-07-11 13:20:11 EDT
fixed in 1.1.1-2.fc6.

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