Things around xscreensaver packaging - a notebook for xscreensaver developers and maintainers
Latest development version
Getting the latest version of the XScreenSaver debian package can be done by cloning from git://git.debian.org/git/collab-maint/xscreensaver.git like this:
git clone git://git.debian.org/git/collab-maint/xscreensaver.git or git clone http://git.debian.org/git/collab-maint/xscreensaver.git
NEWS
The xscreensaver package has now been split into:
- xscreensaver (core backend without hacks)
- xscreensaver-data (standard hacks)
- xscreensaver-data-extra (hacks not installed by default)
Similarly, the xscreensaver-gl package is split into:
- xscreensaver-gl (standard GL hacks)
- xscreensaver-gl-extra (GL hacks not installed by default)
This means that other screensaver infrastructures can depend on xscreensaver-data. They don't need xscreensaver since they have their own backend. The -extra packages are for hacks that we don't see fit included and enabled in a default install, but interested users can install them on their own.
In addition to the hacks, the -data package includes standard .desktop files for each hack. (Same goes for -data-extra, -gl and gl-extra). These are in /usr/share/applications/screensavers.
In the future, we might move hacks beetween -data and -data-extra. Other packages should therefore not depend on individual hacks, but look for all installed .desktop files. (Same goes for -gl vs -gl-extra).
Tip: If you still need to ship a .desktop file for an executable from another package, include the ?TryExec key in the .desktop file.
The hope is that this package split will make it easier for other screensaver infrastructures (kscreensaver, gnome-screensaver, etc) to enjoy the beautiful hacks from xscreensaver, and to avoid any conflicts with the xscreensaver backend. Similarly, we want to please those who prefer xscreensaver to the other backends by shipping a non-crippled xscreensaver backend in its own package.
ToDo
- The split into -data and -data-extra
- Define selection criteria
- dependencies on additional packages
- works out-of-the box with gnome-screensaver
- general bug free and low CPU usage
- beautiful or cool, non-redundant
- Make charts of all hacks wrt CPU usage with different GPUs
- Make a wiki page listing hacks and reason for being in -extra
- Define selection criteria
- Rename "Screensaver" to "XScreensaver", "Screensavers", "Screensaver Hacks", "Screensaver Options" or other in .desktop file for the Gnome Preference menu to not clash with gnome-screensaver entry (for those who have both installed)
or play with OnlyShowIn and NotShowIn etc
- Use the .xml files to generate .desktop files automatically
- rename ant to ants or langton (ant clashes with Java utility)
- or change path search order
- remove build-dep on gdm, but keep gdm-flexiserver support
- make sure we build without gnome-dependencies i.e. XScreenSaver.ad.in
Plan
- [done] release 5.04-3 with the split
[done] make gnome-screensaver and kscreensaver-xsavers depend on xscreensaver-data #469204, #469211
- [filed] have gnome-screensaver drop popsquares
- reenable popsquares in xscreensaver-data
- Try to get the .desktop files automatically generated
Screensaver hacks
New hacks
- New hacks will start in -extra and depending on how works could pass to other package:
- lcdscrub: not tested
- cubicgrid: not tested
- hypnowheel: not tested
bad guys - should stay in xscreensaver-data-extra
braid - blows up with any composition manager (LP #101943) - reconsider when Xorg is bug-free
flurry - makes some cards hang (bug 484112)
web-collage - many people have concerns about the explicit photography freely available on the internet (Note from JoseLuisRivas: since 5.05-1 there is a big note in the description of xscreensaver-data-extra warning about this, maybe could be a good idea to ship this hack in an individual package if too much users complain about it)