Getting Started

Stages

Currently there are stages available for the following platforms:

Experimental

These are stages targeting fairly new targets, or ones that do not have a lot of users.

Users should be able to fix issues on these targets intelligently before complaining of issues.

Stage Requirements

Easiest solution: SystemRescueCD

Install Guide

Installing Exherbo

Managing packages

Source code

It is possible to get all of our shiny stuff via anonymous git.

You can browse our repositories via cgit.

Contributing your first patch

Step 1

If you don’t already have Git set up:

git config --global user.name "<your real name>"
git config --global user.email "<your email>"

Step 2

Register an account on our Gitlab instance, see the docs for a how-to.

Step 3

Fork the repository you want to change things in and clone it from Gitlab. See ‘Cloning repositories’.

Step 4

Set up cave to sync from this local clone.

Edit /etc/paludis/repositories/<repo>.conf and change the line:

sync = git+https://git.exherbo.org/<repo>.git

to

sync = git+https://git.exherbo.org/<repo>.git local: git+file:///home/<user>/<path to local repo>

Then, you can sync from the local clone with cave sync -s local <repo>. For more info on this see our workflow docs.

In case you like to use multiple branches at once or have your branches named differently depending on what topic they deal with and don’t want to modify the repository config file everytime you can use cave sync -s local <repo> -r <commit-id>. Note that you don’t have to supply the full commit-id, you only need to provide at least the first 4 characters. Also keep in mind that when you amend a commit its commit-id changes, if you keep using the old commit-id you’ll sync the old version of that commit.

Step 5

Make your changes in the local clone and commit the changes to the repository. Remember to actually commit the changes; otherwise, cave will not see them since it is using git pull to pull from the local clone. For more info on using Git see the Git book.

Step 6

Test your changes:

cave sync -s local <repo> -r <commit-id>
cave resolve -x1 <package modified>

If they are not to your liking, go back to step 5, using git commit --amend and git rebase -i as much as you want.

Step 7

Submit your changes to Gitlab.

git push