Go to file
Cem Keylan 866860eac7 kiss: use '-x' and '-d' flags in pkg_find instead of '-e'
'-e' flag applies to everything that exists, which is not ideal.
This can, for example, also show README files on personal repositories.
Since our target is user-scripts and package directories, checking
if the target is executable is the best overall solutions as most
directories are also marked executable. This change makes sure we
get what we want while keeping other files out of pkg_find.

Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
2020-04-20 08:55:12 +03:00
.github/workflows ci: Run on pull requests 2020-01-08 22:21:10 +02:00
contrib kiss: Final clean up of contrib 2020-04-18 12:36:38 +03:00
kiss kiss: use '-x' and '-d' flags in pkg_find instead of '-e' 2020-04-20 08:55:12 +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 |
+---------------------------------------+