diff options
author | P. 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) |
commit | 21dde1b5d765449dc1dac43603706d320782659f (patch) | |
tree | 98fc27da7f70be0137efc4e2a79598360c46b1d2 | |
parent | 7eea1f2b86f532dd3e9e87ae192ed53d42a05ce7 (diff) |
Begin reorganizing SPF 2.0 into a book.
-rw-r--r-- | include/document.tmpl | 69 | ||||
-rw-r--r-- | include/main.css | 105 | ||||
-rw-r--r-- | specs/spf-2.0/about.mdwn | 65 | ||||
-rw-r--r-- | specs/spf-2.0/chapters | 1 | ||||
-rw-r--r-- | specs/spf-2.0/control | 2 | ||||
-rw-r--r-- | specs/spf-2.0/index.mdwn | 47 |
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] |