<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/acquire.cc, branch 2.7.3</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.3</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.3'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2023-01-29T11:21:24Z</updated>
<entry>
<title>Avoid comparison of integers of different signedness for ETA</title>
<updated>2023-01-29T11:21:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-08-31T14:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=896286ecf151620e5e2b88c74e8f361e04224da9'/>
<id>urn:sha1:896286ecf151620e5e2b88c74e8f361e04224da9</id>
<content type='text'>
Reported-By: gcc -Wsign-compare
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>typecast time_t and suseconds_t from std::chrono</title>
<updated>2022-09-17T03:07:40Z</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2022-09-17T03:00:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=66b305f86fdee1c27edcb39f299b052c87d2d82e'/>
<id>urn:sha1:66b305f86fdee1c27edcb39f299b052c87d2d82e</id>
<content type='text'>
This fixes build on some architectures like mips
progress.cc:125:31: error: non-constant-expression cannot be narrowed from type 'std::chrono::duration&lt;long long&gt;::rep' (aka 'long long') to '__time_t' (aka 'long') in initializer list [-Wc++11-narrowing]
   struct timeval NowTime = { Now_sec.count(), Now_usec.count() };

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>Improve error handling of cycling delayed queues</title>
<updated>2021-09-06T14:51:27Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-09-06T14:51:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e664bdcfb287e7456f084e0335b7c68bab89d6e7'/>
<id>urn:sha1:e664bdcfb287e7456f084e0335b7c68bab89d6e7</id>
<content type='text'>
When an item has been delayed and the queue is cycled to start
it, we did not properly report an error from the cycling, and
we would then fail in the assert(), causing all errors to be
lost.

Propagate the error instead and make the assert a warning.
</content>
</entry>
<entry>
<title>Properly convert PulseInterval to timeval</title>
<updated>2021-07-28T11:08:35Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-07-27T15:14:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=51ee79e385d8ccb2f32195cc01f3f9c943197603'/>
<id>urn:sha1:51ee79e385d8ccb2f32195cc01f3f9c943197603</id>
<content type='text'>
Fix the typo, and use the helper function to convert it, so we
do not end up with 5 seconds encoded as 0s and 5*10^6 microseconds.
</content>
</entry>
<entry>
<title>Convert to monotonic clock</title>
<updated>2021-07-28T11:08:35Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-07-27T14:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=48a7ece8d0e065240153a85089f544383e16137f'/>
<id>urn:sha1:48a7ece8d0e065240153a85089f544383e16137f</id>
<content type='text'>
This yields more accurate delays and avoids issues with clock
skew.
</content>
</entry>
<entry>
<title>acquire: Automatically reduce select() timeout as needed</title>
<updated>2021-07-28T11:08:32Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-07-13T10:21:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7e88def0548a92112f8295686c2a12379e4028be'/>
<id>urn:sha1:7e88def0548a92112f8295686c2a12379e4028be</id>
<content type='text'>
If there is an item with fetchAfter at the top of a queue,
reduce sleep() timeout so we can detect it and start it,
by calling Cycle() on the queue in the next iteration.

For some reasons we have to call select() with a 0s timeout
if we just marked an item as ready. Oh well.

Previous versions of this patch only called global Bump() after a timeout
from select(); this was unfortunately incorrect - it meant that we
never bumped a queue that did not start yet while other queues were
running, potentially significantly delaying retries.
</content>
</entry>
<entry>
<title>Implement exponential delay between retries</title>
<updated>2021-07-28T11:04:10Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-07-08T14:49:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=121ccd0e0c2612bab9ba5383d5599b54e29e4643'/>
<id>urn:sha1:121ccd0e0c2612bab9ba5383d5599b54e29e4643</id>
<content type='text'>
Add a new Item field called FetchAfter, which determines the earliest
time the item should be fetched at. Adjust insertion into queue to
take it into account alongside priority, and only fill pipelines
with items that are ready.
</content>
</entry>
<entry>
<title>Keep URIs encoded in the acquire system</title>
<updated>2020-12-18T18:31:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-09T14:38:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e6c55283d235aa9404395d30f2db891f36995c49'/>
<id>urn:sha1:e6c55283d235aa9404395d30f2db891f36995c49</id>
<content type='text'>
We do not deal a lot with URIs which need encoding, but then we do it is
a pain that we store it decoded in the acquire system as it means we
have to decode and reencode URIs eventually which is potentially giving
us slightly different URIs.

We see that in our own testing framework while setting up redirects as
the config options are effectively double-encoded and decoded to pass
them around successfully as otherwise %2f and / in an URI are treated
the same.

This commit adds the infrastructure for methods to opt into getting URIs
send in encoded form (and returning them to us in encoded form, too) so
that we eventually do not have to touch the URIs which is how it should
be. This means though that we have to deal with methods who do not
support this yet (aka: all at the moment) for which we decode and encode
while communicating with them.
</content>
</entry>
<entry>
<title>Do not hardcode (wrong) group and mode in setup warning</title>
<updated>2020-06-06T09:26:52Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-06T09:17:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=83b239c7285ac7450e305643b29596396abc0b3f'/>
<id>urn:sha1:83b239c7285ac7450e305643b29596396abc0b3f</id>
<content type='text'>
Partial directories are created with 0700, but the parent is 0755, while
the error message would report 0700 for both… that isn't right and can
be pretty confusing.

Turns out that the messages aren't marked for translation, so no
unfuzzing is required &amp; we just leave it as untranslated for now.
Especially as the more detailed error strings derived from errno
are translated.

Reported-By: Wakko Warner &lt;wakko@animx.eu.org&gt;
Closes: #962310
</content>
</entry>
<entry>
<title>Fix small memory leak in MethodConfig</title>
<updated>2020-05-27T09:14:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-27T08:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1941515e1c96f9c33d63e426049d9dad5420c580'/>
<id>urn:sha1:1941515e1c96f9c33d63e426049d9dad5420c580</id>
<content type='text'>
We are leaking a d-pointer currently weighting a boolean in size and
MethodConfig is instantiated in small numbers only, so nobody will
actually notice a difference, but proper cleanup is important.

Reported-By: clang LeakSanitizer
References: 04ab37fecaf286f724bef2e0969d2b67ab5ac1b1
</content>
</entry>
</feed>
