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 |