Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Looking for Perl help verifying old Gentoo elections
Date: Fri, 03 Aug 2018 15:01:05
Message-Id: 1533308451.753.13.camel@gentoo.org
1 Hi, everyone.
2
3 Inspired by Robin, I've started working on scripts to verify old Gentoo
4 election results. Since our election mechanism is apparently the same
5 as used by Debian, it seemed an obvious choice to use the Debian tooling
6 (devotee) to verify our results.
7
8 I've been able to successfully 'convert' our elections to a minimal set
9 of files needed to get devotee running, and wrap it via loop-script to
10 get full election results (apparently devotee only finds the top winner
11 while we want the complete ranked list) [1]. I've been able to
12 successfully verify most of the Gentoo elections using that. However,
13 I've hit two problems.
14
15 Firstly, there is a result mismatch for council-201206 election. More
16 specifically, the countify results are:
17
18 [["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["ulm"],
19 ["betelgeuse"], ...]
20
21 While devotee considers ulm and betelgeuse tied:
22
23 [["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["betelgeuse",
24 "ulm"], ...]
25
26 Secondly, a number of elections fail midway. More specifically, devotee
27 doesn't output any winners at some stage. This specifically applies to:
28
29 council-201706 (fails after tamiko)
30 council2005 (fails after Koon)
31 council200906 (fails after lu_zero)
32 metastructure2005 (fails after Oldschool-small)
33
34 That said, devotee outputs a lot of perl warnings and the code [2]
35 doesn't seem to have been updated for a while now. Both issues seem to
36 happen around 'weakest defeat' removal, so the bug might be there.
37
38 I'd really appreciate if someone enjoying Perl code could help me figure
39 out what's wrong -- and more specifically, whether it's some 'bad Perl'
40 issue, disjoint algorithm or something entirely different.
41
42 Quick tip on using:
43
44 # note: current version of Perl seems to be buggy
45 # I had to do:
46 cpan install Math::BigInt
47
48 git clone https://github.com/mgorny/election-compare.git
49 cd election-compare
50 git submodule init
51 git submodule update
52 ./run-countify.py -v council-201206 2>countify-out.txt
53 ./run-devotee.py -v council-201206 2>devotee-out.txt
54
55 Then the *-out.txt files contain complete output from tools ran.
56
57 TIA.
58
59
60 [1]:https://github.com/mgorny/election-compare
61 [2]:https://vote.debian.org/~secretary/devotee.git/
62
63 --
64 Best regards,
65 Michał Górny

Attachments

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

Replies