# KISS Package System See: https://kissx.github.io/pages/package-system/ ## Index * [Adding packages to this repository](#adding-packages-to-this-repository) * [Committing changes](#committing-changes) * [Pull requests](#pull-requests) * [Linting](#linting) ## Adding packages to this repository Unless for a good reason, new packages go in `public`. The `core`, `extra` and `xorg` repositories are updated on a case by case basis. - `core`: Contains just enough to rebuild itself and any additional packages. - `extra`: Contains essential packages which do not belong in `core`. - `xorg`: Contains everything `xorg` related for a working `xorg-server`. - `public`: Everything else. When a package is added to `public` it is assumed that the committer is now the maintainer of said package. The other three repositories are maintained by the KISS developers themselves. ## Committing changes One package per commit unless the packages are very closely related (`linux` and `linux-headers`). Commit rules: * For new packages: `: new package at ` * For updating an existing package: `: update to `, `: bump to ` is also acceptable. * Any other changes: `: ` * Merges: GitHub's default format is acceptable, or just `Merge #` should suffice. * Misc: We leave that to the discretion of the author and/or committer. ## Pull requests Ensure that the package builds successfully on your system before creating a pull request. If for some reason it **does not**, open an issue if assistance is needed. Pull requests should only contain the new package and any dependencies which do not yet exist in any of the repositories. ## Linting All package `build` and `post-install` scripts are subject to checks using `shellcheck`. Packages must pass the linter to be accepted into the repository. Exceptions can be made using `shellcheck disable=SCXXXX` with good reason.