summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-02-03 07:50:56 (EST)
committer P. J. McDermott <pjm@nac.net>2012-02-03 07:50:56 (EST)
commit93fd0ee59af31fc67696e878b0bf51220a6b43a7 (patch)
tree3e9b4dc481d31e1e7e73125a3455a7c453202699
parent95c7b9e37defeb004388fdf49a3af63070bb6dbe (diff)
Document unnecessary platform architecture builds.
-rw-r--r--TODO18
1 files changed, 18 insertions, 0 deletions
diff --git a/TODO b/TODO
index 10c221b..f1a3c81 100644
--- a/TODO
+++ b/TODO
@@ -8,6 +8,7 @@ Future Plans:
* Compress documentation files. [3]
* Write an 'opkcreate' script like dh_make to create a new source package.
* Control field variables/macros (e.g. package version)
+ * Build platform-specific binary packages only when really necessary. [4]
Notes:
1: Requires opkg to be built with GnuPG and GPGME.
@@ -22,3 +23,20 @@ Notes:
For now, we'll omit this field (as a result, opkg simply won't make sure
there is enough free space).
3: Follow the model of debhelper's dh_compress.
+ 4: 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.