Raspberry Pi Tools

Tools compiled on, and for, the rpi

Built by linci, a ci server that also runs on an rpi.

These tools can be installed by downloading the .deb and running dpgk -i whaterver.deb or by adding the repo to apt. The repo changes regularly, even daily, as the builds are run so installing manually is recommended if you are not working on the applications.

cairoruler

Essentially an excercise in writing transparent GUI components using GTK.

Code available on gitlab: cairoruler

entr

A tool for running scripts when a file changes,

Examples from man entr

Rebuild a project if source files change, limiting output to the first 20 lines:

$ find src/ | entr sh -c 'make | head -n 20'
Launch and auto-reload a node.js server:
$ ls *.js | entr -r node app.js
Clear the screen and run a query after the SQL script is updated:
$ echo my.sql | entr -p psql -f /_
Rebuild project if a source file is modified or added to the src/ directory:
$ while sleep 1; do ls src/*.rb | entr -d rake; done

escape

Tool for escaping JSON and xml and html on the command line. Can be helpful if creating cgi webpages with bash. Or scripting the creation of configuration files.

Code available on gitlab: escape

echo '{
        "netstat-data":  "' 

        netstat -an | escape

    echo '"}'

lxinitd

A minimal systemd replacement for LXC containers. lxinitd useful as a usermode service manager, for restarting processes if they fail. The project also includes lxmenu a climenu tool designed as a shell replacement but also works as a CLI menu creator.

More info on its mini-site lxinitd.tp23.org

pkg

A wrapper script around apt, apt-get, dpkg, dpkg-query, apt-cache with bash completion, because I can never remember the correct commands, let alone the correct options.
teknopaul@abox:~$ pkg 
Usage: pkg [doihave files install kernel list reinstall search show update upgrade version versions whatprovides] 

sedlite

A simple stream editor ala sed, but without support for regular expressions.

This enables use of variables in scripts that may contain any characters as replacement strings.

#> echo "Enter your desired username"
#> read USERNAME
#> cat template.txt | sedlite "$USERNAME" "@username@" > my.config

xtomp

A STOMP messaging server written on nginx's event loop, result is a very small messaging server that scales like nginx does. It can handle 100kcc on a moderatly sized server, but is small and light when running on the raspbery pi.

More info on its mini-site xtomp.tp23.org

xtomp-cat

A tool to cat data to a stomp server. See man xtomp-cat

echo "some message" | xtomp-cat -q memtop-a



Apt install

Add the following to your `/etc/apt/sources.list` to use this repository.

    deb http://download.tp23.org/download/deb-armv6l/ ./
And run this to import the key
    wget -q http://download.tp23.org/download/deb/public.gpg -O - | sudo apt-key add -