Re: Improving in-place upgrades of Ada packages from Lenny to Squeeze
David Kalnischkies writes:
> 2010/6/6 Ludovic Brenta <email@example.com>:
>> Package: gnat
>> Architecture: any
>> Depends: gnat-4.4 (>= 4.4.2-1)
>> Recommends: ada-reference-manual, gnat-gps
>> Breaks: libadasockets-dev (<= 1.8.6-2), libasis-dev, libaunit-dev,
>> libaws-dev, libflorist-dev, libgnademysql-dev, libgnadeodbc-dev,
>> libgnadepostgresql-dev, libgnadesqlite-dev,
>> libgnatprj4.3-dev, libgnatvsn4.3-dev,
>> libgnomeada2-dev, libgtkada2-dev, libtemplates-parser-dev,
>> libtexttools-dev, libxmlada-dev
> These breaks need to be versioned - e.g. libasis-dev ( << squeeze)
> there "squeeze" is the version of the transitional package libasis-dev
> which depends on the new libasis-newabi-dev just like in a
> package rename.
As discussed before, introducing transitional packages would be
sufficient to guarantee smooth upgrades (without the need for "Breaks"
in gnat) but it would also defeat the purpose of the "aliversion"
component of packages names. We do not want any transitional packages.
Consequently, the version numbers are also unnecessary (except in the
case of libadasockets-dev due to #580907).
I believe this is as far as we can go; apt simply does not offer the
feature that we would need, i.e. a way to explain that apt should remove
a package libX1-dev (which disappeared from the archive) and install
libX2-dev (new in the archive) as the upgrade path.
>>>>>> 2. the old-libs will stay installed in at least of the form of a
>>>>>> transitional package in oldlibs as at least apt/lenny has no
>>>>>> support for disappear packages so this trick can't be used (not
>>>>>> sure about dpkg, aptitude uses apt facility in this regard, so also
>>>>>> no support).
>>>>> This is ugly, but not horrible.
>>>> Does apt/squeeze have support for disappearing packages?
>>> Yeap, or at least >= 0.7.26~exp5 has and apt is registered for an abi
>>> transition/binnmu series so it will hopefully find its way into
>>> unstable/testing some day in the future… (currently blocked)
>> Could you shed some light or point me to some doc as to how this feature
>> works? I'd like to know whether it can solve the problem or not.
> E.g here http://wiki.debian.org/Renaming_a_Package
I've already read that and it has not changed since then (I checked the
change history). Basically, both methods require a transitional
package; we cannot use that for Ada -dev packages.
> It is not documented very well currently as it can't be used for squeeze
> and would therefore most likely only confuse maintainers (i guess).
> Disappear should remove the need in the future for transitional packages
> (see "apt-cache search dummy transitional").
OK. I think we'll let the issue rest and try do document why unattended
in-place upgrades are not supported for Ada development packages. I
already have a draft of this in the next edition of the Debian Policy
We will revisit this issue in squeeze+1.