support apt by-hash mirrors
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Colin Watson |
Bug Description
as described in bug 972077, apt's filesystem layout format is inherently racey. apt version 1.1 in debian/experimental now has support for downloading by hash rather than by filename, which reduces/removes the race conditions.
Ideally we'd have this in place for 15.10 and 16.04 in ubuntu.
relevant changelog in debian:
* Implement simple by-hash for apt update to improve reliability of
the update. Apt will try to fetch the Packages file via
/by-
- add APT::Acquire:
- add Acquire-By-Hash=1 to Release file
Also in this completely, we do need to have InRelease file support also.
Related bugs:
* bug 804252: Please support InRelease files
* bug 972077: apt repository disk format has race conditions
Related branches
- William Grant (community): Approve (db)
-
Diff: 56 lines (+34/-0)2 files modifieddatabase/schema/patch-2209-74-0.sql (+32/-0)
database/schema/security.cfg (+2/-0)
- William Grant (community): Approve (code)
-
Diff: 484 lines (+441/-0)5 files modifiedlib/lp/soyuz/configure.zcml (+17/-0)
lib/lp/soyuz/interfaces/archivefile.py (+112/-0)
lib/lp/soyuz/model/archivefile.py (+143/-0)
lib/lp/soyuz/tests/test_archivefile.py (+154/-0)
lib/lp/testing/factory.py (+15/-0)
- William Grant (community): Approve (code)
-
Diff: 165 lines (+68/-0)7 files modifiedlib/lp/registry/configure.zcml (+2/-0)
lib/lp/registry/interfaces/distroseries.py (+14/-0)
lib/lp/registry/model/distroseries.py (+20/-0)
lib/lp/registry/stories/webservice/xx-distroseries.txt (+2/-0)
lib/lp/registry/tests/test_distroseries.py (+20/-0)
lib/lp/soyuz/scripts/initialize_distroseries.py (+6/-0)
lib/lp/soyuz/scripts/tests/test_initialize_distroseries.py (+4/-0)
- William Grant (community): Approve (code)
-
Diff: 1502 lines (+1079/-53)10 files modifiedlib/lp/archivepublisher/model/ftparchive.py (+6/-2)
lib/lp/archivepublisher/publishing.py (+282/-19)
lib/lp/archivepublisher/tests/test_publisher.py (+599/-1)
lib/lp/registry/model/distribution.py (+14/-2)
lib/lp/services/helpers.py (+31/-12)
lib/lp/services/librarian/interfaces/__init__.py (+1/-1)
lib/lp/services/librarian/model.py (+4/-2)
lib/lp/soyuz/interfaces/archivefile.py (+25/-1)
lib/lp/soyuz/model/archivefile.py (+63/-11)
lib/lp/soyuz/tests/test_archivefile.py (+54/-2)
Changed in launchpad: | |
importance: | Undecided → High |
status: | New → Triaged |
tags: | added: soyuz-publish |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in launchpad: | |
assignee: | nobody → Colin Watson (cjwatson) |
status: | Triaged → In Progress |
tags: |
added: qa-untestable removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
r13370 in db-stable (http:// bazaar. launchpad. net/~launchpad- pqm/launchpad/ db-stable/ revision/ 13370) is part of this bug's fix.