Hallo.

We are just planning to perform changes in GNOME packaging.

It includes:
- Long time planned prefix move from /opt/gnome to /usr.
- New gconf scriptlets finally provide a correct solution of
  https://bugzilla.novell.com/show_bug.cgi?id=48114 using %pre, %preun
  and %posttrans.
- To follow upstream names, pkgconfig will be renamed to pkg-config and
  gtkdoc to gtk-doc. Old names are still available as virtual symbols.
- spec file cleanup. It includes removal of obsolete code, unifying
  packaging scheme, using parallel build, fixing scriptlets, removing
  obsolete configure options,...

Following is optional needs further discussion before starting to do it:
- Remove all unneeded .la files.
- Do not build static libraries at all.

In Build Service:
GNOME:STABLE will diverge from FACTORY.
GNOME:UNSTABLE just now contains upper mentioned changes. After checking
them in, GNOME:UNSTABLE will follow FACTORY. Please don't submit to
GNOME:UNSTABLE any more without requesting SuSE people to include your
change to FACTORY, otherwise you risk, that your change will be lost.

Details:

Move to /usr:

Just now, all core GNOME packages and many other packages are already
moved to /usr in GNOME:UNSTABLE BS project and most problems caused by
it is already fixed. We want to do this in FACTORY ASAP. Long waiting
will cause a lot of divergences between GNOME:UNSTABLE and FACTORY and
will require additional work.

You can experience short term failures caused by inconsistence of .la
files. You must wait for correct rebuild of all lower level packages.

Just now, gnome-filesystem package covers both prefixes, but for
openSuSE 10.3, no package should use /opt/gnome (with one compat package
exception).

It means, that GNOME packages can use %configure to configure all paths
(except --libexecdir, see https://bugzilla.novell.com/show_bug.cgi?id=157894).

I have prepared a small script - prefixfix, which will help to convert
old paths to new ones in the spec file. The rest of changes must be done
manually.

New scriptlets:

As a fix of gconf schemas installation problems, we have a new scriptlet
schemas:
Macros are defined in gconf2-devel, which must be a part of your build
environment.

Preamble:
%gconf_schemas_prereq

%install
...
# if your package installs all schemas to one package:
%find_gconf_schemas
# or
# if your package installs schemas to more subpackages:
%def_gconf_schemas subpackage1
%add_gconf_schemas schemas_name1
%add_gconf_schemas schemas_name2
%def_gconf_schemas subpackage2
%add_gconf_schemas schemas_name3
%add_gconf_schemas schemas_name4
%end_gconf_schemas
# schemas names are without path and suffix

%pre -f %{name}.schemas_pre

%preun -f %{name}.schemas_preun

%posttrans -f %{name}.schemas_posttrans

# NOTE: For package with subpackages include name defined in
# %%def_gconf_schemas

%files -f %{name}.schemas_list
or
%files -f subpacakge.schemas_list


In case of more -f needed for one %files:

%install
...
%find_gconf_schemas
%find_lang %{name}
cat %{name}.schemas_list %{name}.lang >%{name}.lst

%files -f %{name}.lst

-- 
Best Regards / S pozdravem,

Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o.                          e-mail: [EMAIL PROTECTED]
Lihovarská 1060/12                            tel: +420 284 028 966
190 00 Praha 9                                fax: +420 284 028 951
Czech Republic                                http://www.suse.cz/

Attachment: prefixfix
Description: application/shellscript

Reply via email to