← Back to team overview

svn team mailing list archive

Re: About to merge with Debian's Subversion 1.6.9dfsg-1

 

On 05/05/10 09:39, Michael Diers wrote:
Hello everyone,

I'm about to merge our PPA branches with current Debian testing,
lp:debian/squeeze/subversion. I'm starting with karmic today, but I will
also create a new branch for lucid (and possibly maverick) next.

Skip maverick for now, there's no point at least until the toolchain is declared stable.

subversion (1.6.9dfsg-1ubuntu0~svn1~karmic1) karmic; urgency=low

   * Merge from Debian testing (squeeze), remaining changes:
     - Create pot file on build.
     - Build a python-subversion-dbg package.
     - (Build-)depend on default-jre-headless/-jdk.
     - Do not apply java-build patch.
     - Don't build for python2.4, not in main.
     - debian/rules: Manually create the doxygen output directory,
       otherwise we get weird build failures when running parallel
       builds.
     - Disable the serf backend because serf is in universe.
   * Enable kwallet integration, those extra deps are but build-depends.

  -- Michael Diers<mdiers@xxxxxxxx>   Wed, 05 May 2010 09:53:02 +0200

One thing regarding package naming:

The advice in

https://help.launchpad.net/Packaging/PPA/Uploading

is to use the one I chose in the changelog entry above, but maxb used a
different convention for the existing packages.

There's actually an open issue filed for this on LP.

(LP: #105396) What is the recommended PPA source package naming schema?

Preferences, anyone?

The key thing to understand about the ~ character in Debian versions is that it means 'less than what came before'. It gets ridiculously overused in PPA packages, presumably because people have misunderstood it as a generic separator. It wasn't helped by the help.launchpad.net wiki having some pretty weird recommendations on it at one point. It's been made saner now - e.g. https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage#versioning has much fewer ~ characters in sight.

Thus, my suggestion would be to call the primary result of the merge 1.6.9dfsg-1ubuntu0svn1 - that's "1.6.9dfsg-1" debian version it is based on, "ubuntu0" having ubuntu changes but zero for not being based on an official ubuntu package of this upstream version, "svn1" first attempt of such a package in our ppa.

So, pretty much what you had already had, but dropping the ~ before svn - we're using "svn" instead of the generic "ppa" that the wiki suggests.


The other detail that you'll see in what I did before is that I don't have a ~karmic1, etc, suffix on the package which I'd consider the primary line of development of the PPA packaging. The ~series1 suffices are essentially backport indicators, so there's a certain incongruity in creating a package which hints at being a backport of a version that never existed. Plus, it's an indicator which is considered the mainline packaging on which the next version should be merged.

I don't have overly strong feelings on whether you want to continue this, or just bluntly append ~series1 on all versions in the manner many PPA authors do, but now you know why I didn't.


Note that the whole point of the differing versions for different distroseries is not only that they be distinct, but that the version numbers compare in the same way as the newness of the distroseries, such that when someone upgrades from karmic to lucid, the PPA lucid package is seen as an upgrade to the PPA karmic package.

Therefore, if you do the initial merge for karmic, and choose not to append a ~karmic1, it would be incorrect to append a ~lucid1 for a lucid build - instead you'd need to version it as 1.6.9dfsg-1ubuntu0svn2 or 1.6.9dfsg-1ubuntu0svn1lucid1.


I hope that was elucidating about the twisty labyrinth that is Debian package versioning :-)


Max.




Follow ups

References