https://github.com/carbslinux/kiss-bin
KISS extension for managing binary repositories
https://github.com/carbslinux/kiss-bin
Last synced: 5 months ago
JSON representation
KISS extension for managing binary repositories
- Host: GitHub
- URL: https://github.com/carbslinux/kiss-bin
- Owner: CarbsLinux
- License: mit
- Created: 2020-05-25T21:10:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-01T18:40:13.000Z (over 5 years ago)
- Last Synced: 2025-03-24T00:57:21.319Z (11 months ago)
- Language: Shell
- Size: 6.84 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
kiss-bin
--------
A KISS extension for dealing with binary package repositories.
I was initially planning on implementing this inside my fork of
the package manager itself, but I didn't because it would wildly
complicate the package manager.
There are some caveats that I hope to fix as I work more on this
extension
See for an example binary repository.
Quick Start
-----------
You can quickly setup a distribution by doing the following, also
see the Caveats section at the end of the file for the rationale
behind the linking. This sets a distribution to the current directory.
for bin in ~/.cache/kiss/bin/*; do
binout=${bin##*/} binname=${bin%\#*} binout=${binname}.${binout#*\#}
ln -sf "$bin" "$binout"
done
kiss-bin-manifest | sort -rV > manifest
httpd -f -p 8181
Following the previous step, you can do a quick setup in a client
by doing the following. The `$KISS_BIN` variable is explained below.
export KISS_BIN=http://192.168.x.x:8181:personal
# This will fetch the manifest from the server
kiss-bin fetch
Using kiss-bin
--------------
`kiss-bin` can be used to track binary repositories, or downloading
singular packages without tracking any. Repositories are defined through
the `$KISS_BIN` variable. It has a comma seperated value of url and names,
`KISS_BIN=url:name,url2:name2,url3:name3`.
- `fetch` -- Sync the manifest from repositories
- `get` -- Install a package from the given url
- `install` -- Install a package from the repository
- `search` -- Search for a package.
- `update` -- Update binary packages
Usign kiss-bin-manifest
-----------------------
`kiss-bin-manifest` generates a manifest from the packages on the current
directory. If file names are given, it will generate a manifest for those
files, which can be used for incremental updates.
Caveats and Future Plans
------------------------
- In http file names with `#` are problematic. Some protocols
expect '%23' and some don't. That's why the `#` must be
replaced with `.`
- I plan on implementing GnuPG support.