Contributing to Argent Linux
Contributing to Argent
Argent is made by a small team, and every bit of help counts. You don't have to be a developer: a good bug report, a tested fix, a screenshot for this wiki or a translation is already a contribution.
Everything Argent is public, on GitLab:
Reporting bugs
Bugs go here, for everything Argent (packages, installer, epkg, avasile, ...):
https://gitlab.com/argent/argent-ws/-/work_items
A good bug report has:
- what you did, what you expected, and what happened instead
- the ISO you installed from, and the mode you are on (
avasile --status) - the output of
epkg sysinfo - for a failed service:
systemctl --failedandjournalctl -b -p err - for a failed compile: the build log, portage tells you where it is at the end of the error
Search the existing reports first, maybe someone already had the same problem.
Our main repositories
| Repository | What it is | Ends up on your system as |
|---|---|---|
| argent-ws | our overlay: Argent's own packages, our fixes to Gentoo packages, our eclasses (like argent-kernel) |
/var/db/repos/argent-ws
|
| portage | our snapshot of the Gentoo tree, the one our binhost is built from | /var/db/repos/gentoo
|
| argentws-build | the central configuration: make.conf, USE flags, keywords, masks, sets | /opt/argentws-build, and /etc/portage points into it
|
| epkg | the epkg package manager | app-portage/epkg
|
| avasile | modes, and the package and ISO builder | app-admin/avasile
|
| argentws-live | the live ISO scripts (argentlive.service) |
app-misc/argent-live, only on the live ISO
|
| argentws-skel | the default settings of every new user (/etc/skel) |
app-misc/argent-skel
|
| argent-theme | the Argent look for Plasma | x11-themes/argent-theme
|
| bionel-icons | the icon theme | x11-themes/bionel-icons
|
| boot-core | the GRUB menu and boot files of the live ISO | only on the ISO |
The installer (Calamares) is configured in argent-ws too, in app-misc/calamares-config-argent.
How to contribute code
The usual GitLab way:
- make a GitLab account
- fork the repository you want to change
- make your change in a branch of your fork
- open a merge request to our repository, and explain what you changed and why
Small and focused merge requests get in faster than big ones. One problem, one merge request.
Commit messages
Start with what you changed, then a colon, then what you did. Look at git log of the repository to see how we do it:
In argent-ws, the package:
app-misc/argent-config-files: revbump 1.0-r5
In argentws-build, the file:
package.accept_keywords/00-argent.package.keywords: accept keywords for <dev-lua/luv-1.53
In epkg and avasile, the script:
libavasile: added zerofree
Packages (argent-ws)
Our ebuilds follow the Gentoo rules, the Gentoo Development Guide is the reference. On top of that:
- never change an ebuild that is already out, copy it to a new revision (
-r1,-r2, ...) and change the copy. The same when you only change a file infiles/: our binhost rebuilds a package only when its version or revision changes - our overlay uses thin manifests, so after you add or change a download (
SRC_URI), update the Manifest:ebuild <your.ebuild> manifest - no comments in the ebuilds
- test it on your system before the merge request, in devmode (
avasile --devmode), withepkg install =category/package-version
Configuration (argentws-build)
A change here goes to every Argent system, and changes what our binhost builds. Explain in the merge request why the change is needed, and what it does to users who don't use that package.
If you add a new file in /etc/portage, add it to the .gitignore whitelist of its directory too (!00-argent-something.package.use), otherwise git ignores it. See the System Administration page for how the whitelist works.
Contributing to this wiki
Found something wrong or missing here? Tell us in a bug report, or send the corrected text. Screenshots are welcome too, many pages have empty spots waiting for them.