Gentoo Archives: gentoo-dev

From: NP-Hardass <NP-Hardass@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Fwd: Cron <gmirror@dipper> /usr/local/bin/pidlock -s rsync-gen /bin/bash /usr/local/bin/mastermirror/rsync-gen.sh
Date: Fri, 27 Jan 2017 00:56:04
Message-Id: 4d07e61d-e144-0902-816b-ab50213d7b7f@gentoo.org
In Reply to: [gentoo-dev] Fwd: Cron /usr/local/bin/pidlock -s rsync-gen /bin/bash /usr/local/bin/mastermirror/rsync-gen.sh by Doug Freed
1 On 01/26/2017 06:48 PM, Doug Freed wrote:
2 > This is the email I get when a Manifest is missing DIST entries; it's
3 > more verbose than it needs to be, but I'd rather have more than less.
4 > In this particular case, the developer that made the bad commit likely
5 > had something they were working on in sys-cluster/torque added to the
6 > git index (ie, they did git add), and then needed to make an unrelated
7 > change, and didn't stash their changes beforehand. You should always
8 > check 'git status' output before running repoman commit and/or git
9 > commit. It's probably best to check before you start on a change, and
10 > then you can 'git stash -u' right away (the -u includes untracked
11 > files, which is useful if your in progress change is adding something
12 > new), and then after you've committed the change you wanted to get
13 > done right away, you can 'git stash pop' to get back to the state you
14 > were in before.
15 >
16 > This particular issue has already been fixed, but I'll be forwarding
17 > all these emails to the list from now on (I have to do that manually,
18 > because there are some that aren't anybody's fault, and I don't need
19 > to spam you about those).
20 >
21 > -Doug
22 >
23 >
24 > ---------- Forwarded message ----------
25 > From: (Cron Daemon) <gmirror@g.o>
26 > Date: Thu, Jan 26, 2017 at 5:39 PM
27 > Subject: Cron <gmirror@dipper> /usr/local/bin/pidlock -s rsync-gen
28 > /bin/bash /usr/local/bin/mastermirror/rsync-gen.sh
29 > To: infra-gmirror@g.o
30 >
31 >
32 > [ERROR/ForkPoolWorker-7] sys-cluster/torque is missing DIST entries!
33 > Traceback (most recent call last):
34 > File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line
35 > 23, in _open_file
36 > encoding=_encodings['fs'], errors='strict'), 'rb')
37 > FileNotFoundError: [Errno 2] No such file or directory:
38 > b'/var/empty/torque-6.1.0.tar.gz'
39 >
40 > During handling of the above exception, another exception occurred:
41 >
42 > Traceback (most recent call last):
43 > File "/usr/local/bin/mastermirror/thicken-manifests.py", line 122,
44 > in maybe_thicken_manifest
45 > manifest.create(assumeDistHashesAlways=True)
46 > File "/usr/lib64/python3.4/site-packages/portage/manifest.py", line
47 > 506, in create
48 > self.fhashdict["DIST"][f] = perform_multiple_checksums(fname, self.hashes)
49 > File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line
50 > 426, in perform_multiple_checksums
51 > rVal[x] = perform_checksum(filename, x, calc_prelink)[0]
52 > File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line
53 > 390, in perform_checksum
54 > myhash, mysize = hashfunc_map[hashname](myfilename)
55 > File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line
56 > 52, in __call__
57 > with _open_file(filename) as f:
58 > File "/usr/lib64/python3.4/site-packages/portage/checksum.py", line
59 > 31, in _open_file
60 > raise portage.exception.FileNotFound(filename)
61 > portage.exception.FileNotFound: b'/var/empty/torque-6.1.0.tar.gz'
62 >
63 > !!! A file listed in the Manifest could not be found:
64 > /var/tmp/gmirror-rsync/gentoo-x86-stage/sys-cluster/torque/torque-6.0.1.ebuild
65 > /usr/local/bin/mastermirror/rsync-gen.sh: A Manifest has a failure!
66 > /var/tmp/gmirror-rsync/logs/regen/regen-run-20170126-2238.log.validate:
67 >
68 > RepoMan scours the neighborhood...
69 > digest.missing [fatal] 1
70 > /var/tmp/gmirror-rsync/gentoo-x86-stage/sys-cluster/torque::torque-6.1.0.tar.gz
71 > digest.unused 1
72 > file.size 69
73 > manifest.bad [fatal] 1
74 > sys-cluster/torque/Manifest
75 > Please fix these important QA issues first.
76 > RepoMan sez: "Make your QA payment on time and you'll never see the
77 > likes of me."
78 >
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 --
92 NP-Hardass

Attachments

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

Replies