~sourcemage/castfs

staging filesystem for Source Mage package manager written in C
0325298f — Vlad Glagolev 7 years ago
increment version to the current development branch in scm
c9370a06 — Vlad Glagolev 7 years ago
release 0.6.2
db23ee33 — Vlad Glagolev 7 years ago
suppress output from the doc makefile

refs

master
browse  log 
stable-0.6.2
release notes 

clone

read-only
https://git.sr.ht/~sourcemage/castfs
read/write
git@git.sr.ht:~sourcemage/castfs

You can also use your local clone with git send-email.

Caution:  This is a Work-In-Progress!  There is a very high likelyhood of
	castfs deleting your entire filesystem, especially if you dare to
	run it as root.  Please test it and convince yourself it is correct
	before proceeding.  Feel free to offer any constructive comments.

	Dale E. Edmons (aka linuxfan)


--- Copy And Stage Things File System ---
--- README ---

castfs is a fuse filesystem written in C and is used for capturing filesystem 
calls for your root filesystem and staging any modifications or additions to 
the root filesystem.

The main purpose for this filesystem is to be able to invoke the filesystem in
the Source Mage package manager (sorcery) to install packages without blowing
over files in your main system. However, there maybe other uses in the future.

-- BUILD INSTRUCTIONS --

Simple build instructions:

    $ make

There are various flags to pass to the Makefile if you want to add CFLAGS or 
LDFLAGS use the make variables EXTRA_CFLAGS and EXTRA_LDFLAGS

-- INSTALL INSTRUCTIONS --

Simple install instructions:

    # make install

There are various flags to pass to the Makefile to install to different prefix
locations use the PREFIX make variable to do this.

-- USAGE INSTRUCTIONS --

There are some simple run and stop scripts in the source directory to show usage
of the filesystem after building castfs do:

    # ./run-castfs.sh
    # chroot test_dirs/mount
    # < do stuff >
    # exit
    # ./stop-castfs.sh

After this you should find all your modified files in test_dirs/stage directory.

-- More Advanced Usage --

The castfs needs two environmental variables:

    CASTFS_LOGFILE
    CASTFS_DBGLVL

The log file variable is the location where the log file that castfs 
will log filesystem function calls calls into the utilities file etc.

The debug level variable is actually a mask to dump particular parts of
castfs to the log file, either just the filesystem calls or just the
hash calls or just the util calls and so on.

There's two ways you can use castfs either call the binary directly or
mount it via the mount command:

    # castfs /mnt/cast-fs -o stage=/mnt/cast-fs-stage
    or
    # mount -t fuse -o stage=/mnt/cast-fs-stage castfs /mnt/cast-fs

-- Bugs/Problems --

You can contact the maintainers:

Vlad Glagolev <stealth@sourcemage.org>