annotate README @ 25:616385fa1fd9

Build common functions as a library that can be reused
author Guido Berhoerster <guido+pwm@berhoerster.name>
date Wed, 20 Sep 2017 23:57:51 +0200
parents 55281f14dc9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
1 pwm
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
2 ===
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
3
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
4 Description
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
5 -----------
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
6
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
7 The pwm utility is a password manager which stores passwords and associated
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
8 metadata in an encrypted database protected by a master password. It has a
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
9 text-based user interface and can be used both interactively and
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
10 non-interactively. The database uses the PasswordSafe database format
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
11 version 3 and is thus compatible with other password managers using this
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
12 format.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
13
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
14 Build Instructions
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
15 ------------------
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
16
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
17 pwm requires a POSIX:2004 compatible operating system, it has been tested to
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
18 work on Linux distributions, FreeBSD, NetBSD, OpenBSD, Solaris and
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
19 Illumos-derived distributions. The following tools and shared libraries are
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
20 required to build pwm:
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
21
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
22 - GNU make >= 3.81
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
23 - GNU or BSD install
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
24 - libtecla >= 1.6.0
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
25 - libpws >= 1.0.0
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
26
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
27 Rebuilding the man pages additionally requires the xsltproc tool from libxml2.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
28
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
29 Before building pwm check the commented macros in the Makefile for any
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
30 macros you may need to override depending on the used toolchain and operating
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
31 system.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
32
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
33 By default, all files will be installed under the "/usr/local" directory, a
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
34 different installation path prefix can be set via the `prefix` macro. In
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
35 addition, a second path prefix can be specified via the `DESTDIR` macro which
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
36 will be prepended to any path, incuding the `prefix` macro path prefix. In
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
37 contrast to `prefix`, the path specified via the `DESTDIR` macro will only be
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
38 prepended to paths during installation and not be used for constructing
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
39 internal paths.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
40
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
41 The following instructions assume that `make` is GNU make, on some platforms
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
42 it may be installed under a different name or a non-default path. In order to
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
43 start the build process run `make all`. After a successful build, run `make
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
44 install` to install the program, any associated data files and the
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
45 documentation.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
46
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
47 Previously built binaries, object files, generated data files and
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
48 documentation can be removed by running `make clean`, any additional,
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
49 generated files which are not removed by the `clean` target can be removed by
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
50 running `make clobber`.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
51
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
52 Contact
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
53 -------
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
54
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
55 Please send any feedback, translations or bug reports via email to
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
56 <guido+pwm@berhoerster.name>.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
57
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
58 Bug Reports
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
59 -----------
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
60
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
61 When sending bug reports, please always mention the exact version of pwm
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
62 with which the issue occurs as well as the version of the operating system you
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
63 are using and make sure that you provide sufficient information to reproduce
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
64 the issue and include any input, output, any error messages.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
65
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
66 In case of build issues, please also specify the implementations and versions
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
67 of the tools and shared libraries used to build the program, in particular the
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
68 compiler.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
69
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
70 In case of crashes, please generate a stack trace with a suitable debugger
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
71 such as gdb, lldb, dbx, or debug after a crash has occurred either by
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
72 examining the resulting core file or by running the program from the debugger
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
73 and attach it to the bug report. In order to generate a meaningful stack
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
74 trace the program as well as any dynamically linked libraries need to be built
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
75 with debugging information, see the documentation of the used compiler for the
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
76 required compiler flags. If any of the dynamically linked shared libraries do
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
77 not contain debugging information, please either install debugging information
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
78 for these libraries using mechanisms provided by your operating system or
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
79 rebuild the libraries accordingly. Please refer to the documentation of the
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
80 debugger for detailed instructions on generating backtraces.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
81
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
82 License
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
83 -------
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
84
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
85 Except otherwise noted, all files are Copyright (C) 2017 Guido Berhoerster and
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
86 distributed under the following license terms:
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
87
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
88 Copyright (C) 2017 Guido Berhoerster <guido+pwm@berhoerster.name>
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
89
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
90 Permission is hereby granted, free of charge, to any person obtaining
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
91 a copy of this software and associated documentation files (the
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
92 "Software"), to deal in the Software without restriction, including
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
93 without limitation the rights to use, copy, modify, merge, publish,
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
94 distribute, sublicense, and/or sell copies of the Software, and to
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
95 permit persons to whom the Software is furnished to do so, subject to
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
96 the following conditions:
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
97
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
98 The above copyright notice and this permission notice shall be included
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
99 in all copies or substantial portions of the Software.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
100
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
101 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
102 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
103 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
104 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
105 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
106 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
55281f14dc9b Add README file and manpage
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff changeset
107 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.