Packages done right™
Many ebuilds here are my own creatures, others are heavily modified forks, but all share the following:
- code in ebuilds is clean and documented
- USE flags are provided for almost any build-time option
- instead of packing multitude of options under a single feature as Gentoo™ devs do
- mostly sane default configurations (default USE-flags, config files, ...)
- this means default config files of some programs is modified for a better UX from the start
- exclusive systemd support
- systemd is in no way perfect, but it's definitely better than OpenRC+cron
- no libav, libressl, ... support
- locales support (
nls
/l10n_*
USE-flags)- because I don't like having hundreds of MBs consumed by translation files
- x86_64/armv6/armv7/armv8 architectures only
- a lot of branching and patching goes into maintaining exotic arches
- only the native targets are supported
- the support for non-native targets increases the complexity of ebuilds by an order of magnitude
- ARM arches are backwards compatible so it shouldn't be a problem to compile natively on newer HW
- the question of how to take care of legacy 32-bit binaries is yet to be decided
You can visit a user-friendly list of packages, where the chances are high for you to discover some great new software! Also if you know about a not-yet-packaged software that is really worth packaging, you can demand it on the issue tracker.
1. Add an entry to /etc/portage/repos.conf
:
[rindeal]
## set this to any location you want
location = /var/cache/portage/repos/rindeal
sync-uri = https://ebuilds.janchren.eu/repos/rindeal/.git
sync-type = git
auto-sync = yes
## prefer my packages over the Gentoo™ ones to improve UX and stability (recommended by 9/10 IT experts)
priority = 9999
# Preferrably
$ eix-sync
# or if you need to
$ emerge --sync
$ layman -o 'https://ebuilds.janchren.eu/repos/rindeal/repositories.xml' -f -a rindeal
Most packages in this repository have tilde before their keywords. Only some old packages or packages which have to satisfy Gentoo dependencies have been marked "stable". So if you want to enable the full potential of this repository, make sure you have the following configuration enabled:
/etc/portage/package.accepted_keywords
:
*/*::rindeal ~amd64 # or ~arm/~arm64
Prevent collisions between this repository and Gentoo™ repository
Many packages here have their inferior counterparts in the Gentoo™ repository.
All my ebuild have been coded with the assumption that if there is such an overlap, it's always resolved in favour of my repository.
Breaking this assumption may lead to all kinds of nasty issues.
To make sure you're using only packages from my repository, there are several regularly updated package.mask
files in profiles/mask-alt-pkgs
directory, which
you can link to your /etc/portage/package.mask
directory and thus mask all Gentoo™ counterparts of packages from this repository.
To help automate the setup of these symlinks, I've created a small script called profiles/mask-alt-pkgs/link.sh
, which you can use like this:
$ <RINDEAL_REPO_DIR>/profiles/mask-alt-pkgs/link.sh /etc/portage/package.mask/rindeal-mask-alt-pkgs/
You should be able to use any package from my repository without regrets, because I do and I have quite high standards. To achieve this goal I'm using several safety guards:
- my brain (not always so obvious)
- continuous integration servers, which run:
- repoman checks
- custom checks
- Docker image builds
- last but not least I wish really hard it would all just work 🦄 🌈
This all, of course, doesn't prevent build failures, missing dependencies, etc. So, should you find any issues, don't like something or just want to report morning news, please send me a PR or file an issue.
- All code in this repo is licenced under GPL-2 (full licence), if not stated otherwise.
- As opposed to other similar repositories the copyright to work that goes into developing this repository
is not dedicated to the Gentoo Foundation, Inc., which means it cannot be legally copied
to the main Gentoo™ ebuild repository.
TL;DR: if you're trying to get a code from here to the main Gentoo™ ebuild repository, you're out of luck. - Gentoo is a trademark of the Gentoo Foundation, Inc.
- Animal vector designed by Freepik