<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/deb/debsystem.cc, branch 1.3_rc1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.3_rc1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.3_rc1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-07-19T16:20:38Z</updated>
<entry>
<title>don't hardcode /var/lib/dpkg/status as dir::state::status</title>
<updated>2016-07-19T16:20:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-07-19T16:20:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=475f75506db48a7fa90711fce4ed129f6a14cc9a'/>
<id>urn:sha1:475f75506db48a7fa90711fce4ed129f6a14cc9a</id>
<content type='text'>
Theoretically it should be enough to change the Dir setting and have apt
pick the dpkg/status file from that. Also, it should be consistently
effected by RootDir. Both wasn't really the case through, so a user had
to explicitly set it too (or ignore it and have or not have expected
sideeffects caused by it).

This commit tries to guess better the location of the dpkg/status file
by setting dir::state::status to a naive "../dpkg/status", just that
this setting would be interpreted as relative to the CWD and not
relative to the dir::state directory. Also, the status file isn't really
relative to the state files apt has in /var/lib/apt/ as evident if we
consider that apt/ could be a symlink to someplace else and "../dpkg"
not effected by it, so what we do here is an explicit replace on apt/
– similar to how we create directories if it ends in apt/ – with dpkg/.

As this is a change it has the potential to cause regressions in so far
as the dpkg/status file of the "host" system is no longer used if you
set a "chroot" system via the Dir setting – but that tends to be
intended and causes people to painfully figure out that they had to set
this explicitly before, so that it now works more in terms of how the
other Dir settings work (aka "as expected"). If using the host status
file is really intended it is in fact easier to set this explicitely
compared to setting the new "magic" location explicitely.
</content>
</entry>
<entry>
<title>don't use FindFile for external Dir::Bin commands</title>
<updated>2016-06-14T12:32:14Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-06-14T12:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=90f2a7a0f66cfc259883490a5fcf40f7d0696cfe'/>
<id>urn:sha1:90f2a7a0f66cfc259883490a5fcf40f7d0696cfe</id>
<content type='text'>
We usually use absolute paths to specific the location of dpkg, apt-key
and the like, but there is nothing wrong with using just the command
name and instead let exec(3) make the lookup in PATH.

We had a wild mixture before, so opting for the more accepting option
out of the two seems about right especially as it makes no difference in
the default case as apt uses absolute paths.
</content>
</entry>
<entry>
<title>Convert most callers of isspace() to isspace_ascii()</title>
<updated>2015-12-27T00:20:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-26T23:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=74dedb4ae28fd4f7c89bf769708d4f7edc7ed79a'/>
<id>urn:sha1:74dedb4ae28fd4f7c89bf769708d4f7edc7ed79a</id>
<content type='text'>
This converts all callers that read machine-generated data,
callers that might work with user input are not converted.
</content>
</entry>
<entry>
<title>provide public interface to hold/unhold packages</title>
<updated>2015-11-04T17:04:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-25T09:25:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b49068c566d749130e023536d54588c948c16edf'/>
<id>urn:sha1:b49068c566d749130e023536d54588c948c16edf</id>
<content type='text'>
We had this code lying around in apt-mark for a while now, but other
frontends need this (and similar) functionality as well, so its high
time that we provide a public interface in libapt for this stuff.
</content>
</entry>
<entry>
<title>refactor dpkg execution in deb/debsystem</title>
<updated>2015-11-04T17:04:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-18T09:14:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=05ef357e575e9c25eb6a35cb693d1eb19bb14d45'/>
<id>urn:sha1:05ef357e575e9c25eb6a35cb693d1eb19bb14d45</id>
<content type='text'>
We have a few places and there will be a few more still where we have to
call dpkg to detect/set certain features or settings. Centralizing the
calling infrastructure now seems like a good idea before we add another.
</content>
</entry>
<entry>
<title>implement a public pkgSystem::ArchitecturesSupported</title>
<updated>2015-11-04T17:04:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-15T12:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=825db89094a8413dcc9c8ef3abe0a45b0bb7a2e2'/>
<id>urn:sha1:825db89094a8413dcc9c8ef3abe0a45b0bb7a2e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implement a public pkgSystem::MultiArchSupported</title>
<updated>2015-11-04T14:02:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-15T10:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8d6d3f00b14217e69ecabd68379b1e29bf4a3ccd'/>
<id>urn:sha1:8d6d3f00b14217e69ecabd68379b1e29bf4a3ccd</id>
<content type='text'>
Some codepaths need to check if the system (in our case usually dpkg)
supports MultiArch or not. We had copy-pasted the check so far into
these paths, but having it as a system check is better for reusability.
</content>
</entry>
<entry>
<title>make all d-pointer * const pointers</title>
<updated>2015-08-10T15:25:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-17T07:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c55f07a5fa3612a5d59c61a17da5fe640eadc8b'/>
<id>urn:sha1:6c55f07a5fa3612a5d59c61a17da5fe640eadc8b</id>
<content type='text'>
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.

Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>mark internal interfaces as hidden</title>
<updated>2014-11-08T13:28:28Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-11-06T11:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dce45dbe97531de6806707445da97d3f22285db8'/>
<id>urn:sha1:dce45dbe97531de6806707445da97d3f22285db8</id>
<content type='text'>
We have a bunch of classes which are of no use for the outside world,
but were still exported and so needed to preserve ABI/API. Marking them
as hidden to not export them any longer is a big API break in theory,
but in practice nobody is using them – as if they would its a bug.
</content>
</entry>
<entry>
<title>follow method attribute suggestions by gcc</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T23:33:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a02db58fd50ef7fc2f0284852c6b3f98e458a232'/>
<id>urn:sha1:a02db58fd50ef7fc2f0284852c6b3f98e458a232</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
</content>
</entry>
</feed>
