aboutsummaryrefslogtreecommitdiff
path: root/docs/source
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunk@stsci.edu>2013-07-11 10:13:30 -0400
committerJoseph Hunkeler <jhunk@stsci.edu>2013-07-11 10:13:48 -0400
commit554f10293f5a233933f1be915fdc190efd7ab8e9 (patch)
tree7bbca97a9666f62082f1ff90db12e2c5044a9cf5 /docs/source
parent20ca15759634a9ab676ad6593d870150cd2bc945 (diff)
downloadipsutils-554f10293f5a233933f1be915fdc190efd7ab8e9.tar.gz
Add badpath keyword
Diffstat (limited to 'docs/source')
-rw-r--r--docs/source/spec_file_format.rst113
1 files changed, 113 insertions, 0 deletions
diff --git a/docs/source/spec_file_format.rst b/docs/source/spec_file_format.rst
index b175299..e2debd7 100644
--- a/docs/source/spec_file_format.rst
+++ b/docs/source/spec_file_format.rst
@@ -13,12 +13,122 @@ Keywords
* **group** - Name of group the package belongs to
* **upstream_url** - URL to package in repository
* **source_url** - URL to original source package
+* **badpath** - Name of extracted top-level directory
* **description** - Full description of package
* **summary** - Brief description of package
* **classification** - opensolaris package classification format [1]_
* **arch** - Destined architecture of the package
* **license** - License of the package
+Keywords, in-depth
+==================
+
+.. _FMRI: http://docs.oracle.com/cd/E26502_01/html/E21383/pkgterms.html#glubk
+
+Keywords in an ipsutils SPEC file refer to the data inserted into the FMRI_ section of a package manifest.
+
+name
+----
+
+The ``name`` of the package should match the first part of the source package.
+If source package is named ``ccache-x.y.z.tar.gz`` the ``name`` field should be set to ``ccache``.
+In the case of Python, for example, they use a capital 'p' in the source package filename: ``Python-3.2.1.tar.gz``.
+
+repackas
+--------
+
+To create an IPS package under a different name use the ``repackas`` keyword. In this case, ``Python``
+can be repackaged as ``python3`` and all subsequent modules (numpy, scipy, etc) can be repackaged as
+``python3-[module]`` to make administration easier.
+
+version
+-------
+
+The version of the package is generally provided in the name of the source archive.
+
+release
+-------
+
+The ``release`` keyword allow you to apply patches to the IPS package without the need to change the version number.
+For example, if a maintainer releases a bugfix, but it does not increment the version number, you may apply the
+patch, increment the release number, and push the package to your repository. Clients will then receive the latest
+bugfix without incrementing the package version.
+
+group
+-----
+
+``group`` defines a subclass of the IPS package classification system.
+
+summary
+-------
+
+``summary`` is a very brief description of the package's functional purpose.
+
+license
+-------
+
+The ``license`` describes the package's current license (e.g. ``GPL``, ``BSD``, ``MIT``, etc)
+
+maintainer
+----------
+
+The package maintainer's full name and email. Use the format: ``John Doe <john@example.com>``
+
+upstream_url
+------------
+
+URL to the original source archive on the internet (or intranet). Example, ``http://www.example.com/package-1.0.0.tar.gz``
+
+source_url
+----------
+
+Although ``upstream_url`` can be in URL format, it is not a requirement. Example, ``package-1.0.0.tar.gz`` or ``http://www.example.com/package-1.0.0.tar.gz``
+
+badpath
+-------
+
+Some developers may package their source code with a top-level directory name that differs
+from what is written to disk.
+
+Example: ``gtar tfvz tkdiff-4.2.tar.gz`` ::
+
+ -rw-r--r-- dorothyr/users 5910 2011-11-26 21:08 tkdiff-unix/CHANGELOG.txt
+ -rw-r--r-- dorothyr/users 18092 2011-11-26 21:08 tkdiff-unix/LICENSE.txt
+ -rwxr-xr-x dorothyr/users 1084 2011-11-26 21:08 tkdiff-unix/README.txt
+ -rwxr-xr-x dorothyr/users 341372 2011-11-26 21:08 tkdiff-unix/tkdiff
+
+The *name* of the package is **tkdiff-4.2** and the directory structure is **tkdiff-unix**.
+This scenario will cause ipsbuild to fail unless the ``badpath`` keyword is used to circumvent the issue.
+
+Example: ::
+
+ badpath: tkdiff-unix
+
+arch
+----
+
+There are only two architectures available:
+
+- i386
+- sparc
+
+.. note:
+
+ There is no automatic architecture detection in IPS.
+
+classification
+--------------
+
+.. _classification: http://docs.oracle.com/cd/E26502_01/html/E21383/gentextid-3283.html#scrolltoc
+
+For a list of package classifications please refer to the IPS package classification_ documentation.
+
+description
+-----------
+
+A long detailed description of your package.
+
+
Directives
==========
@@ -95,6 +205,9 @@ Available shell expansion variables
* **SPKGS** - ipsutils/SPKGS/[package]
.. note::
+ All available *keywords* are expandable, too.
+
+.. note::
Macro expansion for ipsutils is in its infancy. If you are familiar with macro expansion
in RPM's SPEC implementation; there is nothing even remotely close to it here. This will be
addressed in the future.