diff --git a/README.md b/README.md index e23845c..96da33d 100644 --- a/README.md +++ b/README.md @@ -18,18 +18,23 @@ sent to `stdout`. For more information, check out the `-h` option. -## Building +## Building & Installation To compile the program, install the Rust suite, namely the compiler and Cargo. Once installed you can run `cargo build --release` to generate a release build of the project which will be found at `target/release/dbus-prettifier`. -To install you can use the `install` command as follows: +To install the program you can use the `install` script. By default this will +install to `/usr/local`, but this can be changed by setting the `PREFIX` +variable prior to the command. For example: ```console -install -Dm755 target/release/dbus-prettifier /usr/local/bin +PREFIX=/usr ./install ``` +Similarly, to uninstall simply run the `uninstall` script. It uses the same +`PREFIX` variable. + ## License This program is licensed under the terms & conditions of the [Zlib diff --git a/install b/install new file mode 100755 index 0000000..02b1a73 --- /dev/null +++ b/install @@ -0,0 +1,17 @@ +#!/bin/bash +set -euo pipefail + +PREFIX=${PREFIX:="/usr/local"} + +if ! [ -f "./target/release/dbus-prettifier" ] +then + >&2 echo "Failed to find release target. Please compile the project with 'cargo build --release'." + exit 1 +fi + +gzip -k ./dbus-prettifier.1 + +install -Dm644 ./dbus-prettifier.1.gz "$PREFIX/share/man/man1/" +install -Dm755 ./target/release/dbus-prettifier "$PREFIX/bin/" + +rm -f ./dbus-prettifier.1.gz diff --git a/uninstall b/uninstall new file mode 100755 index 0000000..24bcaf1 --- /dev/null +++ b/uninstall @@ -0,0 +1,13 @@ +#!/bin/bash +set -euo pipefail + +PREFIX=${PREFIX:="/usr/local"} + +if ! [ -f "$PREFIX/bin/dbus-prettifier" ] +then + >&2 echo "Installation not found in prefix '$PREFIX'." + exit 1 +fi + +rm -f "$PREFIX/bin/dbus-prettifier" +rm -f "$PREFIX/share/man/man1/dbus-prettifier.1.gz"