Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
- Add a new dpkg --assert-versioned-provides command.
- Packages can provide a specific version, “virtual (= 1.0)” which will
be honored, previously it would just be accepted when parsing.
- Non-versioned virtual packages will not satisfy versioned dependencies.
- Versioned virtual packages will satisfy non-versioned dependencies.
This commit is very slightly based on the code reverted in commit
7df7d53a57b9913f4a20b2c9dcd554a2d88ff9f3, which was mostly skeletal.
Closes: #7330, #24934, #112131, #134582, #180316
Based-on-patch-by: Ben Collins <bcollins@debian.org>
|
|
|
|
|
|
|
|
|
|
This untangles the types, and makes it possible to use functions that
use such enums as arguments from C++ code, as otherwise the enum would
need to be declared within the struct namespace.
|
|
|
|
|
|
It is way more descriptive, and has a better type. Check for C++11
compiler support and fallback nullptr to 0 if unavailable.
|
|
|
|
|
|
Use more meaningful enum value names, and simplify them by having the
minimum amount of values required.
|
|
|
|
Print the bogus value that triggered the internal error, or simply
reword unclear messages.
|
|
Based-on-patch-by: Raphaël Hertzog <hertzog@debian.org>
Patch-sponsored-by: Linaro Limited
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
It's common for packages to “Provides: foo” and “Conflicts: foo”
when taking over another package. This self-conflict is explicitly
ignored by dpkg.
Now if multiple instances of a “Multi-Arch: same” package do this,
it should still be allowed. Update the checks accordingly both in
dpkg and in dselect.
Sponsored-by: Linaro Limited
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Remove now unused struct pkginfo name member.
|
|
It represents only the package name of the dependency. Later deppossi
will grow an architecture parameter that will allow us to transform
that pkgset into the correct pkginfo (depending on the context).
Note that this transformation depends on the dependency type
(possi->up->dep_type) and as such it won't be done at parsing time
but rather every time that we need to analyze a specific dependency.
[hertzog@debian.org: (Sponsored-by: Linaro Limited)
- Update code for new location of depended struct.
- Update call sites for pkg_db_find() returning pkginfo. ]
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Reverse dependencies only consider the package name and not the package
architecture, so they should logically be part of pkgset and not pkgbin.
To reflect this, the next commit will fix struct depossi so that its ed
member points to a pkgset.
Sponsored-by: Linaro Limited
[guillem@debian.org:
- Move reverse dependencies into a new anonymous depended struct,
instead of two members; available_revdeps and installed_revdeps. ]
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
|
|
Remove trailing spaces. Remove blank lines not separating different code
blocks. Remove blank lines at the end of the file.
|
|
|
|
Use next/prev instead of next/back (which would complement forward).
Also move next to the end of member names and seprate it with an
underscore, to simulate it being a sub struct member.
|
|
The two struct pkginfoperfile inside struct pkginfo are always valid,
as blankpackage does a blankpackageperfile on each. So there's no
actual need for the boolean member, neither for validity checks all
over the place and possible subsequent redundant initializations.
This is due to commit 5f100a01af636c14a600bf53b22e2ca3f2fcc546.
|
|
|
|
|
|
|
|
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.
|
|
Place first <config.h> and <compat.h>, then all <sys/*.h> sorted by
complexity, followed by the rest of the system headers, then <dpkg/*.h>
and finally the local "*.h" ones.
Move <dpkg/i18n.h> inclusion into libdpkg inclusion block, as the
<gettext.h> compatibility header already takes care of including
<locale.h> before <libintl.h> on environments were its probamatic.
Removed duplicated inclusions.
|
|
Tell automake not to add “-I.” to the preprocessor flags, to avoid
file collisions with system headers. Re-add the path where config.h
is located. Namespace and use bracketed file inclusions for libdpkg
headers, and use quoted inclusions for program headers.
|
|
The test was always false due to the typo.
|
|
Remove f and v from value names. Remove duplicated value for reinstreq.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Surround boolean expressions with parenthesis.
Switch a for with an empty body into a while.
|
|
Closes: #17243, #68981, #215374, #217622, #248693, #308285
|
|
It works just like Conflicts. This is correct since dselect only deals
with packages being installed, removed or placed on hold.
|
|
The previous code seems to have had some confusion over the precedence
of '&&' vs ':'. The new rule is that a Conflicts is violated if the
target package is installed or to be error-preserved ie
would_like_to_install() != 0 - except that we disregard packages which
directly Conflict with themselves.
|
|
* dselect/pkgdepcon.cc (packagelist::resolvedepcon): Recognise the
dep_breaks dependency type in the dependency and conflict resolution.
|
|
recommended packages
|
|
making it the first include, then off_t/size_t/etc could actually be
redefined to be 64-bit compatible.
|
|
|
|
|