Mailinglist Archive: opensuse-packaging (186 mails)

< Previous Next >
Re: [opensuse-packaging] openSUSE vs Fedora packaging documentation
  • From: Stanislav Brabec <sbrabec@xxxxxxx>
  • Date: Thu, 12 Feb 2009 13:34:11 +0100
  • Message-id: <1234442051.28128.79.camel@xxxxxxxxxxxxxx>
Michal Vyskocil wrote:
Can't we simply adopt the Fedora doc and make it a cross-distribution
documentation?
(we might have some differences, but I'm sure we can drop some, and work
with Fedora people on a good way to highlight the differences)

If Fedora would be interested, why not. I'm afraid that this would be better,
but rather impossible way. Stanislav Brabec told me about his effort on
unification of RPM macros used by various distributions, but it failed. It
failed on a simple reason - no one want to change his policy/macros/etc. I
CCing him, so he should be able provide more details about current state of
discussion on rpm-devel (or rpm-maint, I'm not sure) mailing list.

The effort silently disappeared. Going deeper to document any of the
details, you find more and more differences introduced by a different
solution implemented in past and different target.

http://lists.rpm.org/pipermail/rpm-maint/2008-July/002210.html

Such effort would be welcome on both sides, but everybody should realize
an extreme amount of work needed for this effort.

Due to manual-work nature of spec files, there is no easy way to adopt
packages to any unified conventions. Unification means changes of nearly
all macros, and definition of new macros to define new different aspects
of particular distros (whether to call autoreconf or not,...), then
manual modification of _all_ packages.

Here is my blind guess:

When both Fedora and Novell hire two new employees dedicated to this
work, unified spec files of our packages may be ready in say 2 years.

- Several man-weeks of work to create the draft
We have to create a document, which would be accepted by both sides. We
need to target many particular aspects (autotools based stuff, perl
stuff, python stuff, gnome, kde, gconf2, mime-database, icon-database,
fonts, summary and description conventions and syntax, names of
packages, unification migration conventions and migration protection...)

- Several man-months of work to unify RPM implementation
Our rpm implementation differs in important aspects. Redhat uses rpm
4.6, Novell did not even started to think about migration to it. We
actually have rpm 4.4 with 61 patches, custom macros. We have to
evaluate, how many packages will need spec file changes after migration
to the new rpm. However I believe, that rpm >4.6 may bring new power for
zypp and even packages quality, the migration will be far from trivial.

- Several man-years to modify all packages in openSUSE and Fedora.


Example: Imagine, that %run_ldconfig was deprecated in SuSE several
years ago, but it is still widely found in our packages. Exactly the
same situation affect Shared Library Packaging Rules. Now multiply the
amount of work (or time) to fix the whole distro by 5-10 and you are
near to the spec file unification.


P. S.: With a similar amount of work, we may think about migration to
any of modern package-class based building tools or design a new build
system from scratch:
http://en.opensuse.org/BrainStorming_Prague/Way_we_do_packaging_is_ineffective

It also means rewrite of package descriptions, but this approach would
bring much more benefits in long-term than spec files unification.

--
Best Regards / S pozdravem,

Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o. e-mail: sbrabec@xxxxxxx
Lihovarská 1060/12 tel: +420 284 028 966, +49 911 740538747
190 00 Praha 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz/

--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >