Bug 272871

Summary: xorg-x11-server size
Product: [openSUSE] openSUSE 10.3 Reporter: Dirk Mueller <dmueller>
Component: X.OrgAssignee: Stefan Dirsch <sndirsch>
Status: RESOLVED FIXED QA Contact: Stefan Dirsch <sndirsch>
Severity: Normal    
Priority: P2 - High CC: aj, eich, lars.vogdt, ro
Version: Alpha 3plus   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 273170    
Attachments: file sizes xorg-x11-server
dependency graph

Description Dirk Mueller 2007-05-09 18:05:36 UTC
xorg-x11 is quite big, which is a problem for one cd installations. can the xephyr, xnest, xvfb and the other uninteresting stuff either be stripped in separate packages or a xorg-x11-extra?
Comment 1 Stefan Dirsch 2007-05-09 18:26:30 UTC
Xdmx, Xephyr, Xnest, Xprt, Xvfb are part of xorg-x11-server. I could create subpackages for these - to make things more complicated for users, who want to use these kind of Xservers. Splitting out Xprt is a good idea, because nobody wants to maintain it. ;-) This would save us about 17 MB on the harddisk and about 6 MB on the media.

Harddistk: 26 MB --> 10 MB
Media: 9 MB --> 3 MB
Comment 2 Egbert Eich 2007-05-09 20:02:29 UTC
Please let us drop Xprt. I don't really want to split off the other servers.
Comment 3 Stefan Dirsch 2007-05-09 20:14:10 UTC
(In reply to comment #2)
> Please let us drop Xprt. 
No objections. :-)

> I don't really want to split off the other servers.
Just to make sure. Subpackages does not mean, that these are built seperately. 

Comment 4 Egbert Eich 2007-05-10 08:18:51 UTC
> Just to make sure. Subpackages does not mean, that these are built seperately. 
> 

Stefan, I do realize that. 
I've just looked at the sizes of these binaries on my system. I'm surprised that some servers Xvfb, Xephyr are 3Mb in size, while Xvnc, Xgl, Xdmx and even Xorg (!!) are just about 1.5 Mb. I will look at Xvfb and Xephyr to see why they are so big. If they can be cut in half and with Xprt gone (which is another 3Mb) we'd be down to ~6*1,5 Mb = 9Mb for the binaries. 
Presently all files in the package are around 25Mb. Given that we get rid of Xprt and reduce the size of the other servers, we could save 6Mb. Would that help?
Comment 5 Stefan Dirsch 2007-05-10 08:28:40 UTC
# rpm -qlv xorg-x11-server|grep /usr/bin/X
-rwxr-xr-x    1 root    root          1844423 Mai  3 10:20 /usr/bin/Xdmx
-rwxr-xr-x    1 root    root          4334195 Mai  3 10:20 /usr/bin/Xephyr
-rwxr-xr-x    1 root    root          3933510 Mai  3 10:20 /usr/bin/Xnest
-rws--x--x    1 root    root          1970048 Mai  3 10:20 /usr/bin/Xorg
-rwxr-xr-x    1 root    root          4369973 Mai  3 10:20 /usr/bin/Xprt
-rwxr-xr-x    1 root    root          4247922 Mai  3 10:20 /usr/bin/Xvfb

#  rpm -qlv xgl|grep /usr/bin/X
-rwxr-xr-x    1 root    root          1834680 Mai  3 11:11 /usr/bin/Xgl

# rpm -qlv xorg-x11-Xvnc|grep /usr/bin/X
-rwxr-xr-x    1 root    root          4543203 Mai  4 01:44 /usr/bin/Xvnc

Not sure why Xdmx and Xgl are pretty small. But the reason for Xephyr, Xnest, Xprt, Xvfb being so big might be related to the extensions, that are built in
instead of being loaded.
Comment 6 Dirk Mueller 2007-05-10 10:41:32 UTC
Created attachment 138933 [details]
file sizes xorg-x11-server
Comment 7 Dirk Mueller 2007-05-10 10:42:30 UTC
Created attachment 138934 [details]
dependency graph
Comment 8 Dirk Mueller 2007-05-10 10:43:52 UTC
saving 6MB would already be a 25% reduction. but splitting out Xephyr, Xnest and Xvfb would save save more than that. 

