diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a953843e25..56969ae42f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,13 +56,15 @@ We have a Discord server as an alternative for Matrix, open the #join-requests c The Matrix messages are sent to Discord and vice-versa using a bot, but sometimes some Discord messages aren't sent to Matrix (if this happens to you join in our Matrix space above) -## [GitLab](https://gitlab.redox-os.org/redox-os/redox) +## [Gitea](https://gitea.redbearos.org/vasilito/RedBear-OS) + +This document is upstream-derived; the Red Bear project uses **gitea.redbearos.org**, not GitLab. A slightly more formal way of communication with fellow Red Bear OS developers, but a little less quick and convenient like the chat. Submit an issue when you run into problems compiling or testing. Issues can also be used if you would like to discuss a certain topic: be it features, code style, code inconsistencies, minor changes and fixes, etc. -If you want to create an account, read the [Signing in to GitLab](https://doc.redox-os.org/book/signing-in-to-gitlab.html) page. +If you want to create an account, read the [Signing in to Gitea](https://doc.redox-os.org/book/signing-in-to-gitlab.html) page. -Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the GitLab email notifications have distractions (service messages or spam) and most developers don't left their GitLab pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). +Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the Gitea email notifications have distractions (service messages or spam) and most developers don't left their Gitea pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). By doing this you help us to pay attention to your issues and avoid them to be accidentally forgotten. @@ -107,7 +109,7 @@ So for contributors: - Make sure your build system is up-to-date, read the [Update The Build System](https://doc.redox-os.org/book/build-system-reference.html#update-the-build-system) section if in doubt. - If you want to make local changes in recipe sources it's recommended to automatic recipe source update, read [this](https://doc.redox-os.org/book/configuration-settings.html#local-recipe-changes) section to learn how to this for one or multiple recipes and [this](https://doc.redox-os.org/book/configuration-settings.html#cookbook-offline-mode) section for all recipes. - If you want to make changes to system components, drivers or RedoxFS you need to manually update initfs, read [this](https://doc.redox-os.org/book/coding-and-building.html#how-to-update-initfs) section to learn how to do that. -- If some program can't build or work, something can be missing/hiding on [relibc](https://gitlab.redox-os.org/redox-os/relibc), like a POSIX/Linux function or bug. +- If some program can't build or work, something can be missing/hiding on [relibc](https://gitea.redbearos.org/vasilito/RedBear-OS), like a POSIX/Linux function or bug. - If you have some error on QEMU remember to test different settings or verify your operating system (Pop_OS!, Ubuntu, Debian and Fedora are the recommend Linux distributions to do testing/development for Red Bear OS). - Remember to log all errors, you can use the following command as example: @@ -136,21 +138,21 @@ changed. When a commit changes the visible system surface, supported hardware, build flow, shipped configs, or key docs, add a short user-facing changelog note in the same change. -## GitLab +## Gitea ### Identity -Once your GitLab account is created, you should add your Matrix or Discord username (the name after the `@` symbol) on the "About" section of your profile, that way we recognize you properly. +Once your Gitea account is created, you should add your Matrix or Discord username (the name after the `@` symbol) on the "About" section of your profile, that way we recognize you properly. ### Issues -We use issues to organize and track our current and pending work, to know how to create issues on the Redox GitLab read the [Filing Issues](https://doc.redox-os.org/book/filing-issues.html) page. +We use issues to organize and track our current and pending work, to know how to create issues on the Red Bear Gitea read the [Filing Issues](https://doc.redox-os.org/book/filing-issues.html) page. -Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the GitLab email notifications have distractions (service messages or spam) and most developers don't left their GitLab pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). +Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the Gitea email notifications have distractions (service messages or spam) and most developers don't left their Gitea pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). By doing this you help us to pay attention to your issues and avoid them to be accidentally forgotten. -You can see all issues on [this](https://gitlab.redox-os.org/groups/redox-os/-/issues) link. +You can see all issues on [this](https://gitea.redbearos.org/vasilito/RedBear-OS/issues) link. ### Pull Requests @@ -160,27 +162,13 @@ Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-r Before starting to contribute, we recommend reading the [General FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/). -You can contribute to the Red Bear OS documentation and code on the following repositories (non-exhaustive, easiest-to-hardest order): - -- [Website](https://gitlab.redox-os.org/redox-os/website) -- [Book](https://gitlab.redox-os.org/redox-os/book) - High-level documentation -- [Build System Configuration](https://gitlab.redox-os.org/redox-os/redox) - Our main repository -- [pkgutils](https://gitlab.redox-os.org/redox-os/pkgutils) - Package Manager -- [acid](https://gitlab.redox-os.org/redox-os/acid) - Redox Test Suite -- [relibc](https://gitlab.redox-os.org/redox-os/relibc) - Redox C Library -- [libredox](https://gitlab.redox-os.org/redox-os/libredox) - Redox System Library -- [Bootloader](https://gitlab.redox-os.org/redox-os/bootloader) -- [RedoxFS](https://gitlab.redox-os.org/redox-os/redoxfs) - Default filesystem -- [Base](https://gitlab.redox-os.org/redox-os/base) - Essential system components and drivers -- [Kernel](https://gitlab.redox-os.org/redox-os/kernel) - -To see all Redox repositories open the [redox-os group](https://gitlab.redox-os.org/redox-os). +All Red Bear OS sources live in the SINGLE repository `gitea.redbearos.org/vasilito/RedBear-OS` per the Single-Repo Rule. Core components are subtrees in `local/sources//`; user-facing packages are in `recipes/`; kernel-driver work lands in local forks; documents are in `local/docs/` and `docs/`. ### Skill Levels If you don't know programming: -- Test the [daily images](https://static.redox-os.org/img/) on your computer and add the report on the [Hardware Compatibility](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/HARDWARE.md) list +- Test the [daily images](https://static.redox-os.org/img/) on your computer and add the report on the [Hardware Compatibility](https://gitea.redbearos.org/vasilito/RedBear-OS/blob/branch/0.3.1/HARDWARE.md) list - Monitor and warn developers if the [daily images](https://static.redox-os.org/img/) are outdated - Use/test Redox and create issues for bugs or needed features (please check for duplicates first) - Fix and write documentation @@ -196,11 +184,11 @@ If you don't know how to code in Rust but know other programming languages: If you know how to code in Rust but don't know operating system development: -- See the [easy](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=easy) issues -- See the "[good first issue](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=good%20first%20issue)" issues -- See the [help wanted](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=help%20wanted) issues (it's worth noting the skill level varies between projects, but a large subset of these should be approachable by contributors familiar with regular Rust/Unix application programming) +- See the [easy](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Aeasy) issues +- See the "[good first issue](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Agood%20first%20issue)" issues +- See the [help wanted](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Ahelp%20wanted) issues (it's worth noting the skill level varies between projects, but a large subset of these should be approachable by contributors familiar with regular Rust/Unix application programming) - Improve the package manager, or build system tooling like `redoxer` or `installer` -- Improve the [Ion](https://gitlab.redox-os.org/redox-os/ion) shell, or other high-level or mid-level projects +- Improve the [Ion](https://gitea.redbearos.org/vasilito/RedBear-OS) shell, or other high-level or mid-level projects - Port Rust programs (also look for issues with the `port` label) - Improve application compatibility in relibc by e.g. implementing missing POSIX/Linux functions @@ -223,22 +211,22 @@ For those who want to contribute to the Redox GUI, our GUI strategy has changed. ## Priorities -You can use the following GitLab issue label filters to know our development priorities on the moment: +You can use the following Gitea issue label filters to know our development priorities on the moment: -- [Critical](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=critical) -- [High-priority](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=high-priority) -- [Medium-priority](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=medium-priority) -- [Low-priority](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=low-priority) +- [Critical](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Acritical) +- [High-priority](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Ahigh-priority) +- [Medium-priority](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Amedium-priority) +- [Low-priority](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Alow-priority) ## Roadmap We use tracking issues for the goals in our roadmap, you can see them in the filter below: -- [Tracking issues](https://gitlab.redox-os.org/groups/redox-os/-/issues/?label_name[]=tracking%20issue) +- [Tracking issues](https://gitea.redbearos.org/vasilito/RedBear-OS/issues?q=label%3Atracking%20issue) ## RFCs -For more significant changes that affect Redox's architecture, we use the [Request for Comments](https://gitlab.redox-os.org/redox-os/rfcs) repository. +For more significant changes that affect Redox's architecture, we use the [Request for Comments](https://gitea.redbearos.org/vasilito/RedBear-OS) repository. ## Build System @@ -247,24 +235,17 @@ To download the build system use the following commands: (You need to have [curl](https://curl.se/) installed on your system) ```sh -curl -sf https://gitlab.redox-os.org/redox-os/redox/raw/master/podman_bootstrap.sh -o podman_bootstrap.sh +# Get the build script (one-time): +curl -sfL https://gitea.redbearos.org/vasilito/RedBear-OS/raw/branch/0.3.1/local/scripts/build-redbear.sh -o build-redbear.sh +chmod +x build-redbear.sh + +# Build the ISO (canonical): +./build-redbear.sh redbear-mini # text-only target (recommended for CI / dev) +./build-redbear.sh redbear-full # desktop/graphics target +./build-redbear.sh redbear-grub # text-only + GRUB bootloader ``` -```sh -time bash -e podman_bootstrap.sh -``` - -To start the compilation of the default recipes run the command below: - -```sh -make all -``` - -In case your operating system does not use SELinux, you must set the `USE_SELINUX` to `0` when calling `make all`, otherwise you might experience errors: - -```sh -make all USE_SELINUX=0 -``` +Direct `make all` invocations bypass policy gates per `local/AGENTS.md`; always use `build-redbear.sh`. You can find the build system organization and commands on the [Build System](https://doc.redox-os.org/book/build-system-reference.html) page. @@ -300,8 +281,8 @@ If you aren't good on coding, but you still want to help keep the project going, If you're a good designer, whether it's 2D graphics, 3D graphics, interfaces, web design, you can help. We need logos, UI design, UI skins, app icons, desktop backgrounds, etc. -- [Redox backgrounds](https://gitlab.redox-os.org/redox-os/backgrounds) - You can send your wallpapers on this repository. -- [Redox assets](https://gitlab.redox-os.org/redox-os/assets) - You can send your logos, icons and themes on this repository. +- [Red Bear backgrounds](https://gitea.redbearos.org/vasilito/RedBear-OS) - You can send your wallpapers on this repository. +- [Red Bear assets](https://gitea.redbearos.org/vasilito/RedBear-OS) - You can send your logos, icons and themes on this repository. If you have questions about the graphic design, ask us on the [Chat](https://doc.redox-os.org/book/chat.html).