preparing rott for gdp support
Hi folks,
As already mentioned elsewhere, the plan for rott was to
Depends: on rott-data which will be generated by
game-data-packager and not copy the required data files
in-place via postinst scripts.
For people who have never installed rott before, the
"end-game" situation is fine: you
a) install game-data-packager
b) generate and install rott-data
c) install rott
For people who already have rott installed, things are not
quite as nice. They will have to follow a-b above, then c),
upgrade rott. They will not be able to update rott without
doing a-b first, since the new package will Depends: on a
package not available in the archive.
Worst case scenario, a security problem is discovered in an
old version of rott and users of it will not get an upgrade
to the new package as part of an "apt-get update; apt-get
upgrade" cycle due to the new dependency.
I've thought really hard of ways to improve this. If we had
the luxury of more than one rott package upgrade, we could
do it in two steps: the first rott upgrade depends: on
game-data-packager to ensure it is available, and then the
second can depends: on rott-data and not be installable
until the rott-data package was generated. However, the
postinst script for rott n+1 could run game-data-packager,
feeding it the files that already exist on the filesystem to
generate the rott-data package, and through a convoluted
process, install it (not straightforward: dpkg database
locked during postinst, but a future enhancement for gdp I
have been considering is to maintain a local apt repository
and so the postinst could inject the generated deb package
into this).
However we don't really have that luxury since ideally we
need to support stable-to-stable upgrades which is only one
package-upgrade deep.
So, I think we need to just live with this disadvantage.
Bear in mind rott is a contrib package (and therefore not
subject to dfsg or release requirements) with a low install
base. We just promote the need to install and use gdp in
order to upgrade the package through other channels (release
notes? blogs etc.)
Thoughts?
--
Jon Dowland
Reply to: