<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration, branch main</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=main</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-04-26T20:10:30Z</updated>
<entry>
<title>Allow parsing an empty Provides line</title>
<updated>2024-04-26T20:10:30Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-26T18:50:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c98bcdf00e5366fec101dd17094d36be21872a02'/>
<id>urn:sha1:c98bcdf00e5366fec101dd17094d36be21872a02</id>
<content type='text'>
If dpkg-gencontrol was involved in the creation of a package we will not
usually encounter empty or otherwise useless fields, but apparently not
everyone is using it.

It isn't recommended to have these empty lines, but it isn't too hard to
ignore for Provides as we did for dependencies already and apt-ftparchive
can be convinced to produce empty files (if you feed it such a package)
as well, so lets be nice and provide users with a more accepting parser.

Closes: #1069874
</content>
</entry>
<entry>
<title>Add test for dealing with unsat Suggests promoted to Recommends</title>
<updated>2024-04-24T13:16:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-04T13:36:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7a1063e81b855ac7ff9ee54f115843c3af6dd1bf'/>
<id>urn:sha1:7a1063e81b855ac7ff9ee54f115843c3af6dd1bf</id>
<content type='text'>
Our code does the right thing currently, so lets add a test to ensure
this keeps being the case in the future.
</content>
</entry>
<entry>
<title>Drop sudo-related envvars in testing framework</title>
<updated>2024-04-24T13:16:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-23T16:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9c06578c37ff77b70b9d978d48528df13e13530f'/>
<id>urn:sha1:9c06578c37ff77b70b9d978d48528df13e13530f</id>
<content type='text'>
Our autoremoval-advertisment is modified by SUDO_USER as if the current
apt call was made with sudo it seems a good idea to show the ad with
sudo as well. That is annoying for our tests through as normally the
tests are run locally or by autopkgtest without sudo, but in Gitlab CI
we use it (to run our tests as user… as we are already root) and so
individual tests had to deal with this.

That is annoying and really not needed as we can have our autoremove
test check that this ad gets displayed the right way and ignore it the
rest of the time.
</content>
</entry>
<entry>
<title>Do not upgrade rev-deps ear-marked for removal</title>
<updated>2024-04-24T13:16:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-03-14T20:59:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d030a1041b243c45dcd41e34d3c2b21cf1a533ba'/>
<id>urn:sha1:d030a1041b243c45dcd41e34d3c2b21cf1a533ba</id>
<content type='text'>
We schedule reverse dependencies for an upgrade, but we shouldn't do it
if we have ear-marked this package for removal later on. Usually the
solver will end up doing the right thing like it already did in the
included testcase in the end, but given that before it reaches the right
end it explored a bad path which can lead to more installs and removals
influencing later decisions or are just too hard for the resolver to
undo later on, we can just not explore this path to begin with.

References: e077370ffcb3669a50a600e80356c2002e6b176d
</content>
</entry>
<entry>
<title>Match version constraints before saving garbage packages</title>
<updated>2024-04-24T13:16:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-03T19:12:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e099ee946000797f4c03b8c5075ce7ebba193337'/>
<id>urn:sha1:e099ee946000797f4c03b8c5075ce7ebba193337</id>
<content type='text'>
We remove new garbage packages from the solution if we can as installing
a new package which is at the same time considered garbage looks silly,
but it could also be a new dependency of another garbage package, so we
have a second round trying to save such packages. In this round we
weren't considering versioned constraints on dependency relations through
so even an unsatisfied old recommends could save which it shouldn't.
</content>
</entry>
<entry>
<title>Only show Recommends/Suggests for new installs, not upgrades</title>
<updated>2024-04-12T14:01:02Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-12T13:10:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=275ee5afe968e77d8379f0f3b6dc54c6239aa4f6'/>
<id>urn:sha1:275ee5afe968e77d8379f0f3b6dc54c6239aa4f6</id>
<content type='text'>
This makes things more useful in combination with the upgrade
command, but introduces a subtle change seen in the test suite
when you use the install command to upgrade packages.
</content>
</entry>
<entry>
<title>apt: Introduce the new terse apt output format 3.0</title>
<updated>2024-04-12T13:57:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-11T21:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=abfae1aec588c1b4ae46f229d8312a3c5e6b8b7a'/>
<id>urn:sha1:abfae1aec588c1b4ae46f229d8312a3c5e6b8b7a</id>
<content type='text'>
The key talking points here are:

