diff --git a/nbuild/00.Foreword.md b/nbuild/00.Foreword.md new file mode 100644 index 0000000..45dc0a5 --- /dev/null +++ b/nbuild/00.Foreword.md @@ -0,0 +1,17 @@ +# Foreword +Welcome to Nest build's official getting-started guide! + +Nest build, or `nbuild`, is an automated package builder for [Raven-OS](https://raven-os.org), which is an adaptative, customizable and evolutive open-source Operating System (OS) based on the Linux kernel. +`nbuild` is meant to only be run on Raven-OS. + +## Documentation +`nbuild`'s documentation is hosted [here](https://docs.raven-os.org/p/nbuild/master/), but it can also be locally generated with the following commands: +``` +$ pip install -r docs/requirements.txt +$ sphinx-apidoc -f --separate -o docs/source/ . +$ make -C docs html +``` +The main page can be accessed at `docs/build/html/index.html`. + +## Getting help +If you need help, you can join our official [community Discord server](https://invite.gg/ravenos) and ask any question you have there. Our team and community will be glad to answer them. \ No newline at end of file diff --git a/nbuild/01.nbuild.md b/nbuild/01.nbuild.md new file mode 100644 index 0000000..c161b81 --- /dev/null +++ b/nbuild/01.nbuild.md @@ -0,0 +1,22 @@ +# 1 ``nbuild`` +## 1.1 What `nbuild` is for +[//]: # (TODO: Add link to the getting-started for Nest) +`nbuild` is an automated package builder. +From a build manifest and source code, `nbuild` will abstract the build system used (cmake, autoconf, etc.), compile the software, get the executable files and files to install (binaries, libraries, manual pages, etc.) and wrap them in a package that Nest will know how to install: a `.nest` archive, called an NPF file. +It contains a `data.tar.gz` with all the files to install, if there are any, and a build manifest `manifest.toml`, containing basic information and metadata for this software (its name, version, description, licenses, etc.). + +All of this is done thanks to a powerful library included in `nbuild`: the standard compilation library, for which you can find the documentation [here](https://docs.raven-os.org/p/nbuild/master/stdlib.html). + +The recommended way to use `nbuild` is using its docker image. +It provides a working Raven-OS environment on any Linux distribution while still protecting the user's system from any failed compilation. +To use it that way, run `docker run -it ravenos/nbuild`. + +## 1.2 How to use `nbuild` +There are several flags for `nbuild`: +* `--config CONFIG` allows you to change the static configuration file for `nbuild`. +By default, it's `config.toml`. +* `-o OUTPUT_DIR` or `--output-dir OUTPUT_DIR` changes the output directory for the built packages. +By default, it's `packages/`. +* `-c CACHE_DIR` or `--cache-dir CACHE_DIR` changes the cache directory used when downloading and building packages. +By default, it's `cache/` +* `--purge` removes all cached data. \ No newline at end of file