summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-08-13 19:00:06 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-08-13 19:01:12 (EDT)
commit21dde1b5d765449dc1dac43603706d320782659f (patch)
tree98fc27da7f70be0137efc4e2a79598360c46b1d2
parent7eea1f2b86f532dd3e9e87ae192ed53d42a05ce7 (diff)
Begin reorganizing SPF 2.0 into a book.
-rw-r--r--include/document.tmpl69
-rw-r--r--include/main.css105
-rw-r--r--specs/spf-2.0/about.mdwn65
-rw-r--r--specs/spf-2.0/chapters1
-rw-r--r--specs/spf-2.0/control2
-rw-r--r--specs/spf-2.0/index.mdwn47
6 files changed, 289 insertions, 0 deletions
diff --git a/include/document.tmpl b/include/document.tmpl
new file mode 100644
index 0000000..1f914cd
--- /dev/null
+++ b/include/document.tmpl
@@ -0,0 +1,69 @@
+<!doctype html>
+
+<html>
+ <head>
+ <meta charset="utf-8">
+<TMPL_IF NAME="IS_INDEX">
+ <title><TMPL_VAR NAME="BOOK_TITLE"></title>
+<TMPL_ELSE>
+ <title><TMPL_VAR NAME="BOOK_TITLE"> - <TMPL_VAR NAME="TITLE"></title>
+</TMPL_IF>
+ <link type="text/css" rel="stylesheet" href="main.css">
+ <link rel="start" href="index.html">
+<TMPL_IF NAME="PREV_LINK">
+ <link rel="prev" href="<TMPL_VAR NAME="PREV_LINK">">
+</TMPL_IF>
+<TMPL_IF NAME="NEXT_LINK">
+ <link rel="next" href="<TMPL_VAR NAME="NEXT_LINK">">
+</TMPL_IF>
+ </head>
+ <body>
+ <header>
+ <nav>
+ <ul>
+<TMPL_IF NAME="PREV_LINK">
+ <li class="prev">
+ <a href="<TMPL_VAR NAME="PREV_LINK">">Prev</a>
+ </li>
+</TMPL_IF>
+<TMPL_IF NAME="NEXT_LINK">
+ <li class="next">
+ <a href="<TMPL_VAR NAME="NEXT_LINK">">Next</a>
+ </li>
+</TMPL_IF>
+ <li class="start">
+ <a href="index.html">Home</a>
+ </li>
+ </ul>
+ </nav>
+ <h1><TMPL_VAR NAME="BOOK_TITLE"></h1>
+<TMPL_UNLESS NAME="IS_INDEX">
+ <h2><TMPL_VAR NAME="CHAPT_TITLE"></h2>
+</TMPL_UNLESS>
+ </header>
+ <section>
+<TMPL_VAR NAME="BODY">
+ </section>
+ <footer>
+ <nav>
+ <ul>
+<TMPL_IF NAME="PREV_LINK">
+ <li class="prev">
+ <a href="<TMPL_VAR NAME="PREV_LINK">">Prev</a>
+ <TMPL_VAR NAME="PREV_TITLE">
+ </li>
+</TMPL_IF>
+<TMPL_IF NAME="NEXT_LINK">
+ <li class="next">
+ <a href="<TMPL_VAR NAME="NEXT_LINK">">Next</a>
+ <TMPL_VAR NAME="NEXT_TITLE">
+ </li>
+</TMPL_IF>
+ <li class="start">
+ <a href="index.html">Home</a>
+ </li>
+ </ul>
+ </nav>
+ </footer>
+ </body>
+</html>
diff --git a/include/main.css b/include/main.css
new file mode 100644
index 0000000..6df6c2b
--- /dev/null
+++ b/include/main.css
@@ -0,0 +1,105 @@
+* {
+ margin: 0px;
+ padding: 0px;
+ font-family: serif;
+ color: #000000;
+}
+body {
+ margin: 0px;
+ padding: 0px 12px;
+ background-color: #E0E0E0;
+}
+h1, h2 {
+ font-weight: bold;
+}
+a {
+ color: #0000FF;
+ text-decoration: underline;
+}
+
+nav {
+ margin: 0px;
+ padding: 24px 12px;
+ height: 1%;
+ overflow: auto;
+}
+header nav {
+ border-bottom: 1px solid #666666;
+ margin-bottom: 24px
+}
+footer nav {
+ border-top: 1px solid #666666;
+ margin-top: 24px
+}
+nav ul {
+ display: inline;
+ list-style-type: none;
+}
+nav ul li.prev {
+ float: left;
+ width: 40%;
+ text-align: left;
+}
+nav ul li.next {
+ float: right;
+ width: 40%;
+ text-align: right;
+}
+nav ul li a {
+ display: block;
+}
+footer nav ul li a {
+ margin-bottom: 8px;
+}
+nav ul li.start {
+ text-align: center;
+ width: 20%;
+ margin: 0px auto;
+}
+header h1 {
+ font-size: 20pt;
+ font-weight: bold;
+ margin: 6px 12px;
+}
+header h2 {
+ font-size: 18pt;
+ font-weight: bold;
+ margin: 6px 12px;
+}
+
+section {
+ margin: 0px;
+ margin: 12px 12px 24px 12px;
+}
+
+section h1 {
+ font-size: 16pt;
+ font-weight: bold;
+ margin: 0px 0px 12px 0px;
+}
+section h2 {
+ font-size: 14pt;
+ font-weight: bold;
+ margin: 0px 0px 12px 0px;
+}
+section p {
+ font-size: 12pt;
+ margin: 0px 0px 12px 0px;
+}
+section li {
+ font-size: 12pt;
+}
+section code {
+ background-color: #EEEECC;
+ font-family: monospace;
+}
+section pre {
+ background-color: #EEEECC;
+ margin: 0px 0px 12px 16px;
+}
+section ul, section ol {
+ margin: 0px 0px 12px 24px;
+}
+section ul ul, section ol ol {
+ margin: 0px 0px 0px 24px;
+}
diff --git a/specs/spf-2.0/about.mdwn b/specs/spf-2.0/about.mdwn
new file mode 100644
index 0000000..75743b6
--- /dev/null
+++ b/specs/spf-2.0/about.mdwn
@@ -0,0 +1,65 @@
+Background [background]
+=======================
+
+A source package consists of software source code, a build system, and package
+metadata. From it is built one or more binary packages, which can be installed
+into an operating system.
+
+
+Changes Since Version 1.0 [changes]
+===================================
+
+Following is a summary of differences between versions 1.0 and 2.0 of this
+source package format:
+
+ * The platform configuration file list is now split between two files.
+ `platconf` lists build-time configuration files, and `<binpkg>.pkg/platconf`
+ lists run-time configuration files.
+ - As a result, the platform configuration file lists now have a simpler
+ syntax that does not include the type of configuration file.
+ - It is now easy to determine whether individual binary packages are
+ platform-specific.
+ * Package building can now be configured by a `config` script.
+ - There is now no need for any configuration logic in the `build` makefile.
+ See section 5 for rationale behind this design.
+ - The list of binary packages that can be built from a source package no
+ longer needs to be statically defined.
+ * The source package hierarchy has been clarified to to indicate whether each
+ file is required.
+ - Additionally, certain files are now only required by a certain step in the
+ build process, allowing them to be dynamically generated.
+ * Packages without any sources (such as pure metapackages) are now explicitly
+ allowed.
+ * Maintainer scripts are now explained.
+ * The set of required `build` makefile targets has been changed.
+ - The amount of redundant information in source packages is reduced by not
+ requiring the `build` file to list all binary packages.
+ - The user can choose to build all binary packages, only
+ architecture-independent binary packages, or only architecture-independent
+ binary packages. See section 5 for rationale behind this design.
+ * The source package version is no longer included in `control`.
+ - It is already given in the most recent entry in `changelog`.
+ * The version identifier syntax now encodes information about source archive
+ repacks and non-trunk distribution uploads.
+ - The syntax has been made strict to make parsing simple and deterministic.
+ * The `Source` and `Package` control fields have been removed, as the
+ information they provided is provided elsewhere.
+ - Source package names are now given only in the `changelog` file.
+ - Binary package names are now given only in the names of `<binpkg>.pkg/`
+ directories.
+ * Platform names are no longer specified in the `Architecture` field.
+ - They are now specified in a new `Platform` field.
+ * Wildcard binary architecture strings are now supported.
+
+
+Rationale [rationale]
+=====================
+
+TODO
+
+
+Scope [scope]
+=============
+
+This specification applies both to source packages and to the package building
+tools that interact with them.
diff --git a/specs/spf-2.0/chapters b/specs/spf-2.0/chapters
new file mode 100644
index 0000000..477249a
--- /dev/null
+++ b/specs/spf-2.0/chapters
@@ -0,0 +1 @@
+about About this Manual
diff --git a/specs/spf-2.0/control b/specs/spf-2.0/control
new file mode 100644
index 0000000..2981806
--- /dev/null
+++ b/specs/spf-2.0/control
@@ -0,0 +1,2 @@
+Title: Source Package Format 2.0
+
diff --git a/specs/spf-2.0/index.mdwn b/specs/spf-2.0/index.mdwn
new file mode 100644
index 0000000..93e4529
--- /dev/null
+++ b/specs/spf-2.0/index.mdwn
@@ -0,0 +1,47 @@
+ Status: DRAFT
+ Date: 2012-08-04
+ Revises: Source Package Format 1.0
+
+
+Abstract
+========
+
+This document describes version 2.0 of the format for software packages.
+
+
+Status of This Document
+=======================
+
+This specification is in `DRAFT` status. It is a work-in-progress and is
+subject to change. Comments and revisions are welcome.
+
+
+Legal Notice
+============
+
+Copyright © 2012 Patrick "P. J." McDermott
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Contents
+========
+
+$[toc]