1 |
On Wed, 8 Jul 2020 02:57:57 +0000 |
2 |
Max Magorsch <arzano@g.o> wrote: |
3 |
|
4 |
> - all outdated packages (according to repology) |
5 |
|
6 |
Unfortunately for Perl, repology can't be taken verbatim. |
7 |
|
8 |
There's a really fun problem with Perl versions, so I'll link you to |
9 |
our writeup to explain it: |
10 |
|
11 |
https://wiki.gentoo.org/wiki/Project:Perl/Version-Scheme |
12 |
|
13 |
This has some side effects visible in packagetest |
14 |
|
15 |
- https://packagestest.gentoo.org/packages/dev-perl/App-FatPacker |
16 |
|
17 |
Already up-to-date, it just can't tell because the versions don't match upstream. |
18 |
|
19 |
- https://packagestest.gentoo.org/packages/dev-perl/Alien-Build |
20 |
|
21 |
Already up-to-date, it just can't tell, because the versions don't match upstream. |
22 |
|
23 |
The "easy" workaround is to use `dev-perl/Gentoo-PerlMod-Version`, and |
24 |
have it munch upstreams version into a "gentoo normalized version", and |
25 |
then use that version for comparison. |
26 |
|
27 |
But this is not itself going to remove the *whole* problem, just most of it. |
28 |
|
29 |
Sometimes upstream do cute things, like: |
30 |
|
31 |
- Ship 1.60 |
32 |
- Then ship 1.61 |
33 |
- Then ship 1.612 |
34 |
- Then ship 1.62 |
35 |
|
36 |
^^^^ This is legal in perl. |
37 |
|
38 |
But many tools like repology get confused by this, and can think that |
39 |
"1.612" is the "latest", when its really "1.62" |
40 |
|
41 |
This gets even more confusing when you simply stick a "v" on the front |
42 |
of those versions, which entirely changes things. |
43 |
|
44 |
- Ship v1.60 |
45 |
- Then ship v1.61 |
46 |
- Then ship v1.62 |
47 |
- Then ship v1.612 |
48 |
|
49 |
^ This is also legal in perl. |
50 |
|
51 |
And in this case, "v1.612" is in fact, the largest version. |
52 |
|
53 |
But as-is, the logic used for perl stuff in packagetest will: |
54 |
|
55 |
- Misreport packages as outdated when they're fine |
56 |
- Possible fail to report needed updates |
57 |
|
58 |
How to properly gate this to happen *only* for perl packages may be the |
59 |
trickiest part. |