On Tue, 21 Aug 2007, JP Rosevear wrote:
1) The "simple" example at the end does not
take into account where %doc
files should go (AUTHORS, COPYING, README) etc.
Suggestion is we say this goes into the lib<whatever><major> package
Not if it would generate a file conflict between README of libbla3 and
libbla4. The main theme for the whole policy is about packaging shared
libraries. It does also provide some best practices, but in general it
isn't concerned about where to package documentation. It can be either in
the main package (bla), a special docu package (bla-doc), in the -devel
package (libbla-devel), or somewhere else. If properly versioned it can
theoretically also be placed into the libbla3 packages (e.g. under
/usr/share/doc/libbla3/README), but for fear of people getting this wrong
(namely placing the files into .../libbla/) I would not mention that in
the policy. Currently the policy is quite simple: a libbla<number> rpm
contains exactly lib*.so.* files, nothing else. There are already
exceptions for this, and exception (3) would also apply to assorted
documentation files, so I don't see a pressing need to say something
explicit about them.
Except I just ran into a case where the package had
two different .so
Split the lib package so that each provides just one library (preferred).
Otherwise both libs have to come together from upstream (same tarball for
instance, or same CVS module). Then that collection presumably has a name
and a version. You can use that as basename and number for the lib
package. I would not do that except if they are bound together very
tightly, and the version number is increased if one of the sonames is
2) No reference to .la files
Do we finally want to kill those as a matter of policy? If so, should we
write a macro to do it?
I read this about *.la files in the policy:
* Files needed to develop programs using shared libraries contained in
lib$NAME$NUM.rpm are packaged in a -devel package (see (4a) and (4b) for
cases that need to version this package). Those files include lib*.so,
lib*.la and all headers. ...
- Avoid packaging libtool config files (.la files). In general they are
not needed if you do not package a static library. If in doubt, ask.
So, avoid them if you can (and want to do the work involved). If you
don't, then package them into the -devel package. There are very peculiar
reasons why sometimes .la files have to be in the libbla3 packages, but
that's dealt with in exception (3).
3) Separation of soname number from library name
We could always put the dash in for more consistency ie libz-1 instead
of libz1 so when the library name ends in a number its libwhatever2-7
and its easier for humans to parse (probably).
I find it easier without the dash actually. But that argument is all
about aesthetics, so not a very good one. A better one is perhaps that we
have already about 170 lib packages following the policy and most of them
are written without the dash (when they can).
As well libssl is a horrible example to use because it
does not follow
proper .so naming, it always reflects the version number rather than
incrementing based on ABI compatability
Have a better example? That example is supposed to show what needs to
happen if the soname doesn't contain only one number, but several ones
(i.e. to show the need for underscores). I fear all other examples doing
that have an equally horrifying "scheme" of dealing with so-versions :-)
To unsubscribe, e-mail: opensuse-packaging+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-packaging+help(a)opensuse.org