kiss-bin

kiss extension for binary package management
git clone git://git.carbslinux.org/kiss-bin
Log | Files | Refs | README | LICENSE

README.md (2125B)


      1 kiss-bin
      2 --------
      3 
      4 A KISS extension for dealing with binary package repositories.
      5 
      6 I was initially planning on implementing this inside my fork of
      7 the package manager itself, but I didn't because it would wildly
      8 complicate the package manager.
      9 
     10 There are some caveats that I hope to fix as I work more on this
     11 extension
     12 
     13 See <https://dl.carbslinux.org/pkg> for an example binary repository.
     14 
     15 
     16 Quick Start
     17 -----------
     18 
     19 You can quickly setup a distribution by doing the following, also
     20 see the Caveats section at the end of the file for the rationale
     21 behind the linking. This sets a distribution to the current directory.
     22 
     23     for bin in ~/.cache/kiss/bin/*; do
     24         binout=${bin##*/} binname=${bin%\#*} binout=${binname}.${binout#*\#}
     25         ln -sf "$bin" "$binout"
     26     done
     27     
     28     kiss-bin-manifest | sort -rV > manifest
     29     
     30     httpd -f -p 8181
     31 
     32 
     33 Following the previous step, you can do a quick setup in a client
     34 by doing the following. The `$KISS_BIN` variable is explained below.
     35 
     36     export KISS_BIN=http://192.168.x.x:8181:personal
     37     
     38     # This will fetch the manifest from the server
     39     kiss-bin fetch
     40 
     41 
     42 Using kiss-bin
     43 --------------
     44 
     45 `kiss-bin` can be used to track binary repositories, or downloading
     46 singular packages without tracking any. Repositories are defined through
     47 the `$KISS_BIN` variable. It has a comma seperated value of url and names,
     48 `KISS_BIN=url:name,url2:name2,url3:name3`.
     49 
     50 - `fetch`   -- Sync the manifest from repositories
     51 - `get`     -- Install a package from the given url
     52 - `install` -- Install a package from the repository
     53 - `search`  -- Search for a package.
     54 - `update`  -- Update binary packages
     55 
     56 
     57 Usign kiss-bin-manifest
     58 -----------------------
     59 
     60 `kiss-bin-manifest` generates a manifest from the packages on the current
     61 directory. If file names are given, it will generate a manifest for those
     62 files, which can be used for incremental updates.
     63 
     64 
     65 Caveats and Future Plans
     66 ------------------------
     67 
     68 - In http file names with `#` are problematic. Some protocols
     69   expect '%23' and some don't. That's why the `#` must be
     70   replaced with `.`
     71 - I plan on implementing GnuPG support.