<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/test-no-fds-leaked-to-maintainer-scripts, branch master</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=master</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-07-07T17:13:38Z</updated>
<entry>
<title>Fix test due to display change in ls (coreutils 8.32)</title>
<updated>2020-07-07T17:13:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-07T17:08:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d9b9484b4af2a21c3f5dea6ec10a3128e7304d07'/>
<id>urn:sha1:d9b9484b4af2a21c3f5dea6ec10a3128e7304d07</id>
<content type='text'>
The test runs ls on the opened fds and greps the result for 'root root'
which is how ls (&lt;= 8.30) used to report user and group for these. Now
that Debian contains 8.32 it reports user and group of the process
owning them (supposedly). grepping for both unbreaks the test.

lr-x------ 1 root root 64 Jul  7 19:07 0 -&gt; 'pipe:[10458045]'
lrwx------ 1 root root 64 Jul  7 19:07 1 -&gt; /dev/pts/12
lrwx------ 1 root root 64 Jul  7 19:07 2 -&gt; /dev/pts/12
lr-x------ 1 root root 64 Jul  7 19:07 3 -&gt; /proc/1266484/fd

vs (assuming user:group is david:david)

lr-x------ 1 david david 64 Jul  7 19:07 0 -&gt; 'pipe:[10458045]'
lrwx------ 1 david david 64 Jul  7 19:07 1 -&gt; /dev/pts/12
lrwx------ 1 david david 64 Jul  7 19:07 2 -&gt; /dev/pts/12
lr-x------ 1 david david 64 Jul  7 19:07 3 -&gt; /proc/1266484/fd
</content>
</entry>
<entry>
<title>Don't expect duplicated dpkg status-fd messages</title>
<updated>2018-09-11T11:08:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-09-10T16:43:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f484906eff85c8c9eadc13ce817d8857abdd08e8'/>
<id>urn:sha1:f484906eff85c8c9eadc13ce817d8857abdd08e8</id>
<content type='text'>
The progress reporting relies on parsing the status reports of
dpkg which used to repeat being in the same state multiple times
in the same run, but by fixing #365921 it will stop doing so.

The problem is in theory just with 'config-files' in case we do purge as
this (can) do remove + purge in one step, but we remove this also for
the unpack + configure combination althrough we handle these currently
in two independent dpkg calls.
</content>
</entry>
<entry>
<title>fix testcase expecting incorrect remove log from dpkg</title>
<updated>2016-11-09T15:18:54Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-11-09T13:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9444da765692b9f49a06720b5a75a168d6552c1c'/>
<id>urn:sha1:9444da765692b9f49a06720b5a75a168d6552c1c</id>
<content type='text'>
dpkg 1.18.11 includes:
  * Do not log nor print duplicate dpkg removal action. We print
    “Removing &lt;package&gt; (&lt;version&gt;)” lines and log remove action twice
    when purging a package from frontends, because they usually first call
    --remove and then --purge sequentially. When purging a package which is
    already in config-files (i.e. it has been removed before), do not print
    nor log the remove action.
</content>
</entry>
<entry>
<title>test: More portable check for dpkg versions</title>
<updated>2016-08-26T20:22:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-24T14:21:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=03ae49aca57b499f8ef497c2777b3eaef2516d1a'/>
<id>urn:sha1:03ae49aca57b499f8ef497c2777b3eaef2516d1a</id>
<content type='text'>
This check should work regardless if dpkg was installed by dpkg
or by a native package manager like RPM or pkg.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>test: Avoid use of /proc/self/fd</title>
<updated>2016-08-26T20:17:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-23T22:25:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8683da61448b62df2ccc1918e4c605c9e6d4ab1d'/>
<id>urn:sha1:8683da61448b62df2ccc1918e4c605c9e6d4ab1d</id>
<content type='text'>
Use /dev/fd in test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch,
skip test-no-fds-leaked-to-maintainer-scripts (it is not guaranteed
that /dev/fd contains all file descriptors), and avoid the unneeded
use of /proc/fd in another test case.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>do dpkg --configure before --remove/--purge --pending</title>
<updated>2016-08-23T09:32:23Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-08-22T19:33:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fb51ce3295929947555f4883054f210a53d9fbdf'/>
<id>urn:sha1:fb51ce3295929947555f4883054f210a53d9fbdf</id>
<content type='text'>
Commit 7ec343309b7bc6001b465c870609b3c570026149 got us most of the way,
but the last mile was botched by having the pending calls in the wrong
order as this way we potentially 'force' dpkg to remove/purge a package
it doesn't want to as another package still depends on it and the
replacement isn't fully installed yet.

So what we do now is a configure before remove and purge (all with
--no-triggers) and finishing off with another configure pending call to
take care of the triggers.

Note that in the bugreport example our current planner is forcing dpkg
to remove the package earlier via --force-depends which we could do for
the pending calls as well and could be used as a workaround, but we want
to do less forcing eventually.

Closes: 835094
</content>
</entry>
<entry>
<title>disable explicit configuration of all packages at the end</title>
<updated>2016-08-10T21:51:35Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-28T07:13:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=28557f94578602f9ce0011501a2259bd98ab0688'/>
<id>urn:sha1:28557f94578602f9ce0011501a2259bd98ab0688</id>
<content type='text'>
With b4450f1dd6bca537e60406b2383ab154a3e1485f we dropped what we
calculated here later on and now that we don't need it in the meantime
either we can just skip the busy work by default and expect dpkg to do
the right thing dropping also our little "last explicit configures"
removal trick introduced in b4450f1dd6bca537e60406b2383ab154a3e1485f.

This enables the last of a bunch of previously experimental options,
some of them existing still, but are very special and hence not really
worth documenting anymore (especially as it would need to be rewritten
now entirely) which is why the documentation is nearly completely
dropped.

The order of configuration stanzas in the simulation code changes
slightly as it isn't concerning itself with finding the 'right' order,
but any order is valid anyhow as long as the entire set happens in the
same call.
</content>
</entry>
<entry>
<title>don't purge directly, but remove and do purge at the end</title>
<updated>2016-08-10T21:18:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-21T16:46:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7ec343309b7bc6001b465c870609b3c570026149'/>
<id>urn:sha1:7ec343309b7bc6001b465c870609b3c570026149</id>
<content type='text'>
If we want a package to be purged from the system tell dpkg in the
ordering (if it has to touch it explicitly) to remove it and cover the
purging of the config files at the end with a --purge --pending call.

That should help packages move conffiles around between packages
correctly even if the user is purging packages directly in big actions
like dist-upgrades involving many packages.
</content>
</entry>
<entry>
<title>don't explicitly configure the last round of packages</title>
<updated>2016-06-08T15:31:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-06-08T15:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b4450f1dd6bca537e60406b2383ab154a3e1485f'/>
<id>urn:sha1:b4450f1dd6bca537e60406b2383ab154a3e1485f</id>
<content type='text'>
We end our operation by calling "dpkg --configure -a", so instead of
running a (big) configure run with all packages mentioned explicitly
before this, we simply skip them and let them be handled by this call
implicitly.

There isn't really an observeable gain to be had here from a speed
point, but it helps in avoiding an (uncommon) problem of having a too
long commandline passed to dpkg, which we would split up (probably
incorrectly).
</content>
</entry>
<entry>
<title>tests: support spaces in path and TMPDIR</title>
<updated>2015-12-19T22:04:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-15T16:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2'/>
<id>urn:sha1:3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2</id>
<content type='text'>
This doesn't allow all tests to run cleanly, but it at least allows to
write tests which could run successfully in such environments.

Git-Dch: Ignore
</content>
</entry>
</feed>
