1 |
On 27/01/17 00:55, NP-Hardass wrote: |
2 |
> On 01/26/2017 06:48 PM, Doug Freed wrote: |
3 |
>> This is the email I get when a Manifest is missing DIST entries; it's |
4 |
>> more verbose than it needs to be, but I'd rather have more than less. |
5 |
>> In this particular case, the developer that made the bad commit likely |
6 |
>> had something they were working on in sys-cluster/torque added to the |
7 |
>> git index (ie, they did git add), and then needed to make an unrelated |
8 |
>> change, and didn't stash their changes beforehand. You should always |
9 |
>> check 'git status' output before running repoman commit and/or git |
10 |
>> commit. It's probably best to check before you start on a change, and |
11 |
>> then you can 'git stash -u' right away (the -u includes untracked |
12 |
>> files, which is useful if your in progress change is adding something |
13 |
>> new), and then after you've committed the change you wanted to get |
14 |
>> done right away, you can 'git stash pop' to get back to the state you |
15 |
>> were in before. |
16 |
>> |
17 |
>> This particular issue has already been fixed, but I'll be forwarding |
18 |
>> all these emails to the list from now on (I have to do that manually, |
19 |
>> because there are some that aren't anybody's fault, and I don't need |
20 |
>> to spam you about those). |
21 |
>> |
22 |
>> -Doug |
23 |
>> |
24 |
>> |
25 |
>> ---------- Forwarded message ---------- |
26 |
>> From: (Cron Daemon) <gmirror@g.o> |
27 |
>> Date: Thu, Jan 26, 2017 at 5:39 PM |
28 |
>> Subject: Cron <gmirror@dipper> /usr/local/bin/pidlock -s rsync-gen |
29 |
>> /bin/bash /usr/local/bin/mastermirror/rsync-gen.sh |
30 |
>> To: infra-gmirror@g.o |
31 |
>> |
32 |
>> |
33 |
>> [ERROR/ForkPoolWorker-7] sys-cluster/torque is missing DIST entries! |
34 |
>> Traceback (most recent call last): |
35 |
>> File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line |
36 |
>> 23, in _open_file |
37 |
>> encoding=_encodings['fs'], errors='strict'), 'rb') |
38 |
>> FileNotFoundError: [Errno 2] No such file or directory: |
39 |
>> b'/var/empty/torque-6.1.0.tar.gz' |
40 |
>> |
41 |
>> During handling of the above exception, another exception occurred: |
42 |
>> |
43 |
>> Traceback (most recent call last): |
44 |
>> File "/usr/local/bin/mastermirror/thicken-manifests.py", line 122, |
45 |
>> in maybe_thicken_manifest |
46 |
>> manifest.create(assumeDistHashesAlways=True) |
47 |
>> File "/usr/lib64/python3.4/site-packages/portage/manifest.py", line |
48 |
>> 506, in create |
49 |
>> self.fhashdict["DIST"][f] = perform_multiple_checksums(fname, self.hashes) |
50 |
>> File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line |
51 |
>> 426, in perform_multiple_checksums |
52 |
>> rVal[x] = perform_checksum(filename, x, calc_prelink)[0] |
53 |
>> File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line |
54 |
>> 390, in perform_checksum |
55 |
>> myhash, mysize = hashfunc_map[hashname](myfilename) |
56 |
>> File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line |
57 |
>> 52, in __call__ |
58 |
>> with _open_file(filename) as f: |
59 |
>> File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line |
60 |
>> 31, in _open_file |
61 |
>> raise portage.exception.FileNotFound(filename) |
62 |
>> portage.exception.FileNotFound: b'/var/empty/torque-6.1.0.tar.gz' |
63 |
>> |
64 |
>> !!! A file listed in the Manifest could not be found: |
65 |
>> /var/tmp/gmirror-rsync/gentoo-x86-stage/sys-cluster/torque/torque-6.0.1.ebuild |
66 |
>> /usr/local/bin/mastermirror/rsync-gen.sh: A Manifest has a failure! |
67 |
>> /var/tmp/gmirror-rsync/logs/regen/regen-run-20170126-2238.log.validate: |
68 |
>> |
69 |
>> RepoMan scours the neighborhood... |
70 |
>> digest.missing [fatal] 1 |
71 |
>> /var/tmp/gmirror-rsync/gentoo-x86-stage/sys-cluster/torque::torque-6.1.0.tar.gz |
72 |
>> digest.unused 1 |
73 |
>> file.size 69 |
74 |
>> manifest.bad [fatal] 1 |
75 |
>> sys-cluster/torque/Manifest |
76 |
>> Please fix these important QA issues first. |
77 |
>> RepoMan sez: "Make your QA payment on time and you'll never see the |
78 |
>> likes of me." |
79 |
>> |
80 |
> While increasing QA is a laudable goal, I'm not sure spamming the list |
81 |
> every time you detect a QA issue is the right way to proceed with |
82 |
> improving QA. I'm much rather you adopt a strategy similar to mgorny's |
83 |
> QA tool, and email the dev responsible for the commit that they broke |
84 |
> the repo. Find a package with an issue, extract the last commit on |
85 |
> that directory, get the committer, and send them the email. In all |
86 |
> likelihood, these kinds of errors aren't intentional, and public shaming |
87 |
> isn't really necessary in this case. Simply notifying the developer so |
88 |
> that they can rectify the issue should be sufficient, unless I'm missing |
89 |
> something. |
90 |
> |
91 |
I think this is a useful tool, but I made the suggestion on a previous |
92 |
thread to post to the "gentoo-automated-testing" ML where anyone |
93 |
interested can subscribe. There may be potential in the suggestion of |
94 |
mailing the dev concerned, but perhaps just having somewhere 'visible' |
95 |
where it can be checked, or devs can be 'pointed' would be a reasonable |
96 |
'first step'. |