Hi,
currently the Xfce spin is overweight, at least for x86_64. It's 726M,
that is 30M more than i686, but this seems normal. That means that we
need to find a way to save 26M.
First thing that comes to my mind are the gnome packages we ship:
# rpm -qa --qf %{NAME}-%{VERSION}-%{VERSION}\\n| grep gnome | sort
desktop-backgrounds-gnome-18.0.0-18.0.0
gnome-bluetooth-libs-3.6.0-3.6.0
gnome-desktop3-3.6.0.1-3.6.0.1
gnome-icon-theme-3.6.0-3.6.0
gnome-icon-theme-legacy-3.6.0-3.6.0
gnome-icon-theme-symbolic-3.6.0-3.6.0
gnome-keyring-3.6.0-3.6.0
gnome-python2-2.28.1-2.28.1
gnome-python2-bonobo-2.28.1-2.28.1
gnome-python2-canvas-2.28.1-2.28.1
gnome-python2-desktop-2.32.0-2.32.0
gnome-python2-gconf-2.28.1-2.28.1
gnome-python2-gnome-2.28.1-2.28.1
gnome-python2-gnomekeyring-2.32.0-2.32.0
gnome-python2-gnomevfs-2.28.1-2.28.1
gnome-session-3.6.0-3.6.0
gnome-themes-2.32.0-2.32.0
gnome-themes-standard-3.6.0.2-3.6.0.2
gnome-vfs2-2.24.4-2.24.4
gnome-video-effects-0.4.0-0.4.0
imsettings-gnome-1.3.1-1.3.1
libgnome-2.32.1-2.32.1
libgnomecanvas-2.30.3-2.30.3
libgnomekbd-3.6.0-3.6.0
libgnome-keyring-3.6.0-3.6.0
libgnomeui-2.24.5-2.24.5
libopenraw-gnome-0.0.8-0.0.8
polkit-gnome-0.105-0.105
spherical-cow-backgrounds-gnome-17.92.0-17.92.0
Next I investigated their dependencies. First is the package name and
then what pulls it in. Dependencies are marked with -> while a colon
indicates a new package or dependency chain:
* desktop-backgrounds-gnome: system-backgrounds-gnome (virtual
provides of spherical-cow-backgrounds-gnome) -> gnome-desktop3
-> cheese
* gnome-bluetooth-libs: nm-connection-editor -> anaconda and
NetworkManager
* gnome-desktop3: cheese (it only requires libgnome-desktop3)
* gnome-icon-theme: system-config-printer, gnome-themes-standard
-> gnome-desktop3 -> cheese, nm-connection-editor,
network-manager-applet, gnome-themes
* gnome-icon-theme-legacy: libxfcegui4, ibus-gtk2
* gnome-icon-theme-symbolic: anaconda-18.8-2.fc18.i686
* gnome-keyring
* gnome-python2: gnome-python2-*
* gnome-python2-bonobo: blueman -> dbus-bluez-pin-helper (virtual
provides) -> bluez
* gnome-python2-canvas: gnome-python2-bonobo -> blueman,
system-config-date -> firstboot, gnome-python2-gnome ->
gnome-python2-desktop -> gnome-python2-gnomekeyring ->
system-config-printer
* gnome-python2-desktop: ... (see above) -> system-config-printer
* gnome-python2-gconf: blueman
* gnome-python2-gnome: blueman
* gnome-python2-gnomekeyring: system-config-printer
* gnome-python2-gnomevfs: gnome-python2-gnome -> blueman
* gnome-session: blueman (update without this dep is pending)
* gnome-themes: fedora-icon-theme
* gnome-themes-standard: gnome-desktop3 -> cheese
* gnome-vfs2: gnome-python2-gnomevfs -> blueman
* gnome-video-effects: cheese
* imsettings-gnome: ibus
* libgnome: gnome-python2-bonobo, gnome-python2-gnome, libgnomeui,
libbonoboui -> blueman, bluez
* libgnomecanvas: gnome-python2-canvas (see above)
* libgnomekbd: ibus, anaconda
* libgnome-keyring: gnome-python2-gnomekeyring ->
system-config-printer
* libgnomeui: gnome-python2-gnome -> blueman
* libopenraw-gnome: ristretto and tumbler
* polkit-gnome: we use this one
* spherical-cow-backgrounds-gnome: gnome-desktop3 -> cheese
Observations:
* As for the libraries, there is nothing we can do. They are not
big either.
* Same goes for the gnome-python2-* packages. Most of them are
required by blueman or by system-config-* stuff. blueman adds
~23M (installed size, not iso size), but compared to
gnome-bluetooth and it's dependencies, it is still good (~130M!)
* gnome-desktop3 is big and has a lot of deps (themes!), while we
only need the libgnome-desktop-3 for cheese. That's why I filed
https://bugzilla.redhat.com/show_bug.cgi?id=693545 but I don't
think it will be fixed, at least not in time for F18.
* libxfcegui4 depdends on gnome-icon-theme-legacy. This is a
workaround to prevent missing icons (#647734 and #650504). The
legacy package depends on gnome-icon-theme and only provides
symlinks from the old icon names to new
freedesktop.org names.
Unfortunately Xfce still hardcodes a lot of old names, even in
4.10. We need to work with the Xfce developers to fix this for
Xfce 4.12 and then we can remove this ugly dependency. It's
definitely too late to do this for F18 now - unless somebody has
time to look into this.
* We only have gnome-themes in the spin because it is a dependency
of fedora-icon-theme. And this is weird: The Fedora theme
inherits the 'Mist', which is part of gnome-themes. We could
make two separate packages mist-icon-theme and crux-icon-theme,
but I wonder if fedora-icon-theme should inherit 'Mist' in first
place. AFAIK GNOME now now uses gnome-icon-theme.
Next I looked how much space we could save if we remove packages. I
tested this with 'yum remove --remove-leaves foo' on the live system, so
again, this is installed size, not iso size:
78M cheese (gnome-desktop3 and wallpapers, gstreamer1)
61M firefox (xulrunner)
45M midori and liferea (webkitgtk)
33M claws-mail and plugins
33M pidgin
33M gnumeric
32M abiword
23M blueman
14M claws-mail-plugins-bogofilter (bogofilter, gsl, atlas)
14M abrt-desktop
12M geany
8.3M xfce4-icon-theme
7.8M pavucontrol
6.3M seahorse
6.3M transmission
5.3M xfburn
5.1M orage
4M midori
4.1M system-config-printer
3.5M remmina
2.7M lifearea
2.5M xfce4-screenshooter
2.2M parole
1.6M gnome-session (will be gone when the blueman update is stable)
1.5M asunder
1.5M xarchiver
1.4M xfce4-clipman-plugin
1.3M iok
1.1M ristretto
955k pragha
690k galcultor
529K xfce4-dict + -plugin
518k xfce4-notes-plugin
466k xfce4-mixer (we would need to package the panel plugin separate and
make it launch pavucontrol)
396k epdfview
226k setroubleshoot
187k catfish
Conclusion:
* Xfce components are small, it does not make sense to remove any
of them. The only exception is xfce4-icon-theme.
* The killer is cheese. It's not only the the gnome-desktop3
problem I explained earlier, but also that it uses gstreamer
1.0. This means we would install two complete gstreamer stacks
or we would have to build xfce4-mixer, pragha and parole and
with gstreamer 1.0, too. Not sure if this is already possible.
* Removing midori or lifearea doesn't save much space, but
removing both of them makes a huge difference because we don't
need webkitgtk.
Suggestions:
1. Drop xfce4-icon-theme, it's broken anyway. I suggest to mark it
as "optional" in comps so it no longer gets installed by default
(and on the spin).
2. Drop claws-mail-plugins-bogofilter, people will hardly notice
it.
3. Drop cheese, at least if we cannot get gnome-desktop3 split up.
xfce4-icon-theme and claws-mail-plugins-bogofilter will not help
us much, but cheese alone could do the trick.
4. Get rid of one browser, either firefox or midori. midori only
makes sense if we also remove lifearea.
Additional packages:
There are two more packages I'd like to see in the spin.
1. For some reason, net-tools doesn't get installed, so there is no
ifconfig. It's only 294k.
2. I's like to see the new mousepad version in the spin, but
unfortunately it adds another 4.1 through it's dependency to
gtksourceview2. leafpad on the other hand is only 322k.
I suggest to first discuss this a little here on this list and once we
have agreed on something, we'll move forward with the bug at
https://bugzilla.redhat.com/show_bug.cgi?id=853590
Best regards,
Christoph