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

Re: Initial version of 'gambas-package-config' tool


On Sat, 23 Nov 2024 at 17:09, Benoît Minisini <
benoit.minisini@xxxxxxxxxxxxxxxx> wrote:

> Hi,
>
> I have just added the initial version of the 'gambas-package-config'
> tool in the '/app/src' directory.
>
> The goal of this project is generating configuration inside the new
> '.obs' source directory. That '.obs' directory will then be used by the
> openSUSE Build Service to make binary packages for openSUSE, Ubuntu,
> ArchLinux...
>
> The packages are described in the 'conf' directory of the project. There
> is one file for each package. Each file includes the summary (or short
> description in one line) of the package and its full multi-line
> description.
>
> Other information is gathered directly from the Gambas source directory
> where the 'gambas-package-config' is stored. In other words,
> 'gambas-package-config' is only intended to be run from the IDE, and
> from its project directory located in '/app/src'.
>
> At the moment, it can only generate the PKGBUILD configuration file for
> ArchLinux.
>
> This file is generated from the PKGBUILD file located inside the
> 'template' directory.
>
> This "template PKGBUILD" is a mix of the normal PKGBUILD file, and
> substitution commands enclosed between "@{" and "}" characters.
>
> The following commands are implemented:
>
> @{package-version}
>
> Return the version of the current Gambas source code.
>
> @{website-url}
>
> Return the Gambas website URL.
>
> @{disable <package1> <package2> ...}
>
> Disable some components that will not be packages. Gambas regular
> expressions can be used.
>
> @{desc <component>}
>
> Return the short description of a component.
>
> @{package-list}
>
> Return a list of packages that will be build, following the ArchLinux
> syntax.
>
> @{package <component>
> <body>
> }
>
> Define the package of the specified component, provided that it has not
> been alread defined explicitely.
>
> The <body> is added to the normal package description.
>
> The description is automatically added.
>
> If no "depends=" line exists, it is automatically added. That works only
> for components made entirely in Gambas.
>
> @{packages}
>
> Define all remaining packages that were not explicitly defined, or
> defined by a @{package ...} command.
>
> Now I need help from Laurent Carlier, or other ArchLinux packagers, to
> check the generated PKGBUILD.
>
> It obviously create more packages than the original one, because the
> original one didn't follow the specifications written in the wiki. But I
> don't why exactly, so I need help.
>
> As for the other distributions, it will follow the same logic, with
> template files including commands enclosed by "@{" and "}".
>
> The commands will be mostly the same, depending of what is actually
> needed to generate the files.
>
> For example, RPM specification file describe a package in one place, and
> the files that must be installed elsewhere. So this need some new command.
>
> By centralizing the definition of package configuration files for all
> distributions in one place, I hope it will make packaging Gambas easier.
>
> Waiting for your comments now!
>
> Best regards,
>
> --
> Benoît Minisini.
>

This sounds awesome :)
Having repositories for the main distributions is going to greatly improve
our ability to show novice users how to upgrade gambas so our programs work
for them.

I assume for most systems it will be as simple as the ubuntu/launchpad PPA
method for users to upgrade.

Also it sounds like I may be able to use this system to make an obs repo
for my altered bruces-patched version too ?

Thanks Benoit  , i'm sure this is complicated stuff that's taking a lot of
your time but ultimately it's really going to be worth it :)

Sorry i cannot help but i have little to no experience on packaging gambas,
i managed to use GBWilly's formula to make my own debian repo but i got
stuck on the final gpg signing part.
Also I was fairly out of my depth when it came to understanding exactly
what i was doing.

Exciting stuff though   :)
Much respect
BruceS

References:
Initial version of 'gambas-package-config' toolBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>