// 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): justprismafs -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.
- a. Linux port: Installation (source or prebuilt binary).
- b. Symlinks
- c. Ownership (chown / lchown)
- d. Extended attributes (xattr)
- e. Guided setup (init)
- f. Documentation