Bug 8455 - lots of X11 stuff bloating a minimal (non-graphic) server install due to rpm dependencies
Summary: lots of X11 stuff bloating a minimal (non-graphic) server install due to rpm ...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Release (media or process) (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard: 3beta1
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-20 18:48 CET by Xavier Matz
Modified: 2014-01-07 11:43 CET (History)
7 users (show)

See Also:
Source RPM: plymouth, desktop-common-data
CVE:
Status comment:


Attachments

Description Xavier Matz 2012-12-20 18:48:58 CET
Description of problem:
I tried to manually (urpmi) install a minimal non-graphic server image
urpmi adds lots of dependencies that are not required for a non-graphic minimal server install but only for an graphical desktop system. Consequently the image size is bloated compared to that on Mageia 2. 
Cause of the Problem and
Version-Release number of selected component (if applicable):
dracut >= 017-9 is needed by kernel-server-3.7.1-1.mga3-1-1.mga3.x86_64
plymouth is needed by dracut-023-11.mga3.x86_64
desktop-common-data is needed by plymouth-0.8.6.1-3.mga3.x86_64
and from there, lots of X11 dependencies are required

How reproducible:
every time I try it

Steps to Reproduce:
1. set up urpmi to install into a mounted directory, e.g. $TARGETDIR
urpmi.addmedia --urpmi-root $TARGETDIR --distrib ftp://ftp.linuxcabal.org/pub/mirrors/Mageia/distrib/cauldron/x86_64

2. try to install a smal server system there (the package names are those that i used for Mageia 2 images plus lib64nss3 which seems to be required now)
export INSTAL="urpmi --no-suggests --urpmi-root /mnt/inst --root $TARGETDIR"
$INSTAL locales-en lib64zlib1 systemd-sysvinit basesystem rsyslog grub wget drakxtools-curses at openssh-server dhcp-client lvm2 kernel-server lib64nss3

3. wonder about all the X11 packages urpmi wants to install on your non-graphic minimal server install.
claire robinson 2012-12-20 19:09:40 CET

Whiteboard: (none) => 3beta1

Thierry Vignaud 2012-12-21 09:06:26 CET

CC: (none) => mageia, thierry.vignaud
Source RPM: (none) => plymouth, desktop-common-data

Comment 1 Thierry Vignaud 2012-12-21 09:20:57 CET
That's not "lots of X11 dependencies" (a utility (xprop), a couple libs & a couple fonts)

dracut > plymouth > desktop-common-data > xdg-utils > xprop,xset >
lib64x11_6, lib64xt6 > x11-font-daewoo-misc, x11-font-isas-misc,
x11-font-jis-misc

So there're several things we could do:
1) make dracut suggests & not requires plymouth
   (we'd to make sure bcd includes it on cds)
2) make libxt suggests & not requires fonts
   (we'd to make sure bcd includes them on cds)
3) move libxt requires on fonts into task-x11
   (those manually installing X11 packages may have
   this issue but if they don't want task-x11, that's
   their own issue)
4) remove desktop-common-data requires from plymouth

I would be in favor of both #1 and (#3 or #4):
- #1 enables to not have plymouth
- #4 enables to not have x11 packages b/c of plymouth

For #2 & #3:
Those fonts were added by p. zanoni:
http://svn.mandriva.com/viewvc/packages/cooker/libxt/current/SPECS/libxt.spec?revision=603126&view=markup
http://svn.mandriva.com/viewvc/packages/cooker/libxt/current/SPECS/libxt.spec?r1=603125&r2=603126&
http://qa.mandriva.com/show_bug.cgi?id=60967

"Require x11-font-daewoo-misc, x11-font-isas-misc and x11-font-jis-misc

If the fonts required by libxt are not present, xlib can spend a lot of time
looking for them, which makes simple apps like "xmessage" and "xcalc" take
almost 10 seconds to start on systems with a lot of fonts. This case is usually
triggered by Xt apps that call XtSetLanguageProc on UTF-8 systems. Since UTF-8
is the default, require the fonts."


For #4:
The require on desktop-common-data was added by fred crozat:
"Use mandriva.png from desktop-common-data now (Mdv bug #52973)"
http://svn.mandriva.com/viewvc/packages/cooker/plymouth/current/SPECS/plymouth.spec?revision=417963&view=markup

Colin, do plymouth still needs that?

CC: (none) => ennael1

Comment 2 Colin Guthrie 2012-12-21 11:09:33 CET
Ahh crap, I keep meaning to drop the requires from dracut and keep forgetting :s

