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

RFC: New substvars "Binary-Version" and "Next-Source-Version"


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?


Attachment: pgpvNCMTYGMfo.pgp
Description: PGP signature

Reply to: