forked from kiss-community/kiss
65d2d45a8c
If the checksums file doesn't exist on the package directory, kiss used as_root regardless of permissions. This checks whether the directory is writable instead of the checksums file, which should provide proper permissions. This patch ignores if the directory has weird permissions. If the directory is writable but the checksums file isn't, kiss will exit with error. This ignorance is intentional as ideally a package dir should have identical permissions. Signed-off-by: Dylan Araps <dylan.araps@gmail.com> |
||
---|---|---|
.github/workflows | ||
contrib | ||
kiss | ||
kiss.1 | ||
LICENSE.md | ||
README.md |
kiss
Tiny and straightforward package manager for KISS written in POSIX sh
.
- Only 600~ lines of POSIX
sh
(See cloc). - Runtime dependency detection.
- Incremental package installation.
- Fast dependency solver.
- File conflict detection.
- Package alternatives system.
- Binary stripping.
shellcheck
compliant.
kiss
Guidestones
Read: https://k1ss.org/guidestones.txt
Usage
-> kiss [a|b|c|i|l|r|s|u|v] [pkg] [pkg] [pkg]
-> alternatives: List and swap to alternatives
-> build: Build a package
-> checksum: Generate checksums
-> install: Install a package
-> list: List installed packages
-> remove: Remove a package
-> search: Search for a package
-> update: Check for updates
-> version: Package manager version
Index
Package format
See: https://k1ss.org/package-system
Extending the package manager
The contrib
directory contains a set of simple scripts to extend the package manager. These are just simple and stupid automations which parse the package format.
kiss-cargo-urlgen
: Generate sources for rust packages.kiss-chbuild
: Spawn a throwaway chroot.kiss-chroot
: Enter a KISSchroot
.kiss-depends-finder
: Find missing dependencies by parsing 'ldd'.kiss-depends
: Display a package's dependencies.kiss-export
: Turn an installed package into a KISS tarball.kiss-fork
: Copy a package's repository files into the current directory.kiss-link
: Link a repository file to another repository.kiss-manifest-tree
: Display all files as tree owned by a package.kiss-manifest
: Display all files owned by a package.kiss-maintainer
: Display the package maintainers.kiss-new
: Create a boilerplate package.kiss-orphans
: List orphaned packages.kiss-outdated
: List outdated packages based on Repology versions.kiss-owns
: Check which package owns a file.kiss-repodepends
: Display a package's original dependencies.kiss-reset
: Reset the system to the base.kiss-revdepends
: Display packages which depend on package.kiss-size
: Show the size on disk for an installed package.
cloc
+---------------------------------------+
| Language files blank comment code |
|---------------------------------------|
| Shell 1 271 391 663 |
+---------------------------------------+