I'm also not 100% sure that the plymouth stuff really needs the d-c-d png file these days - mageia-theme should contain everything needed I think.
Comment 3 Thierry Vignaud 2012-12-21 13:30:01 CET
OK, I just dropped the requires on desktop-common-data (mga#8455) from plymouth.

I also dropped the requires(pre) in dracut on plymouth which seems useless.
I replaced the requires by the suggests (mdv did the same thing then dropped it).
Comment 4 Malo Deniélou 2013-04-08 22:39:14 CEST
Xavier, could you try again with our latest Beta 4? It should be ok now.

CC: (none) => pierre-malo.denielou

Comment 5 Thierry Vignaud 2014-01-05 19:07:56 CET
Closing (Presumed fixed (at least for Mageia 4)).

Status: NEW => RESOLVED
Resolution: (none) => OLD

Comment 6 Manuel Hiebel 2014-01-05 19:09:56 CET
maybe not (but not related to package listed here)
seen on irc:
   blino >     tmb: our bootloader-config helper used by kernel post scripts is 
               pulling many X11 deps because of Xconfig::resolution which is in 
               drakx-kbd-mouse-x11, I was thinking of splitting this module in 
               a separate drakx-kbd-mouse-x11-text to remove the X11 deps from 
               kernel, do you think it is ok to do that for Mga 4 ?
Comment 7 Thierry Vignaud 2014-01-05 19:21:23 CET
Just check a real install.
If you still see this bug, please reopen
Comment 8 Thierry Vignaud 2014-01-06 17:26:02 CET
I think that split will be needed indeed.

Status: RESOLVED => UNCONFIRMED
Resolution: OLD => (none)
Ever confirmed: 1 => 0

Comment 9 Thierry Vignaud 2014-01-06 17:58:59 CET
Blino's suggestion in comment #6 is nice however we've a bigger issue where libalsa is pulling the X.org stack through:
libalsa > libalsa-plugins > libavcodec > libav1 > libGL > libx*

Without suggests, the require cycle is broken between libalsa & libalsa-plugins.

A solution would be to:

1) drop thee libalsa-plugins suggests from libalsa, relying only on
   rpmsrate:
  5 TYPE"64bit" DRIVER"^snd_" lib64alsa-plugins

2) alter rpmsrate so that alsa-plugins is only pulled if X11 is selected:

  5 !TYPE"64bit" DRIVER"^snd_" libalsa-plugins
  5 TYPE"64bit" DRIVER"^snd_" lib64alsa-plugins

becoming:

  5 CAT_X !TYPE"64bit" DRIVER"^snd_" libalsa-plugins
  5 CAT_X TYPE"64bit" DRIVER"^snd_" lib64alsa-plugins

CC: (none) => mageia, tmb

Comment 10 Thierry Vignaud 2014-01-06 18:07:41 CET
After testing, only the libalsa-plugins suggests is an issue.

Splitting Xconfig::res* is not needed.
It only pulls libdrakx-kbd-mouse-x11 whose only extra requires is drakxtools-backend  which is already required by bootloader-utils anyway.
And this does _NOT_ pull any part of the X.org stack.

Only libalsa > libalsa-plugins is now bloating...
Comment 11 Thierry Vignaud 2014-01-06 19:26:59 CET
Eventually drak3 & drakx-kbd-mouse-x11 do need to be splited.

@Colin: Then another issue is that drakxtools-curses now require polkit which pulls gvfs/gtk/oxygen/ through
polkit > libgio > libgvfs > gvfs* > libgtk > gtk > oxygen ...
Comment 12 Thierry Vignaud 2014-01-06 19:32:19 CET
I would recommend dropping the suggests on libgvfs0 from gio & move it to gtk+
Comment 13 Thierry Vignaud 2014-01-06 21:38:23 CET
Just Fixed

Status: UNCONFIRMED => RESOLVED
Resolution: (none) => FIXED

Comment 14 Olivier Blin 2014-01-07 03:14:28 CET
Right, I was mislead, drakx-kbd-mouse-x11 does not need to be split, we should revert the change.
Comment 15 Thierry Vignaud 2014-01-07 11:41:33 CET
It doesn't hurt.
Comment 16 Thierry Vignaud 2014-01-07 11:43:48 CET
I eventually did that split b/c it did brings one lib through:
drakx-kbd-mouse-x11 > monitor-edid > libx86_1

Not that a big deal though...

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