Skip to content
This repository has been archived by the owner on Jul 13, 2021. It is now read-only.

kiss-community/k

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

|/
|\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)

Languages

  • C 95.1%
  • Shell 4.4%
  • C++ 0.5%