Go to file
Dylan Araps 6786d2ca0a
kiss: Unify usage outputs for all contrib scripts.
Seeing as how these utilities are now better integrated,
more effort should go into the overall interface between
what should be the "benchmark" or example kiss scripts.
2020-04-18 12:11:56 +03:00
.github/workflows ci: Run on pull requests 2020-01-08 22:21:10 +02:00
contrib kiss: Unify usage outputs for all contrib scripts. 2020-04-18 12:11:56 +03:00
kiss kiss: Unify usage outputs for all contrib scripts. 2020-04-18 12:11:56 +03:00
kiss.1 docs: update 2020-03-22 14:47:03 +02:00
LICENSE.md docs: update 2019-10-05 11:02:05 +03:00
README.md docs: update 2020-03-28 10:18:47 +02:00

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 KISS chroot.
  • 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 |
+---------------------------------------+