Hi Andreas
Good point on anonscm as well... that really does blow out the numbers.
However... some of them still work via the aliasing mechanism that was
introduced at the time of migration to salsa. Duck used to check them
all but I don't think it is running any more, unfortunately. vcswatch
still does, more on that later.
The vast majority of these packages have seen post-alioth uploads but with
the broken Vcs fields still in place.
Do you have numbers backing up this "vast majority" statement?
Yes, that's in the table below. Of those 161 packages, 145 have been
uploaded since salsa launched and alioth stopped. (updated data with
anonscm at the bottom - the story is still the same, although not all
those anonscm links are broken)
year | count
-----+-------
2011 | 1
2012 | 4
2013 | 3
2014 | 4
2015 | 1
2016 | 1
2017 | 2
2018 | 2 (salsa.d.o general availability)
2019 | 1
2020 | 13
2021 | 95
2022 | 20
2023 | 7
2024 | 6
2025 | 1
[...]
(I accidentally found 2 python-team packages without Vcs URLs yesterday -
the repos were on salsa, just not listed in d/control)
Not so nice. Did you just injected these? If not would you mind naming
the packages?
One got uploaded because I was sorting other changes for qtpy, the other
is fixed in git. Having looked at 20-something packages in the last 2
days, I'm not sure I could actually name which ones at this stage...
In pursuing this, you might also find the vcswatch table in udd - it
lists 1533 packages where the VCS fields might need fixing. Some of the
errors there are transient, but this also picks up typos in the VCS
fields ('debain', 'debian/packages/') and repos that simply don't exist.
Updated queries and data appended. (and btw postgres can do regex
matches which simplifies the sql quite a lot)
regards
Stuart
Majority of packages with invalid vcs_url uploaded post salsa:
SELECT
DATE_PART('year', date) AS year,
COUNT(*)
FROM
sources AS s
JOIN upload_history AS h
ON s.source = h.source AND s.version = h.version
WHERE
release = 'sid'
AND vcs_url ~ '/(git|svn|alioth|anonscm).debian.org'
GROUP BY
year
ORDER BY
year ASC;
year | count
-----+-------
2011 | 2
2012 | 5
2013 | 7
2014 | 9
2015 | 9
2016 | 20
2017 | 102
2018 | 85 ← (salsa.d.o general availability)
2019 | 10
2020 | 77
2021 | 411
2022 | 115
2023 | 13
2024 | 31
2025 | 3
(15 rows)
Teams with packages to fix - and the packages are probably already on
salsa so this is just metadata, not lots of work.
SELECT
maintainer_name, COUNT(*)
FROM sources
WHERE
release = 'sid'
AND vcs_url ~ '/(git|svn|alioth|anonscm).debian.org'
AND maintainer ~ '(team|group|lists)'
GROUP BY
maintainer_name
ORDER BY
count DESC;
maintainer_name | count
---------------------------------+-------
Debian Ruby Extras Maintainers | 196 (+2 that are in Uploaders)
Debian Java Maintainers | 178
Debian Go Packaging Team | 105
Debian Perl Group | 83
pkg-go | 25
Debian Javascript Maintainers | 20
Debian Fonts Task Force | 15
Debian PHP PEAR Maintainers | 14
Debian X Strike Force | 12
Debian Science Maintainers | 11
Debian XML/SGML Group | 5
Debichem Team | 4
Debian VDR Team | 4
Debian CLI Applications Team | 2
Debian Games Team | 2
Debian Java maintainers | 2
Debian Tasktools Packaging Team | 2
Debian VoIP Team | 2
Debian Astronomy Maintainers | 2
Debian Privacy Tools Maintainers | 2
Debian Clojure Maintainers | 2
Debian Astronomy Team | 2
Debian Telepathy maintainers | 2
Live Systems Maintainers | 1
The Debian Lua Team | 1
Pulseaudio maintenance team | 1
Android Tools Maintainers | 1
Debian PhotoTools Maintainers | 1
Puppet Package Maintainers | 1
ClamAV Team | 1
Debian-IN Team | 1
Debian CLI Libraries Team | 1
Debian Islamic Maintainers | 1
Debian GNOME Maintainers | 1
Debian Science Team | 1
Debian Sugar Team | 1
Debian GNUKhata Team | 1
Debian Emacs addons team | 1
Debian Med Packaging Team | 1
Debian Salt Team | 1
NeuroDebian Team | 1
Find packages in your favourite team that you want to work on...
SELECT
source, vcs_url
FROM sources
WHERE
release = 'sid'
AND vcs_url ~ '/(git|svn|alioth|anonscm).debian.org'
AND maintainer ~ 'science'
ORDER BY
source;
The vcswatch table has lots of interesting things... Note that the salsa
error "could not read Username" in the table is not a misconfiguration -
it means that the repo couldn't be obtained anonymously, which could be
that it doesn't exist, or that it needs permissions - both are wrong for
Debian.
SELECT
source, url, error
FROM
vcswatch
WHERE
error IS NOT NULL
ORDER BY
source;
--
Stuart Prescott http://www.nanonanonano.net/ stu...@nanonanonano.net
Debian Developer http://www.debian.org/ stu...@debian.org
GPG fingerprint 90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7