Différences entre versions de « Backport Evince »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m
 
 
(19 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
For simplicity I essentially dropped the nautilus integration (thumbnails, etc.).
 
For simplicity I essentially dropped the nautilus integration (thumbnails, etc.).
 +
  
 
== Step 1 ==
 
== Step 1 ==
Ligne 19 : Ligne 20 :
 
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''.
 
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
 +
 +
As a result, I also set <code>debhelper (>= 5)</code> in <code>debian/control</code> and reported it to the maintainer (who shared some insights on the lack of flexibility in this particular area of dpkg ;))
 +
 +
debian/changelog:
 +
 +
djvulibre (3.5.17-0bpo1) sarge-backports; urgency=low
 +
 +
  * Rebuilt for sarge.
 +
  * debian/control: Changed dependency libqt3-mt-dev from version
 +
    3:3.3.4-4 to version 3:3.3.4-3 (sarge), and required debhelper v5.
 +
 +
  -- Sylvain Beucler <beuc@beuc.net>  Sat, 17 Jun 2006 15:37:26 +0000
 +
 +
Note: if you already compiled and are recompiling again, '''remove everything first'''. Indeed, djvulibre's ''clean'' target is not perfect and let a few files around, namely <code>djview.menu</code>, which are then mistakenly added to the Debian diff (package-*.diff.gz).
  
 
=== Dependency 2: libnautilus-extension-dev ===
 
=== Dependency 2: libnautilus-extension-dev ===
Ligne 24 : Ligne 44 :
 
Backporting the library essentially means backporting nautilus and probably a couple dependencies from Gnome. We'll desactivate it instead:
 
Backporting the library essentially means backporting nautilus and probably a couple dependencies from Gnome. We'll desactivate it instead:
  
* Remove it from debian/control.
+
* Remove it from <code>debian/control.in</code>.
 
* In <code>debian/rules</code>, modify <code>DEB_CONFIGURE_EXTRA_FLAGS</code> and add the <code>--disable-nautilus</code> option
 
* In <code>debian/rules</code>, modify <code>DEB_CONFIGURE_EXTRA_FLAGS</code> and add the <code>--disable-nautilus</code> option
  
 +
== Step 2 ==
 +
 +
debian/changelog for evince:
 +
evince (0.4.0-1bpo1) sarge-backports; urgency=low
 +
 +
  * Rebuilt for sarge.
 +
  * debian/control: Disabled nautilus extension (too much
 +
    dependencies), and set debhelper (<< 5) because dh5 adds an
 +
    install-time to gconf2/testing
 +
 +
  -- Sylvain Beucler <beuc@beuc.net>  Sun, 18 Jun 2006 21:29:03 +0000
 +
 +
I used the <code>debhelper (<< 5)</code> dependency in <code>debian/control</code>, to avoid evince from being built with the backports version of debhelper which requires the ''etch'' version of gconf2 when installing the resulting package.
  
== Step 2 ==
+
Clean-up to regenerate debian/control from debian/control.in:
 +
make -f debian/rules clean
  
  $ dpkg-buildpackage -us -uc
+
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 ===
 
=== 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 <code>./configure</code> time only because the debian/control dependency did not specify a version.
+
gnome-doc-utils is required with version >= 0.3, while we're using v0.1 from ''sarge''). It was detected at <code>./configure</code> 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:
 
This one is pretty simple to solve:
  apt-src install --build --keep-built gnome-doc-utils
+
  apt-src install gnome-doc-utils
 +
cd gnome-doc-utils-*
 +
dch -i # set version - see below
 +
debuild -us -uc
 
(using the sid version)
 
(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 dpkg-buildpackage :)
+
You now can build your .debs with debuild :)

Version actuelle datée du 23 juin 2006 à 15:22

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

As a result, I also set debhelper (>= 5) in debian/control and reported it to the maintainer (who shared some insights on the lack of flexibility in this particular area of dpkg ;))

debian/changelog:

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

  * Rebuilt for sarge.
  * debian/control: Changed dependency libqt3-mt-dev from version
    3:3.3.4-4 to version 3:3.3.4-3 (sarge), and required debhelper v5.

 -- Sylvain Beucler <beuc@beuc.net>  Sat, 17 Jun 2006 15:37:26 +0000

Note: if you already compiled and are recompiling again, remove everything first. Indeed, djvulibre's clean target is not perfect and let a few files around, namely djview.menu, which are then mistakenly added to the Debian diff (package-*.diff.gz).

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.
  * debian/control: Disabled nautilus extension (too much
    dependencies), and set debhelper (<< 5) because dh5 adds an
    install-time to gconf2/testing

 -- Sylvain Beucler <beuc@beuc.net>  Sun, 18 Jun 2006 21:29:03 +0000

I used the debhelper (<< 5) dependency in debian/control, to avoid evince from being built with the backports version of debhelper which requires the etch version of gconf2 when installing the resulting package.

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 :)