summaryrefslogtreecommitdiffstats
path: root/dev/todo/packaging.mdwn
blob: e653c1c5cfa1cd316b4e6d4dd2438bf976eab053 (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
[[!meta title="Packaging"]]

There are always more source packages to be made.  Software that should be
packaged soon includes:

  * **[Dropbear](http://matt.ucc.asn.au/dropbear/dropbear.html)**
    
    Dropbear is a small SSH server and client, in many ways compatible with
    OpenSSH.
    
    In addition to the basic packaging work, there is work to be done on a
    service script (just a simple shell script in `/etc/init.d`) and `postinst`
    and `postrm` maintainer scripts to generate and delete the SSH host key
    pair.

  * **[GNU Autoconf](https://www.gnu.org/software/autoconf/)**
    
    GNU Autoconf generates `configure` scripts that are used to configure
    software packages for building.

  * **[GNU Automake](https://www.gnu.org/software/automake/)**
    
    GNU Automake generates `Makefile.in` files that are used to build software
    packages.

  * **[GNU M4](https://www.gnu.org/software/m4/)**
    
    GNU M4 is a macro processor, notably used by GNU Autoconf.

  * **[Perl 5](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).  See [this mailing list thread][perl-cross-building] for
    more information.  We will need to modify Perl's build system a bit before
    we can build a package.

  * **[GNU Multiple Precision Arithmetic Library (GMP)](http://gmplib.org/)**
    
    GMP is a free library for arbitrary precision arithmetic, operating on
    signed integers, rational numbers, and floating point numbers.  It is used
    by GCC.

  * **[GNU MPFR](http://www.mpfr.org/)**
    
    MPFR is a C library for multiple-precision floating-point computations with
    correct rounding.

  * **[GNU MPC](http://www.multiprecision.org/index.php?prog=mpc)**
    
    MPC is a C library for the arithmetic of complex numbers with arbitrarily
    high precision and correct rounding of the result.

  * **[GNU Binutils](https://www.gnu.org/software/binutils/)**
    
    GNU Binutils is a collection of binary utilities, including a linker and
    assembler.
    
    Binutils and GCC are part of the
    [[multiarch_cross_toolchain|dev/todo/multiarch-cross-toolchains]] project.

  * **[GNU Compiler Collection (GCC)](http://gcc.gnu.org/)**
    
    GCC is an optimizing compiler with frontends and libraries for a wide range
    of languages.
    
    Binutils and GCC are part of the
    [[multiarch_cross_toolchain|dev/todo/multiarch-cross-toolchains]] project.

  * **[GNU Make](https://www.gnu.org/software/make/)**
    
    GNU Make is a tool that automatically builds software packages.
    
    Note: [A small patch](http://bugs.debian.org/618840) exists in Debian to
    enable Make to use multiarch library paths.  We can do something similar
    (but with host-architecture paths rather than build-architecture paths).

  * **[DAS U-Boot](http://www.denx.de/wiki/U-Boot)**
    
    U-Boot is a bootloader used on many embedded computers, including the
    BeagleBoard-xM.


[perl-cross-building]: https://lists.debian.org/debian-embedded/2012/06/msg00011.html