sorry, I had pretty pictures, just forgot to attach them. 

there is another lowhanging fruit in xorg-x11-libX11, will create a separate report about it. 
Comment 9 Matthias Hopf 2007-05-10 13:58:33 UTC
(In reply to comment #5)
> Not sure why Xdmx and Xgl are pretty small. But the reason for Xephyr, Xnest,

Both are meta-servers, which don't actually drive hardware. Xgl loads the xglx module dynamically, which contains most of the code.

Comment 10 Stefan Dirsch 2007-05-15 07:44:44 UTC
I propose to drop Xprt and move Xdmx, Xephyr, Xnest and Xvfb to a new subpackage called xorg-x11-server-extra. We'll see during alpha/beta test if we need to move one or more of them back to main package. Of course during an update the new subpackage will be installed automatically, so the user won't miss his favorite Xservers. Hope this sounds reasonable to everyone.
Comment 11 Matthias Hopf 2007-05-15 09:34:25 UTC
Note that some packages need to be adapted then - at least those that need an Xvfb for building.

This could be fixed automatically by dependencies, if you would split out Xorg(!) into - say - xorg-x11-server-base, and have xorg-x11-server depend on -base. Then only the installation pattern would have to be changed.

Just a thought.
Comment 12 Stefan Dirsch 2007-05-15 14:25:03 UTC
You want to rename the main package? I never did this when splitting a package. I'm not sure if this is a good idea.
Comment 13 Egbert Eich 2007-05-16 06:30:00 UTC
Whatever we do we need to make sure that packages who depend on Xvfb but specify xorg-x11-server as their dependency would not break.
I'm also not sure if Xvfb is only needed at build time. Such a dependency may also exist at run time. Therefore we may end up putting Xvfb back into the basic server package. 
Comment 14 Andreas Jaeger 2007-05-16 06:46:15 UTC
We can add a new package as proposed in #10 and change dependencies of packages that need it.  It shouldn't be many.  IMO let's go with #10.  Rudi, any comments from your side?
Comment 15 Ruediger Oertel 2007-05-16 10:16:00 UTC
I don't see the need to have extra hacks just for splitting out Xvfb

we have been using Xvfb in it's own package on sles10 as well and
never had major problems with that.

in 10.1:

- OpenOffice_org (pmladek@novell.com)
- installation-images (snwint@novell.com)
- lsb-test-vsw4 (sndirsch@novell.com)
- perl-PDL (anicka@novell.com)
- perl-Qt (anicka@novell.com)
- perl-Tk (anicka@novell.com)
- perl-Wx (pth@novell.com)
- swi-prolog (sndirsch@novell.com)
- testkhtml (kde-maintainers@suse.de)
- xmltv_prereq (ro@novell.com)

all of these (plus perl-Gtk2 / except the not existing lsb-test-vsw4)
are still using "xorg-x11-Xfvb" as BuildRequires in STABLE.

Comment 16 Stefan Dirsch 2007-05-16 10:34:32 UTC
That's correct. Xnest, Xvfb, Xprt have been subpackages from SLES8 up to SLES10.

# pdb query --release 10.1 --filter "*xorg-x11*"
xorg-x11-Xnest       
xorg-x11-Xprt        
xorg-x11-Xvfb        

We want to drop Xprt. Xephyr is new since openSUSE 10.2. Xdmx ist not knnown/used by many customers. So splitting them off again shouldn't
hurt/sursprise any customer.
Comment 17 Stefan Dirsch 2007-05-23 00:29:13 UTC
-------------------------------------------------------------------
Tue May 22 18:22:44 CEST 2007 - sndirsch@suse.de

- disabled build of Xprt
- moved Xdmx, Xephyr, Xnest and Xvfb to new subpackage 
  xorg-x11-server-extra