Backport Evince

De Cliss XXI
Sauter à la navigation Sauter à la recherche

For simplicity I essentially dropped the nautilus integration (thumbnails, etc.).


Step 1

$ apt-get build-dep evince
[...]
No candidate version found for libdjvulibre-dev
No candidate version found for libnautilus-extension-dev

Dependency 1: libdjvulibre-dev

libdjvulibre-dev (v3.15) is missing, and is only available with etch and later. sarge doesn't countain - by mistake - a -dev package for libdjvulibre1 (v3.14), otherwise we could have used that one and skip another backport.

Backporting lidjvulibre-dev

build-dep reports one missing dependency: libqt3-mt-dev.

In debian/control, change libqt3-mt-dev from version 3:3.3.4-4 to version 3:3.3.4-3 (stable) - ain't it precise ;) If I got it right, -4 switches to xorg, so better stay stable.

I also needed to temporarily upgrade debhelper:

aptitude -t sarge-backports install debhelper

I needed to revert it to sarge before to compile evince, so as to avoid new dependencies from dh_gconf:

aptitude install debhelper/stable


debian/changelog:

djvulibre (3.5.17-0bpo1) sarge-backports; urgency=low

  * Rebuilt for sarge.
  * Changed dependency libqt3-mt-dev from version 3:3.3.4-4 to version
    3:3.3.4-3 (sarge)

 -- Sylvain Beucler <beuc@beuc.net>  Mon, 12 Jun 2006 09:21:17 +0000

Dependency 2: libnautilus-extension-dev

Backporting the library essentially means backporting nautilus and probably a couple dependencies from Gnome. We'll desactivate it instead:

  • Remove it from debian/control.in.
  • In debian/rules, modify DEB_CONFIGURE_EXTRA_FLAGS and add the --disable-nautilus option

Step 2

debian/changelog for evince:

evince (0.4.0-1bpo1) sarge-backports; urgency=low

  * Rebuilt for sarge.
  * Disabled nautilus extension (too much dependencies).

 -- Sylvain Beucler <beuc@beuc.net>  Mon, 12 Jun 2006 10:06:28 +0000

Clean-up to regenerate debian/control from debian/control.in:

make -f debian/rules clean

Compilation:

$ debuild -us -uc
[...]
checking for GDU_MODULE_VERSION_CHECK... configure: error: Package requirements (gnome-doc-utils >= 0.3.2) were not met.
[...]
make: *** [config.status] Error 1
debuild: fatal error at line 765:
dpkg-buildpackage failed!


Dependency 3: gnome-doc-utils

gnome-doc-utils is required with version >= 0.3, while we're using v0.1 from sarge). It was detected at ./configure time only because the debian/control dependency did not specify a version.

Joost van Baal enticed me to send a bugreport to the evince maintainers about it, which I did. We'll also fix the dependencies in evince-*/debian/control:

Build-Depends: cdbs, [...], gnome-doc-utils (>= 0.3.2)

This one is pretty simple to solve:

apt-src install gnome-doc-utils
cd gnome-doc-utils-*
dch -i # set version - see below
debuild -us -uc

(using the sid version)

dch modifies debian/changelog. I used:

gnome-doc-utils (0.6.0-0bpo1) sarge-backports; urgency=low

  * Rebuilt for sarge.

 -- Sylvain Beucler <beuc@beuc.net>  Fri, 16 Jun 2006 16:42:54 +0000

What is important is:

  • distribution set to sarge-backports
  • version set to [previous Debian version - 1]bpo1
  • and a message explaining the changes.

You now can build your .debs with debuild :)