Menu

Tree [b162ec] master /
 History

HTTPS access


File Date Author Commit
 m4 2014-06-23 David A. Wheeler David A. Wheeler [b96094] Move autoconf macro AX_CHECK_PROGS_TEXT to its ...
 AUTHORS 2012-02-13 David A. Wheeler David A. Wheeler [ddfbe3] Initial autoconfiscation
 COPYING 2012-02-13 David A. Wheeler David A. Wheeler [ddfbe3] Initial autoconfiscation
 ChangeLog 2014-03-01 David A. Wheeler David A. Wheeler [29ea03] ChangeLog: Add info on new -P option
 MANIFEST 2011-06-15 David A. Wheeler David A. Wheeler [7f6979] Initial version.
 Makefile.am 2014-09-17 Stas Sergeev Stas Sergeev [a9c6c0] move initialization code to the separate file
 NEWS 2012-02-13 David A. Wheeler David A. Wheeler [ddfbe3] Initial autoconfiscation
 NOTES 2014-02-28 David A. Wheeler David A. Wheeler [b8e162] Modify NOTES to document potential future changes
 README 2014-03-01 David A. Wheeler David A. Wheeler [f098b7] README: Note that you edit user-union.txt, not ...
 configure.ac 2015-02-05 Stas Sergeev Stas Sergeev [e680e4] disable thread cancelation when entering potent...
 expected_results 2014-04-08 David A. Wheeler David A. Wheeler [fe6c62] Add test for relative symlinks, now that they work
 fso_stat 2011-06-15 David A. Wheeler David A. Wheeler [7f6979] Initial version.
 init.c 2014-09-28 Stas Sergeev Stas Sergeev [61d2a6] fix sizeof regression bug
 init.h 2014-09-28 Stas Sergeev Stas Sergeev [61d2a6] fix sizeof regression bug
 quicktest 2012-02-13 David A. Wheeler David A. Wheeler [ddfbe3] Initial autoconfiscation
 run-redir-union 2011-06-15 David A. Wheeler David A. Wheeler [7f6979] Initial version.
 run-redir-union.1 2011-06-15 David A. Wheeler David A. Wheeler [7f6979] Initial version.
 run-redir-union.pdf 2011-06-15 David A. Wheeler David A. Wheeler [7f6979] Initial version.
 runtest 2014-03-13 Stas Sergeev Stas Sergeev [a72448] remove tab and newline hacks
 testscript 2014-04-08 David A. Wheeler David A. Wheeler [dc097c] Fix testscript comments
 user-union.1 2014-04-10 David A. Wheeler David A. Wheeler [4b6443] Document debugging option "-d"
 user-union.c 2015-02-04 Stas Sergeev Stas Sergeev [b162ec] add fsync() before close() on temporary file th...
 user-union.h 2014-09-17 Stas Sergeev Stas Sergeev [a9c6c0] move initialization code to the separate file
 user-union.pdf 2014-03-01 David A. Wheeler David A. Wheeler [6f938f] Add convenience target to regenerate user-union...
 user-union.txt 2014-09-04 David A. Wheeler David A. Wheeler [ce4095] Change "echo" to "printf" so renames beginning ...

Read Me

== User-union ==

This package contains the programs "user-union" and "run-redir-union"
as well as their documentation; see the documentation for more.
It implements union filesystems without requiring special permissions.

This is open source software, released under the MIT license.
See the file "LICENSE" for details.
It was created by David A. Wheeler.

=== How to Install ===

If you got this from a downloaded "tarball", just unpack it, e.g.:
   tar xfzf user-union-0.12.tar.gz
If you're using a version straight from the git repository,
you need to use "autoconf" and friends to set it up (don't do this
if you got it from the tarball, it's unnecessary, and some people's
"autoconf" setup is too old):
   autoreconf -i

To configure and build:
 cd user-union*
 ./configure
 make

To test:
 make test

 This runs "runtest", which in runs "testscript" under user-union.
 It then reports if there are any differences from the expected results.

To install those results:
 make [DESTDIR=...] install


The configuration is implemented with the GNU autotools suite
(autoconf, etc.), so all the usual options are available.

It's only been tested on GNU/Linux.
However, it should work on other Unix-likes, including
the *BSDs.  I've put in some code to have it work for
Apple Mac OS X, but that's not complete.
I've put in code to get started; patches welcome.


=== How to Modify ===

If you are modifying the program, you will probably want to edit
"user-union.c" (the underlying C library).  Other files you might want to
edit include:
* user-union.txt - the front-end shell script, source code.
* user-union - DO NOT EDIT THIS FILE, as it is generated from user-union.txt.
* user-union.1 - man page for user-union.
* run-redir-union - front-end shell script to easily redirect
* run-redir-union.1 - man page for run-redir-union
* testscript - shell script run when you invoke "make test"
  (which invokes runtest)
* fso_stat - reports statistics on the list of files given as arguments

See the NOTES file for more general background.

After modifying the program or test script, run "make test" again.
If you approve of the changes to the test results, run:
 make accept

To create a tarball:
 make tarball

Please submit patches!


For more information, see:
 http://www.dwheeler.com/user-union


- David A. Wheeler