<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/acquire.cc, branch 1.4_beta4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.4_beta4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.4_beta4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-12-16T12:50:00Z</updated>
<entry>
<title>reword "Can't drop priv" warning message</title>
<updated>2016-12-16T12:50:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-11-25T14:15:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=78db35195eddcd156130fff9ea3e895b30cbf9c3'/>
<id>urn:sha1:78db35195eddcd156130fff9ea3e895b30cbf9c3</id>
<content type='text'>
Note: This is a warning about disabling a security feature. It is
supposed to be scary as we are disabling a security feature and we
can't just be silent about it! Downloads really shouldn't happen
any longer as root to decrease the attack surface – but if a warning
causes that much uproar, consider what an error would do…

The old WARNING message:
| W: Can't drop privileges for downloading as file 'foobar' couldn't be
| accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
is frequently (incorrectly) considered to be an error message indicating
that the download didn't happen which isn't the case, it was performed,
but without all the security features enabled we could have used if run
from some other place…

The word "unsandboxed" is chosen as the term 'sandbox(ed)' is a common
encounter in feature lists/changelogs and more people are hopefully able
to make the connection to 'security' than it is the case for 'privilege
dropping' which is more correct, but far less known.

Closes: #813786
LP: #1522675
</content>
</entry>
<entry>
<title>get pdiff files from the same mirror as the index</title>
<updated>2016-11-24T23:15:13Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-11-13T01:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5832913a49d4f7c75527264a935cc0ce00627f1d'/>
<id>urn:sha1:5832913a49d4f7c75527264a935cc0ce00627f1d</id>
<content type='text'>
In ad9416611ab83f7799f2dcb4bf7f3ef30e9fe6f8 we fall back to asking the
original mirror (e.g. a redirector) if we do not get the expected
result. This works for the indexes, but patches are a different beast
and much simpler. Adding this fallback code here seems like overkill as
they are usually right along their Index file, so actually forward the
relevant settings to the patch items which fixes pdiff support combined
with a redirector and partial mirrors as in such a situation the pdiff
patches would be 404 and the complete index would be downloaded.
</content>
</entry>
<entry>
<title>acquire: Use priority queues and a 3 stage pipeline design</title>
<updated>2016-09-02T15:16:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-06-15T21:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2a440328ea19e9646a93f847dd9eff21e03ad16d'/>
<id>urn:sha1:2a440328ea19e9646a93f847dd9eff21e03ad16d</id>
<content type='text'>
Employ a priority queue instead of a normal queue to hold
the items; and only add items to the running pipeline if
their priority is the same or higher than the priority
of items in the queue.

The priorities are designed for a 3 stage pipeline system:

In stage 1, all Release files and .diff/Index files are fetched. This
allows us to determine what files remain to be fetched, and thus
ensures a usable progress reporting.

In stage 2, all Pdiff patches are fetched, so we can apply them
in parallel with fetching other files in stage 3.

In stage 3, all other files are fetched (complete index files
such as Contents, Packages).

Performance improvements, mainly from fetching the pdiff patches
before complete files, so they can be applied in parallel:

For the 01 Sep 2016 03:35:23 UTC -&gt; 02 Sep 2016 09:25:37 update
of Debian unstable and testing with Contents and appstream for
amd64 and i386, update time reduced from 37 seconds to 24-28
seconds.

Previously, apt would first download new DEP11 icon tarballs
and metadata files, causing the CPU to be idle. By fetching
the diffs in stage 2, we can now patch our contents and Packages
files while we are downloading the DEP11 stuff.
</content>
</entry>
<entry>
<title>Merge branch 'portability/freebsd'</title>
<updated>2016-08-26T22:31:03Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-26T22:31:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6a68315e938eb2611806658828ecea86805822e7'/>
<id>urn:sha1:6a68315e938eb2611806658828ecea86805822e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make root group configurable via ROOT_GROUP</title>
<updated>2016-08-26T20:24:25Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-25T14:25:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6f1f3c9afdb6ade6a7be110b90c8fc9e603254cf'/>
<id>urn:sha1:6f1f3c9afdb6ade6a7be110b90c8fc9e603254cf</id>
<content type='text'>
This is needed on BSD where root's default group is wheel, not
root.
</content>
</entry>
<entry>
<title>Use C locale instead of C.UTF-8 for protocol strings</title>
<updated>2016-08-26T20:17:13Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-23T18:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0fb16c3e678044d6d06ba8a6199b1e96487ee0d8'/>
<id>urn:sha1:0fb16c3e678044d6d06ba8a6199b1e96487ee0d8</id>
<content type='text'>
The C.UTF-8 locale is not portable, so we need to use C, otherwise
we crash on other systems. We can use std::locale::classic() for
that, which might also be a bit cheaper than using locale("C").
</content>
</entry>
<entry>
<title>improve code &amp; doc for aquire weak/loop failing</title>
<updated>2016-08-24T19:49:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-08-24T19:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1044354995513348f4836772fe77068585091d6b'/>
<id>urn:sha1:1044354995513348f4836772fe77068585091d6b</id>
<content type='text'>
Improve-Upon: 2e2865ae53a65c00dd55a892d5b48458f3110366
Reported-By: Julian Andres Klode
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>do fail on weakhash/loop earlier in acquire</title>
<updated>2016-08-24T08:24:41Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-08-24T07:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2e2865ae53a65c00dd55a892d5b48458f3110366'/>
<id>urn:sha1:2e2865ae53a65c00dd55a892d5b48458f3110366</id>
<content type='text'>
The bugreport shows a segfault caused by the code not doing the correct
magical dance to remove an item from inside a queue in all cases. We
could try hard to fix this, but it is actually better and also easier to
perform these checks (which cause instant failure) earlier so that they
haven't entered queue(s) yet, which in return makes cleanup trivial.

The result is that we actually end up failing "too early" as if we
wouldn't be careful download errors would be logged before that process
was even started. Not a problem for the acquire system, but likely to
confuse users and programs alike if they see the download process
producing errors before apt was technically allowed to do an acquire
(it didn't, so no violation, but it looks like it to the untrained eye).

Closes: 835195
</content>
</entry>
<entry>
<title>prevent C++ locale number formatting in text APIs (try 3)</title>
<updated>2016-08-23T13:11:20Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-08-23T13:11:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0919f1df552ddf022ce4508cbf40e04eae5ef896'/>
<id>urn:sha1:0919f1df552ddf022ce4508cbf40e04eae5ef896</id>
<content type='text'>
This time it is the formatting of floating numbers in progress
reporting with a radix charater potentially not being dot.

Followup of 7303e11ff28f920a6277c159aa46f80c007350bb. Regression of
b58e2c7c56b1416a343e81f9f80cb1f02c128e25 in so far as it exchanging
very effected with slightly less effected code.

LP: 1611010
</content>
</entry>
<entry>
<title>prevent C++ locale number formatting in text APIs</title>
<updated>2016-05-27T17:14:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-27T16:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b58e2c7c56b1416a343e81f9f80cb1f02c128e25'/>
<id>urn:sha1:b58e2c7c56b1416a343e81f9f80cb1f02c128e25</id>
<content type='text'>
Setting the C++ locale via std::locale::global(std::locale("")); which
would otherwise default to the default C locale (aka: unaffected by
setlocale) effects the formatting of numeric types in IO streams, which
for output for humans is perfectly sensible, but breaks our many text
interfaces used and parsed by us and others without expecting the
numbers to be formatted.

Closes: #825396
</content>
</entry>
</feed>
