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

Re: Building gambas on OBS


Am 11.11.24 um 19:54 schrieb Benoît Minisini:

Great, thanks!

Now I understand the following:

The "package" in OBS does not mean "one package", but a git repository that includes all the files needed to make one or many packages for all the distributions you want.

Correct, or a tar archive or a zip archive or other strange things ;-)


I guess that OBS is clever enough to take the configuration file(s) according to the target distribution of the packages being built.

*.spec files for openSUSE/Fedora/other rpms, *.dsc for Debian/Ubuntu/other dpkg, PKGBUILD for Arch - and probably a few others


Your 'home:munix9:gambas/gambas3' sub-project actually builds the latest stable Gambas.

Do we have to create one sub-project for each version of Gambas?

This is an organizational question: Do you want to offer all possible (old) versions? Or only the last three, for example?

Take a look at https://build.opensuse.org/project to see how packages and versions are organized there (e.g. PHP).

But basically you have to think about what you want to offer and how much time you want to invest in it.

Even with the help of kind souls, packaging can be an extremely time-consuming affair, especially if you want to create packages for several distributions.


Do you think that I could put inside the Gambas sources all the configuration files needed to make all the packages, for all distributions, and that files could be taken automatically from the sources for OBS to be able to build the packages?

Almost all of them. The obs needs a minimum of configuration to know where all the configurations are located and need to be picked up.

But you could put the rest in a subdirectory “.obs” on gilab, for example, but then you would have to synchronize it manually.

The obs offers the possibility to use these configurations from source packages - I have not yet done this myself with various distributions, so testing would be necessary here.


I really want to centralize these information files and update it according to the changes in Gambas components, without having to fix configuration files in OBS or anywhere else.

I can understand that and it makes sense.


Moreover, it will allow any distribution packager to package Gambas easily and correctly: for example, ubuntu was never able to package Gambas correctly by following the instructions on the wiki, and the official Gambas ubuntu packages do not work correctly. I guess it's the same in Debian, I didn't check.

This is basically possible, if you then also have to think about which accesses should/must be allowed at which point (obs/gitlab).

However, one should not forget that some/several (all?) distributions prefer to use their own build system - in my experience, it is very rare that the obs is also used as the central build system by other distributions.

So I assume that the packages will continue to be offered on other build systems.


Last question: is it possible to download automatically the Gambas source packages from gitlab?

In principle yes, via webhooks:
https://openbuildservice.org/help/manuals/obs-user-guide/cha-obs-scm-ci-workflow-integration#id-1.2.8.5.2.6.5.3

Because here, too, the obs must know what it is supposed to do. So if there is no manual trigger for the build (e.g. via osc or the web client), this must come from an external source (e.g. when the master changes or a new tag is created).

And of course the obs rebuilds the packages if something changes in the corresponding configured distribution (updates and the like).

Anyway, thanks again for helping me in some stuff that is not easy for me, and very time consuming!

In any case, there is a certain amount of testing to be done, so start “modestly” with the selection of versions and distributions.


Regards,



Follow-Ups:
Re: Building gambas on OBSmunix9 <munix9@xxxxxxxxxxxxxx>
Re: Building gambas on OBSmunix9 <munix9@xxxxxxxxxxxxxx>
References:
Building gambas on OBSmunix9 <munix9@xxxxxxxxxxxxxx>
Re: Building gambas on OBSBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>