[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gambas-package-config] Automatic generation of OBS configuration


Am 01.12.24 um 19:25 schrieb Benoît Minisini:
Le 01/12/2024 à 06:52, munix9 a écrit :

4) Very important question: would it be possible, with OBS, not to just make the difference between debian 11 and debian 12, but have different configuration files for each distribution version? For example, one '*.spec' file for each Fedora version, one 'debian.tar.gz' for each Debian version, one for each Ubuntu version. And, of course, make packages for all them (not -every- system version of course, but the last big ones).

Theoretically yes, it's just a question of effort.

For each repository that is configured in the project, a separate build description can be created - for Debian/Ubuntu then additionally the *.tar.gz - with Arch, however, this makes little sense, I think.
E.g.:
gambas3-15.6.spec
gambas3-16.0.spec
gambas3-openSUSE_Tumbleweed.spec
gambas3-Fedora_40.spec
gambas3-Fedora_41.spec
gambas3-Debian_12.dsc + debian-Debian_12.tar.gz
gambas3-xUbuntu_22.04.dsc + debian-xUbuntu_22.04.tar.gz
...

With openSUSE/Fedora or *.spec in general, it doesn't really make much sense either, as the *.spec format is very flexible in terms of configuration - but yes, you should be able to do it and, above all, test it.


I will follow that scheme, except for 'gambas3-X.Y.spec', which should be 'gambas3-openSUSE_Leep_X.Y', shouldn't it?

In principle correct, at some point the openSUSE community agreed to use only the version number for the repository name for Leap.
But 'openSUSE_Leap_X.Y' should also work, of course.


As these files are generated, what's the problem with one 'spec' file by version instead of the same 'spec' file for one distribution?

I find clearer to have one 'spec' file for each version and distribution.

No problem. Currently the differences between the individual Leap versions and Tumbleweed are very small, look for '%if 0%{?suse_version} ...' in the original gambas3.spec file.

As already written several times, the rpm-spec format is very flexible and powerful, so that it is almost never the case that separate spec files are needed for each distribution.


I must just find how to generate the differences between the different versions. I think these differences are mainly which packages are disabled, and what the build dependencies are - for spec files, as it seems library dependencies of packages are automatically deduced from build dependencies.

Right now you can use (copy) the gambas3.spec for all openSUSE flavors, it already works (as noted above: look for '%if 0%{?suse_version}' when searching for differences).

Only two versions are actually relevant: Leap 15.6 and Tumbleweed. 15.5 is EOL end of the year, 16.0 is coming next year and maybe Slowroll could still be interesting.

gambas3-openSUSE_Leap_15.6.spec
gambas3-openSUSE_Tumbleweed.spec
gambas3-openSUSE_Slowroll.spec (?!)

https://en.opensuse.org/Portal:Slowroll


What do you think?



Follow-Ups:
Re: [gambas-package-config] Automatic generation of OBS configurationgbWilly <gbWilly@xxxxxxxxxxxxxx>
References:
Re: [gambas-package-config] Automatic generation of OBS configurationmunix9 <munix9@xxxxxxxxxxxxxx>
Re: [gambas-package-config] Automatic generation of OBS configurationBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>