aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/1.0/README.html456
-rw-r--r--source/1.0/README.txt88
-rwxr-xr-xsource/1.0/bin/shell_versions.sh11
-rwxr-xr-xsource/1.0/bin/version_info.sh146
-rw-r--r--source/1.0/doc/CHANGES-1.0.txt7
-rw-r--r--source/1.0/doc/RELEASE_NOTES-1.0.0.txt18
-rwxr-xr-xsource/1.0/examples/hello_world.sh12
-rwxr-xr-xsource/1.0/src/shflags_test.sh3
8 files changed, 524 insertions, 217 deletions
diff --git a/source/1.0/README.html b/source/1.0/README.html
new file mode 100644
index 0000000..ada3127
--- /dev/null
+++ b/source/1.0/README.html
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
+<title>shFlags 1.0.x README</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger
+:Contact: goodger@users.sourceforge.net
+:Date: $Date$
+:Revision: $Revision$
+:Copyright: This stylesheet has been placed in the public domain.
+:Modified by: Kate Ward <kate.ward@forestent.com>
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left {
+ clear: left }
+
+img.align-right {
+ clear: right }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em ;
+ background-color: #eeeeee }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+/*
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+*/
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px ;
+ font-size: 80% }
+ }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+/*
+tt.docutils {
+ background-color: #eeeeee }
+*/
+
+ul.auto-toc {
+ list-style-type: none }
+
+/* customizations by kward */
+
+h1 { font-size: 133%; border-top:1px solid #CCCCFF; }
+h1.title { font-size: 150%; border-top:0px; padding-top: 1em; }
+/* div.document { font-size: 90% } */
+
+</style>
+</head>
+<body>
+<div class="document" id="shflags-1-0-x-readme">
+<h1 class="title">shFlags 1.0.x README</h1>
+
+<div class="section" id="code-google-com">
+<h1>code.google.com</h1>
+<p>This project is stored on code.google.com as <a class="reference external" href="http://code.google.com/p/shflags/">http://code.google.com/p/shflags/</a>.
+Documentation is available there, as are all releases and source code. The
+source code is stored in Subversion and can be accessed using the following
+information.</p>
+<p>Browse the code in a web browser:</p>
+<ul class="simple">
+<li><a class="reference external" href="http://code.google.com/p/shflags/source/browse">http://code.google.com/p/shflags/source/browse</a></li>
+<li>svn &gt; trunk &gt; source &gt; 1.0</li>
+</ul>
+<p>Check out the code locally</p>
+<pre class="literal-block">
+$ svn checkout http://shflags.googlecode.com/svn/trunk/ shflags-read-only
+</pre>
+<p>Documentation is available on the web at
+<a class="reference external" href="http://code.google.com/p/shflags/wiki/Documentation10x">http://code.google.com/p/shflags/wiki/Documentation10x</a>.</p>
+</div>
+<div class="section" id="making-a-release">
+<h1>Making a release</h1>
+<p>For these steps, it is assumed we are working with release 1.0.0.</p>
+<p>Steps:</p>
+<ul class="simple">
+<li>write release notes</li>
+<li>update version</li>
+<li>finish changelog</li>
+<li>check all the code in</li>
+<li>tag the release</li>
+<li>export the release</li>
+<li>create tarball</li>
+<li>md5sum the tarball and sign with gpg</li>
+<li>update website</li>
+<li>post to code.google.com and Freshmeat</li>
+</ul>
+<div class="section" id="write-release-notes">
+<h2>Write Release Notes</h2>
+<p>This should be pretty self explainatory. Use one of the release notes from a
+previous release as an example.</p>
+<p>To get the versions of the various shells, run the <cite>bin/version_info.sh</cite>
+command.</p>
+<pre class="literal-block">
+$ bin/shell_versions.sh
+os:Mac OS X version:10.5.3
+shell:/bin/bash version:3.2.17(1)-release
+shell:/bin/dash version:not_installed
+shell:/bin/ksh version:M-1993-12-28
+shell:/bin/pdksh version:not_installed
+shell:/bin/zsh version:4.3.4
+</pre>
+</div>
+<div class="section" id="update-version">
+<h2>Update Version</h2>
+<p>Edit <tt class="docutils literal"><span class="pre">src/shflags</span></tt> and change the version number in the <tt class="docutils literal"><span class="pre">__FLAGS_VERSION</span></tt>
+variable.</p>
+</div>
+<div class="section" id="finish-documentation">
+<h2>Finish Documentation</h2>
+<p>Make sure that any remaning changes get put into the <tt class="docutils literal"><span class="pre">CHANGES-X.X.txt</span></tt> file.</p>
+<p>Finish writing the <tt class="docutils literal"><span class="pre">RELEASE_NOTES-X.X.X.txt</span></tt>. Once it is finished, run it
+through the <strong>fmt</strong> command to make it pretty. (This assumes the lines weren't
+already wrapped at 80 chars when the file was edited.)</p>
+<pre class="literal-block">
+$ fmt -w 80 RELEASE_NOTES-2.0.0.txt &gt;RELEASE_NOTES-2.0.0.txt.new
+$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txt
+</pre>
+<p>We want to have an up-to-date version of the documentation in the release, so
+we'd better build it.</p>
+<pre class="literal-block">
+$ pwd
+.../shflags/source/1.0
+$ rst2html --stylesheet-path=doc/rst2html.css README.txt &gt;README.html
+</pre>
+</div>
+<div class="section" id="check-in-all-the-code">
+<h2>Check In All the Code</h2>
+<p>This step is pretty self-explainatory</p>
+<pre class="literal-block">
+$ pwd
+.../shflags/source/1.0
+$ svn ci -m &quot;finalizing 1.0.0 release&quot;
+</pre>
+</div>
+<div class="section" id="tag-the-release">
+<h2>Tag the Release</h2>
+<pre class="literal-block">
+$ cd ..
+$ pwd
+.../shflags/source
+$ ls
+1.0
+$ svn cp -m &quot;Release 1.0.0&quot; 1.0 https://shflags.googlecode.com/svn/tags/1.0.0
+</pre>
+</div>
+<div class="section" id="export-the-release">
+<h2>Export the Release</h2>
+<pre class="literal-block">
+$ cd ../builds
+$ pwd
+.../shflags/builds
+$ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0
+</pre>
+</div>
+<div class="section" id="create-tarball">
+<h2>Create Tarball</h2>
+<pre class="literal-block">
+$ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0
+</pre>
+</div>
+<div class="section" id="md5sum-the-tarball-and-sign-with-gpg">
+<h2>md5sum the Tarball and Sign With gpg</h2>
+<pre class="literal-block">
+$ cd ../releases
+$ md5sum shflags-1.0.0.tgz &gt;shflags-1.0.0.tgz.md5
+$ gpg --default-key kate.ward&#64;forestent.com --detach-sign shflags-1.0.0.tgz
+</pre>
+</div>
+<div class="section" id="post-the-release">
+<h2>Post the release</h2>
+<p>To post the release, the ProjectInfo page needs to be updated with the release
+info (release, date, and MD5), and the release with GPG signature needs to
+uploaded.</p>
+</div>
+<div class="section" id="post-to-freshmeat">
+<h2>Post to Freshmeat</h2>
+<ul class="simple">
+<li><a class="reference external" href="http://freshmeat.net/">http://freshmeat.net/</a></li>
+</ul>
+</div>
+</div>
+<div class="section" id="related-documentation">
+<h1>Related Documentation</h1>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">google-gflags:</th><td class="field-body"><a class="reference external" href="http://code.google.com/p/google-gflags/">http://code.google.com/p/google-gflags/</a></td>
+</tr>
+</tbody>
+</table>
+<!-- generate HTML using rst2html from Docutils of -->
+<!-- http://docutils.sourceforge.net/ -->
+<!-- -->
+<!-- vim:syntax=rst:textwidth=80 -->
+<!-- $Revision$ -->
+</div>
+</div>
+</body>
+</html>
diff --git a/source/1.0/README.txt b/source/1.0/README.txt
index 622c11c..9ba0463 100644
--- a/source/1.0/README.txt
+++ b/source/1.0/README.txt
@@ -10,15 +10,18 @@ Documentation is available there, as are all releases and source code. The
source code is stored in Subversion and can be accessed using the following
information.
-Check out the code locally ::
-
- $ svn checkout http://shflags.googlecode.com/svn/trunk/ shflags-read-only
-
Browse the code in a web browser:
- http://code.google.com/p/shflags/source/browse
- svn > trunk > source > 1.0
+Check out the code locally ::
+
+ $ svn checkout http://shflags.googlecode.com/svn/trunk/ shflags-read-only
+
+Documentation is available on the web at
+http://code.google.com/p/shflags/wiki/Documentation10x.
+
Making a release
================
@@ -47,7 +50,7 @@ previous release as an example.
To get the versions of the various shells, run the `bin/version_info.sh`
command. ::
- $ bin/version_info.sh
+ $ bin/shell_versions.sh
os:Mac OS X version:10.5.3
shell:/bin/bash version:3.2.17(1)-release
shell:/bin/dash version:not_installed
@@ -59,9 +62,7 @@ Update Version
--------------
Edit ``src/shflags`` and change the version number in the ``__FLAGS_VERSION``
-variable. Next, edit the ``src/docbook/shflags.xml`` file, edit the version in
-the ``<title>`` element, and make sure there is a revision section for this
-release.
+variable.
Finish Documentation
--------------------
@@ -69,7 +70,8 @@ Finish Documentation
Make sure that any remaning changes get put into the ``CHANGES-X.X.txt`` file.
Finish writing the ``RELEASE_NOTES-X.X.X.txt``. Once it is finished, run it
-through the **fmt** command to make it pretty. ::
+through the **fmt** command to make it pretty. (This assumes the lines weren't
+already wrapped at 80 chars when the file was edited.) ::
$ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txt
@@ -79,10 +81,7 @@ we'd better build it. ::
$ pwd
.../shflags/source/1.0
- $ make docs
- ...
- $ cp -p build/shunit2.html doc
- $ rst2html --stylesheet-path=share/css/rst2html.css doc/README.txt >doc/README.html
+ $ rst2html --stylesheet-path=doc/rst2html.css README.txt >README.html
Check In All the Code
---------------------
@@ -90,83 +89,62 @@ Check In All the Code
This step is pretty self-explainatory ::
$ pwd
- .../shunit2/source/2.0
- $ svn ci -m "finalizing release"
+ .../shflags/source/1.0
+ $ svn ci -m "finalizing 1.0.0 release"
Tag the Release
---------------
::
+ $ cd ..
$ pwd
- .../shunit2/source
+ .../shflags/source
$ ls
- 2.0 2.1
- $ svn cp -m "Release 2.0.0" 2.0 https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/source/2.0.0
+ 1.0
+ $ svn cp -m "Release 1.0.0" 1.0 https://shflags.googlecode.com/svn/tags/1.0.0
Export the Release
------------------
::
+ $ cd ../builds
$ pwd
- .../shunit2/builds
- $ svn export https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/source/2.0.0 shunit2-2.0.0
+ .../shflags/builds
+ $ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0
Create Tarball
--------------
::
- $ tar cfz ../releases/shunit2-2.0.0.tgz shunit2-2.0.0
+ $ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0
md5sum the Tarball and Sign With gpg
------------------------------------
::
$ cd ../releases
- $ md5sum shunit2-2.0.0.tgz >shunit2-2.0.0.tgz.md5
- $ gpg --default-key kate.ward@forestent.com --detach-sign shunit2-2.0.0.tgz
-
-Update Website
---------------
-
-Again, pretty self-explainatory. Make sure to copy the MD5 and GPG signature
-files. Once that is done, make sure to tag the website so we can go back in
-time if needed. ::
+ $ md5sum shflags-1.0.0.tgz >shflags-1.0.0.tgz.md5
+ $ gpg --default-key kate.ward@forestent.com --detach-sign shflags-1.0.0.tgz
- $ pwd
- .../shunit2
- $ ls
- source website
- $ svn cp -m "Release 2.0.0" \
- website https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/website/20060916
+Post the release
+----------------
-Now, update the website. It too is held in Subversion, so **ssh** into
-SourceForge and use ``svn up`` to grab the latest version.
+To post the release, the ProjectInfo page needs to be updated with the release
+info (release, date, and MD5), and the release with GPG signature needs to
+uploaded.
-Post to SourceForge and Freshmeat
----------------------------------
+Post to Freshmeat
+-----------------
-- http://sourceforge.net/projects/shunit2/
- http://freshmeat.net/
Related Documentation
=====================
-:Docbook: http://www.docbook.org/
-:Docbook XML:
- :docbook-xml-4.4.zip:
- http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip
- http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip
- :docbook-xml-4.5.zip:
- http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
-:Docbook XSL:
- :docbook-xsl-1.71.0.tar.bz2:
- http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.71.0.tar.bz2?download
- :docbook-xsl-1.71.1.tar.bz2:
- http://downloads.sourceforge.net/docbook/docbook-xsl-1.71.1.tar.bz2?use_mirror=puzzle
-:JUnit: http://www.junit.org/
+:google-gflags: http://code.google.com/p/google-gflags/
+
-..
.. generate HTML using rst2html from Docutils of
.. http://docutils.sourceforge.net/
..
diff --git a/source/1.0/bin/shell_versions.sh b/source/1.0/bin/shell_versions.sh
index ded0cb2..8b96d56 100755
--- a/source/1.0/bin/shell_versions.sh
+++ b/source/1.0/bin/shell_versions.sh
@@ -1,13 +1,10 @@
#! /bin/sh
-# $Id: version_info.sh 165 2008-05-13 09:40:15Z sfsetse $
-# vim:et:ft=sh:sts=2:sw=2
+# $Id$
#
-# Copyright (c) 2008 Forest Enterprises
-# All Rights Reserved
+# Copyright 2008 Kate Ward. All Rights Reserved.
+# Released under the LGPL (GNU Lesser General Public License)
#
# Author: Kate Ward (kate.ward@forestent.com)
-#
-# Released under the LGPL (GNU Lesser General Public License)
# treat unset variables as an error
set -u
@@ -145,3 +142,5 @@ for shell in ${SHELLS}; do
[ -z "${version}" ] && version='unknown'
reportVersion ${shell} "${version}"
done
+
+# vim:et:ft=sh:sts=2:sw=2
diff --git a/source/1.0/bin/version_info.sh b/source/1.0/bin/version_info.sh
deleted file mode 100755
index f88546e..0000000
--- a/source/1.0/bin/version_info.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#! /bin/sh
-# vim:et:ft=sh:sts=2:sw=2
-#
-# Copyright (c) 2008 Kate Ward. All Rights Reserved
-# Released under the LGPL (GNU Lesser General Public License)
-#
-# Author: Kate Ward (kate.ward@forestent.com)
-#
-# script to determine version info of various installed shells
-
-# treat unset variables as an error
-set -u
-
-#-----------------------------------------------------------------------------
-# functions
-#
-
-shellBash()
-{
- _shell=$1
-
- ${_shell} --version 2>&1 \
- |grep 'GNU bash' \
- |sed 's/.*version \([^ ]*\).*/\1/'
-}
-
-shellDash()
-{
- dpkg -l |grep ' dash ' |awk '{print $3}'
-}
-
-shellKsh()
-{
- _shell=$1
-
- _version=`strings ${_shell} 2>&1 \
- |grep Version \
- |sed 's/^.*Version \(.*\)$/\1/;s/ s+ \$$//;s/ /-/g'`
- [ -z "${_version}" ] && _version=`shellPdksh ${_shell}`
- echo ${_version}
-}
-
-shellPdksh()
-{
- _shell=$1
-
- strings ${_shell} 2>&1 \
- |grep 'PD KSH' \
- |sed -e 's/.*PD KSH \(.*\)/\1/;s/ /-/g'
-}
-
-shellZsh()
-{
- _shell=$1
-
- echo 'echo ${ZSH_VERSION}' |${_shell}
-}
-
-reportVersion()
-{
- _shell=$1
- _version=$2
-
- echo "shell:${_shell} version:${_version}"
-}
-
-#-----------------------------------------------------------------------------
-# main
-#
-
-version=''
-
-os_system=`uname -s`
-os_release=`uname -r`
-case ${os_system} in
- Cygwin)
- version='unknown'
- ;;
- Darwin)
- majorRelease='10'
- subRelease=`echo ${os_release} |sed 's/^[0-9]*\.\([0-9]*\)\.[0-9]*$/\1/'`
- case ${os_release} in
- 8.*) minorRelease='4' ;;
- 9.*) minorRelease='5' ;;
- *) minorRelease='X'; subRelease='X' ;;
- esac
- os='Mac OS X'
- version="${majorRelease}.${minorRelease}.${subRelease}"
- ;;
- Linux)
- os='Linux'
- if [ -r '/etc/lsb-release' ]; then
- . /etc/lsb-release
- version="${DISTRIB_ID}-${DISTRIB_RELEASE}"
- fi
- ;;
- SunOS)
- os='Solaris'
- version=`echo ${os_release} |sed 's/[0-9]*\.\([0-9]*\)/\1/'`
- ;;
- *)
- os='unknown'
- version='unknown'
- ;;
-esac
-echo "os:${os} version:${version}"
-
-# note: /bin/sh not included as it is nearly always a sym-link, and if it isn't
-# it is too much trouble to figure out what it is.
-SHELLS='/bin/bash /bin/dash /bin/ksh /bin/pdksh /bin/zsh'
-for shell in ${SHELLS}; do
- version=''
-
- if [ ! -x "${shell}" ]; then
- reportVersion ${shell} 'not_installed'
- continue
- fi
-
- case ${shell} in
- */sh)
- # this could be one of any number of shells. try until one fits.
-
- version=`shellBash ${shell}`
- # dash cannot be self determined yet
- [ -z "${version}" ] && version=`shellKsh ${shell}`
- # pdksh is covered in shellKsh()
- [ -z "${version}" ] && version=`shellZsh ${shell}`
- ;;
-
- */bash) version=`shellBash ${shell}` ;;
-
- */dash)
- # simply assuming Ubuntu Linux until somebody comes up with a better
- # test. the following test will return an empty string if dash is not
- # installed.
- version=`shellDash`
- ;;
-
- */ksh) version=`shellKsh ${shell}` ;;
- */pdksh) version=`shellPdksh ${shell}` ;;
- */zsh) version=`shellZsh ${shell}` ;;
- esac
-
- [ -z "${version}" ] && version='unknown'
- reportVersion ${shell} "${version}"
-done
diff --git a/source/1.0/doc/CHANGES-1.0.txt b/source/1.0/doc/CHANGES-1.0.txt
new file mode 100644
index 0000000..8321228
--- /dev/null
+++ b/source/1.0/doc/CHANGES-1.0.txt
@@ -0,0 +1,7 @@
+Changes in shFlags 1.0.x
+========================
+
+Changes with 1.0.0
+------------------
+
+This is the first official release, so everything is new.
diff --git a/source/1.0/doc/RELEASE_NOTES-1.0.0.txt b/source/1.0/doc/RELEASE_NOTES-1.0.0.txt
index cd55d80..e489cf5 100644
--- a/source/1.0/doc/RELEASE_NOTES-1.0.0.txt
+++ b/source/1.0/doc/RELEASE_NOTES-1.0.0.txt
@@ -16,8 +16,8 @@ General info
------------
This is the first official release of shFlags. The project is modeled after the
-gflags code released by Google on http://code.google.com/. Many thanks for the
-code they have provided.
+gflags code released by Google on http://code.google.com/p/google-gflags/. Many
+thanks for the code they have provided.
As this is the first release, there are bound to be issues. Feel free
@@ -27,19 +27,19 @@ Disclamer
The unit tests
--------------
-gflags is designed to work on as many environments as possible, but not all
+shFlags is designed to work on as many environments as possible, but not all
environments are created equal. As such, not all of the unit tests will succeed
on every platform. The unit tests are therefore designed to fail, indicating to
the tester that the supported functionality is not present, but an additional
-test is present to verify that gflags properly caught the limitation and
+test is present to verify that shFlags properly caught the limitation and
presented the user with an appropriate error message.
-gflags tries to support both the standard and enhanced versions of getopt. As
-each responds differently, and not everything is supported on the standard
+shFlags tries to support both the standard and enhanced versions of ``getopt``.
+As each responds differently, and not everything is supported on the standard
version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
-the standard version of getopt is detected. The reason being that there is no
-point testing for functionality that is positively known not to exist. A tally
-of skipped tests will be kept for later reference.
+the standard version of ``getopt`` is detected. The reason being that there is
+no point testing for functionality that is positively known not to exist. A
+tally of skipped tests will be kept for later reference.
Standard vs Enhanced getopt
---------------------------
diff --git a/source/1.0/examples/hello_world.sh b/source/1.0/examples/hello_world.sh
new file mode 100755
index 0000000..9c2ed0b
--- /dev/null
+++ b/source/1.0/examples/hello_world.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# source shflags
+. ../src/shflags
+
+# define a 'name' command-line string flag
+DEFINE_string 'name' 'world' 'name to say hello to' 'n'
+
+# parse the command-line
+FLAGS "$@" || exit 1; shift ${FLAGS_ARGC}
+
+echo "Hello, ${FLAGS_name}!"
diff --git a/source/1.0/src/shflags_test.sh b/source/1.0/src/shflags_test.sh
index 6affaf8..fd11d74 100755
--- a/source/1.0/src/shflags_test.sh
+++ b/source/1.0/src/shflags_test.sh
@@ -1,5 +1,4 @@
#! /bin/sh
-# vim:et:ft=sh:sts=2:sw=2
#
# Copyright 2008 Kate Ward. All Rights Reserved.
# Released under the LGPL (GNU Lesser General Public License)
@@ -128,3 +127,5 @@ EOF
( exec ${shell} ${shell_opts} ./${suite}; )
done
done
+
+# vim:et:ft=sh:sts=2:sw=2