<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 1.5</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.5</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.5'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-09-13T17:16:06Z</updated>
<entry>
<title>Fix translator comment location for legacy target warning</title>
<updated>2017-09-13T17:16:06Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-13T17:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e9db5ba7c7631d51359967afb1d563da7637be11'/>
<id>urn:sha1:e9db5ba7c7631d51359967afb1d563da7637be11</id>
<content type='text'>
In commit Do not warn about duplicate "legacy" targets, we
we added an if, that changed the .po files...
</content>
</entry>
<entry>
<title>CMake: Properly handle Udev missing</title>
<updated>2017-09-10T09:35:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-10T09:35:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b13861fa687cf3a2af97a5beb0c0642d9bee8f8c'/>
<id>urn:sha1:b13861fa687cf3a2af97a5beb0c0642d9bee8f8c</id>
<content type='text'>
When udev is not available, the variables for libraries and
include paths are set to NOTFOUND rather than an empty string
and CMake exits with an error. Use a generator expression to
only use these variables when UDEV_FOUND is true.
</content>
</entry>
<entry>
<title>Directly link against libudev on Linux systems</title>
<updated>2017-09-09T19:07:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-09T18:36:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=96b4580561cd2a8d1467143d67d2a612f0ddc75a'/>
<id>urn:sha1:96b4580561cd2a8d1467143d67d2a612f0ddc75a</id>
<content type='text'>
We previously dlopen()ed it, but it seems painful to do that
without any real gain, except for possibly not having libudev
in the address space and not having code #ifdefed for Linux.

The latter means that we are a bit more likely to break stuff
for non-Linux systems now if we play with udev, but at least
we don't end up with it silently breaking because of a libudev
ABI break.

The existing function pointers in the struct were renamed and
kept for compat purposes.

Fixes Debian/apt#48

Also adjust prepare-release to strip [linux-any] from build-depends
for travis.
</content>
</entry>
<entry>
<title>cdrom: Don't hardcode "Files" field for copying source files</title>
<updated>2017-09-09T18:11:57Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-09T17:17:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=03ba8fcc5fe9560084b40b955067da7e60b2e1c0'/>
<id>urn:sha1:03ba8fcc5fe9560084b40b955067da7e60b2e1c0</id>
<content type='text'>
This fails if no Files field exists anymore, for example, because
the Sources index only contains SHA256 hashes. Instead check all
hashes.
</content>
</entry>
<entry>
<title>Do not warn about duplicate "legacy" targets</title>
<updated>2017-09-09T17:47:59Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-09-09T17:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5a747462baef6cecf6ed389c7b7492443930f7ed'/>
<id>urn:sha1:5a747462baef6cecf6ed389c7b7492443930f7ed</id>
<content type='text'>
If a source has a legacy Contents file, and two lines mention
the same archive but different components, a warning would be
issued that is confusing. So, as the field is named Contents-deb-legacy,
let's just not print warnings for fields containing "legacy".

LP: #1697120
Closes: #839259
</content>
</entry>
<entry>
<title>drop unused/unimplemented &amp; hidden LoadReleaseInfo</title>
<updated>2017-09-09T15:22:11Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-08-14T15:31:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=923522367a28be7235bf6459abfeae89fafffcf1'/>
<id>urn:sha1:923522367a28be7235bf6459abfeae89fafffcf1</id>
<content type='text'>
The relevant calling code as well as the implementation for the deb
system was removed 2 years ago with the refactoring of release
information storage (b07aeb1a6e24825e534167a737043441e871de9f).
This commit removes the the unused remains of this change with no
practical effect on anybody (expect codesize) as the methods were
declared as hidden and hence only libapt could have called it.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>don't ask an uninit _system for supported archs</title>
<updated>2017-09-09T15:22:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-08-14T08:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cba5c5a26a9bf00724f8ea647ac61b30e32734ba'/>
<id>urn:sha1:cba5c5a26a9bf00724f8ea647ac61b30e32734ba</id>
<content type='text'>
A libapt user who hasn't initialized _system likely has a reason, so we
shouldn't greet back with a segfault usually deep down in the callstack
for no reason. If the user had intended to pick up information from the
system, _system wouldn't be uninitialized after all.

LP: #1613184
SRU: 1.4.y
</content>
</entry>
<entry>
<title>don't write &amp; chmod /dev/null log files</title>
<updated>2017-09-09T15:19:48Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-08-05T10:55:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=149ee4017c7d21b420b7109ea7606012c9051d15'/>
<id>urn:sha1:149ee4017c7d21b420b7109ea7606012c9051d15</id>
<content type='text'>
APT by default logs terminal (term.log) and actions (history.log), but
if either or Dir::Log directly is set to /dev/null it continues to do
so, which isn't too bad – just wasted effort – but term.log is
chmodded to protect it from the general public (as it may contain
otherwise private data the admin entired in the terminal) which
shouldn't happen for /dev/null.
</content>
</entry>
<entry>
<title>Replace APT_CONST with APT_PURE everywhere</title>
<updated>2017-08-24T14:56:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-08-24T14:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0e4ac8334d02ea256f750ad61689f28ff1ebdf6c'/>
<id>urn:sha1:0e4ac8334d02ea256f750ad61689f28ff1ebdf6c</id>
<content type='text'>
As a follow up to the last commit, let's replace APT_CONST
with APT_PURE everywhere to clean stuff up.
</content>
</entry>
<entry>
<title>Redefine APT_CONST to mean APT_PURE</title>
<updated>2017-08-24T14:56:48Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-08-24T14:50:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=03590fb98226bfdf3147eb78effc3fa7987709bb'/>
<id>urn:sha1:03590fb98226bfdf3147eb78effc3fa7987709bb</id>
<content type='text'>
Functions marked with the const attribute may not inspect
any global memory. This includes targets of pointers or
references passed as arguments. A pure function however
is free to inspect memory, but may not have any side
effects.

The function StringSplit() was marked as const, but took
two references to strings. When the second one was passed
as a literal as in StringSplit(name, "::") the compiler
cleverly figured out that we only inspect the address of
"::" (since StringSplit is const) and thus optimized away
the "::" content.

While patching out individual broken uses of APT_CONST
would be possible, this is already the second case, and
there might be more, so let's redefine APT_CONST to use
the pure attribute, so we don't end up with the same
situation again in some time.
</content>
</entry>
</feed>
