summaryrefslogtreecommitdiffstats
path: root/dev/pkg/needed.mdwn
blob: f98b60f9c6f82699c4a68c519ed1f1ac358c7543 (plain)
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
[[!meta title="Needed Packages"]]

ProteanOS currently has few software packages.  This page lists software that
ProteanOS should eventually provide.


For ProteanOS 1.0
=================

libffi (`libffi`)
-----------------

<https://sourceware.org/libffi/>

A foreign function interface is the popular name for the interface that allows
code written in one language to call code written in another language.

Packaging exists but needs to be updated to [[SPF_2.0|dev/pkg/spf-2.0]].

PCRE (`pcre`)
-------------

<http://www.pcre.org/>

PCRE is a library of functions to support regular expressions whose syntax and
semantics are as close as possible to those of the Perl 5 language.

GLib (`glib-2.0`)
-----------------

<https://developer.gnome.org/glib/>

GLib is a general-purpose utility library, which provides many useful data
types, macros, type conversions, string utilities, file utilities, a mainloop
abstraction, and so on.

Depends on: `libffi`, `pcre`, `pkg-config`

Packaging exists but needs to be updated to [[SPF_2.0|dev/pkg/spf-2.0]].

popt (`popt`)
-------------

<http://rpm5.org/files/popt/> <https://directory.fsf.org/wiki/Popt>

The popt library parses command-line options.

The file `popt.ps` should be removed for SIP compliance (it's an unlicensed
excerpt from a book with embedded non-free fonts).

pkg-config (`pkg-config`)
-------------------------

<http://pkg-config.freedesktop.org/>

pkg-config is a helper tool used when compiling applications and libraries.

Depends on: `popt`, `glib`


Development
===========

Perl 5 (`perl`)
---------------

<http://www.perl.org/>

Perl 5 is a language interpreter, especially popular in systems administration
and software build and installation systems.

Unmodified Perl 5 source is impossible to cross build without executing software
on the host system (in GNU Autoconf terms, the system for which the package is
built).  For more information, see this [mailing list thread][perl-cross] and
the [work by Neil Williams for Debian][debian-perl-cross].

[perl-cross]: https://lists.debian.org/debian-embedded/2012/06/msg00011.html
[debian-perl-cross]: http://www.linux.codehelp.co.uk/serendipity/index.php?/archives/239-Long-term-maintenance-of-perl-cross-build-support-in-Debian.html

GNU Autoconf (`autoconf`)
-------------------------

<https://www.gnu.org/software/autoconf/>

GNU Autoconf generates `configure` scripts that are used to configure software
packages for building.

Depends on: `perl`

GNU Automake (`automake`)
-------------------------

<https://www.gnu.org/software/automake/>

GNU Automake generates `Makefile.in` files that are used to build software
packages.

Depends on: `perl`, `autoconf`

GNU Libtool (`libtool`)
-----------------------

<https://www.gnu.org/software/libtool/>

GNU libtool is a generic library support script.  Libtool hides the complexity
of using shared libraries behind a consistent, portable interface.

Depends on: `autoconf`, `automake`

GNU Bison (`bison`)
-------------------------

<https://www.gnu.org/software/bison/>

GNU Bison is a general-purpose parser generator.

It is an optional dependency of Gawk.

Depends on: `perl`


Administration
==============

Dropbear (`dropbear`)
---------------------

<http://matt.ucc.asn.au/dropbear/dropbear.html>

Dropbear is a small SSH server and client, in many ways compatible with OpenSSH.

A service script (`/etc/init.d/dropbear`) will need to be written, along with
`postinst` and `postrm` maintainer scripts to generate and delete the SSH host
key pair.

libnfnetlink (`libnfnetlink`)
-----------------------------

<http://www.netfilter.org/projects/libnfnetlink/index.html>

libnfnetlink is the low-level library for netfilter related kernel/userspace
communication.

iptables (`iptables`)
---------------------

<http://www.netfilter.org/projects/iptables/index.html>

iptables is the userspace command line program used to configure the Linux 2.4.x
and later IPv4 packet filtering ruleset.  It is targeted towards system
administrators.

Depends on: `libnfnetlink`

Lua 5.1 (`lua-5.1`)
-------------------

<http://www.lua.org/>

Lua is a powerful, fast, lightweight, embeddable scripting language interpreter.

LuCI (`luci`)
-------------

<http://luci.subsignal.org/trac>

LuCI is a free, clean, extensible and easily maintainable web user interface for
embedded devices.

One or more makefiles may need to be patched to support cross compiling.

There are lots of embedded code copies under `contrib/`; some or all of these
(e.g. uhttpd) should not be built.

Depends on: `iptables`, `lua-5.1`, maybe more