[ILUG] Distribution wars
Rick Moen
rick at linuxmafia.com
Sun Sep 30 19:56:37 IST 2001
begin Paul Jakma quotation:
[Snip usage of a modified apt-get to retrieve RPMs on Red Hat 7.x:]
As I was saying, the tricky part isn't the presence or absence of that
tool, nor is there anything particularly wrong with the RPM package
format. The hitch lies in package granularity and coherent package
policy. You can't just tack on a solution, there.
> only thing that isn't perfect is the '.rpmnew' config file thing. but
> that's rpm, and i guess you have to live with it. (and iirc .deb
> packages dont solve this problem either).
They, the dpkg tool, and the debconf utility do address the problem:
debconf stores your answers to recurring package questions, along with
the possible answers, and auto-supplies your answers on your behalf
during package upgrades, in accordance with whatever automation policy
you've set for debconf. This results in your system-policy decisions
getting automatically reapplied, upon package updating, even in the
face of new configuration files -- to some extent -- using the
configuration metadata that debconf stores (in flatfile
/var/cache/debconf/config.dat).
dpkg also partially addresses this problem by noticing when there are
new configuration files available (in an update package), during the
--configure phase, when dpkg applies the package's "postinst"
instructions: In many (most) cases, local changes are preserved and
reapplied even in the face of upstream changes (using the concept of
"conffiles" -- see
http://www.debian.org/doc/debian-policy/ch-files.html#s-configfiles).
In other cases (depending on how the package maintainer has built the
package metadata), you're informed of a new upstream template
configuration file, and asked whether you want to keep your existing
file, replace it with the new maintainer's, or see a diplay of diffs
so you can compare and selectively merge the two.
The two approaches are appropriate in different cases -- and both can be
partially or wholly automated using debconf. Either way, it's much less
lame than the *.rpmsave / *.rpmnew approach.
--
Cheers, A host is a host, from coast to coast.
Rick Moen And nobody talks to a host that's close,
rick at linuxmafia.com Unless the host that isn't close is busy, hung, or dead.
More information about the ILUG
mailing list