Tied together with a fistful of scripts, and some easy preparation,
they help me deploy and manage my own utilities accross multiple operating
systems without efforts.

This process includes three main tasks: packaging, deploying and
installing. This whole process is still at and early stage, and will
get stronger and sharper with time (and shell script will most likely
turn into actual programs).
Here is an explanation of how it works:

pack an application and sign the tarball

upload the tarball to an online repository

get the latest tarball for a utility

install/update it locally

The process is straigh-forward, and multiple parts can be automated.

Packaging

In order to build my softwares, I need either make or
mk (it's tending
to be mk only, but for now I still need both). Then process is then
fairly simple:

$ cd $utility
$ mk
# mk install

I wrote a quick script to "pack" these utilities for me. It will build
the software, install it to a temporary location, create a tarball out
of it, and sign this tarball with my private key:

Deploying

This part require a bit of setup. My current repository is at
http://dl.z3bra.org/pack, which is, locally in
/var/www/htdocs/dl.z3bra.org/pack. My tool synk can get a file
synchronized between two peers, but they will have the same path,
which is why I also created this directory on my local machine.
I also need to upload my public key (for sick checks) and a list
of what's currently in the repo.

First, here is the repogen script, which will list the content of the
local repo, and write the pack names and version available to a file:

Installing

Now that we can create packs and upload them quickly to the repository,
it's time to install them!

Using the .list file, we can check what's available. With the .key
file, we can ensure that no-one tampered with our pack during the
retrieval process. Using pm, we can install and update our packs for
daily use.

All we need now, is a utility to fetch packs from the repo. I named this
script "repo"!