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

Re: Bug #32888: The old `base' package.

On Tue, 9 Mar 1999, Marcus Brinkmann wrote:

> On Tue, Mar 09, 1999 at 12:42:42PM -0500, Jonathan P Tomer wrote:
> > This can be done by making
> > the post-inst of either base-files or base-passwd, or something on which
> > they both depend (but the old base did not), hack dpkg's database to
> > remove /dev/* or whatever from base's file list [...]
> So you want to enforce a dirty and _riskful_ operation, which even might be
> incompatible with future dpkg releases to get rid of a few bytes who don't
> harm anyone?

zeroing /var/lib/dpkg/info/base.list would be certainly dirty, but not
very riskful, IMHO.

Enrique suggested to me (and I agree) that if we wanted to do something
like that, we could probably do it at least until dpkg changes the format
of its database (will this happen very soon? I think it will not).

> Please go ahead and write a safe routine which does this, debug it and test
> it on a few systems. Then file the patches to the BTS. But be sure that it
> does not corrupt dpkg's database when the maschine crashes, and that it does
> not corrupt databases of possible future versions of dpkg and whatever.

Since "base" is not available anymore, it is unlikely to corrupt dpkg's
current databases by zeroing a .list of a package which is not being
upgraded in any way.

Regarding future versions of dpkg, *if* we implemented some type of
hack in base-files.postinst, we could remove it as soon as dpkg changes
its format.

> [...]
> Santiago is right. The risk is not outweighing the benefit.

Mmm, I did not say that (yet), but yes, I almost did :-)

I think the following could be done:

In base-files.postinst, test for the existence of
/var/lib/dpkg/info/base.list.  If it does exist, show a message saying:

"You have the old base package installed. This package is completely
harmless and since it is essential, it should not be removed, but if
it bothers you, please read /usr/doc/base-files/old-base-package"

Then, "old-base-package" would be a file describing the "problem" and
the possible solutions, in full detail.

[ And of course, as soon as dpkg changes the format of its databases,
remove the check from base-files.postinst ].

Considering that we should not fiddle with dpkg's database unless we have
to fix a very important bug, I think this is probably everything
we should do.


 "b8c53396845fcb7a73adc44c1a86ce68" (a truly random sig)

Reply to: