gnuboot/site/git.md

7.2 KiB

This is the core build system in Libreboot. You could say that lbmk is Libreboot! Download the Git repository:

git clone https://git.sr.ht/~libreboot/lbmk

The git command, seen above, will download the Libreboot build system lbmk. You can then go into it like so:

cd lbmk

Make whatever changes you like, or simply build it. For instructions on how to build lbmk, refer to the build instructions.

Information about the build system itself, and how it works, is available in the lbmk maintenance guide.

lbwww and lbwww-img

The entire Libreboot website and documentation is hosted in a Git repository. Download it like so:

git clone https://git.sr.ht/~libreboot/lbwww

Images are hosted on https://libreboot.at/img/ and available in a separate repository:

git clone https://git.sr.ht/~libreboot/lbwww-img

Make whatever changes you like. See notes below about how to send patches.

The entire website is written in Markdown, specifically the Pandoc version of it. The static HTML pages are generated with Untitled. Leah Rowe, the founder of Libreboot, is also the founder of the Untitled static site generator project.

If you like, you can set up a local HTTP server and build your own local version of the website. Please note that images will still link to the ones hosted on https://libreboot.at/img/, so any images that you add to lbwww-img will not show up on your local lbwww site if you make the image links (for images that you add) link to libreboot.at/img. However, it is required that such images be hosted on libreboot.at/img.

Therefore, if you wish to add images to the website, please also submit to the lbwww-img repository, with the links to them being https://libreboot.at/img/path/to/your/new/image/in/lbwww-img for each one. When it is merged on the libreboot website, your images will appear live.

For development purposes, you might make your images local links first, and then adjust the URLs when you submit your documentation/website patches.

Instructions are on the Untitled website, for how to set up your local version of the website. Download untitled, and inside your untitled directory, create a directory named www/ then go inside the www directory, and clone the lbwww repository there. Configure your local HTTP server accordingly.

Again, instructions are available on the Untitled website for this purpose.

Name not required

Contributions that you make are publicly recorded, in a Git repository which everyone can access. This includes the name and email address of the contributor.

In Git, for author name and email address, you do not have to use identifying data. You can use Libreboot Contributor and your email address could be specified as contributor@libreboot.at. You are permitted to do this, if you wish to maintain privacy. We believe in privacy. If you choose to remain anonymous, we will honour this.

Of course, you can use whichever name and/or email address you like.

Legally speaking, all copyright is automatic under the Berne Convention of international copyright law. It does not matter which name, or indeed whether you even declare a copyright (but we do require that certain copyright licenses are used - read more about that on this same page).

If you use a different name and email address on your commits/patches, then you should be fairly anonymous. Use git log git --pretty=fuller and git show --pretty=fuller to confirm that before you push changes to a public Git repository.

Licenses

We require all patches to be submitted under a free license: https://www.gnu.org/licenses/license-list.html.

  • GNU General Public License v3 is highly recommended
  • For documentation, we require GNU Free Documentation License v1.3 or higher

Always declare a license on your work! Not declaring a license means that the default, restrictive copyright laws apply, which would make your work non-free.

GNU+Linux is generally recommended as the OS of choice, for Libreboot development. However, BSD operating systems also boot on Libreboot machines.

Send patches & contribute

You can submit your patches to the libreboot-devel mailing list, preferably by using git send-email.

A simple guide to properly configure your git installation to send emails has been made by sourcehut or you can use the sourcehut interface to create patches.

You'll have to specify the mailing list address:

git config --local sendemail.to ~libreboot/libreboot-devel@lists.sr.ht

Since the mailing list accepts patches for all the repositories we manage, please specify which repository your patch is for. To do this, you'll need to use:

git config format.subjectPrefix "name_of_the_repo][PATCH"

Please also sign-off your patches, which you can configure with:

git config format.signOff yes

Once you have submitted your patch, the genuine Libreboot maintainers will be notified via the mailing list and will start reviewing it. You can see the status of you patch via the patch tracker.