Hi,
I'd like to propose a slight change for the package version substvars in
order to ease handling of arch-specific rebuilds of multi-binary
packages that have arch-independent portions.
Problem: The arch-dependent and arch-independent packages usually depend
on each other with a versioned dependency, where the version is
substituted in with ${Source-Version}. Normally, this looks like this:
foo 1.0-1 -> foo-data 1.0-1
foo-data 1.0-1 -> foo 1.0-1
However, if an arch-specific rebuild becomes necessary, the dependencies
look like this:
foo 1.0-1.0.1 -> foo-data 1.0-1.0.1
foo-data 1.0-1 -> foo 1.0-1
Both packages are uninstallable now. Thus, I propose two new substvars,
and to change the meaning of ${Source-Version} slightly:
Source-Version Current source/arch-indep version, i.e. last
version from the changelog that is not an arch-
specific rebuild
Binary-Version Current arch-dep version, i.e. last version from
the changelog
Next-Source-Version The lowest version that the next source upload
could have (Source-Version plus NMU field
incremented by one)
Now, we can write the following:
Package: foo
Depends: foo-data (= ${Source-Version})
...
Package: foo-data
Depends: foo (>= ${Source-Version}), foo (<< ${Next-Source-Version}
which would yield
foo 1.0-1.0.1 -> foo-data 1.0-1
foo-data 1.0-1 -> foo (>= 1.0-1), foo (<< 1.0-1.1)
which are both fulfillable. The Binary-Version substitution is needed
when two arch-dependent packages depend on each other.
Questions? Comments?
Simon
Attachment:
pgphk6ecbeNh7.pgp
Description: PGP signature