Age | Commit message (Collapse) | Author | Files | Lines |
|
The debug output was not balanced, and was only printing when no match
happened, making the output confusing.
|
|
When a pre-dependency is not satisfied due to a package in
triggers-awaited state, immediately run the trigger processing
and continue without errors.
This make it possible to blindly use --no-triggers and not break
when you're not fully configuring a pre-dependency.
See test case t-predepends-no-triggers.
|
|
Package in triggers-awaited state do not satisfy dependencies but they
could easily if their awaited triggers were processed. So we enhance the
function to return such a hint when possible.
All the callers pass NULL to the new parameter so that this commit
should not change the current behaviour.
|
|
The error message used while analyzing pre-dependencies did improperly
use the available version instead of the installed version.
|
|
A dependency on a virtual package provided by a package in
triggers-pending status is now correctly considered as satisfied.
|
|
This clarifies the action performed by the function, which could be
easily confused as being used by the given package, instead of by other
packages.
|
|
|
|
On package removal, keep only directories actually containing conffiles,
and not directories just matching the substring in the conffile or the
directory itself. The directory itself is not matched either as strictly
speaking it is not contained in itself, and it should already be in the
leftover lists.
Previously when checking for directory ‘/foo’ the following conffiles
would match:
/foo
/foobar
/foo/bar
Now only the following will match:
/foo/bar
Spotted-by: Ondřej Surý <ondrej@debian.org>
|
|
The former is not using any declarations from tarfn.h, but the latter
is.
|
|
When being used as an adjective “unselected” is the correct word to use.
Closes: #231089
|
|
These have been non-functional for a long time, and were being treated
as dpkg commands which would conflict with the dpkg-deb commands.
|
|
This will make it easier to convert new flags in the future.
|
|
Closes: #245322
Based-on-patch-by: Christopher Baines <cbaines8@gmail.com>
|
|
This allows to install old packages with such versions, to ease
debugging, testing, etc.
|
|
Closes: #147583
|
|
|
|
Conflicts:
debian/changelog
|
|
This puts it in line with the rest of tarobject filesystem metadata
setters.
|
|
Glibc implements lutimes() on top of utimensat() which is only provided
by Linux >= 2.6.22. With older kernels it returns ENOSYS.
This regression was introduced by commit
b3eb59cf43c286bb6c906c00ef1cdc0ec21f474d which implemented support for
setting timestamps of symlinks.
Reported-by: Michael Prokop <mika@debian.org>
|
|
The regression was introduced in commit
280ac914cc52ee5de079c0833bb1df5005c1e7ab. The variable used for the loop
got incremented twice for each iteration, the net result is that the list
of filenames contains random data on half of the entries.
Reported-by: Craig Sanders <cas@taz.net.au>
|
|
Otherwise we might leave cruft behind.
Regression introduced in commit 02b12d75f1eff7c184fafb5a663a0421e9a645ea.
|
|
|
|
This makes file_copy() safe to use by itself, and will allow to pull it
out and use it in other places in the future.
|
|
This has several consequences, the code will not trigger leak detectors
like cppcheck due to ohshite() being marked non-returning, and the error
messages are going to be more descriptive.
Closes: #620380
|
|
This reverts commit bdcee319a90eee494af70e6725fed8b4e8f16584.
|
|
Use lutimes() conditionally as it might not be widely available.
|
|
This unifies a bit more the tarobject permission handling into a single
place.
|
|
There's never a reason to override the mtime, no point in carrying and
copying it around in file_stat for now.
|
|
POSIX.1-2008 marked utime(2) as obsolete. Ideally we'd switch to use
utimensat(2), which would simplify quite a bit the code, but it's not
yet widely available, and using it would imply having to support
fallback code at compilation and run-time. This can be done later on
once we up the POSIX baseline.
|
|
This will allow to handle the different cases transparently. Pass a
tar_entry to each of the functions.
|
|
|
|
|
|
|
|
Always call newtarobject_utime() for all tar object types, except
symlinks.
|
|
|
|
This avoids a temporary variable, given that now the function is
strongly prototyped.
|
|
|
|
This will allow using type-safe function pointers instead of casting
them around. Replace all exit(3) calls with return statements. Remove
DPKG_ATTR_NORET from function declarations, all functions are expected
to return now.
|
|
This will allow to pass arbitrary values from the command actions when
there's not been any reported error.
|
|
Reported-by: Niels Thykier <niels@thykier.net>
|
|
Regression introduced by commit ceb07b08dad4d5eead630064f45c7e7ded00a341.
Reported-by: Marc A. Donges
|
|
This is a regression introduced by the C rewrite of dpkg-divert
(commit 02b12d75f1eff7c184fafb5a663a0421e9a645ea) that made it unable to
rename files when that rename implies a copy on another file system.
The code has provision to do a copy when a simple rename is not enough
but the associated function erroneously returned a failure value when
that operation was performed.
Reported-by: Durk Strooisma
|
|
This allows to support large files on 32-bit systems were a ‘long int’
type might not be of at least 64-bits. For printing %jd or %jx is used,
and the value is cast to intmax_t.
|
|
This was spotted by a run with the clang static analyzer.
|
|
Suggested-by: Sven Mueller <sven@debian.org>
|
|
These functions are not really part of the modstatdb module, and by
moving them out they get detangled and will make it possible to extend
them w/o pulling additional code into binaries not using the functions.
|
|
The interface to get and set the database directory is dpkg_db_get_dir()
and dpkg_db_set_dir().
|
|
Use dpkg_db_get_dir() and dpkg_db_get_path() to globally retrieve the
database directory instead of passing it around.
|
|
Remove now unused pkgadmindir_init().
|
|
|