[Pkg-octave-devel] Versioning the dependency on octave for the OF packages

Rafael Laboissiere rafael at laboissiere.net
Fri Mar 9 21:33:01 UTC 2012


* Sébastien Villemot <sebastien.villemot at 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



More information about the Pkg-octave-devel mailing list