[Mageia-dev] Packaging help for GDM+GNOME Mageia background (long)

Olav Vitters olav at vitters.nl
Sun Feb 19 13:13:44 CET 2012


I'm looking to theme GDM+GNOME with:
1: changing the default background
2: putting a Mageia logo above the GDM userlist

https://bugs.mageia.org/show_bug.cgi?id=4419

This can be done by (1 and 2 match up with above):
1a. Making an XML file for the default Mageia background and placing that
    into /usr/share/gnome-background-properties
    XML such as:
    http://git.gnome.org/browse/gnome-backgrounds/tree/backgrounds/gnome-backgrounds.xml.in.in
    Note: this allows translation! Just going to call it Mageia and not
    setup translation (due to simple reason that I do not know how).
1b. Creating an gschema.override file to change the default background.
    gschema.override such as:
    https://build.opensuse.org/package/view_file?file=glib2-branding.gschema.override.in&package=glib2-branding-openSUSE&project=openSUSE%3AFactory&rev=e64e8406fad55bc7ec175dfcbe3d5c47
    This needs to be compiled by glib-compile-schemas. I've ensured the
    existing filetrigger also works for '.override' files as of
    glib2.0-2.31.16-2.mga2
1c. Patching gnome-control-center to assume the default background
    within /usr/share/gnome-background-properties is specified in
    "mageia.xml" if it exists, else, "adwaita.xml".
    Note: this is a hack, but unfortunately the default is not in
    gsettings, so cannot nicely override.


2a. Creating an gschema.override file to the Mageia logo (as SVG):
    http://pkgs.fedoraproject.org/gitweb/?p=gdm.git;a=blob;f=org.gnome.login-screen.gschema.override;hb=HEAD


Now, IMO, this should be done in the Mageia theme package. This so:
- If you don't want these backgrounds, you can just remove them
- If Mageia wants different backgrounds for Live cd / DVD / special
  release then it is just a matter of packaging them
- Don't have to put a Require: on some Mageia theme in
  gdm/gnome-control-center, etc.

However, due to 1c, the background within the theme MUST have a file
called /usr/share/gnome-background-properties/mageia.xml. So the themes
will conflict with eachother. At the moment, it seems there only is one
theme package called mageia-theme-Default. I'm guessing it is ok if the
themes conflict, otherwise you do not know which one should give the
background.


To recap, I need to put the following files in some package:
- /usr/share/gnome-background-properties/mageia.xml
  => mageia-theme-Default ? who owns the directory then?
- http://www.mageia.org/g/media/logo/mageia-2011.svg
  => mageia-theme-Default or desktop-common-data ?
- /usr/share/glib-2.0/schemas/mageia-theme-Default.override
  => mageia-theme-Default and depend on glib2.0-common?
- (and patch gnome-control-center)
  => not sure if I can :P

Now, I know which files I need to package, but I have trouble with in
which package to put them without creating incorrect Requires.

If I package /usr/share/gnome-background-properties/mageia.xml, should I
depend on gnome-control-center (as the directory is part of
gnome-control-center), or not? Can I ignore this? Ignoring this would
allow me to just put it in mageia-theme-Default

For /usr/share/glib-2.0/schemas/mageia-theme-Default.override,
glib-compile-schemas needs to run. Should I depend on glib for the file
trigger. That seems a bit much for mageia-theme-Default. How to solve? I
noticed mageia-theme-kde-background, but that just gives one background.
It also doesn't have any dependencies on KDE, which seems a bit odd.


Note: I also see
/usr/share/gnome-background-properties/gnome-default.xml; it is NOT
used.

-- 
Regards,
Olav


More information about the Mageia-dev mailing list