[Pkg-octave-devel] Switch octave-pkg-dev from CDBS into dh

Rafael Laboissière rafael at debian.org
Fri Dec 29 10:08:35 UTC 2017


* Rafael Laboissière <rafael at debian.org> [2017-12-28 12:21]:

> * Sébastien Villemot <sebastien at debian.org> [2017-12-28 10:23]:
>
>> I am aware that this is much more work than what you did, and I am 
>> not at this point volunteering for doing this, so I’m not saying 
>> that this is the right solution and that what you did should be 
>> discarded. But at the very least, if we keep your solution, we need 
>> to solve the override problem I mentioned above.
>
> You are right, there are packages with cdbs-dependent targets like 
> install/pkg::, build/pkg::, and clean::.  We will look at this very 
> real issue.

Well, with my last commits in octave-pkg-dev, I addressed the issue 
above.  I run a batch on the packages depending on octave-pkg-dev and 
almost all of them built correctly (there are two corner cases, see 
below).  The solution was to replace the double colons by colons, such 
that the following targets in debian/rules are allowed:

    pre-build:
    build/$pkg:
    install/$pkg:

The clean target is not allowed.  Simple file deletions were transferred 
into debian/clean and more elaborated commands are done through 
DEB_MAKE_CLEAN_TARGET, a mechanism currently provided by octave-pkg.mk.

I know, this is a dirty hack, but has the following advantages: (1) it 
completely gets rid of the CDBS build-dependency and (2) it requires 
minimal changes in the debian/rules of the Octave-Forge packages.  As 
Sébastien pointed out, this solution is completely CDBS-ish and not very 
satisfactory.  We should implement in the future a clean, full 
debhelper-based solution.  In the meanwhile, I propose to make the switch 
in the next days.  The advantage is that I will have some free time for 
doing it now, during the end of year vacations.  After January, I will be 
busy again.

As I wrote above, with minimal changes (already tested here in my system) 
almost all packages build correctly.  The only exceptions are 
octave-symbolics, which hangs during the tests (but this is perhaps not 
due to the CDBS->dh change, I am investigating this) and octave-msh, 
which contains the following line in debian/rules:

   # Workaround for #850402. In the testsuite, this prevents gmsh from being run
   # in a fakeroot environment (it does not like it).
   check-pkg:: LD_PRELOAD=

I do not know how to translate this into my new system.

Rafael



More information about the Pkg-octave-devel mailing list