Age | Commit message (Collapse) | Author |
|
|
|
This is not supposed to be done this way, but frankly, since we
abstract away the backend, there's not much else we can do here.
Closes: #949074
|
|
Type-safe cache / map_pointer
See merge request apt-team/apt!105
|
|
This allows us to extend those in-cache objects with more
data later on without breaking the ABI.
Reserve 12 pointers for private data in the pkgCache class,
and double the size of pools to 24.
|
|
When converting a long offset to a uint32_t to be stored in
the map, check that this is safe to do. If the offset is
negative, or we lose data in the conversion, we lost.
|
|
Instead of just using uint32_t, which would allow you to
assign e.g. a map_pointer<Version> to a map_pointer<Package>,
use our own smarter struct that has strict type checking.
We allow creating a map_pointer from a nullptr, and we allow
comparing map_pointer to nullptr, which also deals with comparisons
against 0 which are often used, as 0 will be implictly converted
to nullptr.
|
|
|
|
This is a first step to a type safe cache, adding typing
information everywhere. Next, we'll replace map_pointer<T>
implementation with a type safe one.
|
|
Check that the index we're going to use is within the size
of the array.
|
|
This fixes a segmentation fault trying to read from nullptr+1,
aka address 1.
|
|
bash completion: Add autopurge command
See merge request apt-team/apt!75
|
|
apt-mark: don't lie about successful marks
See merge request apt-team/apt!94
|
|
apt-pkg/srcrecords.cc: 'source' means 'deb-src' in error message
See merge request apt-team/apt!101
|
|
ABI break: Remove CRC-16
See merge request apt-team/apt!97
|
|
|
|
|
|
ABI BREAK: Implement pinning by source package
See merge request apt-team/apt!96
|
|
Bump ABI to 6.0
See merge request apt-team/apt!103
|
|
Remove all code scheduled to be removed after 5.90, and fix
files to include files they previously got from hashes.h
including more headers.
|
|
|
|
|
|
This experiment did not turn out sensibly, as some servers do not
accept credentials when none are expected and fail, so you cannot
mirror such a repository.
This reverts commit c2b9b0489538fed4770515bd8853a960b13a2618.
|
|
These allow overriding priorities, however, pins set by SetPriority
for package files will be overriden by calls to InitDefaults().
|
|
doc: remove "WIP" from apt.8.xml
See merge request apt-team/apt!102
|
|
The current man-page has "(work in progress") for `apt list`.
I feel after more than >5y we can remove this.
|
|
The filename "sources.list" suggests that all contained lines are meant
to describe some package source, so users might not immediately
understand that this refers to 'deb-src' type lines. Please see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919285
for an example of the resulting confusion.
|
|
Saw those in libseccomp commit, figured should add them
too.
|
|
Version 2.4.2 is needed for the new syscalls we added to the
whitelist.
|
|
Went through the list of syscalls starting at 403 (and looked
one back) up to the next unknown syscalls, and added all those that
were present in their non-time64 variant.
Closes: #951012
|
|
While moving to a more stable clock in 79b61ae I typoed the microsecond
calculation part and copied it all over the place… Julian fixed the
first two instances in 089e6271 and Trent reported the apt-ftparchive
instances leaving one instance in progress (invisible for user though).
A bit ironic that in an attempt to stop "confusing (and amusing) users"
I managed to hide a typo for close to two years doing just that…
Sadly we can't really test this as while "apt-ftparchive generate /dev/null"
is a great interactive test, it is hard to teach our test framework that
the output is "reasonably below an hour" (usually 0s, but on busy test
systems it is perhaps longer…).
Thanks: Trent W. Buck for initial patch
Closes: #950776
References: 79b61ae7673eb6213493e2cb202f0d70c390932d,
089e627153781ae7c320a5a0724c6c70d684b689
|
|
|
|
Missed that in pu/short-patterns.
|
|
Implement short patterns
See merge request apt-team/apt!100
|
|
|
|
we have to stop parsing on space so that things like ~ramd64 | ~rall
work correctly.
aptitude does not stop parsing on ?, but we'll do as it gets very
confusing otherwise if you write stuff like ~ramd64?name(foo), and
it resolves to ?and(?architecture(amd64?name), (foo))...
|
|
|
|
|
|
|
|
|
|
|
|
This changes the syntax from approximately
expr = unary
unary = '!'? primary
primary = pattern | short-pattern | word | quoted-word
pattern = '?' name [ '(' expr [',' expr]* ')' ]
short-pattern = ~ name | ~name expr
to:
primary = pattern | short-pattern
argument = word | quoted-word | expr
pattern = '?' name [ '(' argument [',' argument]* ')' ]
short-pattern = ~ name | ~name argument
|
|
|
|
Also make pattern detector in cacheset and private's list accept
such patterns. We probably should just try to parse and see if it
is a (start of a) pattern.
|
|
This will make it easier to extend those views, given that
we do not need to hardcode their length.
|
|
By having a node constructor, we can construct a node inline
for error reporting needs, simplifying the code a bit.
|
|
This allows comparing against sentence.size()
|
|
This allows us to define constexpr string view literals.
|
|
Widen regular expressions for versioned kernel packages
See merge request apt-team/apt!59
|
|
Since we append a concrete kernel version to each pattern, and then
anchor the pattern, let's just pick any package starting with a
kernel name (linux-, kfreebsd-, gnumach-), and not worry about
linux-headers, linux-tools, etc specifically, as they'll be caught
by the generic pattern.
LP: #1607845
|
|
|