On 26.03.2022 08:52, Andrei Borzenkov wrote:
On 24.03.2022 19:38, Martin Wilck wrote:
On Thu, 2022-03-24 at 15:59 +0100, Henne Vogelsang wrote:
Hey,
On 23.03.22 14:30, Martin Wilck wrote:
Moreover, casual contributors would most probably fail at this project. The basic technical part - connecting to the OBS API - is simple enough. But the difficult part - the one at which software.o.o is currently failing [*] - is to figure out which repositories matter for which distribution
I think you are confusing contributing to software-o.o with fixing this one issue?
IMO it's the #1 issue to be solved either in s.o.o or any other tool that serves a similar purpose.
OK, so
- the original issue was papered over in
https://github.com/openSUSE/software-o-o/pull/1065 (and I personally confirm that search did work after this was deployed)
- this PR hardcoded distribution ID that needs "special treatment" in
https://github.com/openSUSE/software-o-o/blob/master/config/initializers/dis...:
# maps a distro_id to an Array of project names that could be the baseproject DISTRIBUTION_PROJECTS_OVERRIDE = { # Leap 15.3 '19032' => ['SUSE:SLE-15:GA', 'SUSE:SLE-15:Update', 'SUSE:SLE-15-SP1:GA', 'SUSE:SLE-15-SP1:Update', 'SUSE:SLE-15-SP2:GA', 'SUSE:SLE-15-SP2:Update', 'SUSE:SLE-15-SP3:GA', 'SUSE:SLE-15-SP3:Update', 'openSUSE:Leap:15.3', 'openSUSE:Backports:SLE-15-SP3'] }.freeze
DISTRIBUTION ID IS HARDCODED IN OTHER PLACES TOO
./app/controllers/obs_controller.rb: leap153 = @distributions.find { |d| d[:dist_id] == '19032' }
./config/initializers/distributions_projects.rb: '19032' => ['SUSE:SLE-15:GA', 'SUSE:SLE-15:Update', 'SUSE:SLE-15-SP1:GA',
bor@bor-Latitude-E5450:~/src/openSUSE/software-o-o$
- distribution ID changed after Leap 15.3 respin:
bor@bor-Latitude-E5450:~/src/openSUSE/software-o-o$ osc api -X GET /distributions/19032
Server returned an error: HTTP Error 404: Not Found
Couldn't find Distribution with 'id'=19032
bor@bor-Latitude-E5450:~/src/openSUSE/software-o-o$ osc api -X GET /distributions/20043
<distribution vendor="openSUSE" version="15.3" id="20043">
<name>openSUSE Leap 15.3</name>
<project>openSUSE:Leap:15.3</project>
<reponame>15.3</reponame>
<repository>standard</repository>
<link>http://www.opensuse.org/</link>
<icon url="https://static.opensuse.org/distributions/logos/opensuse.png" width="8" height="8"/>
<icon url="https://static.opensuse.org/distributions/logos/opensuse.png" width="16" height="16"/>
<architecture>x86_64</architecture>
</distribution>
bor@bor-Latitude-E5450:~/src/openSUSE/software-o-o$
- boom. Search stopped working again.
So minimal "fix" is to change distribution ID which at least allows search to work again for 15.3 again. Of course it will not fix 15.4 or any future version.
While updating distribution ID does show packages for Leap 15.3 (including third-party projects with openSUSE_Leap_15.3 repo :) ) it is still hopelessly incomplete. Generated links to repo or direct downloads are simply wrong, like
https://build.opensuse.org/package/show/openSUSE%3ALeap%3A15.3/patchinfo.212... to official package (does not exist because actual location is SUSE, not openSUE)
https://download.opensuse.org/repositories/SUSE:/SLE-15-SP3:/Update/pool/x86... (does not exist because actual location is openSUSE, not SUSE)
The version listed does not match generated link (it shows version for patchinfo.21281, but generated link is for patchinfo.20489).
It does not realize that it found update and presents it as "official release".
It presents direct download links for SUSE instead of openSUSE (well, personally I think this is more OBS issue because native OBS GUI does the same. Again, response of OBS maintainers - not a bug).
The lesson learned - software.o.o cannot be maintained by external volunteers alone. This MUST be driven and coordinated by openSUSE release management. At the very least openSUSE release management must sit down with OBS maintainers and come up with stable API for searching for packages belonging to distribution. But I do not hold my breath. openSUSE release management was aware of this problem for almost a year and did nothing. Apparently this is not considered a problem.