// release

Release v1.7.1 test cases

This is the official check for release v1.7.1 (first milestone). Recommended to run these in order. One mount covers write isolation, then b symlink, c chown, and d xattr. Unmount before e init as will be instructed.

You need prismafs first. Short install here (same steps as Installation above). After make in the source tree, use ./prismafs instead of prismafs. On macOS unmount with umount. On Linux use fusermount3 -u.

macOS, requirement: install macFUSE first. Follow that website instructions or other guides: install, approve it as kernel extension, and reboot. That is the only extra setup. Also need a C compiler (cc / clang) and make.

Homebrew:

brew install goranb131/ithas-prismafs/prismafs

First time from this tap, if Homebrew complains that formula is untrusted:

brew trust goranb131/ithas-prismafs
brew install goranb131/ithas-prismafs/prismafs

If it complains about newer Xcode Command Line Tools, it prints and instructs command you need to run. That command is:

xcode-select --install

Finish that, then run brew install goranb131/ithas-prismafs/prismafs again.

Or build from source:

git clone git@github.com:goranb131/ITHAS-prismaFS.git
cd ITHAS-prismaFS
make

Then ./prismafs from that directory, or sudo make install so the command is just prismafs.

Linux, requirement: FUSE 3. Package is fuse3 (gives you fusermount3). To build from source you also need the headers (libfuse3-dev or fuse3-devel) and pkg-config. Any current FUSE 3 is fine (tested with fusermount3 3.18.2).

# Debian / Ubuntu
sudo apt install fuse3 libfuse3-dev pkg-config

# Fedora / RHEL family
sudo dnf install fuse3 fuse3-devel pkgconf

# openSUSE
sudo zypper install fuse3 fuse3-devel pkgconf

# Arch
sudo pacman -S fuse3 pkgconf

# Alpine (musl)
sudo apk add fuse3 fuse3-dev pkgconf

Build from source (same clone / make / sudo make install as macOS).

Or use a prebuilt x86_64 binary from GitHub Releases (same files as linked under Linux, prebuilt binary): prismafs-1.7.1-linux-x86_64-static for usual glibc distros (Debian, Ubuntu, Fedora, openSUSE, Arch, ...), and prismafs-1.7.1-linux-x86_64-static-musl for Alpine and other musl distros. You still need fuse3 / fusermount3 on your machine.

Run it by path:

chmod +x prismafs-1.7.1-linux-x86_64-static
./prismafs-1.7.1-linux-x86_64-static -v
/full/path/to/prismafs-1.7.1-linux-x86_64-static ~/pfs-mnt

Or put it under bin dir so the command is just prismafs (~/.local/bin must be in your PATH, or use /usr/local/bin):

mkdir -p ~/.local/bin
cp prismafs-1.7.1-linux-x86_64-static ~/.local/bin/prismafs
chmod +x ~/.local/bin/prismafs

Same two cp / chmod lines for the musl filename.

Simplest check that install worked, or that your binary runs is to print version with PrismaFS command. How you type it depends on where the file is:

  • Built from source, still inside repository after make: ./prismafs -v
  • Downloaded binary, still in the folder you saved it (Downloads or wherever): ./prismafs-1.7.1-linux-x86_64-static -v (or the musl filename). Or the full path: /full/path/to/prismafs-1.7.1-linux-x86_64-static -v
  • Already on PATH (Homebrew, sudo make install, or you copied it to ~/.local/bin / /usr/local/bin): just prismafs -v

If it prints PrismaFS Version: 1.7.1, you are good. Use this same format (./prismafs, downloaded filename, or prismafs) for all the remaining commands below.