-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
158 lines (115 loc) · 4.59 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
pkgdepdb
v0.1.12
Description:
pkgdepdb is a tool to manage a dependency database for packages
and therein contained binaries and libraries.
Currently it understands ArchLinux packages and their metadata,
and should also be usable for Slackware packages. When reading an
Arch package, unless configured otherwise, the information found
in the contained .PKGINFO file will be stored as well, and can be
queried.
Read the manpage for more information, including usage examples.
Installation:
Dependencies:
build time:
a C++11 compatible compiler
libarchive
BSD or GNU compatible `make'
libtool when using WITH_LIBRARY=yes
optionally:
libalpm (part of pacman, the ArchLinux package manager)
check time:
libcheck for the C API checks
python 2.7 or 3 for the python API checks
runtime:
libarchive
libalpm (non-optional if compiled in)
Compilation:
run `make <option list>' to compile the program
- Common options:
PREFIX=/usr/local
SYSCONFDIR=${PREFIX}/etc
BINDIR=${PREFIX}/bin
LIBDIR=${PREFIX}/lib
INCLUDEDIR=${PREFIX}/include
DATADIR=${PREFIX}/share
MANDIR=${DATADIR}/man
MAN1DIR=${MANDIR}/man1
- Feature options:
ALPM=yes or ALPM=no
Whether pacman's libalpm should be used.
THREADS=yes or THREADS=no
Whether threading should be supported for operations
where it is applicable. (Like relinking an entire db.)
REGEX=yes or REGEX=no
Whether filters usable via the pkgdepdb commandline
tool should support their regular expression variants
via POSIX extended regular expressions (EREs).
WITH_LIBRARY=yes or WITH_LIBRARY=no
Whether to build the library containing the C-API.
(Required for the python bindings.)
- Used environment variables:
CC, CXX, CPPFLAGS, CXXFLAGS, LDFLAGS, LIBS
run `make <option list> check` to run the unit tests.
Installation:
run `make install' to install the program and documentation
Don't forget to set a PREFIX and DESTDIR.
Typical packaging scripts (such as an Arch PKGBUILD)
will want to use:
$ make SYSCONFDIR=/etc PREFIX=/usr DESTDIR=$pkgdir install
To install the python bindings first prepare setup.py by
running:
$ make <options> setup.py
Then run setup.py, you can run it with multiple python
versions if you like:
$ python2 setup.py install --root="$pkgdir/" --optimize=1
$ python3 setup.py install --root="$pkgdir/" --optimize=1
install-variables:
PREFIX
Default: /usr/local
The prefix used for installation. This works just like
the --prefix option in ./configure would.
DESTDIR
Default: empty
Target destination prefix. Usually used by packaging
scripts.
BINDIR
Default: $(PREFIX)/bin
Binary files will be installed to this location.
Files:
pkgdepdb
DATADIR
Default: $(PREFIX)/share
Currently nothing ends up here, but MANDIR uses this path.
LIBDIR
Default: $(PREFIX)/lib
When using WITH_LIBARRY=yes this will contain the library
and libtool files.
Files:
libpkgdepdb.so
libpkgdepdb.a
libpkgdepdb.la
...
INCLUDEDIR:
Default: $(PREFIX)/include
The header files for the C API end up there.
Files:
pkgdepdb.h
MANDIR
Default: $(DATADIR)/man
Location where manpages end up.
MAN1DIR
Default: $(MANDIR)/man1
Section 1 manpage directory.
Files:
pkgdepdb.1
SYSCONFDIR
Default: $(PREFIX)/etc
Location which will be searched for `pkgdepdb.conf`.
Deinstallation:
There exists an `uninstall' make-target, however you have to
specifcy the same PREFIX and DESTDIR variables as you did
while installing the package in order to remove the correct
files.
License:
See the LICENSE file.