[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Initial version of 'gambas-package-config' tool
[Thread Prev] | [Thread Next]
- Subject: Initial version of 'gambas-package-config' tool
- From: Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
- Date: Sat, 23 Nov 2024 18:08:53 +0100
- To: Gambas Mailing List <user@xxxxxxxxxxxxxxxxxxxxxx>
- Cc: Laurent Carlier <lordheavym@xxxxxxxxx>
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.
Re: Initial version of 'gambas-package-config' tool | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: Initial version of 'gambas-package-config' tool | gbWilly <gbWilly@xxxxxxxxxxxxxx> |
Re: Initial version of 'gambas-package-config' tool | Laurent Carlier <lordheavym@xxxxxxxxx> |