Currently I'm modifying the deja-dup backup tool, my inglorious attempts are documented under: https://answers.launchpad.net/deja-dup/+question/76645 and my source-branch can be found under: lp:~beowulfof/+junk/deja-dup.

Basically, what I did was add options for asynchronous upload for remote filesystems and a setting to manually choose the size of the backup files, instead of just using 5/25MiB (I think the user should be able to decide by himself).

But my problem is not, about the changes, it is about the version to build a package. While in development of the patch, I just incremented the version number to 33.ubuntu3, whereas the original package has 32.0-0ubuntu5.

I want to build a package and that to my PPA, but therefore I wanted to change according to the packaging guide to 32.0_0ubuntu5ppa1.

If I try to build the source package by bzr builddeb -S -- -us -uc it claims the following:

bzr: ERROR: Inconsistency between source format and version: version is not native, format is native.

So, what version should I set the package to, before building it for the PPA?


The reason you're getting that error is because the debian/source/format file says that this is a 3.0 (native) package.

As a bit of background info, the debian/source/format file describes the format of the package. There are three formats available:

  • 1.0: Specifies that the debian folder and any changes that need to be made to other files in the upstream package will be in a .diff.gz file. This results in a .orig.tar.gz that contains the upstream tarball and .diff.gz that includes changes/additions for packaging.

  • 3.0 (quilt): Specifies that the debian folder in a .debian.tar.gz file, and that changes to the upstream files will be specified as separate patch files in the debian/patches folder, and will use the quilt patch system.

  • 3.0 (native): Same as 3.0 (quilt), but for packages that won't have any patches because the software/program itself is made by the distributors (Debian, Ubuntu, etc.), and so any changes are made directly to the files.

For the last two formats, the versioning formats are different. 3.0 (quilt) expects the version number followed by -# or -#ubuntu#. Some examples of this are 2.7-1ubuntu3 (from Ubuntu's standpoint, this means that the package was imported from Debian, but has Ubuntu-specific changes on top of it) and 3.4-2 (from Ubuntu's standpoint, this means that the package was imported from Debian, but has no Ubuntu-specific changes). Note that the version doesn't necessarily indicate whether there are changes made to the upstream tarball itself (patch files in debian/patches), or whether they're just changes in building the package.

For 3.0 (native), there is no dash after the version. Some examples of this are 23 and 8.4.

In your case, the version follows the 3.0 (quilt) format, but debian/source/format says 3.0 (native). There are two things you need to do here:

  1. Change debian/source/format to 3.0 (quilt).

  2. (Recommended) Make any changes to the package in a separate patch. Take a look at Ubuntu's patches folder for the syntax. Note that the series file specifies what patches in the folder should be applied and in what order. (lines starting with # are ignored)

As for the version of your package, using 32.0-0ubuntu5ppa1 will work (watch the underscores and dashes).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.