Age | Commit message (Collapse) | Author | Files | Lines |
|
This makes the tar extractor track and report back parse errors, so that
we can give more descriptive messages.
|
|
|
|
|
|
|
|
Make the function less general, as we are using an extraction specific
obstack.
|
|
This adds a proper interface to snapshot a varbuf state and it rollback
so that a common stem can be reused on multiple instances.
|
|
|
|
|
|
|
|
|
|
This fixes several related issues. The list of conflictors has always
really been a queue, where packages were added and then acted on,
although no package was removed from the list after being processed,
which in turn made subsequent conflictors accumulate and reach the
arbitrary limit due to previous unrelated Conflicts/Replaces pairs,
giving possibly very confusing error messages due to that.
Another theoretical problem is that because the list was not cleaned up
after processing it, a package could have been enqueued to be removed,
then a newer version reinstalled which could get removed again on a
subsequent package processing, being it on the list.
Closes: #726112
|
|
This clarifies the purpose of the file related to the dpkg action to
perform.
|
|
|
|
|
|
This will be used later by the extraction code to know whether it should
ensure consistency of shared files or not.
Based-on-patch-by: Raphaël Hertzog <hertzog@debian.org>
Patch-sponsored-by: Linaro Limited
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
|
|
The former is not using any declarations from tarfn.h, but the latter
is.
|
|
Move the conflictor and cflict_index variables to processarc.c and
make them static. And create a new push_conflictor() function to hide
the implementation details. This fixes a warning on variable shadowing.
|
|
Maps better to the system remove(2) function name.
|
|
|
|
The context does not have anything to do with the TarInfo struct,
so pass it as a function argument either as 'void *' or as
'struct tarcontext *' if the type is known.
|
|
It was scanning the old list of files so it would never install
new files.
|
|
This way it's done in one pass afterwards, to avoid massive I/O
degradation due to the serialization from each write + fsync. This
restores extraction times to numbers closer to the ones before the
fsync patch introduced in 1.15.6.
|
|
Add a missing “of the License” after “version 2”. Move “but” and “GNU”
at the end of line to the next line. This matches more closely the
paragraph found in the license text for the GPL version 2.
|
|
Use the <http://www.gnu.org/licenses/> URL, instead of in most cases
the outdated FSF address, which is way more stable, as the latter has
changed several times in the past.
|
|
|
|
|
|
|
|
Some 'Copyright <year>' entries didn't have a copyright symbol.
Add it and switch the rest from '(C)' to '©', but we don't do this
on program output which for now should remain pure ascii.
|
|
As a side effect, run the deconfiguration of each package to be
deconfigured once, instead of once per each conflicting package being
removed.
|
|
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.
|
|
* Bin-MU; recompile against Debian unstable, to make dselect actually
installable.
-- Scott James Remnant <scott@netsplit.com> Fri, 11 Mar 2005 09:00:14 +0000
|