Gentoo: How to handle “xfce extras”?

We are cleaning up the XFCE ebuilds via a new eclass. The current eclasses do not make maintenance any easier, like they should. Some other things on the TODO list include:

  • Remove xfce-4.4 from the tree. 4.6.1 has long since been stable. Caveats: We promised mips that they could have a ~month to keyword 4.6.1. Gentoo Prefix can’t easily use 4.6.1 due to the xorg-server dependency.
  • Rename plugins to match what upstream calls them. For example, what Gentoo calls xfce-extra/xfce4-cpu-freq, upstream calls xfce4-cpufreq-plugin This is true of all plugins.
  • Remove the meta extras package, xfce-base/xfce4-extras.

The last bullet point is where I would like to gain input on how to provide the best user experience for xfce users on Gentoo. We are contemplating on removing the meta package because: it is tricky to add new plugins to it (requires more arch team work via rev bumps). Renaming plugins will require more work because of the meta package. And finally, what is the point of this meta package (some would ask) – outdated, etc.

So some possible options:

  1. Remove the meta package completely and let the user emerge what they want. We are leaning towards this one.
  2. Provide an USE flag for xfce-base/xfce4 to emerge all these extras, since it is a meta package anyway. This allows arch teams to mask the use flag if they don’t want to deal with all the plugins. Not a good option though, in my opinion.
  3. Revbump the meta package everytime there is a new plugin added to the tree.
  4. Other option that I haven’t thought of?

So, what is it? What would provide the best XFCE experience on Gentoo?

Leave a comment ?


  1. (1) seems like the best option. Adding USE flags to xfce-base/xfce4 is, strictly speaking, not necessary. It could be cluttering up the ebuild. And burdens both the ebuild developers and the documentation team (me!) with keeping track of what’s in what version, and what it does.

    Please DO file a bug with the GDP when you start doing the package renames/punts, as we do list quite a few in the Xfce guide, and possibly a few other places. We want to ensure that we keep our suggested packages up-to-date.

  2. As a user, I would not like to have to emerge; xfdesktop, thunar, xfwm, xfterm, etc all by hand. As far as the extras go, not having a meta package is fine, it’s pretty easy to build a list of them if they are all in xfce-extras/ anyways. I think that puts me in the group in favor of option 1.

    Thanks for all the hard work.

    • oh yea, definitely keeping the base meta package. That would be an un-acceptable inconvenience to users. Thanks for the input.

  3. i think revbumping is not really necessary.

    plugins to install could be specified by use flags for the meta package, and portage can reinstall packages with changed/added use flags, right? so no revbumping there, just adding new use flag for each new plugin, and your ${PACKAGE MANAGER} should notice ­čśë

  4. James Le Cuirot

    I’m all for option 1.

  5. Have you tought about using sets ?

  6. I just noticed today that there were a host of new xfce plugins over the past day or so.

    Option 1 sounds reasonable, but I’ve found its a bit awkward (although obviously not impossible) to find all of the plugins (possibly in part due to renaming), but I’ve found them by ‘eix xfce4 | grep plugin’ and have been trying things out (some have required unmasking though)

    If the ultimate aim is to make the user experience for xfce users on Gentoo then in a sense option 1 would do that since Gentoo is about choice and users (generally) understand this (if not at first then certainly after a while using and working with Gentoo).

    However, I find option 3 appealing if there were USE flags set for each plugin as it would mean easier management of the plugin selection as a whole (from a users perspective obviously!). It also means that /var/lib/portage/world doesn’t get so cluttered (not a problem, but I try to keep a minimal set of packages in world) and could from a user perspective be easily managed by using the appropriate USE flags in /etc/portage/package.use. I do however appreciate that this would require more work by the devs/maintainers.

    Just my tuppence, thanks for all the hard work, very much appreciated.

    • Our goal is to get EVERYTHING from in the tree. A subsidiary goal is to rename them to match upstream, this is foo-plugin instead of just foo.

      %% eix –only-names xfce4-*-plugin

  7. In the spirit of better organization; how about moving orage, Terminal, midori, mousepad into xfce-extra?
    That way all the xfce4 apps from upstream will all be in one place

  8. Option 1 is the best,

    but plz note for new gentoo users update the xfce configuration guide when done so that it gives (minimal) working xfce desktop

  9. So, what do I have to do? emerge –depclean wants to remove some of the stuff I use just because nohting depends on them like for example: terminal, mousepad, orage, xfprint.
    Should I add them to world? or is there an ebuild which depends on them?

    I understand option 1 is easier for developers and option 3 is so for users. I really don’t mind which is the final result, I want to know what to do now, in the meantime.

    Thanks for the hard work.

  10. thanks again for all the hard work and updates to Gentoo Xfce Configuration Guide!
    — Grateful in 2010

Leave a Reply