| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\
| |
| |
| |
| | |
bash-complete basic list search patterns
See merge request apt-team/apt!536
|
| |/ |
|
| |\
| |
| |
| |
| | |
solver3: Refactorings
See merge request apt-team/apt!542
|
| | | |
|
| | |
| |
| |
| | |
Where applicable
|
| | |
| |
| |
| | |
I do not know why I don't hit this
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This method is no longer needed technically speaking, we should
use Assume() instead. It turns out that there is a slight bug in
the propagation and some clauses that are unit end up on the heap
rather than having been propagated away, so we temporarily need
to keep an if for that around.
To accomodate the switch from Push() to Assume() we need to make
sure that the work item is pushed to our trail *after* we
have assumed it, such that reverting pushes it back to the work
heap.
Refactor the code to consistently use Assume() rather than supporting
Enqueue(), this vastly simplifies things. This is not fully accurate
in the current model and leads to unnecessary decision levels, since
sometimes we seem to be reaching unit clauses here.
This preserves traversal order by first removing the item from the
heap and then adding it back if we need to solve it again.
|
| | |
| |
| |
| |
| | |
This is like assert() but never compiled out so can be used with
function calls that have side effects.
|
| | |
| |
| |
| |
| | |
We can just re-use Enqueue() here to produce our conflict
message why am I being silly and duplicate this.
|
| | |
| |
| |
| |
| | |
Matches the rename of depth() to decisionLevel() at a shorter
name.
|
| | |
| |
| |
| |
| |
| |
| | |
The previous use of decision here conflicted with the use
of decision level and the general notion of having made a
decision, because the assignment might have been propagated
as a matter of fact.
|
| | |
| |
| |
| |
| | |
Move the DependencySolver methods and their helpers to the end of
the file.
|
| | |
| |
| |
| | |
Extract almost all dependency logic into a subclass
|
| | |
| |
| |
| |
| |
| |
| | |
This removes the need for the forward references, thus fixing part
of the libc++ issues pointed out in [merge-511].
[merge-511] https://salsa.debian.org/apt-team/apt/-/merge_requests/511/diffs
|
| | |
| |
| |
| |
| | |
This should make it easier for people with MiniSAT knowledge
to onboard themselves to the solver.
|
| | |
| |
| |
| |
| | |
MUST becomes True, MUSTNOT becomes False, and NONE becomes
Undefined.
|
| | | |
|
| | |
| |
| |
| | |
This simplifies the code _slightly_
|
| |/ |
|
| |\
| |
| |
| |
| | |
configure-index Acquire::ForceIPv4/6
See merge request apt-team/apt!531
|
| |/ |
|
| |\
| |
| |
| |
| | |
Fix host-specific Acquire::https CAInfo/CRLFile example (Closes: #1112123)
See merge request apt-team/apt!541
|
| |/
|
|
|
|
| |
The proper syntax for a host-specific parameters are:
Acquire::https::deb.debian.org::CAInfo "/path/to/cert.pem";
Acquire::https::deb.debian.org::CRLFile "/path/to/cert.pem";
|
| |\
| |
| |
| |
| | |
Priority 1000 allows downgrades. Closes #1016967
See merge request apt-team/apt!537
|
| |/ |
|
| |\
| |
| |
| |
| | |
Grammar fixes
See merge request apt-team/apt!535
|
| |/ |
|
| | |
|
| |
|
|
| |
Document options inside apt(8)
|
| |
|
|
| |
Explicit iterators considered harmful :)
|
| | |
|
| |\
| |
| |
| |
| | |
Correctly copy provided version in m-a lazy-init
See merge request apt-team/apt!530
|
| |/
|
|
|
|
|
|
| |
When a provides was copied, we inadvertently copied the package
version instead of the provided version. Copy the provided version
instead.
Closes: #1120463
|
| |\
| |
| |
| |
| | |
Fix missing includes
See merge request apt-team/apt!528
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was missed in 4b22a1e36 (apt-team/apt!522), and caused the
following error when built with GCC 12:
/var/tmp/apt-20251026-9687-pc954n/apt-3.1.10/apt-private/private-cmndline.cc:544:23: error: ‘optional’ is not a member of ‘std’
544 | static std::pair<std::optional<long unsigned int>, std::optional<long unsigned int>> parseCliVersion(std::string_view version)
| ^~~~~~~~
/var/tmp/apt-20251026-9687-pc954n/apt-3.1.10/apt-private/private-cmndline.cc:27:8: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
26 | #include <apti18n.h>
+++ |+#include <optional>
27 | /*}}}*/
While at it, also add missing <utility> include for std::pair.
Discovered in https://github.com/Homebrew/homebrew-core/pull/251162 by
Anton Melnikov.
Co-authored-by: Anton Melnikov <antonsm21@gmail.com>
Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 74636b64a7ee56637a3ce4ddc1d060ca9f8b77e1.
Adjust the test case accordingly, as it is no longer possible to
install libgcc-s1:s390x. We need to sort this out in the ToDepCache
translation layer at a later time.
Sadly the depcache rejects valid solutions like this; solving this
isn't trivial. Technically we need to split up the FromUser and
auto-bit handling to solve this, but even then, MarkDelete() with
FromUser=0 moves the auto-bit on metapackages; this doesn't happen
when doing FromUser=1, so we can't always do FromUser=1.
Fixes: a3fca052ca21ad222ac7f2fdd7f3fe84b44beb60
|
| |
|
|
|
|
| |
We never implemented comment support in the skip test file for
-j as we only run with -j, but the debian/tests/run-tests runs
without parallelism.
|
| |
|
|
|
|
|
| |
Remove the exports for the default as we don't want those
inherited, they can just be reset. Set the skip file to
/dev/null when a solver is selected, to make sure that
tests don't fall back to the default skip file.
|
| |
|
|
|
| |
Not needed so far because we export a default 3.0 APT_SOLVER, but
quite useful if we stop doing so (next commit).
|
| | |
|
| |\
| |
| |
| |
| | |
Enable the new solver by default in 0.31, 1.21, 2.11, 3.1
See merge request apt-team/apt!527
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Record a silly string if we backtracked such that we are aware
of it. We need to handle this in a broader fashion, but
this was at least breaking test-apt-never-markauto-sections
with remove-manual
LP: #2129819
|
| | |
| |
| |
| |
| | |
Do not prevent us from changing the version of a foreign package
because a sibling that is being removed has a different candidate.
|
| |/
|
|
|
| |
Enable the new solver by default and remove the vendor-specific
configuration change in Ubuntu's drop-in.
|
| |\
| |
| |
| |
| | |
Merge Architecture variants from Ubuntu
See merge request apt-team/apt!526
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Architecture variants are children of an architecture that share
the same ABI but are optimized for different ISA levels. They
are available in Ubuntu 25.10 and newer, and not supported in
Debian or other distributions.
A deb built for a variant contains the Architecture-Variant field,
and the Architecture field points to the baseline, for example:
Architecture: amd64
Architecture-Variant: amd64v3
However, the apt-get indextargets command reports the variant in the
Architecture: field, and most of the code in APT presents the variant
as the architecture.
There are two types of variants:
1. Standalone variants are recorded in the Architectures field of the
Release file as if they were a real architecture:
Architectures: amd64 amd64v3
Standalone architecture variants only fetch the standalone
architecture variant's Packages file. To do this, this patch
changes the code such that the variants indextargets "supplant"
the base targets.
This may have complicated outcomes on the apt-get indextargets
command.
2. Other variants can only be identified by their files being recorded
with hashes in the Release file.
APT fetches both the base architecture's as well as the variant's
Packages file.
Variants are configured in the
APT::Architecture-Variants
list.
Image builders may want to build specific variant images using
APT::Architecture-Variants { "amd64v3"; }
But this commit also implements an automatic discovery mechanism
using the varianttable and /proc/cpuinfo.
APT::Architecture-Variants "auto";
|
| |/
|
|
| |
This splits based upon contiguous whitespace as separators
|
| |\
| |
| |
| |
| | |
i18n: Add Irish (ga) translation for APT
See merge request apt-team/apt!507
|