| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Automatically show the output of `show`, `policy`, `list`,
`search`, `showsrc` in a pager.
The pager setup is inspired by git's pager setup. Notably,
the pager is found using APT_PAGER and PAGER variables.
We wait for the pager to be setup somewhat correctly by
using a notify pipe to figure out whether execvp() was
succesful - then the pipe will read EOF as the other end
got closed by CLOEXEC during exec - or not, then the pipe
will contain an errno.
We set up the correct handlers for signals and exit to close
the fds and wait for the pager. Notably inside the signal
handler we cannot flush our streams, only close them, so
there is some duplication.
We call the InitOutputPager() function from inside the
various Do...() functions rather than setting it up
generally in InitOutput(). Doing so allows us to first
render the progress without a pager, and then setup
the pager for the content only which improves user
experience.
When we setup a pager we also take care to disable
standard input, as we should not be prompting users
while a pager is running (the pager will be reading
from the tty directly). We do this by dup2-ing() a
/dev/null over it; if we just close()d the fd, another
open() might reuse the fd number and problems could
occur.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
JSON: Pass options to hooks in hello message
See merge request apt-team/apt!389
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This also ensures that our JSON is actually correct
JSON.
echo may fail now with EPIPE, given that it is multiline, so
wrap it in 2>/dev/null
|
| |/ |
|
| | |
|
| |
|
|
|
|
| |
Reorganising the control file allows this simple test to run first and
be marked as superficial which makes no practical difference, but is
more correct.
|
| |
|
|
|
|
|
|
| |
If the system tells us that a core dump was created we should try to
display the contained info as that system might not be easily available
when we see the error (like C-I or autopkgtest).
Gbp-Dch: Ignore
|
| |
|
|
|
|
| |
We use a Breaks for the binary package instead of adding
a versioned depends, as Breaks will cause apt solver to upgrade dpkg,
while depends would make apt try to remove apt as first choice.
|
| |
|
|
|
|
| |
Unfortunately for us, apt update with Acquire::Queue-Mode=access
does not always crash on a real system, so run the whole thing
in valgrind.
|
| |
|
|
| |
Closes: #439121
|
| |
|
|
|
|
|
|
| |
This is an optional dependency for the test, but the skipping of the
test is very noisy and checking that an unchanged aptitude isn't
downright exploding with our libapt isn't a bad idea either.
Gbp-Dch: Ignore
|
| |
|
|
|
|
| |
We do want to get our autopkgtests triggered by dpkg uploads
in Ubuntu, but this does not happen because we don't have
an explicit dependency on it. Add one.
|
| |
|
|
|
|
|
| |
Hardcoding gpgv1 and gnupg1 breaks Ubuntu, because on Ubuntu,
these packages do not exist yet. Instead allow gnupg (<< 2)
for gnupg1 and gnupg2 for gnupg (>= 2), so we cover all
potential combinations.
|
| |
|
|
|
|
| |
We need to support partial upgrades anyhow, so we have to deal with the
different versions and your tests try to ensure that we do, so we
shouldn't make any explicit higher requirements.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problemresolver will set the candidate version for pkg P back
to the current version if it encounters an impossible to satisfy
critical dependency on P. However it did not set the State of
the package back as well which lead to a situation where P is
neither in Keep,Install,Upgrade,Delete state.
Note that this can not be tested via the traditional sh based
framework. I added a python-apt based test for this.
LP: #1550741
[jak@debian.org: Make the test not fail if apt_pkg cannot be
imported]
|
| |
|
|
|
|
|
|
|
|
|
| |
Ubuntu's autopkgtest server always prints
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
which is somewhat annoying. Work around that by depending on that
perl stuff for the test suite.
Gbp-Dch: ignore
|
| |
|
|
|
|
| |
This allows running tests in parallel.
Git-Dch: Ignore
|
| |
|
|
|
|
|
| |
apt can work with both, so it has an or-dependency on them,
but the tests want to play with both of them.
Git-Dch: Ignore
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
debian/tests/control: Add missing build-essential, fakeroot, and wget test
dependencies.
debian/tests/run-tests: Pin locale to C to avoid test failures in other
locales.
|
| | |
|
| |
|
|
| |
debian/tests/run-tests
|
| |
|