[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Package name



On Friday 20 May 2005 7:31 am, Shachar Shemesh wrote:
> Hi list,
>
> I'm trying to package argtable (http://argtable.sf.net). I'm wondering
> about the names to give the package.

Is this the next release? There's already a .deb for argtable2 on the website, 
although not in Debian itself.
argtable-2.4-0_i386.deb (precompiled binary, 765KB)
http://argtable.sourceforge.net/

If your package is binary compatible with argtable-2.4.tar.gz then it should 
respect the current naming. You only get a chance to move things around at 
the next binary incompatible release.

i.e. if your package can be switched for the existing .deb on a user's system 
and programs, scripts and processes using the library continue to function 
without relinking, then your package should have the same naming. Only if it 
breaks something that already runs with 2.4 should it be renamed.

> The package itself had two major life cycles. As such, the source
> library is called "argtable2". As far as so version goes, it has version
> 4.

What do you get from objdump ? I had a similar query a week or so ago and the 
library SONAME should depend on binary incompatibility, not file package 
versions. You say it's had two life cycles, all you need to do now is work 
out if your package is going to be binary incompatible with the last one. 
Forget the history of it - you can't correct that now and you can't skip an 
increment to make it look neat. Whatever SONAME you get from objdump of the 
current package, if the new library is binary incompatible with that, 
increment the SONAME.

See the archive:
http://lists.debian.org/debian-mentors/2005/05/msg00057.html

> Obviously, I will need to ad a "lib" at the beginning.

I was wondering about that - IS it actually mandatory?

I've got: 
qof-0.5.2.tar.gz
I can have a package name:
qof1
leading to a library of
qof1.so

It'll be installed as a library, determined by debian/control, but does the 
file actually have to be prefixed lib to make libqof1.so?

> At the moment,  
> I have this:
> source package: argtable2
> shared object: libargtable2-4
> devel: libargtable2-4-dev

I thought it would be libartable2-dev?

The site proposes that ArgTable2-x is one set - one introduction, one manpage 
and set of examples. Updates and releases that maintain binary compatibility 
with other argtable2 releases are within argtable2 and there's no need to 
specify the minor or patch version numbers.

Also, if you increment the SONAME, the other versions in the library soname go 
to zero, usually.

I suspect we're looking at libargtable3 here, with libargtable3-dev.

Don't confuse the SONAME version with the source package version - the two 
don't need to be linked.

You can maintain the existing source version - if that was say 2.5.4 then your 
source tarball would be argtable-2.5.4.tar.gz

> Should the "dev" be named with the so version? The policy says it
> should, but the "2" is really confusing here.

It's the -4 that is confusing. That would go in the package version, not the 
package name.

> In general, I have a suspicion that the "2" was really meant by upstream
> to mean what "soversion" means, and so the package should really be
> named "libargtable4". This will be WAY too confusing for actual users of
> argtable, however.

Use objdump and keep the SONAME incremental - don't skip.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpAcndvTP0Mw.pgp
Description: PGP signature


Reply to: