Gentoo Archives: gentoo-user

From: Daniel Campbell <zlg@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Possible heads up: Digest verification failed
Date: Mon, 31 Oct 2016 06:50:24
Message-Id: b03d40db-7a2d-4f62-5c10-f25ed23c38e6@gentoo.org
In Reply to: Re: [gentoo-user] Possible heads up: Digest verification failed by Rich Freeman
1 On 10/29/2016 03:11 AM, Rich Freeman wrote:
2 > On Sat, Oct 29, 2016 at 5:42 AM, Neil Bothwick <neil@××××××××××.uk> wrote:
3 >> On Fri, 28 Oct 2016 23:53:03 -0700, Daniel Campbell wrote:
4 >>
5 >>>> Anyone seeing this again? I've just sync'd to two servers in
6 >>>> Australia, and then, for the hell of it, one in Canada and am getting
7 >>>> it for:
8 >>>>
9 >>>> dev-libs/botan
10 >>>> app-arch/tar
11 >>>> media-video/libav
12 >>>> app-crypt/qca
13 >>>> net-print/cups-filters
14 >>>>
15 >>>> I suppose time will sort it out.....
16 >>>>
17 >>>> Andrew
18 >>>>
19 >>> This shouldn't happen unless the distfiles aren't found, or someone (a
20 >>> dev) didn't use repoman to commit, leaving an old Manifest around.
21 >>
22 >> It looks like repoman is the culprit
23 >>
24 >> https://bugs.gentoo.org/show_bug.cgi?id=598376
25 >>
26 >
27 > This is probably not the issue here, since Gentoo uses thin manifests
28 > (there is nothing for repoman to update). The manifests that are
29 > causing the problem aren't created by regular Gentoo developers.
30 > They're created by a script that runs as a part of the rsync mirror
31 > process.
32 >
33 > This is a fairly well-known problem that has been around for over a year.
34 >
35 > You will only run into this problem if you use rsync to update your
36 > repository, since the problem is created when creating the master
37 > rsync mirror. The original git repository doesn't contain the error,
38 > and the git mirror on github doesn't mess with the Manifests.
39 >
40 > The issue apparently has to do with Changelog generation. In April
41 > the Council gave Infra the option to stop generating Changelogs, which
42 > would eliminate the problem. I suspect those maintaining the scripts
43 > prefer to keep them around, and I don't think anybody on the Council
44 > has access to change the scripts.
45 >
46 > I switched to git syncing eons ago, so I've never seen this bug. I
47 > recognize it has been a source of frustration for a lot of users, and
48 > a bit of frustration for the Council, since there doesn't seem to be a
49 > lot we can do to change it in practice.
50 >
51 > zlg is of course right that these kinds of problems can also be caused
52 > by maintainer failure to use repoman/etc or if an upstream distfile
53 > changes. If that is the problem then you'll see it no matter how you
54 > sync your repo. However, when you get a bunch of these after syncing
55 > it is almost always a result of the mirror creation process. I can't
56 > remember the last time I saw a manifest error (granted, I'm also using
57 > mgorny's stable mirror branch, which I think screens for these kinds
58 > of errors).
59 >
60 > While there can be some latency I do in general recommend syncing from
61 > https://github.com/gentoo-mirror/gentoo . This is a mirror of the
62 > Gentoo developer git repository with two changes:
63 > 1. Metadata is added to the mirror, which greatly speeds things up
64 > compared to using the raw git repository (you can do this yourself, it
65 > is one of the steps done by the rsync generation process as well, but
66 > this one is not buggy).
67 > 2. The default stable branch of this mirror screens for numerous
68 > issues before accepting commits. That means it is generally a little
69 > behind the main branch (at this moment the main branch is 2 minutes
70 > old, and the default stable branch is 20min old), but a lot of the
71 > really annoying issues that are caused by devs skipping repoman won't
72 > be seen. Now, if a maintainer breaks a package then this mirror will
73 > quickly get out of date until the problem is corrected, but Gentoo QA
74 > gets warnings when this is happening and usually the maintainer is
75 > being pestered or somebody else is fixing it. I suspect this process
76 > has probably reduced the error rate for everybody. I have seen this
77 > get a few days old though, which is something to keep in mind.
78 >
79 > It does not contain Changelogs, though if you use it you'll have a
80 > full history so you can just run git whatchanged <path> to get
81 > something pretty close to a changelog.
82 >
83 > To use it just put this in /etc/portage/repos.conf/gentoo.conf:
84 > [DEFAULT]
85 > main-repo = gentoo
86 >
87 > [gentoo]
88 > location = /usr/portage
89 > sync-type = git
90 > sync-uri = https://github.com/gentoo-mirror/gentoo.git
91 > auto-sync = yes
92 >
93 > If you want to git-sync from some other mirror, just change the url accordingly.
94 >
95 > If you switch your mirror I suggest just renaming /usr/portage and
96 > letting portage re-create it.
97 >
98 > The other big benefit of git syncing is that if you sync every day it
99 > is a lot faster. If you sync less often it will become slower
100 > compared to rsync. git is much more efficient at finding what has
101 > changed, but rsync is not burdened with transferring a complete
102 > history. If you only sync once every few months rsync will be a lot
103 > faster.
104 >
105 Wow, quite the mail there! I actually wasn't aware of thin vs. thick
106 manifest issues (or mgorny's work on a stable mirror). Thanks for
107 sharing and teaching.
108
109 --
110 Daniel Campbell - Gentoo Developer
111 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
112 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6

Attachments

File name MIME type
signature.asc application/pgp-signature