| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/
|
|
|
| |
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
|
| |/
|
|
| |
[jak: Run update-po on it]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a user ran `apt install gpg`, the solver decided to remove
`gnupg` and `seahorse` because `seahorse` was only pulled in as
a Recommends of ubuntu-desktop and Recommends were resolved after
all other dependencies.
Solve this to most extent by introducing eager optionality: These
dependencies, while they do not take part in classic unit propagation,
are otherwise treated like hard dependencies and resolved as soon
as possible rather than after any hard dependencies.
This ensures that the Recommends of ubuntu-desktop on seahorse
is retained correctly, and as a result, gnupg is updated to the
latest version.
Oops: 6c8e32eb-665d-11f0-a985-fa163ec8ca8c
|
| |\
| |
| |
| |
| | |
CLI versioning
See merge request apt-team/apt!522
|
| | |
| |
| |
| |
| |
| | |
The --cli-version argument can be used to request a specific
CLI version. The default CLI version is the APT version for apt(8)
and 0 for the other apt-get tools.
|
| |/ |
|
| | |
|
| |
|
|
| |
Closes: #1116322
|
| |
|
|
| |
Closes: #1115367
|
| |
|
|
| |
Closes: #1115366
|
| |
|
|
| |
Closes: #1110853
|
| |\
| |
| |
| |
| | |
ExecFork: Simplify closing and make it safe
See merge request apt-team/apt!525
|
| | |
| |
| |
| |
| | |
Rather than just setting the flags to 0 or FD_CLOEXEC, read
the current value and append or remove as needed.
|
| |/
|
|
|
|
|
|
|
| |
Implement a wrapper around FD_CLOEXEC and use it in place of
the raw fcntl(). This wrapper _Exit()s the child if the operation
failed.
Restructure the close_range() handling to simply mark all fds for
closing first and then "reopen" the ones we should keep.
|
| | |
|
| |\
| |
| |
| |
| | |
ExecFork: Use close_range() if available
See merge request apt-team/apt!524
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
Use close_range() if we have it in preference to iterating
over /proc/self/fd and falling back to closing all possible
fds.
This builds sets of ranges to close that take into account
the APT::Keep-Fds vector, and a test case is provided to
ensure correctness of the splitting logic.
Preference is given to close_range() over /proc as in the
optimal case, this results in a single system call!
|
| |\
| |
| |
| |
| | |
Let APT::Get::Mark-Auto satisfy APT::Get::Build-Dep-Automatic
See merge request apt-team/apt!514
|
| |/
|
|
|
|
|
|
| |
This allows:
apt build-dep --mark-auto apt
Closes: #973260
|
| |\
| |
| |
| |
| | |
Fix history command error when no ID was given
See merge request apt-team/apt!520
|
| |/ |
|
| |\
| |
| |
| |
| | |
fix compiling with musl
See merge request apt-team/apt!508
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case apt is compiled against musl-libc, then compilation fails with the
following error:
cmdline/apt-internal-solver.cc:122:20: error: 'basename' was not declared in this scope; did you mean 'rename'?
| 122 | if (strcmp(basename(argv[0]), "solver3") == 0)
| | ^~~~~~~~
| | rename
To fix it, include libgen header where musl can find this function also.
Once this is fixed, compilation fails once again with musl-libc, because
the basename function takes *char argument instead of const *char:
this is because the musl implementation cuts off the trailing slashes
of the path, in case the argument is a folder path.
To account for this, instead of passing argv[0] directly, create a non-const
string copy of it, and pass that to base.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
|
| | |
|
| |
|
|
|
|
|
|
| |
We don't quite know why a stuck queue cannot get unstuck here,
and it's possible that this is causing the queue to stall, but
shrug.
Closes: #1111554
|
| | |
|
| |\
| |
| |
| |
| | |
Add history undo, redo, and rollback features
See merge request apt-team/apt!518
|
| |/ |
|
| |
|
|
|
|
| |
When testing as installed, we inadvertently do not replace
the command-line with dummy in the "apt history-list"
command.
|
| | |
|
| | |
|
| |
|
|
| |
For some reason I have them in my log file.
|
| |
|
|
|
| |
This will particularly be useful in the next commit; just
strip the path form the commandline.
|
| |\
| |
| |
| |
| | |
History Command and Parsing
See merge request apt-team/apt!516
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
autopkgtest run on stable can have an uname like "6.12.41+deb13-amd64".
The +deb13 being relatively new in the package name. The code doing the
autoremoval has no problem with it and its a legal package name, but
the test that wants to check if the right regexes are generated does not
escape the + correctly (aka at all) so it isn't finding the regex it is
looking for failing the test.
|
| |
|
|
|
|
|
|
| |
Tests usually print the command they run, but it can be overridden with
a chosen message to make clearer what is actually tested. To debug
failures it can be useful to know the command run through especially if
its a partly generated command depending on the test environment
(like in the kernel autoremove test).
|
| | |
|
| |\
| |
| |
| |
| | |
edsp: Bug fixes for architecture reading and dumping solver errors
See merge request apt-team/apt!483
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We skipped the Architecture: line because when the outer
loop got to it, the inner loop started and read the next
line after it.
Get rid of the nested loop instead, and first run a loop
to find the request line, and then a second loop to parse
the request flags.
An alternative would be to use a combined loop that
supports non-compliant protocol implementations, but
that's harder to read and we don't expect there to be
any especially on the request side.
|
| |/
|
|
| |
We need to actually use the architecture values we set
|
| |\
| |
| |
| |
| | |
Fix indentation compiler warning with clang
See merge request apt-team/apt!498
|
| |/
|
|
|
|
| |
This commit fixes the following compiler warning.
cacheiterators.h:423:54: warning: misleading indentation;
statement is not part of the previous 'if' [-Wmisleading-indentation]
|
| |\
| |
| |
| |
| | |
debListParser: Cache `essential` and `myArch` more
See merge request apt-team/apt!503
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lookup these variables in the constructor once, rather than
once per package.
This requires a bit of care as debListParser::UsePackage()
defaults to "all" for essential when unset, hence we simply
change its == "all" comparisons to == "all" || .empty().#
This removes any per-paragraph configuration lookups
from the file parser.
Also parse myArch from ParseProvides down to ParseDepends()
as that call ended up causing it to query APT::Architecture
*again* since the function we call is static.
Together, the removed config lookups safe about 2.3% of
cache generation runtime.
|
| |\
| |
| |
| |
| | |
Update Simplified Chinese translation
See merge request apt-team/apt!504
|