An open API service indexing awesome lists of open source software.

https://github.com/lee-b/pijul-bootstrap

Quickstart binary builds of pijul (better version control than git)
https://github.com/lee-b/pijul-bootstrap

alternative bootstrap build git install installer patches patchset pijul quickstart quilt theory-of-patches version-control

Last synced: about 2 months ago
JSON representation

Quickstart binary builds of pijul (better version control than git)

Awesome Lists containing this project

README

          

= Pijul Bootstrap

This is a quick way to get started with https://pijul.org[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`:
+
[source,shell]
----
install pij $HOME/.local/bin
----

2. Add this directory to your shell path. For bash, for example:
+
[source,shell]
----
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`:
+
[source,shell]
----
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):
+
[source,shell]
----
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:
[source,shell]
----
RUN apt-get update && apt-get install -y libsodium23 libssl3
----

3. 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)