blob: 1f947bf2597544a6523c54f9815da84034a120a8 (
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
|
For 2.0.0:
* Handle maintainer scripts, conffiles, and md5sums in oh-gencontrol.
* Write substitution variable library functions.
* Do substitutions in control generation.
* Write new architecture library functions.
* Rewrite oh-buildopk, oh-installdocs, and oh-installfiles.
* Rewrite oh-checkbuilddeps.
- Support version and architecture specifications.
* Rewrite oh-strip.
- Find all normal files.
- Use the "file" program to identify executables and shared objects.
* Finish documenting library functions.
- Document standard output and error stream usage.
* Document new utility interfaces.
* Update build system.
- Update lists of source files.
- Change libdir macros/parameters.
- Add localedir macros/parameters.
- Search for executable dependencies in PATH.
- Add a DATE macro for manual pages.
Future Plans:
* Check on file ownership and modes.
* Make oh-strip obey a missing '-l' option.
* Package signing. [1]
* Compress documentation files. [2]
* Write an 'opkcreate' script like dh_make to create a new source package.
* Build platform-specific binary packages only when really necessary. [3]
* Maybe support "--with-PACKAGE" options, e.g. "--with-shell=/bin/bash"
* Write a tool similar to debhelper's dh_auto_configure.
Notes:
1: Requires opkg to be built with GnuPG and GPGME.
2: Follow the model of debhelper's dh_compress.
3: Currently, if a source package contains a file named 'config', all of its
binary packages are built for the target platform architecture. For
example, the 'opkg' source package installs platform configuration for the
'opkg' binary package; as a result, even 'libopkg.1' and 'libopkg.1-dbg'
(though not 'libopkg.1-dev', which is built for the "all" architecture) are
built for the target platform architecture. This problem is minor, since it
will only bloat package archives with functionally identical binary packages
and will not affect managed systems.
A solution to this issue is to separate build-time and run-time
configuration files into different lists in the source package format.
Build-time configuration files would be listed in a file named 'config' in
the package root (as they are now), and run-time configuration files would
be listed in 'config' files in binary package metadata directories (e.g.
'opkg.pkg/config' in the case of 'opkg'). Then, opkhelper will build each
binary package for the target platform only if there are build-time
configuration files for the source package or there are run-time
configuration files for the binary package.
|