]> err.no Git - dpkg/commit
Improve processing of disappearing conffiles (Ian Jackson).
authorFrank Lichtenheld <djpig@debian.org>
Fri, 10 Feb 2006 16:22:50 +0000 (16:22 +0000)
committerFrank Lichtenheld <djpig@debian.org>
Fri, 10 Feb 2006 16:22:50 +0000 (16:22 +0000)
commit854ad168370000ca46f4ba091c2d5bb05274b6ef
tree486038229fb28c385cb573792b2adf0638bf3dfa
parentf9fab0b1a4afd66af3d3d9a3d26119732050dcf4
Improve processing of disappearing conffiles (Ian Jackson).
This is part of the fix for #108587.

* lib/dpkg-db.h (conffile): Add `obsolete' field.
* lib/dump.c (w_conffiles): Write "obsolete" at the
end of conffile entry if obsolete is set.
* lib/fields.c (f_conffiles): Parse entries for
obsolete conffiles correctly.
* src/filesdb.h (filenamenode.flags): Add new
flag for obsolete conffiles.
* src/remove.c (removal_bulk_remove_configfiles):
Handle obsolete conffiles.
* src/archives.c (newconff_append): New function
to append a filenamenode to a fileinlist.
(addfiletolist): New function to add a filenamenode
to a tarcontext.
(tarobject): Use new addfiletolist function.
Handle case where a new package takes over
an obsolete conffile from another package.
* src/archives.h: Add declaration of the
addfiletolist function.
* src/processarc.c (process_archive): Use new
newconff_append function from archives.c.
Detect obsoleted conffiles and mark them as such.
* src/help.c (chmodsafe_unlink): Make it possible
to differentiate between failed chmod and failed
unlink by adding a new `failed' argument which
will be set to the name of the failed command.
(chmodsafe_unlink_statted): New function that
can be called if we already have a stat result for
the file/directory to be removed.
(ensure_pathname_nonexisting): Give better error
messages by utilizing the changes to
chmodsafe_unlink.
* src/main.h: Reflect changes in archives.c
and help.c (add declarations for newconff_append
and chmodsafe_unlink_statted and change the
one of chmodsafe_unlink).
(conffopt): Add new isold flag.
12 files changed:
ChangeLog
debian/changelog
lib/dpkg-db.h
lib/dump.c
lib/fields.c
src/archives.c
src/archives.h
src/filesdb.h
src/help.c
src/main.h
src/processarc.c
src/remove.c