Package requirements for gnu-octave.github.io/packages/

Hello,

I am currently assembling a pull request for the Octave packages list at gnu-octave.github.io.

I am pretty confident that my package can be installed fine, once the target system has the requirements fulfilled (some build tools, dependent C++ libraries), since it works on several machines CI pipelines install it regularly on a Gitlab instance. These requirements are not fulfilled of course in the environment which is used by the Github check job, see for example New package: caosdb by quazgar · Pull Request #10 · gnu-octave/packages · GitHub.

What is the expected behavior of some package’s configure script in such cases? Should I rewrite it to exit gracefully, maybe outputting a message for the users with a reference to the package’s documentation? Or is it OK to fail?

In case this is relevant, the package yaml is at Octave-packages/caosdb.yaml at new-package-caosdb · CaosDB/Octave-packages · GitHub, the package caosdb itself can be found at CaosDB / CaosDB Octave library · GitLab

Any hint would be appreciated :slight_smile:

Thanks for adding a new package! This “failure” is not a big deal :slightly_smiling_face:

As you already found out, the GitHub Actions Octave runner has a basic set of numerical libraries. Please regard this as a “final sanity check” of the package installation by a new Octave user (who naturally causes most of the issue reports).

This final sanity check shows what your new users (who do not know which libraries or tools have to be installed on the system beforehand) will experience and your package should be prepared for those questions with an excellent documentation how to resolve these error messages :wink:

In short, the responsibility for your package to work smoothly is with you, the package maintainer. Octave packages is just an index listing your great efforts in a central location for users like me to find it.

If you are prepared for users who see the same error message as the final sanity check, there is no reason to avoid adding your package to the Octave packages index, which is highly appreciated :slightly_smiling_face: Octave needs a more active package developer community :smiley:

Regarding the error message many users will most likely see during the first installation of your package:

./configure: line 24: conan: command not found

Maybe you can improve your configure rule to give the user a more “human understandable” error message like

The progam `conan` was not found on your system.
Please install it from https://web.site.com bla bla.
1 Like

Thank you, I am working on some checks and user-friendly messages.

1 Like