Skip to content

Commit 66e5357

Browse files
committed
INSTALL version for termux but out-of-sync because based on master instead of this old CFE-4401-2/master branch
1 parent 5d99d63 commit 66e5357

File tree

1 file changed

+148
-0
lines changed

1 file changed

+148
-0
lines changed

termux.INSTALL

+148
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
PREREQUISITES
2+
-------------
3+
4+
In order to build CFEngine you need the following tools and libraries installed:
5+
6+
* C compiler supporting C90 + selected C99 constructs:
7+
- _Bool type
8+
- anonymous aggregates "(MyType) { .foo = 1, .bar = 2 }"
9+
- declarations in "for" loop
10+
- named initializers
11+
- uintmax_t and corresponding printf/scanf formats
12+
The following compilers are known to work:
13+
- gcc >= 3.0
14+
- clang >= 2.6
15+
* GNU make
16+
17+
* PAM library
18+
* OpenSSL library
19+
* PCRE library
20+
* POSIX threads (pthreads) library, if not provided by the operating system
21+
* Latest available LMDB (Lightning Memory-mapped DataBase), Tokyo Cabinet or QDBM
22+
23+
* MySQL client library (optional)
24+
* PostgreSQL client library (optional)
25+
* libacl library (optional)
26+
27+
In order to build CFEngine cloned from git, you will need the
28+
following additional tools:
29+
30+
* GNU Automake >= 1.10.1
31+
* GNU Autoconf >= 2.60
32+
* GNU Libtool >= 1.5.24
33+
* Yacc (note: GNU Bison 2.4.2 has troubles invoking m4)
34+
* Lex
35+
36+
Latest stable versions of the tools and libraries are generally advised.
37+
38+
See INSTALL DEPENDENCIES below for example of deps for various systems.
39+
40+
OPERATING SYSTEMS
41+
-----------------
42+
43+
CFEngine is regularly built and tested on the following operating systems:
44+
45+
* GNU/Linux (many distributions)
46+
* Solaris
47+
* Windows with MinGW
48+
49+
HARDWARE PLATFORMS
50+
------------------
51+
52+
CFEngine is regularly built and tested on the following CPU architectures:
53+
54+
* x86
55+
* x86-64
56+
* SPARC
57+
58+
OTHER CONFIGURATIONS
59+
--------------------
60+
61+
In case you have successfully compiled CFEngine on a different OS and/or using
62+
different tools or versions of tools, please report it to help-cfengine@ mailing
63+
list[1]. Please consider running a testsuite (see below), and posting results to
64+
mailing list too.
65+
66+
[1] https://groups.google.com/forum/#!forum/help-cfengine
67+
68+
BUILD INSTRUCTIONS
69+
------------------
70+
71+
From tarball:
72+
73+
$ ./configure [configure options]
74+
$ make [-jN]
75+
76+
From git checkout:
77+
78+
$ ./autogen.sh [configure options]
79+
$ make [-jN]
80+
81+
See the available configure options:
82+
83+
$ ./configure --help
84+
or
85+
$ ./autogen.sh --help
86+
87+
INSTALLATION INSTRUCTIONS
88+
-------------------------
89+
90+
CFEngine might be installed in two configurations:
91+
92+
* (default) Native CFEngine file layout. Everything is installed in
93+
/var/cfengine, laid out as a "secondary FHS root". This layout is designed to
94+
keep CFEngine running even if most of the system is broken (e.g. /usr is not
95+
mounted due to NFS breakage).
96+
97+
* FHS file layout, enabled by --enable-fhs. This layout follows FHS 2.3.
98+
99+
After the build process has completed (see BUILD INSTRUCTIONS above), type:
100+
101+
$ make install
102+
103+
RUNNING TESTSUITE
104+
-----------------
105+
106+
Please refer to the instructions in tests/README file.
107+
108+
INSTALL DEPENDENCIES
109+
--------------------
110+
111+
Here we have examples of command lines for various systems to install dependencies
112+
needed to build. The version and date checked are noted in parenthesis. Please
113+
submit PRs with updates to this information.
114+
115+
* RedHat/CentOS (rhel-8/rhel-9/centos-7 2022-11-15)
116+
117+
Note that first you will need to install epel-release (https://fedoraproject.org/wiki/EPEL) for lmdb-devel to be available.
118+
119+
$ sudo yum install -y gcc gdb make git libtool autoconf automake byacc flex openssl-devel pcre-devel lmdb-devel pam-devel flex-devel libyaml-devel
120+
121+
For SELinux support you will need selinux-policy-devel package and specify `--with-selinux-policy` to `autogen.sh` or `configure`
122+
123+
* Debian (Raspbian 10 2021-07-02)
124+
125+
$ sudo apt-get install -y build-essential git libtool autoconf automake bison flex libssl-dev libpcre3-dev libbison-dev libacl1 libacl1-dev lmdb-utils liblmdb-dev libpam0g-dev libtool libyaml-dev
126+
127+
* FreeBSD (12.1 2020-04-07)
128+
129+
See docs/BSD.md
130+
131+
* SUSE (Tumbleweed 2020-02-02)
132+
133+
$ sudo zypper install gdb gcc make lmdb autoconf automake libtool git python3 pcre-devel libopenssl-devel pam-devel
134+
135+
* AlpineOS (3.11.3 x86_64 2020-04-13)
136+
137+
$ sudo apk add alpine-sdk lmdb-dev openssl-dev bison flex-dev acl-dev pcre-dev autoconf automake libtool git python3 gdb
138+
$ ./autogen.sh --without-pam
139+
140+
* Termux (2020-04-24)
141+
142+
pkg install -y build-essential git autoconf automake bison flex liblmdb openssl pcre libacl libyaml
143+
./autogen.sh --without-pam
144+
145+
* OSX (2021-10-20)
146+
147+
brew install [email protected] lmdb autoconf automake libtool bison flex pcre m4 gcc make
148+
./autogen.sh --enable-debug --with-openssl="$(brew --prefix [email protected])"

0 commit comments

Comments
 (0)