User:Microjo

[edit] Debhelper 7

Since the Autobuilder's use of the Squeeze devkit, debhelper 7 is supported natively by it.

Follow the steps on that link to also make your FREMANTLE_* target use the Squeeze devkit.

Note: dh_make doesn't seem to be provided by the Squeeze devkit, so you'll have to run it outside of Scratchbox to get a debian/ folder based on debhelper 7.


A backport of Debhelper 7 for Fremantle is available in extras-devel.

$ fakeroot apt-get install debhelper7 

命令行使用的话,设置如下PATH

export PATH=/usr/bin/dh7:$PATH

It works transparently and can coexist with debhelper 5 in the SDK. It even works on the autobuilder, if the package specifies the correct build-dependency of debhelper7. The following lines in debian/rules are necessary to use the new debhelper:

PATH:=/usr/bin/dh7:/usr/bin:$(PATH)
export PATH
SBOX_REDIRECT_IGNORE=/usr/bin/perl
export SBOX_REDIRECT_IGNORE

In debian/control change:

Build-Depends: debhelper (>= 7) [...]

to

Build-Depends: debhelper7 (>= 7) [...]

Further information about the updated debhelper is available at User:Tanner#debhelper7.

If you also need a more recent CDBS, then use the package cdbs-dh7, which conflicts with the standard CDBS and does not work on autobuilder yet.

Alternatively, you can try to use debhelper 5. Debian packages that require level 7 need some changes, for example:

  • debian/compat: 7 -> 5
  • debian/control: Build-Depends: debhelper (>= 7) -> debhelper (>= 5)
  • Possibly, comment out a few dh_* calls from debian/rules, which might not exist on level 5

Things might get complex if the packaging already uses some new features of level 7, like CDBS-style helper rules. In such cases, looking at versions of packages written prior to the compatibility level upgrade might help doing the downgrade (and most Debian packages are kept in public SCMs like svn.debian.org).