This is a quick way to get started with Pijul.
Pijul is a much better version control system than git
, but is a bit painful to initially install, because it depends on either itself or rust+cargo+nix. I think that Pijul deserves to do better, and making it easier to get started with will probably help, so this is an easier way.
This repo provides pijul
as:
-
(primarily) a wrapper script that "just works", if you have docker installed and working.
-
(optionally) a pre-compiled as a binary for amd64 linux, which only needs some commonly available distro libraries
-
Download the
bin/pij
script, and install it to$HOME/.local/bin
:install pij $HOME/.local/bin
-
Add this directory to your shell path. For bash, for example:
echo >> ~/.bashrc 'export PATH="$HOME/.local/bin:$PATH"'
-
Log in again (or preferably just source the shell rc file again, if you know how).
-
Run
pijul
as normal, per the official documentation.
-
Download the
bin/pij
script, and install it (as root), to/usr/local/bin/pijul
:install pij /usr/local/bin/pijul
-
Download the latest pijul-$VERSION-$ARCH release executable and install it (as root) to /usr/local/bin (set VERSION and ARCH to match what you downloaded, of course):
VERSION=1.0.0-alpha ARCH=x86_64 install pijul-$ARCH-$VERSION /usr/local/bin/pijul
-
Install the dependencies.
For debian-likes (Debian, Ubuntu, Devuan), this command is:
RUN apt-get update && apt-get install -y libsodium23 libssl3
-
Run
pijul
as usual
This may be useful if you want to build another container that pijul, such as a container-based pijul repo server. However, you are advised to study the Dockerfile and build your own as needed, rather than relying on this for production updates etc.
+
1. Run docker pull leebraid/pijul-bootstrap:latest
.
2. Use the pijul
command within the docker container as usual (consult the docker documentation if unsure at this point).
3. To use this in a Dockerfile, of course just do FROM docker.io/leebraid/pijul-bootstrap:latest AS base
, or whatever.
-
Please fork the code and submit a PR for any improvements. In particular, the following improvements are welcome:
+ Making the rust binary executable build fully static + Library installation instructions for distros other than debian-likes. + Automated CI/CD updates from the pijul repo, so I don't have to maintain this ;) + Docker image (cross-)building for other architectures (AMD64, RV64, etc.) + Confirmation/fixes for this working on other operating systems/distros (any BSD, for example)