k icon indicating copy to clipboard operation
k copied to clipboard

kiss pkg man written in c

|/ |\ISS https://k1ss.org


Next KISS Package Manager


The at-some-point-in-the-future replacement for the current POSIX shell package manager written in C99.

TODO


  • [ ] actions
    • [0] alternatives
      • [x] list all
      • [ ] swap alts
    • [0] build
    • [x] checksum
      • [x] find self-contained / permissively licensed sha256 implementation
      • [x] parse sources file
      • [x] generate checksums file
    • [x] download
      • [x] libcurl stuff
      • [x] catch Ctrl+C during download
    • [ ] install
    • [x] list
      • [x] Individual
      • [x] All
    • [ ] remove
    • [x] search
    • [ ] update
      • [ ] avoid libgit2 (requires cmake, no support for shallow clones, etc)
      • [ ] possibly fork/exec command-line git initially
    • [ ] help-ext
  • [ ] environment variables
    • [0] KISS_ROOT
    • [ ] KISS_PROMPT
    • [X] KISS_PATH
    • [ ] KISS_STRIP
    • [ ] KISS_COMPRESS
    • [ ] KISS_FORCE
    • [ ] KISS_CHOICE
    • [ ] KISS_DEBUG
      • Will be changed to print extra debugging information.
    • [X] KISS_TMPDIR
  • [ ] components
    • [0] source extraction / tarball creation
      • [0] avoid libarchive
        • [x] tar utility fallback
        • [ ] alternative tar library
      • [x] possibly fork/exec command-line tar initially
      • [x] support zip
    • [ ] checksum verification
      • [ ] add support for SKIP
      • [ ] add checksum verification
    • [x] repositories
    • [x] caches
    • [ ] dependency resolution
      • [ ] lets not make it recursive this time
    • [ ] dependency fixer
      • [ ] elf parser
    • [ ] binary stripping
      • [ ] elf parser
    • [ ] package conflict detection
    • [ ] repository hooks
    • [ ] manifest generation
      • [ ] requires recursive file tree walk
      • [ ] avoid nftw() (XSI, not POSIX)
    • [ ] 3-way handshake for files in /etc/
  • [ ] misc
    • [x] crux-like usage
    • [ ] logging
    • [x] pretty output
    • [x] string library
      • [x] str_push_int() (or snprintf wrapper)
    • [x] list library
    • [ ] privileges
      • Run as root + drop permissions? (shell method not feasible)