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.
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.