	pwsafe - commandline tool compatible with Counterpane's Passwordsafe

DEPENDENCIES

To build pwsafe you'll need the header files for X11, and openssl's libcrypto.
On debian this should get you most of the way there:

   apt-get install libx11-dev libxmu-dev libssl-dev


HOW TO BUILD FROM SOURCE TARBALL

   tar xzf <tarball>
   cd <dir>
   ./configure
   make
   make check     # to be sure it's working
   make install
   
And for the secure (un-swappable) memory allocation to work, pwsafe must be
install suid root

   chown root:root %install_prefix%/bin/pwsafe
   chmod +s %install_prefix%/bin/pwsafe

If this isn't done then pwsafe uses regular memory allocations, which
might get written to a swapfile and be readable from there at a later
date. Of course it is quite possible that if you are this concerned about
swapfiles that you are already encrypting yours with a random key, and
this option isn't as necessary.


HOW TO BUILD FROM GITHUB

   git clone https://github.com/nsd20463/pwsafe.git
   cd pwsafe
   aclocal                 # generate aclocal.m4
   autoheader              # generate config.h.in from configure.ac
   automake --add-missing  # generated Makefile.in from Makefile.am
   autoconf                # generate configure from configure.ac
   ./configure             # with whatever flags you'd normally use
   make                    # GNU make please

The script build_linux.sh automates everything from the `aclocal` step
if you're on a linux system.

You'll need autoconf 2.5 or better, and automake. On debian this should
get you most of the way there:

   apt-get install automake autoconf gcc 
   ./build_linux.sh

SUPPORTED ENVIRONMENTS

Because I no longer have access to a large variety of systems I cannot
verify that pwsafe builds on much more than a modern linux. However I
haven't done anything deliberate to break what used to work.

Older versions of pwsafe (up to and including 0.2.0+fixes) built cleanly
on various linuxes (i386, amd64, sparc32, sparc64, alpha/debian stable,
debian unstable, redhat 8.0, 7.2, 6.2) with various g++ versions (4.0.1,
3.4.2, 3.3.3, 3.2, 3.1, 2.95, 2.96 and even egcs-2.91).

pwsafe built on NetBSD 1.6.1 if you use gmake.

pwsafe built on FreeBSD 4.9 if you use gmake.

pwsafe built fine on OpenBSD 3.4.

pwsafe built on Solaris if you first install openssl (for libcrypto). If you have
openssh you already have openssl somewhere, though you might not have the header
files.

However the shell scripts in test/ do not all work under Solaris. It's not that
pwsafe is broken, but that my shell scripting skills aren't tuned to Solaris'
ancient /bin/sh.

pwsafe built on MacOS X.

If you get errors on MacOS X when linking with the X libraries, try setting
    export LDFLAGS="-flat_namespace -undefined suppress"
before ./configuring. Tiger (and presumably beyond) require "-undefined suppress"
when "-flat_namespace" is used, but autoconf does not know this so you have to
add it manually.



	- Nicolas S. Dade <nic.dade@gmail.com>

