From 93fd0ee59af31fc67696e878b0bf51220a6b43a7 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 03 Feb 2012 07:50:56 -0500 Subject: Document unnecessary platform architecture builds. --- (limited to 'TODO') 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. -- cgit v0.9.1