<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/deb/debsystem.cc, branch 3.0.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.0.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.0.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-02-07T19:58:00Z</updated>
<entry>
<title>dpkg: Pass --admindir if a different one is specified</title>
<updated>2025-02-07T19:58:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-04T15:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=672244d46644a26f4659376d88a9899663d20d1d'/>
<id>urn:sha1:672244d46644a26f4659376d88a9899663d20d1d</id>
<content type='text'>
Otherwise if we set e.g. Dir, we end up with the foreign
architectures from the host which is wrong.

Fixes: 8e6a86aa3bc6d5a9013bb42fccea9bbce3fd97e2
</content>
</entry>
<entry>
<title>apt-pkg/deb/debsystem.cc: Fall back to "dpkg" when Dir::Bin::dpkg is not found</title>
<updated>2024-12-30T12:15:44Z</updated>
<author>
<name>Balint Reczey</name>
<email>balint@balintreczey.hu</email>
</author>
<published>2024-12-28T22:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8e6a86aa3bc6d5a9013bb42fccea9bbce3fd97e2'/>
<id>urn:sha1:8e6a86aa3bc6d5a9013bb42fccea9bbce3fd97e2</id>
<content type='text'>
The custom dpkg binary may be removed by apt and that breaks the end of
the operation. This can be observed when using eatmydata as dpkg and
removing the symlink to eatmydata when removing the apt-eatmydata package.
</content>
</entry>
<entry>
<title>fdopen() failing does not close the fd</title>
<updated>2024-11-14T18:23:26Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-14T18:23:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2db807afb1cbb02cce1fd8ff883de8ea1d23fa30'/>
<id>urn:sha1:2db807afb1cbb02cce1fd8ff883de8ea1d23fa30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DEFER() more</title>
<updated>2024-11-14T18:22:39Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-14T17:55:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6e80412fad93ef685559953719b82a28c1dcea13'/>
<id>urn:sha1:6e80412fad93ef685559953719b82a28c1dcea13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Modernize standard library includes</title>
<updated>2024-02-20T12:49:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T12:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=40a75722c43ae24cb9a99d6730a3b25b65819c49'/>
<id>urn:sha1:40a75722c43ae24cb9a99d6730a3b25b65819c49</id>
<content type='text'>
This was automated with sed and git-clang-format, and then I had to
fix up the top of policy.cc by hand as git-clang-format accidentally
indented it by two spaces.
</content>
</entry>
<entry>
<title>Allow apt to run if no dpkg/status file exists</title>
<updated>2022-09-02T14:55:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-09-01T13:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f52c1ce9b31befb71016a20759b96b4946034fcb'/>
<id>urn:sha1:f52c1ce9b31befb71016a20759b96b4946034fcb</id>
<content type='text'>
Not having a dpkg/status file used to be a hard error which from a
boostrap perspective is suspect as in the beginning, there is no
status so you would need to touch it into existence.

We make a difference between factual non-existence and inaccessibility
to catch mistakes in which the file is not readable for some reason,
the testcase test-bug-254770-segfault-if-cache-not-buildable is an
example of this.

Note that apt has already figured out at this point that this is a
Debian-like system which should have a dpkg/status file. This change
does not effect the auto-detection and is not supposed to.
</content>
</entry>
<entry>
<title>Report failures back from debSystem::AddStatusFiles</title>
<updated>2022-09-02T14:55:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-08-31T14:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=49f9cfba5567cd034bf729a63b3f6e9badd9bc35'/>
<id>urn:sha1:49f9cfba5567cd034bf729a63b3f6e9badd9bc35</id>
<content type='text'>
Failing to properly create the status file class should be reported back
to the caller so it can proceed accordingly instead of proceeding into
more failures.

This gives us:
E: flAbsPath on /var/lib/dpkg/status failed - realpath (2: No such file or directory)
E: The package lists or status file could not be parsed or opened.
instead of:
E: flAbsPath on /var/lib/dpkg/status failed - realpath (2: No such file or directory)
E: Could not open file  - open (2: No such file or directory)
E: Problem opening
E: The package lists or status file could not be parsed or opened.
and valgrind reporting actions on uninitialised values.
</content>
</entry>
<entry>
<title>Restore dpkg::chroot-directory functionality</title>
<updated>2021-06-10T17:25:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-06-10T16:06:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8083d4019844f764058efa2a950ed16975178bff'/>
<id>urn:sha1:8083d4019844f764058efa2a950ed16975178bff</id>
<content type='text'>
If we call dpkg inside a chroot we have to ensure that the temporary
directory we construct to call dpkg --recursive is inside the chroot and
that we strip the path to the chroot from the directory name we pass to
dpkg.

Note that the added test succeeds before and (hopefully) after as we
can't really chroot here or fiddle with the needed settings as we are
already setting up apt to work with a quasi-chroot. The test perhaps
helps in ensuring we don't break it too much in the future though.

(Broken five years (and one day) ago this seems to have an immense user
 base at the moment, but it might in the future via mmdebstrap)

References: f495992428a396e0f98886c9a761a804aa161c68
Reported-By: Johannes Schauer Marin Rodrigues on IRC
Tested-By: Johannes Schauer Marin Rodrigues
</content>
</entry>
<entry>
<title>dpkg: fix passing readonly /dev/null fd as stdout/stderr</title>
<updated>2021-01-22T15:41:12Z</updated>
<author>
<name>Youfu Zhang</name>
<email>zhangyoufu@gmail.com</email>
</author>
<published>2021-01-22T09:41:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=acbe227d50178657d98a609221b1caa5b128d7bb'/>
<id>urn:sha1:acbe227d50178657d98a609221b1caa5b128d7bb</id>
<content type='text'>
The read-only /dev/null was duplicated to stdout and stderr, causing writes to those descriptors to fail:
[pid   260] openat(AT_FDCWD, "/dev/null", O_RDONLY) = 7
[pid   260] dup2(7, 0)                  = 0
[pid   260] close(5)                    = 0
[pid   260] dup2(6, 1)                  = 1
[pid   260] dup2(7, 2)                  = 2
[pid   260] write(2, "Chrooting into ", 15) = -1 EBADF (Bad file descriptor)
[pid   260] chroot("/chroot/")          = 0
</content>
</entry>
<entry>
<title>Add basic support for the Protected field</title>
<updated>2020-06-29T15:32:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-06-29T15:31:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ddd8fc3d28cd8e668868158049ced7fa3c8c71b8'/>
<id>urn:sha1:ddd8fc3d28cd8e668868158049ced7fa3c8c71b8</id>
<content type='text'>
This will be mapped to Important for the time being.
</content>
</entry>
</feed>
