On Sun, Oct 7, 2012 at 3:30 AM, Christoph Wickert <christoph.wickert@gmail.com> wrote:
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

_______________________________________________
xfce mailing list
xfce@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/xfce


The following packages sould go IMHO.

 78M cheese 
 61M firefox (xulrunner)
 14M claws-mail-plugins-bogofilter (bogofilter, gsl, atlas)
6.3M transmission
1.3M iok

Midori should fulfill the browser need on a livecd, after installation people can install firefox or chrome, if they want another browser.
cheese is just to big for a livecd, for a a webcam app, if people do an installation, they can add it if they want to.
At bittorrent client is not very usefull on live cd :)
An onscreen keyboard is not used very often .

Tim