[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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

* Sébastien Villemot <sebastien@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



Reply to: