<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/indexfile.cc, branch 1.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2015-11-04T17:04:00Z</updated>
<entry>
<title>show progress info while 'downloading' a local .deb file</title>
<updated>2015-11-04T17:04:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-10-11T21:05:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=64b66a46a7fc9e7070ee6a758013a6059fee691e'/>
<id>urn:sha1:64b66a46a7fc9e7070ee6a758013a6059fee691e</id>
<content type='text'>
Showing just "Get: [1234 B]" looks very strange, so we now print the
filename and as usual the package name, version and architecture.
</content>
</entry>
<entry>
<title>add by-hash sources.list option and document all of by-hash</title>
<updated>2015-09-14T13:22:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-14T11:18:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=24e8f24e1e94ec3816b0bfc7a05d1c4e3f73248e'/>
<id>urn:sha1:24e8f24e1e94ec3816b0bfc7a05d1c4e3f73248e</id>
<content type='text'>
This changes the semantics of the option (which is renamed too) to be a
yes/no value with the special additional value "force" as this allows
by-hash to be disabled even if the repository indicates it would be
supported and is more in line with our other yes/no options like pdiff
which disable themselves if no support can be detected.

The feature wasn't documented so far and hasn't reached a (un)stable
release yet, so changing it without trying too hard to keep
compatibility seems okay.
</content>
</entry>
<entry>
<title>avoid using global PendingError to avoid failing too often too soon</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-10T17:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=95278287f4e1eeaf5d96749d6fc9bfc53fb400d0'/>
<id>urn:sha1:95278287f4e1eeaf5d96749d6fc9bfc53fb400d0</id>
<content type='text'>
Our error reporting is historically grown into some kind of mess.
A while ago I implemented stacking for the global error which is used in
this commit now to wrap calls to functions which do not report (all)
errors via return, so that only failures in those calls cause a failure
to propergate down the chain rather than failing if anything
(potentially totally unrelated) has failed at some point in the past.

This way we can avoid stopping the entire acquire process just because a
single source produced an error for example. It also means that after
the acquire process the cache is generated – even if the acquire
process had failures – as we still have the old good data around we can and
should generate a cache for (again).

There are probably more instances of this hiding, but all these looked
like the easiest to work with and fix with reasonable (aka net-positive)
effects.
</content>
</entry>
<entry>
<title>use a less generic special trigger filename for stdin</title>
<updated>2015-09-14T13:22:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-09-10T16:46:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7f58427b9584686f80cd5eccfdd02c1ace75518a'/>
<id>urn:sha1:7f58427b9584686f80cd5eccfdd02c1ace75518a</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>detect and deal with indextarget duplicates</title>
<updated>2015-08-30T20:50:55Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-30T20:34:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3090ae6972fd0e15767a96708c248f3ab87502f2'/>
<id>urn:sha1:3090ae6972fd0e15767a96708c248f3ab87502f2</id>
<content type='text'>
Multiple targets downloading the same file is bad™ as it leads us to all
sorts of problems like the acquire system breaking or simply a problem
of which settings to use for them. Beside that this is most likely a
mistake and silently ignoring it doesn't help the user realizing his
mistake…

On the other hand, we have 'duplicates' which are 'created' by how we
create indextargets, so we have to prevent those from being created to
but do not emit a warning for them as this is an implementation detail.

And then, there is the absolute and most likely user mistake: Having the
same target(s) activated in multiple entries.
</content>
</entry>
<entry>
<title>implement indextargets option 'DefaultEnabled'</title>
<updated>2015-08-29T16:59:40Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-29T11:50:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9adb9778d11db138d645e037e092db1fb64b5d4a'/>
<id>urn:sha1:9adb9778d11db138d645e037e092db1fb64b5d4a</id>
<content type='text'>
Some targets like Contents-udeb are special-needs targets. Shipping the
configuration snippet for them is okay, but they shouldn't be downloaded
by default. Forcing the user to enable targets by uncommenting targets
is wrong and this would still not really solve the problem completely as
even if you want to download some -udebs it will probably not be for all
sources you have enabled, so having the possibility of disabling a
target by default, but giving the user the option to enable it on a
per-source entry basis is better.
</content>
</entry>
<entry>
<title>implement PDiff patching for compressed files</title>
<updated>2015-08-28T17:26:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-28T17:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d7a51997c30b2098bb60b3397095ec58ec825303'/>
<id>urn:sha1:d7a51997c30b2098bb60b3397095ec58ec825303</id>
<content type='text'>
Some additional files like 'Contents' are very big and should therefore
kept compressed on the disk, which apt-file did in the past. It also
implemented pdiff patching of these files by un- and recompressing these
files on-the-fly, with this commit we can do the same – but we can do
this in both pdiff patching styles (client and server merging) and
secured by hashes.

Hashes are in so far slightly complicated as we can't compare the hashes
of the compressed files as we might compress them differently than the
server would (different compressor versions, options, …), so we must
compare the hashes of the uncompressed content.

While this commit has changes in public headers, the classes it changes
are marked as hidden, so nobody can use them directly, which means the
ABI break is internal only.
</content>
</entry>
<entry>
<title>sources.list and indextargets option for pdiffs</title>
<updated>2015-08-27T16:16:50Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-27T16:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1a3a14ac63b0c4f18de53a7bddcf79d20a5e814f'/>
<id>urn:sha1:1a3a14ac63b0c4f18de53a7bddcf79d20a5e814f</id>
<content type='text'>
Disabling pdiffs can be useful occasionally, like if you have a fast
local mirror where the download doesn't matter, but still want to use it
for non-local mirrors. Also, some users might prefer it to only use it
for very big indextargets like Contents.
</content>
</entry>
<entry>
<title>Cleanup includes after running iwyu</title>
<updated>2015-08-17T10:01:45Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2015-08-17T10:01:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=88a8975f156e452d9f3ebe76822b236e8962ebba'/>
<id>urn:sha1:88a8975f156e452d9f3ebe76822b236e8962ebba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>parse packages from all architectures into the cache</title>
<updated>2015-08-10T15:27:59Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-20T10:32:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7f8c0eed6983db7b8959f1498fc8bc80c98d719e'/>
<id>urn:sha1:7f8c0eed6983db7b8959f1498fc8bc80c98d719e</id>
<content type='text'>
Now that we can dynamically create dependencies and provides as needed
rather than requiring to know with which architectures we will deal
before running we can allow the listparser to parse all records rather
than skipping records of "unknown" architectures.

This can e.g. happen if a user has foreign architecture packages in his
status file without dpkg knowing about this architecture (or apt
configured in this way).

A sideeffect is that now arch:all packages are (correctly) recorded as
available from any Packages file, not just from the native one – which
has its downsides for the resolver as mixed-arch source packages can
appear in different architectures at different times, but that is the
problem of the resolver and dealing with it in the parser is at best a
hack (and also depends on a helpful repository).

Another sideeffect is that his allows :none packages to appear in
Packages files again as we don't do any kind of checks now, but given
that they aren't really supported (anymore) by anyone we can live with
that.
</content>
</entry>
</feed>
