Re: [Pkg-octave-devel] Versioning the dependency on octave for the OF packages
* Sébastien Villemot <sebastien.villemot@ens.fr> [2012-03-09 21:32]:
> Note that currently this improvement is not really needed since there is
> no pre-3.6 octave package in Debian (the 3.2 package has a different
> name: octave3.2), [...]
There is a virtual package called octave and octave3.2 provides it. I
would guess that an arch:all OF package with "Depends: octave" would
be satisfied by octave3.2
> [...] but for the future it is a useful mechanism.
> In some cases it will probably create too tight dependencies, but on
> average it is better to have too tight than too loose dependencies.
Agreed. The point here is that the maintainers build and check the
package with a given version of Octave. It is safer that the user stick
to that version.
> Also, for future improvements to octave-pkg-dev, we may want to exploit
> the dependency versioning that is in the DESCRIPTION file of Forge
> packages. Ideally octave-pkg-dev should fail if the installed octave is
> lower than the required one. For instance, such a mechanism would have
> prevented #649395; see also #661123 for a similar problem, but in that
> case upstream also forgot to tighten the dependency.
Yes, that will be a nice improvement. I will take a look at it.
> It would also be useful to exploit the dependency versioning between
> Forge packages, for similar reasons.
This is currently implemented in octave-pkg-helper, which parses
DESCRIPTION and emits the appropriate versioned dependencies on the other
OF packages when replacing ${octave:Depends}. I wrote that code a while
ago and have forgotten it. It actually works, I just tested it in the
octave-signal package:
$ grep Depends: DESCRIPTION
Depends: octave (>= 3.4.0), optim (>= 1.0.0), specfun, control (>= 2.2.3)
$ grep octave:Depends debian/control
Depends: ${misc:Depends}, ${shlibs:Depends}, ${octave:Depends}
$ debc | grep Depends:
Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), liboctave1, libstdc++6 (>= 4.4.0), octave (>= 3.6.1), octave-control (>= 2.2.3), octave-optim (>= 1.0.0), octave-specfun
Rafael
Reply to: