diff options
author | Joseph Hunkeler <jhunk@stsci.edu> | 2013-07-01 12:21:31 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunk@stsci.edu> | 2013-07-01 12:21:31 -0400 |
commit | 3d860d90258428e411c1a8aebed716e51f974a39 (patch) | |
tree | bab8f641fa27ecd06b16b20652073a064333d9a3 | |
parent | e71ec0a7f4784f3cc4d365a6212609fdebf5de33 (diff) | |
download | ipsutils-3d860d90258428e411c1a8aebed716e51f974a39.tar.gz |
Add keyword explanation and beginning of howto section
-rw-r--r-- | docs/source/tutorial.rst | 92 |
1 files changed, 90 insertions, 2 deletions
diff --git a/docs/source/tutorial.rst b/docs/source/tutorial.rst index 73148c1..5a54b1f 100644 --- a/docs/source/tutorial.rst +++ b/docs/source/tutorial.rst @@ -58,9 +58,10 @@ Download ``ccache`` directly with ``wget``:: Creating a SPEC file -------------------- -Writing an ipsutils SPEC file from scratch feels like a daunting task, +Writing an ipsutils SPEC file from scratch is a daunting task, much like when working with RPM SPEC files. There is a utility, ``ipsutils-newspec`` -available to help help +available to help. This creates all available keywords and directives so that you +may pick and choose which ones to fill out. :: @@ -101,5 +102,92 @@ Contents of generated file:: %end +What are these keywords you speak of? +------------------------------------- +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`` + +arch +~~~~ + +There are only two architectures available: + +- i386 +- sparc + +.. note: + + This keyword is mandatory. There is no automatic architecture detection in IPS. + +classification +~~~~~~~~~~~~~~ + +For a list of package classifications please refer to `this site <http://docs.oracle.com/cd/E26502_01/html/E21383/gentextid-3283.html#scrolltoc>`_. + +description +~~~~~~~~~~~ + +A long detailed description of your package. + + +Filling in the blanks +===================== + +yadda yadda
\ No newline at end of file |