1. Instead of long sentences, we use short concise messages,
   e.g. "The following NEW packages will be installed" becomes
   "Installing".

2. Dependencies are only listed once. We removed the
   "The following additional packages will be installed" section
   in favor of splitting up the "Installing" section into
   "Installing" and "Installing dependencies" (like dnf)

3. The order of the output is different:

   1. Packages to be installed manually
   2. Packages to be installed automatically
   4. Weak dependencies of new packages not installed
   3. Packages to be upgraded
   4. Packages to be downgraded
   5. Packages that have been kept back / are on hold
   6. Removals
   7. Essential removals

   i.e. we logically show you the action that is being
   done, followed by lists related to the action.

4. As requested by popey, we have colorful UI, with green for
   packages being installed and red for packages being removed.

Caveats:

- The list of recommends and suggests has not been updated yet,
  it should move to after the packages being installed (as they
  are what triggers them)

This also introduces output format versioning, configured by the
APT::Output-Format option. The default value is 0, except for the
apt(8) binary where it is 30 - which enables the new style.
</content>
</entry>
<entry>
<title>Columnar output for package lists similar to 'ls'</title>
<updated>2024-04-12T13:56:56Z</updated>
<author>
<name>Christian Blichmann</name>
<email>mail@blichmann.eu</email>
</author>
<published>2022-02-01T19:59:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=690993b1b9b4a932ca5bf5374c59e4cf88f18732'/>
<id>urn:sha1:690993b1b9b4a932ca5bf5374c59e4cf88f18732</id>
<content type='text'>
This change makes it a bit easier to quickly grasp the changes
about to be performed by apt.

It displays package lists in a columnar format by default,
similar to what `ls` produces for files.

A new long option `--no-list-columns` and an associated
`APT::Get::List-Columns` config setting control the behavior.

Usage example, with 60 column wide terminal:

```
$ sudo apt upgrade                                          |
Reading package lists... Done                               |
Building dependency tree... Done                            |
Reading state information... Done                           |
Calculating upgrade... Done                                 |
The following packages were automatically installed and are |
no longer required:                                         |
  libappindicator1 libindicator7                            |
  libdbusmenu-gtk4 linux-image-5.14.0-4-amd64               |
Use 'sudo apt autoremove' to remove them.                   |
The following packages have been kept back:                 |
  criu        linux-headers-amd64 nvidia-settings           |
  libxnvctrl0 nvidia-modprobe     xwayland                  |
0 upgraded, 0 newly installed, 0 to remove and 6 not upgrade|
d.                                                          |
```

The effect becomes more pronounced with more packages (e.g. when
doing a dist-upgrade).
</content>
</entry>
<entry>
<title>Revert "Temporarily downgrade key assertions to "soon worthless""</title>
<updated>2024-04-09T17:59:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-09T17:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=81c65f7e86b8f16eaaa91d9c205a594b0ebde159'/>
<id>urn:sha1:81c65f7e86b8f16eaaa91d9c205a594b0ebde159</id>
<content type='text'>
We temporarily downgraded the errors to warnings to give the
launchpad PPAs time to be fixed, but warnings are not safe:
Untrusted keys could be hiding on your system, but just not
used at the moment. Hence revert this so we get the errors we
want.

This reverts commit 66998ed3d299bede651ad40368bdb270f5f5b0f9.

LP: #2060721
Gbp-Dch: full
</content>
</entry>
<entry>
<title>Ignore umask of leftover diff_Index in failed pdiff test</title>
<updated>2024-03-30T15:59:57Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-03-20T12:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e62162d010fc7d6374067964ced3ac227b0440b2'/>
<id>urn:sha1:e62162d010fc7d6374067964ced3ac227b0440b2</id>
<content type='text'>
We don't store .diff_Index files anymore and so libapt cares even less
about these purposefully leftover files from the testcases than it did
previously. On a successful apt run they would just be deleted, but as
we are testing a failed run they are not touched at all.

Testing the file access bits then means we check with whatever umask
they were created which might very well be different to what apt decides
these files to have if it had touched them, so for this test we just
delete them. For the other case we set it completely wrong just in case,
but they will (hopefully) be non-existent anyhow as tested first.

References: afcdbcf895284efd76903b2b3ba5cc849059ce50
</content>
</entry>
</feed>
