Bug#608099: unblock: calendarserver/2.4.dfsg-3
Oh. That is bad news. Anyway, what are my options? Can I write the
preinst script in perl? I have seen few other packages do it. Writing
the preinst script in sh would be really complicated though.
On Monday 27 December 2010 02:41 PM, Adam D. Barratt wrote:
On Mon, 2010-12-27 at 12:32 +0530, Rahul Amaram wrote:
Please unblock package calendarserver
The latest version of calendarserver in sid (2.4.dfsg-3) has a preinst script
which facilitates for auto-migration of caldavd data directories when using NSS
directory backend. This is very useful for users who use NSS directory service
backend and would like to have their old calendars available after the upgrade.
Thanks for your work on this package.
Unfortunately, you can't write your preinst in Python, as the python
interpreter package is not essential so you cannot rely on it being
available at the time your preinst runs. Even adding the Pre-Depends
for the interpreter is not sufficient; Policy only requires that the
Pre-Depended package be unpacked at the point that the new preinst runs
and as python is not essential there is no guarantee that it will be
sufficiently operational when unpacked but not installed.
In general terms, your preinst should also handle the arguments which
will be passed to it and not attempt the migration if being called as
part of the rollback of a failed install.
When adding new Pre-Depends to your package, these should be discussed
on debian-devel beforehand. One of the reasons that this is required is
that Pre-Depends generally make the life of the package manager harder
when computing upgrades, and there are often better solutions; in this
case, I suspect the above advice about not writing the preinst in Python
would have been given.