The problem is the -DwC1
in your version string. Per Debian policy the upstream version can contain . + - : ~
but the debian revision can only contain + . ~
, so everything before -DwC1
is considered part of the upstream version, and so it is looking for an original tarball with that version.
dch
gives a clue about this when you added that entry:
dch warning: your current directory has been renamed to:
../exiv2-0.23-1ubuntu2
dch warning: no orig tarball found for the new version.
Usually when I do a ppa upload of a package I will bump the ubuntu version and add something like ~ppa0
and usually the target release, say ~trusty
. So for instance 1ubuntu2
to 1ubuntu3~ppa0~trusty
. The extra strings with ~
will cause the version to compare less than 1ubuntu3
so if the package is updated in the main repositories the user will get the newer version.
Really though all you need to do is drop the hyphen from your version, so 1ubuntu2DwC1
would work, or maybe 1ubuntu2.DwC1
.
The packaging (ie debuild
) is not the hard part here: building the application is.
There are many ways to build i386
binaries on a 64bits system
Using a 32bits virtual machine
Installing one via virtualbox is straightforward.
This is by far the easiest but it will take a significant amount of disk space and you will need to setup the entire system from scratch.
Setting up a chroot
The idea is to create a minimal i386 sandbox in your 64bits setup.
You will install all the build toolchain and i386 dependencies of your application in the chroot and perform the build from there.
This approach is lighter than the vm one and offers a good deal of isolation.
Kaizou tutorial explains clearly how to do it
A chroot ready to build a gtk vala application will eats about 700M on your harddrive.
Using cross compilation
cmake is able to build your application easily provided you have the multilib toolchain installed.
The multilib toolchain can be installed via
sudo apt-get install g++-multilib
Then you have to specify the m32
parameters to cmake so it can build i386 binaries which is easy.
Of course, you will need to install on your computer all the i386 variants of your application dependencies.
Provided the apt
gods are with you, this can be done with:
dpkg --add-architecture i386
apt-get update
apt-get install libgtk-3-dev:i386 libgee-0.8-dev:i386 ...
Once this is done you can package your shiny i386
binaries with
debuild -ai386 -i -us -uc -b
debuild clean
Best Answer
It has to be enabled in debian/rules. If the package uses dh, there is a line like this in debian/rules:
Change that to
Then your commands will work, at least DEB_BUILD_OPTIONS="parallel=4"