summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-01-16 04:39:07 (EST)
committer P. J. McDermott <pjm@nac.net>2012-01-16 04:39:07 (EST)
commit6de97c9cf2cd7291e84aef592dc7bb9ea001056b (patch)
tree8e039c53a0316dd67738bf6c9198e01dac963f97
parent9e39862519bcefd4e3b82123cebfa22c8ada6083 (diff)
Update source package format specification.
The multiple/split binary package problem is solved by proposals 2 and 3 and by making the 'build' file a makefile. I can't make proposal 1 (with a separate 'build' file for each binary package) work in an intuitive way.
-rw-r--r--source-package-format-1.0.txt46
1 files changed, 9 insertions, 37 deletions
diff --git a/source-package-format-1.0.txt b/source-package-format-1.0.txt
index 25c546e..0903b05 100644
--- a/source-package-format-1.0.txt
+++ b/source-package-format-1.0.txt
@@ -23,9 +23,7 @@ to change. Comments and revisions are welcome.
TODO
----
- - Decide on build system format (shell scripts or make files).
- - Determine how split packages (e.g. *-dev, *-dbg, libgcc, and g++) will be
- built.
+ - Design a way to support package configurations.
BACKGROUND
@@ -54,41 +52,14 @@ DIRECTORY STRUCTURE
PROPOSAL 1
----------
-This structure easily supports building multiple independent binary packages
-from one source package but does not support building split binary packages.
-
-<pkgname>_<pkgver>-<pkgrev>/
- +- <binpkg>.pkg/
- | +- build
- | | A script to build the binary package.
- | +- control
- | | Metadata about the binary package.
- | +- install
- | | A script to install the binary package.
- | +- postinst
- | +- postrm
- | +- preinst
- | \- prerm
- +- control
- | Metadata about the source package.
- +- format
- | A magic file to identify the source format version. Should simply contain
- | the string "1.0".
- +- patches/
- | Patches to be applied to package sources before building.
- +- <pkgname>_<pkgver>.<ext>
- | Upstream source archive (for non-native packages).
- \- src/
- Package sources (for native packages).
-
-'build' in the binary package directory might be changed to a dpkg-style make
-file with targets for building and installing.
+This directory structure proposal has been declared defunct and removed from
+this document.
PROPOSAL 2
----------
-This structure supports building split binary packages but does not easily
-support building multiple independent binary packages from one source package.
+In this structure, all source and binary packaging files are kept in the same
+directory.
Note that this directory structure is very functionally similar to that of
Debian's source package formats.
@@ -101,7 +72,7 @@ Debian's source package formats.
+- <binpkg>.preinst
+- <binpkg>.prerm
+- build
- | A script to build the binary package(s).
+ | A makefile with target rules to build the binary package(s).
+- control
| Metadata about the source and binary packages.
+- format
@@ -125,13 +96,14 @@ and metadata related to binary packages are organized into directories.
| +- control
| | Metadata about the binary package.
| +- install
- | | A list of patterns to match files to be installed in the binary package.
+ | | A list of patterns to match files to be installed in the binary
+ | | package.
| +- postinst
| +- postrm
| +- preinst
| \- prerm
+- build
- | A script to build the binary package(s).
+ | A makefile with target rules to build the binary package(s).
+- control
| Metadata about the source package.
+- format