[OTR-dev] 4.0.0-rc3 ready to roll. Please try it out!

Ian Goldberg ian at cypherpunks.ca
Thu Aug 30 14:41:52 EDT 2012


[Rearranging...]
On Thu, Aug 30, 2012 at 01:55:16PM -0400, Greg Troxel wrote:
> (Sorry if I sound cranky; I'm not really trying to complain about how
> things are, just to point out that the questions I'm asking are the key
> questions one needs to have answered to decide what to do, and that they
> are missing from the pre-release announcement.)

Oh, they're good questions.  I guess my lack of experience with pkgsrc
(and *bsd in general) is showing. :-p
> 
> Ian Goldberg <ian at cypherpunks.ca> writes:
> 
> > On Mon, Aug 27, 2012 at 08:22:17PM -0400, Greg Troxel wrote:
> >> ok, but do the current releases of all those build against libotr-4?  If
> >> so, there is no issue in pkgsrc (even if they were all packaged, which
> >> they're not).  If not, then there are bigger problems.
> >
> > No, this is a major version number increment, which means that the API
> > and ABI have changed from the application's point of view.  That's why
> 
> That doesn't all logically follow (beyond ABI).  It seems you mean
> "major version number increment, without backwards-compatible API
> support" (which can be coped with), but that was not at all clear
> earlier.

Fair enough.  Yes, libotr follows the "bump major when ABI changes
incompatible; bump minor when ABI changes in a backwards-compatible way;
bump sub when implementation, but not ABI, changes" convention.

> > debian/ubuntu/etc. add the so major number to the package name:
> > xchat-otr and friends can still depend on libotr2 for a while, until
> > they update their code, while the new pidgin-otr can depend on libotr5.
> > Surely pkgsrc supports some equivalent notion?
> 
> Yes -  when upstream packages don't provide API back-compatibility, then
> there are packages with the version number in the name (not a shlib
> number).  Or one without, that's "normal", and one or more with.  For
> unstable upstreams, there is typically always a version.

OK.

> So then:
> 
>   are the set of files installed by these two versions distinct, so that
>   they can not conflict, or is a system limited to at most one?

Depending on how it's packaged, the runtime packages may be disjoint
(the shared lib has a different name in each version), but the -dev
package (with the header files) has the same filenames, so you'd be
limited to installing one -dev package at a time.

> But it may be that only pidgin-otr in pkgsrc uses libotr; if so it's
> easier to just upgrade both at once and leave the old libotr behind.

That would indeed be the easiest thing, if true.

> Do the old libotr and the new interoperate?  Specifically, if one person
> is running the current pidgin-otr/libotr, and another both new ones, can
> they still talk?

Yes.  The new one will just fall back to the old protocol when speaking
to old clients.

   - Ian

PS: I've decided that Tuesday Sep 4 will be the release day, so that
it's not buried in the long weekend.



More information about the OTR-dev mailing list