Skip to content

[Documentation for newcomers] How to contribute Recipes (HowTo) #247

@rubyFeedback

Description

@rubyFeedback

Hey there Gobo-folks, in particular Nuc1eoN

GoboLinux has kind of at the least three main websites for recipes:

https://gobolinux.org/recipes.html

https://github.com/gobolinux/Recipes

https://www.wiki.gobolinux.org/Recipes/

Kind of the main "work horse" is the second one at github. But this
has one problem: it truncates things, so I can not even see the main
README.

My first thought then was to look at the official homepage, aka the
first link.

This is very sparse though:

"In the free software world, compiling programs from source is commonplace. As you might expect, the vast majority of programs don't ship configured by default to use the GoboLinux directory hierarchy... though most are quite happy to use it. Those that aren't can be persuaded -- as a last resort, there's always the compatibility "legacy" directories. Most of the time, you won't have to deal with it, though: compilation rules for hundreds of programs are already automated in the Compile program and its "recipes" tree.

We keep the repository of GoboLinux recipes on GitHub."

My last idea was to check the wiki here:

https://www.wiki.gobolinux.org/Recipes/

The wiki appears to have the best documentation.

But the homepage at https://gobolinux.org/recipes.html does not even seem to mention the wiki.

Thus, my first suggestion would be to add a link and perhaps a short paragraph at https://gobolinux.org/recipes.html, to also mention the wiki, something like:

"For additional information pertaining to how to handle recipes, have a look at
INSERT_URL_HERE." with INSERT_URL_HERE being https://www.wiki.gobolinux.org/Recipes/.

As a second suggestion, though, I would also add a new paragraph at the main
website at recipes (e. g. https://gobolinux.org/recipes.html) specifically titled
"How to contribute a recipe".

I believe the wiki covers this already at:

PackRecipe

as well as:

ContributeRecipe

However had, I would also suggest to add copy/pastable syntax
examples, say, for htop. That way more experienced linux users
can quickly start invoking those two scripts.

And, I think we should also encourage new users to quickly
contribute recipes too - this may help get them more involved,
even if only for some time. I remember the latter helped onboard
folks in the past. Anyone remember Oejet and mohjive? I still
do! (Damn, I am fossil-old myself now ...)

We may also possibly reconsidering the recipe-structure in the
long run; I think it takes a bit too long to update recipes. I am
not sure why - for many projects, they all support --prefix (even
cmake and meson) and have a mostly default directory setup,
so GoboLinux does not need make any change to this. I assume
this has more to do with a) number of people contributing
recipes in general, and then also b) the recipes structure could
possibly be simplified. But this is an aside, the issue here is
mostly about documentation; just mentioning long-term objectives.

I had a look at the wiki and unfortunately we just have commandline
flags info:

For PackRecipe:

https://www.wiki.gobolinux.org/Commands/PackRecipe/index.html

And ContributeRecipe:

https://www.wiki.gobolinux.org/Commands/ContributeRecipe/index.html

The latter has a usage example, which is good. PackRecipe could need
one too, even if the syntax is trivial.

In order to "comply" with my "we need more specification", I would
also recommend at the least for ContributeRecipe, to briefly, explain
what it does. This can be super-short, e. g.

  1. checks github
  2. if github does not yet have this recipe, create a new one
  3. if the recipe already exists, and the version is higher-check, add a new entry + directory and upload the new recipe

Or whatever the steps are.

Either way, I would also recommend a short paragraph "How to contribute recipes", ideally
with one simple example. Probably at the homepage rather than the wiki though, at:
https://gobolinux.org/recipes.html

I may also repurpose my laptop to run GoboLinux and then test this, so this here is mostly
a prep-documentation suggestion. Thanks for reading.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions