Skip to content

lee-b/pijul-bootstrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pijul Bootstrap

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

User-only install (for docker):

  1. Download the bin/pij script, and install it to $HOME/.local/bin:

    install pij $HOME/.local/bin
  2. Add this directory to your shell path. For bash, for example:

    echo >> ~/.bashrc 'export PATH="$HOME/.local/bin:$PATH"'
  3. Log in again (or preferably just source the shell rc file again, if you know how).

  4. Run pijul as normal, per the official documentation.

System-wide install (for docker):

  1. Download the bin/pij script, and install it (as root), to /usr/local/bin/pijul:

    install pij /usr/local/bin/pijul

Binary executable installation

  1. 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
  2. Install the dependencies.

    For debian-likes (Debian, Ubuntu, Devuan), this command is:

RUN apt-get update && apt-get install -y libsodium23 libssl3
  1. Run pijul as usual

Docker image (from docker hub)

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.

Contributing

  • 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)