<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/indexfile.cc, branch 2.9.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2023-05-02T13:23:14Z</updated>
<entry>
<title>Initial support for snapshot servers, apt --snapshot option</title>
<updated>2023-05-02T13:23:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-02-22T13:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a19f606aad717fe5c9c69237c3af53feb547115e'/>
<id>urn:sha1:a19f606aad717fe5c9c69237c3af53feb547115e</id>
<content type='text'>
Provide snapshot support for offical Debian and Ubuntu archives.

There are two ways to enable snapshots for sources:

1. Add Snapshot: yes to your sources file ([snapshot=yes]). This
   will allow you to specify a snapshot to use when updating or
   installing using the --snapshot,-S option.

2. Add Snapshot: ID to your sources files to request a specific
   snapshot for this source.

Snapshots are discovered using Label and Origin fields in the Release
file of the main source, hence you need to have updated the source at
least once before you can use snapshots.

The Release file may also declare a snapshots server to use, similar
to Changelogs, it can contain a Snapshots field with the values:

1. `Snapshots: https://example.com/@SNAPSHOTID@` where `@SNAPSHOTID@`
   is a placeholder that is replaced with the requested snapshot id

2. `Snapshots: no` to disable snapshot support for this source.
   Requesting snapshots for this source will result in a failure
   to load the source.

The implementation adds a SHADOWED option to deb source entries,
and marks the main entry as SHADOWED when a snapshot has been
requested, which will cause it to be updated, but not included
in the generated cache.

The concern here was that we need to keep generating the shadowed
entries because the cleanup in `apt update` deletes any files not
queued for download, so we gotta keep downloading the main source.

This design is not entirely optimal, but avoids the pitfalls of
having to reimplement list cleanup.

Gaps:

- Ubuntu Pro repositories and PPAs are not yet supported.
</content>
</entry>
<entry>
<title>URI encode Filename field of Packages files (again)</title>
<updated>2021-06-04T14:43:41Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-06-04T11:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=149b23c2b9697bc262c0af1934c7a3f6114d903f'/>
<id>urn:sha1:149b23c2b9697bc262c0af1934c7a3f6114d903f</id>
<content type='text'>
Keeping URIs encoded in the acquire system depends on having them
encoded in the first place. While many other places got the encoding
2 out of 3 ArchiveURI implementations were missed which are in practice
responsible for nearly all of the URI building, just that index filename
do not contain characters to escape and the Filename fields in Packages
files usually aren't. Usually. Except if you happen to have e.g. an epoch
featuring package with the colon encoded in the filename. On the upside,
in most repositories the epoch isn't part of the filename.

Reported-By: Johannes 'josch' Schauer on IRC
References: e6c55283d235aa9404395d30f2db891f36995c49
</content>
</entry>
<entry>
<title>Remove ABI workaround for debDebPkgFileIndex::ArchiveInfo</title>
<updated>2020-02-26T13:10:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T12:59:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e886ff0a6e66362e1a8f8c53977bf062cec0da12'/>
<id>urn:sha1:e886ff0a6e66362e1a8f8c53977bf062cec0da12</id>
<content type='text'>
</content>
</entry>
<entry>
<title>indexfile: Remove deprecated translation functions</title>
<updated>2019-02-26T15:31:20Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-26T11:07:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f4cae55a9ffaa80e339ab8a94e8737ba22f702e3'/>
<id>urn:sha1:f4cae55a9ffaa80e339ab8a94e8737ba22f702e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove obsolete RCS keywords</title>
<updated>2018-05-07T11:41:31Z</updated>
<author>
<name>Guillem Jover</name>
<email>guillem@debian.org</email>
</author>
<published>2018-05-06T20:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=164f1b78d1849a0f33df7352875f86e28f5de06a'/>
<id>urn:sha1:164f1b78d1849a0f33df7352875f86e28f5de06a</id>
<content type='text'>
Prompted-by: Jakub Wilk &lt;jwilk@debian.org&gt;
</content>
</entry>
<entry>
<title>Fix various typos reported by spellcheckers</title>
<updated>2018-05-04T22:34:27Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-05-04T17:56:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b12bdeaf8acd050c5526ecc05526db70df5fd485'/>
<id>urn:sha1:b12bdeaf8acd050c5526ecc05526db70df5fd485</id>
<content type='text'>
Reported-By: codespell &amp; spellintian
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Introduce inrelease-path option for sources.list</title>
<updated>2018-01-17T10:52:38Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-01-16T15:53:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=698f9e3f9877be2aa181d6e40d3dc5c41ea318b7'/>
<id>urn:sha1:698f9e3f9877be2aa181d6e40d3dc5c41ea318b7</id>
<content type='text'>
Allow specifying an alternative path to the InRelease file, so
you can have multiple versions of a repository, for example.

Enabling this option disables fallback to Release and Release.gpg,
so setting it to InRelease can be used to ensure that only that
will be tried.

We add two test cases: One for checking that it works, and another
for checking that the fallback does not happen.

Closes: #886745
</content>
</entry>
<entry>
<title>remove pointless APT_PURE from void functions</title>
<updated>2017-12-14T20:55:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-12-14T20:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a6c7b262212d56a4ad37e6475f96152296ab1d0c'/>
<id>urn:sha1:a6c7b262212d56a4ad37e6475f96152296ab1d0c</id>
<content type='text'>
Earlier gcc versions used to complain that you should add them althrough
there isn't a lot of point to it if you think about it, but now gcc (&gt;= 8)
complains about the attribute being present.

warning: ‘pure’ attribute on function returning ‘void’ [-Wattributes]

Reported-By: gcc -Wattributes
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>implement fallback to alternative URIs for all items</title>
<updated>2017-12-13T22:56:29Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-10-27T17:09:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=355e1aceac1dd05c4c7daf3420b09bd860fd169d'/>
<id>urn:sha1:355e1aceac1dd05c4c7daf3420b09bd860fd169d</id>
<content type='text'>
For deb files we always supported falling back from one server to the
other if one failed to download the deb, but that was hardwired in the
handling of this specific item. Moving this alongside the retry
infrastructure we can implement it for all items and allow methods to
use this as well by providing additional URIs in a redirect.
</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>
</feed>
