Re: ncurses-1.9.8a ELF release
David Engel writes ("Re: ncurses-1.9.8a ELF release"):
> Slowly. I've been trying to better understand how dpkg works and find
> a way to do what I want with the current behaviour. The only way I've
> come up with is rather ugly and probably error prone so I haven't even
> bother to hash it all out. If you'll answer me a couple of questions,
> I'll try to come up with a cleaner way that would only require a
> minimum of changes to dpkg. Here they are:
> Can, and if so how, dpkg/dselect remove one package and replace it
> with another in one invocation?
Yes. There are some restrictions - most importantly, that the package
being replaced be deselected first, or that both the new and old
packages be marked "essential". Usually dselect and the Conflicts
mechanism will handle that bit. You can replace only one package at a
time, but an upgrade can replace one other package as well as the
previous version of the package being installed.
> Does dpkg/dselect allow a package to be upgraded or replced with
> another and then left in an unconfigured state?
Yes, it does. This is necessary to avoid having ordering restrictions
on the bulk transfer part of the installation.
> Basically, what I'm concerned with is the time between an old
> package's postrm script being called and any new package's postinst
> being called.
I think you need to read project/standards/maintainer-script-args.txt
- it describes in some detail exactly what happens when and which
scripts get called.