diff options
author | Jerome Martin <jxm@risingtidesystems.com> | 2011-09-22 00:48:23 +0200 |
---|---|---|
committer | Jerome Martin <jxm@risingtidesystems.com> | 2011-09-22 01:40:22 +0200 |
commit | 95cdcb7dd669d840d14bd099d68fce4dcdc9cc64 (patch) | |
tree | 065d06af0d3ccce58abaed8adcbf88f1dfae4a29 | |
parent | 7158711b2d4217d600a8b750e6e6974931b5a910 (diff) | |
download | targetcli-95cdcb7dd669d840d14bd099d68fce4dcdc9cc64.tar.gz |
Now using a tarball-release based Makefile.2.0rc1
* Removed useless obsolete targets (setup.py based)
* Merged version templating in Makefile (removed bin/gen_changelog*).
* Added 'release' make target that generates a dist/*.tar.gz official
versionned release tarball from which one can just use setup.py,
dpkg-buildpackage or rpmbuild (no Makefile in it).
* Removed obsolete bin/lint as well.
* Now the 'rpm' and 'deb' Makefile targets use the generated release build.
* Makefile commands now use no echo mode.
* Added timestamps for virtual targets.
* Removed obsolete (empty) doc packages generation. The shell is
self-documenting.
* Cleaned up setup.py alignements.
-rw-r--r-- | Makefile | 181 | ||||
-rwxr-xr-x | bin/gen_changelog | 37 | ||||
-rwxr-xr-x | bin/gen_changelog_cleanup | 20 | ||||
-rwxr-xr-x | bin/gendoc | 104 | ||||
-rwxr-xr-x | bin/gendoc.py | 80 | ||||
-rw-r--r-- | debian/control | 14 | ||||
-rw-r--r-- | redhat/targetcli.spec.tmpl | 16 | ||||
-rwxr-xr-x | setup.py | 23 | ||||
-rw-r--r-- | targetcli_doc/html4css1.css | 273 | ||||
-rw-r--r-- | targetcli_doc/rtslogo.eps | 281 | ||||
-rw-r--r-- | targetcli_doc/rtslogo.png | bin | 8413 -> 0 bytes | |||
-rw-r--r-- | targetcli_doc/voidspace.css | 137 |
12 files changed, 115 insertions, 1051 deletions
@@ -14,94 +14,119 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. NAME = targetcli -LIB = /usr/share -DOC = ${LIB}/doc/ -SETUP = ./setup.py -GENDOC = ./bin/gendoc -RPMVERSION = $$(grep Version: redhat/targetcli.spec | awk '{print $$2}') GIT_BRANCH = $$(git branch | grep \* | tr -d \*) +VERSION = $$(basename $$(git describe --tags | tr - .)) -all: usage -usage: +all: @echo "Usage:" + @echo @echo " make deb - Builds debian packages." @echo " make rpm - Builds redhat packages." - @echo " make clean - Cleanup the local repository" - @echo " make cleanall - Cleanup the local repository and packages" - @echo "Developer targets:" - @echo " make doc - Generate the documentation" - @echo " make sdist - Build the source tarball" - @echo " make bdist - Build the installable tarball" - @echo " make install - Install targetcli" - @echo " make installdocs - Install the documentation" - -install: - ${SETUP} install - -doc: - ${GENDOC} - -installdocs: doc - @test -e ${DOC} || \ - echo "Could not find ${DOC}; check the makefile variables." - @test -e ${DOC} - cp -r doc/* ${DOC}/${NAME}/ + @echo " make release - Generates the release tarball." + @echo + @echo " make clean - Cleanup the local repository build files." + @echo " make cleanall - Also remove dist/*" clean: - ${CLEAN} - rm -fv targetcli/*.pyc targetcli/*.html - rm -frv doc - rm -frv targetcli.egg-info MANIFEST build - rm -frv pdf html - rm -frv debian/tmp - rm -fv build-stamp - rm -fv dpkg-buildpackage.log dpkg-buildpackage.version - rm -frv *.rpm warntargetcli.txt buildtargetcli - rm -fv debian/*.debhelper.log debian/*.debhelper debian/*.substvars debian/files - rm -fvr debian/targetcli-python2.5/ - rm -fvr debian/targetcli-python2.6/ debian/targetcli/ debian/targetcli-doc/ - rm -fv redhat/*.spec *.spec redhat/sed* sed* - rm -frv targetcli-* - ./bin/gen_changelog_cleanup + @rm -fv ${NAME}/*.pyc ${NAME}/*.html + @rm -frv doc + @rm -frv ${NAME}.egg-info MANIFEST build + @rm -frv debian/tmp + @rm -fv build-stamp + @rm -fv dpkg-buildpackage.log dpkg-buildpackage.version + @rm -frv *.rpm + @rm -fv debian/files debian/*.log debian/*.substvars + @rm -frv debian/${NAME}-doc/ debian/python2.5-${NAME}/ + @rm -frv debian/python2.6-${NAME}/ debian/python-${NAME}/ + @rm -frv results + @rm -fv redhat/*.spec *.spec redhat/sed* sed* + @rm -frv ${NAME}-* + @rm -frv *.rpm warn${NAME}.txt build${NAME} + @rm -fv debian/*.debhelper.log debian/*.debhelper debian/*.substvars debian/files + @rm -fvr debian/${NAME}-frozen/ debian/${NAME}-python2.5/ + @rm -fvr debian/${NAME}-python2.6/ debian/${NAME}/ debian/${NAME}-doc/ + @rm -frv log/ @echo "Finished cleanup." cleanall: clean - rm -frv dist - -deb: doc - ./bin/gen_changelog - dpkg-buildpackage -rfakeroot | tee dpkg-buildpackage.log - ./bin/gen_changelog_cleanup - grep "source version" dpkg-buildpackage.log | awk '{print $$4}' > dpkg-buildpackage.version - @test -e dist || mkdir dist - mv ../${NAME}_$$(cat dpkg-buildpackage.version).dsc dist - mv ../${NAME}_$$(cat dpkg-buildpackage.version)_*.changes dist - mv ../${NAME}_$$(cat dpkg-buildpackage.version).tar.gz dist - mv ../*${NAME}*$$(cat dpkg-buildpackage.version)*.deb dist - ./bin/gen_changelog_cleanup - -rpm: doc - ./bin/gen_changelog - @echo Building RPM version ${RPMVERSION} - mkdir -p ~/rpmbuild/SOURCES/ - mkdir -p build - git archive ${GIT_BRANCH} --prefix targetcli/ > build/targetcli.tar - cd build; tar mxf targetcli.tar; rm targetcli.tar - cp targetcli/__init__.py build/targetcli/targetcli - cp -r doc build/targetcli/ - mv build/targetcli targetcli-${RPMVERSION} - tar zcf ~/rpmbuild/SOURCES/targetcli-${RPMVERSION}.tar.gz targetcli-${RPMVERSION} - rm -fr targetcli-${RPMVERSION} - rpmbuild -ba redhat/*.spec - @test -e dist || mkdir dist - mv ~/rpmbuild/SRPMS/targetcli-${RPMVERSION}*.src.rpm dist/ - mv ~/rpmbuild/RPMS/*/targetcli-${RPMVERSION}*.rpm dist/ - mv ~/rpmbuild/RPMS/noarch/targetcli-doc-${RPMVERSION}*.rpm dist/ - ./bin/gen_changelog_cleanup + @rm -frv dist -sdist: clean doc - ${SETUP} sdist +release: build/release-stamp +build/release-stamp: + @mkdir -p build + @echo "Exporting the repository files..." + @git archive ${GIT_BRANCH} --prefix ${NAME}-${VERSION}/ \ + | (cd build; tar xf -) + @echo "Cleaning up the target tree..." + @rm -f build/${NAME}-${VERSION}/Makefile + @rm -f build/${NAME}-${VERSION}/.gitignore + @rm -rf build/${NAME}-${VERSION}/bin + @echo "Fixing version string..." + @sed -i "s/__version__ = .*/__version__ = '${VERSION}'/g" \ + build/${NAME}-${VERSION}/${NAME}/__init__.py + @echo "Generating rpm specfile from template..." + @cd build/${NAME}-${VERSION}; \ + for spectmpl in redhat/*.spec.tmpl; do \ + sed -i "s/Version:\( *\).*/Version:\1${VERSION}/g" $${spectmpl}; \ + mv $${spectmpl} $$(basename $${spectmpl} .tmpl); \ + done; \ + rmdir redhat + @echo "Generating rpm changelog..." + @for commit in $$(git log --date=iso | grep -e ^commit -e ^Date: \ + | tr -d '\n' | sed 's/commit /\n/g' | sed 's/Date: //g' \ + | awk '{print $$2, $$3, $$1}' | sort -r | awk '{print $$3}'); do \ + version=$$(basename $$(git describe $${commit} --tags | tr - .)); \ + author=$$(git show $${commit} --format="format:%an <%ae>" -s); \ + date=$$(git show $${commit} --format="format:%ad" -s \ + | awk '{print $$1,$$2,$$3,$$5}'); \ + echo '* '"$${date} $${author} $${version}-1"; \ + git show $${commit} --format="format:%s%n" -s; \ + git show $${commit} --format="format:%b" -s \ + | sed 's/^* /- /g' | sed 's/^/ /g'; \ + done >> $$(ls build/${NAME}-${VERSION}/*.spec) + @echo "Generating debian changelog..." + @for commit in $$(git log | grep ^commit | awk '{print $$2}'); do \ + version=$$(basename $$(git describe $${commit} --tags | tr - .)); \ + author=$$(git show $${commit} --format="format:%an <%ae>" -s); \ + date=$$(git show $${commit} --format="format:%aD" -s); \ + day=$$(git show $${commit} --format='format:%ai' -s \ + | awk -F '-' '{print $$2}'); \ + date=$$(echo $${date} \ + | awk '{print $$1, "'"$${day}"'", $$3, $$4, $$5, $$6}'); \ + echo "${NAME} ($${version}) unstable; urgency=low"; \ + echo ; \ + git show $${commit} --format="format: * %s%n" -s; \ + git show $${commit} --format="format:%b%n" -s \ + | sed 's/^* /- /g' | sed 's/^/ /g'; \ + echo " -- $${author} $${date}"; \ + echo ; \ + done > build/${NAME}-${VERSION}/debian/changelog + @mkdir -p dist + @cd build; tar zcf ../dist/${NAME}-${VERSION}.tar.gz ${NAME}-${VERSION} + @echo "Generated release tarball:" + @echo " $$(ls dist/${NAME}-${VERSION}.tar.gz)" + @touch build/release-stamp -bdist: clean doc - ${SETUP} bdist +deb: release build/deb-stamp +build/deb-stamp: + @echo "Building debian packages..." + @cd build/${NAME}-${VERSION}; \ + dpkg-buildpackage -rfakeroot -us -uc + @mv build/*_${VERSION}_*.deb dist/ + @echo "Generated debian packages:" + @for pkg in $$(ls dist/*_${VERSION}_*.deb); do echo " $${pkg}"; done + @touch build/deb-stamp +rpm: release build/rpm-stamp +build/rpm-stamp: + @echo "Building rpm packages..." + @mkdir -p build/rpm + @build=$$(pwd)/build/rpm; dist=$$(pwd)/dist/; rpmbuild \ + --define "_topdir $${build}" --define "_sourcedir $${dist}" \ + --define "_rpmdir $${build}" --define "_buildir $${build}" \ + --define "_srcrpmdir $${build}" -ba build/${NAME}-${VERSION}/*.spec + @mv build/rpm/*-${VERSION}*.src.rpm dist/ + @mv build/rpm/*/*-${VERSION}*.rpm dist/ + @echo "Generated rpm packages:" + @for pkg in $$(ls dist/*-${VERSION}*.rpm); do echo " $${pkg}"; done + @touch build/rpm-stamp diff --git a/bin/gen_changelog b/bin/gen_changelog deleted file mode 100755 index 91ef158..0000000 --- a/bin/gen_changelog +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# This file is part of targetcli. -# Copyright (c) 2011 by RisingTide Systems LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, version 3 (AGPLv3). -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -NAME=$(git config --get user.name) -EMAIL=$(git config --get user.email) -DATE=$(date +'%a, %d %b %Y %H:%M:%S %z') - -SRCPKG=$(cat debian/control | grep ^Source | awk '{print $2}') -VERSION=$(basename $(git describe --tags | tr - .)) - -sed -i "s/__version__ = .*/__version__ = '${VERSION}'/g" ${SRCPKG}/__init__.py - -echo "${SRCPKG} (${VERSION}) unstable; urgency=low" > debian/changelog -echo >> debian/changelog -echo " * Generated package." >> debian/changelog -echo >> debian/changelog -echo " -- ${NAME} <${EMAIL}> ${DATE}" >> debian/changelog - -RH_SPEC="redhat/targetcli.spec" -cp redhat/targetcli.spec.tmpl $RH_SPEC -sed -i "s/Version:\( *\).*/Version:\1${VERSION}/g" $RH_SPEC -echo "* $(date +'%a %b %d %Y') ${NAME} <${EMAIL}> - ${VERSION}" >> $RH_SPEC -echo "- Generated package." >> $RH_SPEC diff --git a/bin/gen_changelog_cleanup b/bin/gen_changelog_cleanup deleted file mode 100755 index bb3dc05..0000000 --- a/bin/gen_changelog_cleanup +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# This file is part of targetcli. -# Copyright (c) 2011 by RisingTide Systems LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, version 3 (AGPLv3). -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -SRCPKG=$(cat debian/control | grep ^Source | awk '{print $2}') -rm -f debian/changelog -sed -i "s/__version__ = .*/__version__ = 'GIT_VERSION'/g" ${SRCPKG}/__init__.py diff --git a/bin/gendoc b/bin/gendoc deleted file mode 100755 index f14ce2e..0000000 --- a/bin/gendoc +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -# This file is part of targetcli. -# Copyright (c) 2011 by RisingTide Systems LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, version 3 (AGPLv3). -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -path=$PWD - -rm -rf doc &>/dev/null -mkdir doc -cp README COPYING doc/ -cp targetcli_doc/rtslogo.* doc/ - -CSS=../targetcli_doc/html4css1.css -#CSS=../targetcli_doc/voidspace.css -RSTTITLE="targetcli_reference" -TITLE=$RSTTITLE -#MARK="% generated by Docutils" -MARK="\documentclass.*" -#./bin/gendoc.py > doc/$TITLE.rst -echo > doc/$TITLE.rst - -cd doc -rst2html $TITLE.rst --stylesheet-path $CSS --embed-stylesheet --no-xml-declaration $TITLE.html -cat $TITLE.rst | grep -v ".. sectnum::" | grep -v "header::" > $TITLE.rst2 -mv $TITLE.rst2 $TITLE.rst - -rst2latex $RSTTITLE.rst --toc-entry-backlinks --compound-enumerators --use-verbatim-when-possible --use-latex-toc --section-numbering --documentclass article --documentoptions "10pt,a4paper" --use-latex-toc --use-latex-docinfo --hyperlink-color black $TITLE.tex - -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{fancyhdr}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{lastpage}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{color}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{titlesec}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage[utf8]{inputenc}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\pagestyle{fancy}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\definecolor{rtsblue}{RGB}{79,130,189}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\rhead{\\\includegraphics[height=13pt]{rtslogo.eps}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\chead{}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\lhead{\\\leftmark}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\headrule}{{\\\color{rtsblue}\\\hrule width\\\headwidth height\\\headrulewidth \\\vskip-\\\headrulewidth}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\cfoot{}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\lfoot{Copyright \\\copyright2009-2010 by RisingTide Systems LLC}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\rfoot{Page \\\thepage\\\ of\\\ \\\pageref{LastPage}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\footrule}{{\\\color{rtsblue}\\\hrule width\\\headwidth height\\\headrulewidth \\\vskip-\\\headrulewidth}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\headrulewidth}{0.4pt}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\footrulewidth}{0.4pt}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\titleformat{\\\chapter}\[display\]{\\\color{rtsblue}\\\normalfont\\\huge\\\bfseries}{\\\chaptertitlename\\\thechapter}{20pt}{\\\Huge}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\titleformat{\\\section}{\\\color{rtsblue}\\\normalfont\\\Large\\\bfseries}{\\\thesection}{1em}{}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\titleformat{\\\subsection}{\\\color{rtsblue}\\\normalfont\\\large\\\bfseries}{\\\thesubsection}{1em}{}/g" $TITLE.tex - -# once for generating the formatting -latex $TITLE.tex $TITLE.dvi -# once more for the TOC -latex $TITLE.tex $TITLE.dvi -# And now get the labels right -latex $TITLE.tex $TITLE.dvi -dvipdf $TITLE.dvi $TITLE.pdf - -TITLE="targetcli_reference_for_print" - -rst2latex $RSTTITLE.rst --toc-entry-backlinks --compound-enumerators --use-verbatim-when-possible --use-latex-toc --section-numbering --documentclass book --documentoptions "10pt,a4paper" --use-latex-toc --use-latex-docinfo --hyperlink-color black $TITLE.tex - -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{fancyhdr}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{lastpage}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{color}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage{titlesec}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\usepackage[utf8]{inputenc}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\definecolor{rtsblue}{RGB}{79,130,189}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\pagestyle{fancy}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\rhead{\\\includegraphics[height=13pt]{rtslogo.eps}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\chead{}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\lhead{\\\leftmark}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\headrule}{{\\\color{rtsblue}\\\hrule width\\\headwidth height\\\headrulewidth \\\vskip-\\\headrulewidth}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\cfoot{}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\lfoot{Copyright \\\copyright2009-2010 by RisingTide Systems LLC}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\rfoot{Page \\\thepage\\\ of\\\ \\\pageref{LastPage}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\footrule}{{\\\color{rtsblue}\\\hrule width\\\headwidth height\\\headrulewidth \\\vskip-\\\headrulewidth}}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\headrulewidth}{0.4pt}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\renewcommand{\\\footrulewidth}{0.4pt}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\titleformat{\\\chapter}\[display\]{\\\color{rtsblue}\\\normalfont\\\huge\\\bfseries}{\\\chaptertitlename\\\thechapter}{20pt}{\\\Huge}/g" $TITLE.tex -perl -pi -e "s/\($MARK\)/\1\n\\\\titleformat{\\\section}{\\\color{rtsblue}\\\normalfont\\\Large\\\bfseries}{\\\thesection}{1em}{}/g" $TITLE.tex - -# once for generating the formatting -latex $TITLE.tex $TITLE.dvi -# once more for the TOC -latex $TITLE.tex $TITLE.dvi -# And now get the labels right -latex $TITLE.tex $TITLE.dvi -dvipdf $TITLE.dvi $TITLE.pdf - - -cd .. - diff --git a/bin/gendoc.py b/bin/gendoc.py deleted file mode 100755 index 74bc433..0000000 --- a/bin/gendoc.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/python - -# This file is part of targetcli. -# Copyright (c) 2011 by RisingTide Systems LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, version 3 (AGPLv3). -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -import os -import re -import sys -import inspect -import textwrap -import datetime -sys.path.insert(0, os.path.realpath(".")) -import targetcli - -def doctitle(txt): - return "%s\n%s\n%s\n\n" \ - % ("".ljust(len(txt), "="), txt, "".ljust(len(txt), "=")) - -def docsubtitle(txt): - return "%s\n%s\n%s\n\n" \ - % ("".ljust(len(txt), "-"), txt, "".ljust(len(txt), "-")) - -def title(txt): - return "%s\n%s\n\n" % (txt, "".ljust(len(txt), "=")) - -def subtitle(txt): - return "%s\n%s\n\n" % (txt, "".ljust(len(txt), "-")) - -def gen_context_reference(): - string = "" - string += "Documentation extract not implemented yet" - return string - -def gen_help_misc(): - string = "" - string += "Documentation extract not implemented yet" - return string - -def gen_help_cmd(): - string = title("Globally Available Commands") - string += "Documentation extract not implemented yet" - return string - -def gen_title(): - string = "" - string += doctitle("The targetcli Reference Guide") - string += docsubtitle(targetcli.__description__) - string += ":Date: version %s built on %s\n" \ - % (str(targetcli.__version__), - str(datetime.datetime.now().date())) - license_fields = targetcli.__license__.split(".") - string += ":Author: %s. %s.\n" % (license_fields[0], license_fields[1]) - string += "\n" - return string - -def gen_toc(): - return ".. contents:: **Table of Contents**\n\n" - -def gen_options(): - return ".. sectnum::\n\n.. header:: .. image:: rtslogo.png\n\n" - -if __name__ == "__main__": - print gen_title() - print gen_options() - print gen_toc() - print gen_help_misc() - print gen_help_cmd() - print gen_context_reference() diff --git a/debian/control b/debian/control index d2da35f..af078bc 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: targetcli Section: python Priority: optional Maintainer: Jerome Martin <jxm@risingtidesystems.com> -Build-Depends: debhelper(>= 5.0.1), python2.6, build-essential, python-dev, python2.6-dev, python-epydoc, zlib1g-dev, python-configshell, upx-ucl, python-rtslib +Build-Depends: debhelper(>= 5.0.1), python2.6, build-essential, python-dev, python2.6-dev, python-epydoc, zlib1g-dev, python-configshell, python-rtslib Standards-Version: 3.8.1 Package: targetcli @@ -10,16 +10,6 @@ Architecture: all Depends: python (>= 2.6)|python2.6, python-configshell, python-rtslib, lio-utils Suggests: targetcli-doc Conflicts: targetcli-frozen -Description: CLI for the RisingTide Systems target, with complete sources. +Description: CLI shell for the RisingTide Systems target. . This package contains the targetcli CLI. - -Package: targetcli-doc -Section: doc -Architecture: all -Recommends: iceweasel | www-browser -Description: User manual for the targetcli CLI - . - This package contains the User Manual for targetcli, the CLI - interface to the RisingTide Systems storage clusters. - diff --git a/redhat/targetcli.spec.tmpl b/redhat/targetcli.spec.tmpl index 141dd0c..8e55361 100644 --- a/redhat/targetcli.spec.tmpl +++ b/redhat/targetcli.spec.tmpl @@ -12,21 +12,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-rpmroot BuildArch: noarch BuildRequires: python-devel, python-rtslib, python-configshell Requires: python-rtslib, python-configshell, lio-utils -Conflicts: targetcli-frozen Vendor: RisingTide Systems %description RisingTide Systems generic SCSI target CLI shell. -%package doc -Summary: PDF user manual for targetcli. -Group: Documentation -BuildRequires: epydoc, python-docutils -BuildArch: noarch - -%description doc -PDF user manual for targetcli. - %prep %setup -q -n %{oname}-%{version} @@ -36,8 +26,6 @@ PDF user manual for targetcli. %install rm -rf %{buildroot} %{__python} setup.py install --skip-build --root %{buildroot} -mkdir -p %{buildroot}/usr/share/doc/targetcli-doc-%{version} -cp -r doc/*.pdf doc/README doc/COPYING %{buildroot}/usr/share/doc/targetcli-doc-%{version}/ %clean rm -rf %{buildroot} @@ -48,8 +36,4 @@ rm -rf %{buildroot} %{_bindir}/targetcli %doc COPYING README -%files doc -%defattr(-,root,root,-) -/usr/share/doc/targetcli-doc-%{version} - %changelog @@ -1,5 +1,4 @@ #! /usr/bin/env python - ''' This file is part of targetcli. Copyright (c) 2011 by RisingTide Systems LLC @@ -29,15 +28,13 @@ LICENSE = PKG.__license__ SCRIPTS = ["scripts/targetcli"] DESCRIPTION = PKG.__description__ -setup( - name=PKG.__name__, - description=DESCRIPTION, - version=VERSION, - author=AUTHOR, - author_email=EMAIL, - license=LICENSE, - url=URL, - scripts=SCRIPTS, - packages=[PKG.__name__], - package_data = {'':[]} - ) +setup(name=PKG.__name__, + description=DESCRIPTION, + version=VERSION, + author=AUTHOR, + author_email=EMAIL, + license=LICENSE, + url=URL, + scripts=SCRIPTS, + packages=[PKG.__name__], + package_data = {'':[]}) diff --git a/targetcli_doc/html4css1.css b/targetcli_doc/html4css1.css deleted file mode 100644 index a1e39f4..0000000 --- a/targetcli_doc/html4css1.css +++ /dev/null @@ -1,273 +0,0 @@ -/* -:Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 5196 2007-06-03 20:25:28Z wiemann $ -:Copyright: This stylesheet has been placed in the public domain. - -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: 0 0 0.5em 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 } - -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 } - -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% } - -ul.auto-toc { - list-style-type: none } diff --git a/targetcli_doc/rtslogo.eps b/targetcli_doc/rtslogo.eps deleted file mode 100644 index 704c2c8..0000000 --- a/targetcli_doc/rtslogo.eps +++ /dev/null @@ -1,281 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner -%%Title: rtslogo.eps -%%CreationDate: Sat Nov 28 19:30:24 2009 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 156 45 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228346456694 14.173228346456694 translate -% Translate to begin of first scanline -0 29.996250468691414 translate -141.73228346456693 -29.996250468691414 scale -% Image geometry -189 40 8 -% Transformation matrix -[ 189 0 0 40 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 189 string def -/gstr 189 string def -/bstr 189 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 12712 ASCII Bytes -colorimage -JcE[gJ,~> -JcE[gJ,~> -JcE[gJ,~> -JcGQG!:J,3J,~> -JcGQG!;4V:J,~> -JcGQG!;at?J,~> -JcGTH!q0"%cMrC~> -JcGTH!qr);cMrC~> -JcGTH!rL:1cMrC~> -JcGTH"-jB]l/DXHrohbE[(c&'s*t~> -JcGTH"2fJIo&0NOp?h#%k54lPJ,~> -JcGTH"6%8Apu)/TrV?3\p@\H9~> -JcGWI"mn#T%q>=prsS"_AO%Uj2K"k"A$u.4J,~> -JcGWI"n[UqH)1>ursSMR_mHJOZc1%eUt#5?J,~> -JcGWI"o?3S_peSFrsSbqlK.!lk3D-[e*?c/J,~> -JcGWI!2TQ(!I+G(rt,1581,f6.T1;(;,V"[]$UERs*t~> -JcGWI#0_:6G'L:jkPl+mi4-)&\?**IXIPoa^YeAVr;V9~> -JcGWI#3EV4]trD$kPl(lo]PT5oAS]df?_gqiUQX=s*t~> -JcGZJ!W#^l%fpeGl2MCED'gYY4*.(,X/;biR"B!YQg4PLJ,~> -JcGZJ#lL0:F`hnPYPRM`'(*]B\?iN^e(E$sf\4m!^UqqfrVqB~> -JcGZJ#l`/d]Y(tpf_k"6"o.EHoBkZ=lNueAmI'B*j5K>$rVqB~> -JcGZJ!S&=i%foklm/I=JK.\Q#9pjl;rsAZ!q"=.@gr.kErr7K~> -JcGZJ!pG)WrcJ<dH(aQkrs/,@YIUaFfCSq?s83&tq=X7>mf!09~> -JcGZJ!qX4Ark&?I_U8)Drs/GhjRqNonG<(_s8E3#r;69\p\k,B~> -jSo8ZrnIGRrVj_7!2TH%!Y@/fn,EXLL,LAIClm<;s*t~> -jSo8ZrnIGRrVj_7!R#ZaFTZf5MU(\j#P-3HYIMHllL+\&~> -jSo8ZrnIGRrVj_7!p751rO`6G`Q%-1rs/GhjlYaikk4BDJ,~> -q5se'_s71""QQYf\bQ+&#N2nQMNFUVq#13qrPbn?h#@<Vi3'/lqYgEsrPbn@gACmTjg:;1OJ^D& -rr3&tYF,-R#F;jus6H;Fh#@<Sb*W*q".H:;q"t'li0sJ0!LhpBrr@*8%g3FS=2"J'rsAGELJq9% -LkDD`mJh\~> -q6L.1a6W['"Qctr_"dj-#NN:aP*`2oq>L<rrQ):LhZ!NXij?#*qYgEsrlMIPh>@3Wkdd7IQ`S[6 -rr3&u[\<Mk#GAd1s6ZbZhu<WVc_193"/E3Pq>:0mj.lFE!MeZNrrK6IqK2pdG+[Icp&>?rm*`Ya -b/V'6n*U.*~> -q7$L:b3]'+"R!;(_YO-0#N`RlR%:D-q>L<rrQMaZi;W`ZjLDY8qYgEsrlqp]hu!EYke3^XS[$`D -rr3&u];YP)#H#?;s6d%giVriXd\m&C!kHqZqu6ZXpSe/RqYpTK_tq"K_nFIbrUp0srqZ$Il0RQh -j7_m?J,~> -rbq^R")i(%]D_a4bAVEHnc&Ojrjm2irGW*[N8":2s8.gtF1_GO"N54uDS?#K"T+7$Eju#I"9#iU -DuFVkCS(.ts7fqq9MA)N8P;`N:2g.3fgSNFrr3%g91f+V"%l%#`;KW;`(*Blqb.#`^\[s2>7gQ? -"V;8=Ph#O(rs@MbOH>NH:h@66m/MS~> -pj*$eK#.HcrrgVnI=h%hrt>=FI<p6dH[Bt$h>[HSqilMX_#F?:aEr8Y_YsK;r0MhZ^A\'RrP*l/ -H[:!bFen[0s7pJ<?!U]<=^56<@!hnQgf7Oorr3;!>?Y<=?!C?Vao)/@a]M_Pqd';/`qo]9TmZZY -#'YE;R)8%`q>UcniR?/nYaD6;qs=?5~> -rIY!#"G2/\`;]c9"OVgTM"CWG"TH8lJqX,U$@eN$rr<#qRtc[8rr3,EJqJTmrVm#uSVDg6rVluu -_hWjBK,8s9o`+seGALu-BOtagBk_C:rr:kaB#XcL$)hKKC2.Hq@>)o'rr^MVASM'W!c)MlqYpWE -aM%G_#/8'hc/J9mq>Ud!p$hA1g!%n1rTsQ7~> -rb;FLrc%mWs(qdQ_Z'Q<c"_'Do)AY%aD5X0Df'E2CiOLTs8VtZD/I&errpGXC2J.Trr3,uPAP-K -rVmtHCi+$.DK'K0E1Qn+qMT-*D.#e$A8Q-uQN.!=9h)nsrsGAg:NCSq=@c(UX8W&$a$rO7G5ZOb -FEZ11rrUS9&GH\K&.]UABSi@bZa6d#G@3lc)D@3GlMlA~> -s)\9aGQ)shHinS;G/jO]"OM77L[tHE'$GEAG^4LYH?OX^jT#8WR!3emrr3/FF`_hXk5PA`r0qnR -_#=9T\p&CDH?aa\G'g%_s8/(+H$X=-<H3>1H(Y*9h-="!rr3>'=C-H-H=g8`=gS),"O'nIH%Q!G -!e>mTqYpZYPC%NLFVK%GH$YRO]>r=Je'Gt>V3HITMSo;Us*t~> -s*OiqJ,G!"J,t,@rr3,MI"..Irr3VVIXcm"It<3#KS/Fes8/C;JB%Tg"jVLCIu!4drri7nJ:>H8 -ru\t)J:N9'Jq/<&WVlenSUlBFG@4g)K7\]Ps8V"i@EAHJ$ER`NLP^Y&A7oD^rVm#H@:=bFr.tH3 -gA:gOo#o%fq7IEV`5KC3f&#NPl07BkgXF<\^;f43lMlA~> -.V`a8JZuDaYF]iOD1;0Xs35:pJ+EX>qM]<-I_!_;ODJg3p&G'hPAP0Orr2u=rb;aWQ21I[qikr6 -]`.pRgM^nEGH&KcI;Nk@bl@_>q"Xa'77kl&q"X^cs4U4;^]+6@T1E_is8(ud>"M?1rr3)@78D_0 -rr_P&&J4XHrXer;rt#8K5\[pqs*t~> -.WffVMRL"'[%r.nG_c"ms3Pk3M":TGqNQ5IL;;0QR!*_UpAb0iR<Nnnrr3GNF`__MSGN9cr1%tS -_#F?VhKa<hJ?R#&L3Ilhci=%Aq>'s/<E[iKq>'pfs4ps]`;]cEVce6:s8)&lBNeTdrr3)E<F+PQ -rrhnnGC"H.FV&_?H@(!aGBS.RH$t'aPI9K8s*t~> -.XZYnOh/0:\Z1@4J<'@'s3l@FNq<;NqjN(aNPa/aSUQ*opAb0iT7;C2rr2uDrd5$&U&+fhr1\^j -`;]cZi.-<,LU>49NIZS5df9@Eq>'s3?t@peq>'sgs57R!aSu2IXCZqVs8),sEb/e1rr3)H?teQi -rri/K^;[h^]F_cl`5]d5^V7Fs_o^'7bMMpUs*t~> -");XhTD\^%a_ts2h>dN"C2ACjs8VG1Chq/lrr`/-Y5J;!"T+C"D86)M!6>(R&Sl3ps8Vt\D/?lb -s8AL*Cj=\5rrhA/G+[[hrr^A38_<k>"56L>^]+68T1EblrVm5P<(V<2s8U,.:>bO?"0b*&&FpA3 -&-WS,D0(<LkPp&~> -"*A^1Vu6Q-b^">Ri;`i(FE`Q3s8VM<G'2%.rr`/4ZMa_%"T+U2Gf0O\(!C`AFEMcCs8W"eGBUe% -s8Aa<G(SQLrrhG:J#;6&rr^MG=kroS"5R6``;]c=Vce9>rVm5V@p4K^s8U;C?/k>Q"k&TZI!Bi/ -FUE;9G^Fj]NNBh=m-"D!~> -"+5QIX8Mu1c[gLmiW&r,I".1Js8VPDIXTQArr`/7\,?7*"T+g@JB%Tg!7(Rk&Uf,Hs8W"kJ:>H: -s8ApIIYlt]rrhJBL9'A3rr^YVADd:a"5mj$aSu2AXCZtYrVm5XD.SV&s8UDQB]SX^"mO4Ia2#C` -]F2Ee^VRn2]u\gcmeQ&GJ,~> -");XhSc&L$n98\_dJs6kC2ACjs8VM6Ci#m6q#:KoPAP0Orr2u=rb<![Cj"e<qikr6]`8#uG&2!( -r;QfSjSAfXa$iSLqu6cP:.E"trr\laCA%N)$(FIZhuE_s78Db.rr_eg;]G]Iq[`W:#SfF@Q]5F$ -_#3BqJ,~> -"*A^1V>U?,nUPe(eGoQqFE`Q3s8VSAG'9kQq#:KoR<Nnnrr3\UF`__KG(8WRr1%tS_#OH%J9H+J -r;QfUk5##Zb>h]uqu6cS>unoCrr]0%GP1n6$)C[.iW&r%<F+SOrs8>BSU>a2H?jc7G7AeBH@1$` -N2stD_p7ECkPp&~> -"+5QIWVlc0nq_aBf)Pd!I".1Js8VVIIX\Hhq#:KoT7;C2rr2uDrd=`p%Yj0Hr1\^j`;fl*LOO`f -r;QfWkkY5\cX:;=qu6cVBOT!]rr]?6JG9!A$*%KIj8]/*?teTgru(^rdD3]@`59=)^VI\&`Q,s2 -`ms/:lL+?EkPp&~> -");XhTD\^*d;Nf9h#IE!C2ACjs8VtYDea*:T>'.Zr;QosPAP0Orr3\QC28?LD/PR7rKD)7]`8#\ -CM\(Qo)Ag477l#+rr^tM7_es&".r,!p&+grcq6dAs8U,.:?(X?(B2OCA3_U`'GM<*0M-5R]tBV- -4.+"<k5Tr~> -"*A^1Vu6Q2e9Q1[hZ*W&FE`Q3s8W"bH$"7aV8D-fr;QosR<Nnnrr3\UF`rRrGBfSRrL8"S_#OGd -F`r/oo)Ag8<E\#Prr_(_<lG";"/f:Gp&+gre65qks8U;C?/t8N(#m--ObA+,G^4dpQ)hgViRkoP -f&lA^s*t~> -"+5QIWr2l5eq&9ui;`i+I".1Js8W"hJp`',WlF#qr;QosT7;C2rr3\XI"%-:It=9jrh=pl`;fkj -I=?k4o)Ag<?tA'irr_1m@EAHJ"0?'ap\b$tf48@2s8UDQB]\R[(%UA5b/;$.]tV;$bLY\?o()// -nauS<s*t~> -"DV^gL;!T#%'P"nD1)!Us35:pJ+EU=$IX!7Ci431DiMa5rr3,uPAP0Orr4"ZC2K9YD/=%&s-IS= -]`8#LCi"Xns8W)knac8@p&"aka$iSLqu6cP:.E"trr\laCA%N)%HUY]WrN+>7S%`TJV(#us8W)n -rt>"cf?r(#jR2EeWG4+8@aDWdi9(&i~> -'QeJ@O2AcO_R+u>GD5_is3Pk3M":QF$IsNMG'J@ZH'QJKrr3,uR<Nnnrr4"^Fa0G$GBJ)Hs.=OZ -_#OGVG'8]6s8W)lo(2JDpA=jlb>h]uqu6cS>unoCrr]0%GP1n6%HqD+ZiC'L<`js5N/b4=s8W)n -rt>.skiLsimI^,AiQ&12_sH@9o&ft&~> -'RY=XQ,^ha`jgtVJ;j1$s3l@FNq<8M$J0r_It<6'J==^[rr3,uT7;C2rr3h\I"7s<Isldcs.k0o -`;fk\IX[COs8W)lrUU$_qu6cE?tA'irr_1m@EAHJ"0?'ap\b%#l#1(@s8UDR@Z$D7Q+?Yh!<2`m -')hRso()DGq>:$^mH!d%q!meJk5Tr~> -rb;FLrGMgXD/F+&rr3,GC2ACjrVmJYN+m3KDJa?0VYgDnqibl6^]+6Sa(fISrLn+FG3,E7CqTfJ -]khM;p&G'fR=Ba;J"-62rr^;18_!Y;"56L>^]+68T1E_ir;R5k>t:gms2RSt9MJ5WGk_4Argo1f -kPFuR%e\M]L0$)W.6=EnSX["[k5Tr~> -rcA<eH$Xa]HiA3h_Z'Q<cuaJfo)8S#es(9&H?aX[Gc^fBs8/4.Gf0O\*m8\NRJj%/G(AeTG]pn& -s20#(N;!;OqOi\$Ll%l%r;QlB<E\#Prr_(_<lG";"/f:Gp&+h!m:ob+s8U;D<aB'>@Y=CS"PM;f -o_nRb%fPtYdCufl]X-Dee^`RSk5Tr~> -rd4]prIP$&rdOperr3,MI".1JrVmJ^RXB^=J:E3%Z2=S$qk&@g`r>uTc?t/7riC["LZtmjI`29d -`I<<#p](9iV>ZGUVtp8j"4(@ch#%*Ri+QQ?rr3)%AUsOQrseC<A@2C:cXC6rCMRjHpAY9dnFleZ -p\t^#p$_,)nG22;qs<\>rT=-1~> -rb;FLrbr$VC2/(*rVlg"c"_'Eo)/M!qUi3@H#7A6D9DnYqibl6^]+6Sa(fIRs6b;ODO-T)CqTfJ -`G9:<nc/X`J9#RGE/"#`rr^;18_!Y;"56L>^]+68T1E_ir;R5c<(F(js2RQ"JWGeJ[J'V>N$p&7 -:hkB7OH>6FC/I)E-7:/h.XgF<HBk>Mjo9i~> -rcAHiH[C']FEE/LrVlg"cuaJfo)/M!qV/QNJp2B]GL$6gqjDYQ_uBZWbB8&ss6k\dGb1IMG/4.X -b&ql^o)JabMLKkrH]@dtrr^GE=kW]P"5R6``;]c=Vce6:r;R5e@p$,<s3+JFN0ors]Cu7Dd^Q6^ -]>Vq@e'l[f`OiIYY-YLDXN^A-`R3B'jo9i~> -rd4]qrdtB'I!gggrVlg"dsQY*oDJUlqVAl[M1>MR#LNMNqk&@g`r>uZc?t/6s6u"tJ>8lhI`29d -c$b&#oDejcOGAF<KU)<0rr^STADI(^"5mj$aSu2AXCZqVr;R5gD.C-Vs3G(_PFnD8_"RdInFGT" -kj%O'nF5l5lf[?gkO%^-ipHX<jm2@-jo9i~> -$>O?lI%R."Chddkr;QoEC2ACjq#:ch]6.n,T`>&hPAP0Orr4%[C2K+3s2o+mC2n!)]`8#aCMRkD -s8VnSFE)&3MYI&K"33i%eGK7Jg.k,Prr3(m88@hqrs?b;7`GE-a$ieao)Ag--mg;8-iPG"-RE3F -s1Vm$Z\eJ=s*t~> -$?UE5L8Lo?G'%r;r;QoHFE`Q3q#:ci_1$NOVuQeoR<Nnnrr4%_Fa0;Qs3>b1FaJ4R_#OGgF`r&e -s8Vq\IsQ3\P5"nS"3X\Ig&(dOh-F("rr3(u=a0Q:rs?nO<m(IBbZ/!2o)BZlXKJb3['d6GZF%$H -Z*1:4ZE1q/s5Uc<hou#[s*t~> -$@I8MN2s(UIXHXVr;QoKI".1Jq#:ck`.i\jXT/=tT7;C2rr4%bI"7gfs3Z7DI=clr`;fknI=?b* -s8VqbL4Xf&R/$UZ"4(@ch#%*Ri+QQ?rr3)%AUsOQrs@%^@F"oQcX:JLo)B[&io]FimdKQ0m-X90 -lfdHmm,[F,s7>77n`]u6s*t~> -$YjKpScA`eODSfdoDS[lc"_'Eo)8RhiVNKP$DhTVQ2L[ZPAP0Orr3\QC2K+3s8Sd1CMR[$]`8$" -H>IGqrr32mo;ukHQ2LR["33i%eGK7Jg.k,Prr3(m88@hqrs=HO;sF>^a$ib\o)AdX7OIgT%43GK ->eC%'OBn!dB>4!!s*t~> -$ZpQ9V>pSmR!3_3o_ndmcuaJfo)8Rhj8/]R$EJApSG`EaR<Nnnrr3\UFa0;Ps8T!AF`heL_#OH' -K6DI?rr<#i"LE;sSG`<b"3X\Ig&(dOh-F("rr3(u=a0Q:rs=fj@dF'obZ.s-o)Add\$#Y/s/Z*u% -BZt;^uYOid)48n^?#1Qs*t~> -$[dDQWW3"qSUZ*Op&4mndsQY*oDS[ijneoT$F#&1UAY&gT7;C2rr3\XI"7ges8T0NI=6Kl`;fl, -Mgg2]rr32ooXB=#UAb#i"4(@ch#%*Ri+QQ?rr3)%AUsOQrs>''D!_3%cX:GHo)AdhjlQI"rSmh8% --?m9l1Y/Sm-X-1iUl42J,~> -");XhSc8WlcYRB6^A\'>c"_'Eo)Jag_0)C4rr3ArNbiR)s8Vt[D/I&eruK-pD3=ess6kDRC2.Rt -s8W(nDJO1+qu?][KktY3qu6c=77l#+rr^tM7_es&".r,"r;HX&[7a&Lrr<#=78N"7rrINppa$Ft --S/c>s8T]E?^/iJLY:nQs*t~> -"*A^1V>gJtdWTbW`;T]DcuaJfo)Jah`IF`Jrr3AsQ?IMMs8VtaGBh%)ruK:*GaSI0s6tbeFED]A -s8W(tG]e;Nr;Zf^NcoZUqu6cA<E\#Prr_(_<lG";"/f:Hr;HWt]N\R+rr3)E<F4eWrrLBKq5P"- -Yd:IKjo>A?^W4df^!#s?jo9i~> -"+5QIWW)o#e:)gqa8Q#GdsQY*oDejiaG-_Zrr3AtS:?'is8VtgIt5Q<ruKC4J=c`>s6u"tI!gC] -s8W)%JUN*jr;Zf_P^\1qqu6cE?tA'irr_1m@EAHJ"0?'brVc`u^h%)Krr3)H?tnforrMNNq;DnF -l0[KppAb0`j7DU0iTU4=jo9i~> -$u0TqSGrQgqMoE0K(]-C#L.""J+EX>aSp&fFdAu$Jno.>_uKc6PAP0Orr3,AC2K+3rr3/GChmd% -]`.p>j)]'QC6,9`GAM,;jSSrZa$iSLqu6cP:.E"trsPGiA_Z;'aGNM[>iYh`"NNr*a6!3Y!;?6g -!R*%k-3#;(-RM32c2[gkJ6H6FdVrL.dcBNiJ,~> -%!6Z:V#LDoqNc>LMt[/M#LIR:M":TGbl2htI\*[@MKO&da8c2:R<Nnnrr3,EFa0;Prr3/KG'.nM -_#F?BjEu2qFI0,*J9H-ak55/\b>h]uqu6cS>unoCrsP`-F5H'=b`l46C?GNq"O'kNbielc!;H<h -!pm%jri-[5XK]+8[a+4=s6@_@`7+%i]&rMTjo9i~> -%"*MRW;chsqOE(cP4nnT)Uj(`Nq<;Nc[^RtL82&WOaVY.b5_M=T7;C2rr3,HI"7gerr3/MIXQTm -`;]cFk(J86I%@RBLjsr.kPP8]cX:;=qu6cVBOT!]rsPo=I,O5Ld%"TYFQi`("OCIgcfk8h!;QBi -!r1g9ro"RNjQZ-qk3_pCs7PO<md0Z/i:d-Jjo9i~> -"D_jjSGrNf"O(_!D8?/N)U)u6Ie*O=jG7bmDJsK5DJa?Oo`+sgP&>0Orr3,@CMo74rVm"nDJO+$ -rVm5CDf9H1E,]]5DSGuI"3*f$eGK7Jg.b)Orr3=s84QQV:I[uL@aP)R"NEl!:fI9i!E@5;ru1fG --RL/f-RM3%Z0VGig6#TF>G9Pd>Fs!ak2lVn~> -"Eep3V#LAn"OM@9GK'R])UEPNL[tKFk)an6G^=^_H$=V"p&G'hR!<nnrr3,DG'TGQrVm"uG]e5F -rVm5HH$OUZH[9p^Gf0CX"3OYHg&(dOh-=%!rr3>&=B8j??<:B9E7Fjd"NseG?Xs"C!FsIOru1mR -ZECI>Z`COViV*<On'JV_^";Vf_:Iu@p>u=)~> -"FYcKW;cer"O_dKJ&qWh)Ua%aNV!2MkEggOJ:`E+JU`?ApAb0iSq)C3rr3,GI=[sfrVm#%JUW*d -rVm5JJV&B'K7e`+J&_?b"3t=bh#%*Ri+HN>rr3>+@ps.hBjtagH.W#p"O:C`Bl*``!c2`%q>VB4 -l0INtmd9#rm.C5Us7ts<mH<m1jQu:4r;GaWJ,~> -"E&0pRK!3c%/Gg#E..<Ws3#;!HL_"7"7N::DZ4YYE,qT;rr3,uOE#9Qrr3,?DK1[7rVm#gJ8fJ< -r;QiCLMZs1!c<S0q>UQ97n(o(rr^nE8A5$&$(FLW8P)HCA=D`[rrU//8,>dX8AY*$#KS_Y959[+ -m/I"pd#hU=>?\>]Dd@>(`6[Z/s*t~> -"F,69U&P&k%/Q07H\V.ls3>k9KCSs@$Lt?QG^XsfH@)LVrr3,uQ@""qrr3,DH$kkTrVm#hM0aK_ -r;R&LO*5o!I<UUmq>UQ==B=)Orr_%Y=i11<$)Ca,>$>'1EMMgsrrU>E=Sc2%=igC<#O8Ot\]*+^ -q#::'lHm,Y^q&=g_Sa4UlL+E.s*t~> -"Fu)QV>gJo%/QBEK8oO's3Z@LMXpcH"7`dVJc:B'K)r"@rr3,uS:cO6rr3,GJ;'HjrVm#hO+W&$ -r;QiIQ%/de!e6BYq>UQA@q"-hrr_.gAB+WK$)qKHAnGR_HE$6.rrUGSA,Bj>B4]9]rs/;Zj6#[t -p\b$j%e]/Glg!HupZ(]$q>C0ijo9i~> -"3JX,h#.0[ilB0^nc/XVaiMm,r;Qucag8+S_r:On"T?uoa63I%"7+(MfDGRMilK4'qu6lmcEsa] -c11T/"7*V5n,*+eo"_m#rr3#T])K>D_pn2PrrD?Z]E,_3p\t<Gh":RF&a$KP=Bep4B#Dc*>?\JM -d)GD6s*t~> -"3o'8hYdB]jibolo)JaXc-4]7r;Quec+(*h`oI!s"T@&ubN]$+"7=@WgACmPjNPm4qu6lmdCHTo -d.6u3"7<tCnb`=go>SQ2rr3#W_#D1Pak61\rrDE[_>rutrrVZZqu-O,o\[d"_7RIsjljOq]&Dl@ -lhTZBJ,~> -"45BAi;ET_k0D?"oDejZd*L;?r;Qufcb-a!b2iL#"T@0&cKbE/"7=I]h#%*Rk0ME=qu6lne@iB* -e+<A7"7X=No)&FhoZ>)<rr3#Y`W!jYbhMacrrDK]`W5H$s8Voqrr)j+qXE\)lf@<koC_20iUd'H -!<2*[J,~> -JcGKE(B*[MYD?ao>Zb*4He#`8>$?s3ZeW.ajo9i~> -JcGKE(B4'ph9<RJ^q.+ma6qs"]tM_Yj7;@0jo9i~> -JcGKE(&n+)n*&crlJgggk4eH+k3)"+qu$?Ps*t~> -JcGNF([Zrh>$G67='&R,S`$/C=]oRe\\cn,pZ;F*~> -JcGNF(\c+f\A5nm\@9/]ea_8%]=YlFkihNtr8ms/~> -JcGNF(]3FWhs'Igi8<_UmJ6/.jQ,@srVQQiroO01~> -Y5]rpT;0s4_".O*db<uaT=jpGW2Ri<fqb:fs8L3kY+OJ,W1_uHppZiqkk4rXrOZ3:r`9Y6>AqL4 -JQl5Y>J/"ef>PE$jo9i~> -Y5]s8f%BBgjSJoVlgOQ$f&?Pmg=kcjnCQ7Ws8V<Mh:;#cg=Gfoqr$&[p%A=oro1N(\@8rY^r#7% -ahRhc#35%;n`f9:jo9i~> -Y5]sDmI'`JoDS^hpA"OQmIL5Mn*foKq!RPCs8VcdnEfrGn*TrNrpfCEqXsk(rpo%3i8<GPlK.[4 -kiq*ciUd!Ir;-<Os*t~> -YQ$-*MVH::m?GNgr/8d]_V:I"kCKMjhM]h4Mq%caLX*teS'f!0qm2pQZD[ZnrtW@W>$,!7T&6nb ->?=m0T%CEYij?`)jo9i~> -YQ$-@c1'rDpX/.'rls]RjmU[^oZ>eXn]^@ecL(YUbNe<3eEc/?rSQ2sh:_f"rtXV-]t(qif(%Y2 -^UUeeea_qdo],69jo9i~> -YQ$*Hl1jr:qs3nSs697AoD%YDqWI;Bq<7SIl1b5BkP"Q1m.U&8rpfCOnF#oJ'_:;Iip#Cfq!mD. -i8EbarVucoqtoISJ,~> -YQ$,qMY@)Lrkt6)hi@&Qh#IENs.%C7VSE02_4:IfeGoE(huE>-oq8Acs8)`drtEId=bkDOJQc2X -='C=7[^XE6\'a::J,~> -YQ$*9bkqG>roV]0n^$sNnc/Xfs4$?6g#N,4jOF1Um/R%0nc/I2r79U%s8;Hf'Bd*Abj4T;]XtY^ -^<?*/mHjB0mc=Cu~> -YQ$*Fkl(P\rq,RWq<In?q>^Kos6K@XmdpJYoBcJAp](6Xq>^EXrU'%Qs8MTh'D1>Fkk=]4k2bFW -ki_mAs82`or8dm.~> -YQ$*GUkkYps6kg9[&j;KL6fUNs-_%0OHQ?3QD45Bi;`J7l2U12p#V6pXR#EV'&UaTP$2$k='&UL -gV(#"i5<%YjSs`~> -YQ$*LfZVk6s7a_5hqS1obL5JNs3p64cdC@rdb"EFnc/L7pAap5r:J=\g\:7<'(P/Ld(-p$\$s,k -nEB,to]b`5jSs`~> -YQ$*NmHEp2s82$YnaHMMkj.j?s6K@XlK[d(lg=];qZ$NZqZ$NYrVGgCn,)YT')D4nlJ^schr!YZ -q>C9ir;6NljSs`~> -XoBj5^Osu7UV2oFs8V`;P,A5Ib5[[Im-=*<r0?+<oonS=mZ$l=s4jW5n*p>g]Ob>O=BA^FeAeo' -_;qo*k2cPm~> -XoBjCj3$`gf](<Js8Vr\dFnQKl2T,op\+F^rmC99qpG*:ps/a9s7+jhq!e:pikE:D\[T;imHa'$ -kk=)sp>l7(~> -XoBjIoB5iImdoc=s8W&klL+]<p&F=MqtpBmrp0C[rTa7ZrTX:\s7l'IrUBguo&K-$iSWk[p\b'k -qYpEirT+!/~> -YQ$-8iW&q[X8gRiO8AY$s8V56qNoV0WiZ7#l,ERbh#I&1kPst/o[rj:s+o:qrt"@nE`l^fdE/l% -ZJ<d:Zh!2WJ,~> -YQ$-Fo)JaGg]-TYci*e/s8V`5rR1$3gYDi/p?)A$nGiC4p&Fg3qX47\s3:$$rt"eV_n="+lg4$" -kOS$/j8.j:J,~> -YQ$-Lq>^K`n,N+ClMgeWs8VuZrp0=Yn*g;VqXa^Oq>^EYqZ$NXrV-9js604GrsnqpjlQ$np\k-i -s8DipqW%U+~> -YQ$--OL;WWg]-qfYlFBfUV)r!rh>Y*kD6.LNPPOYh>d/3kPst0p:c^%WL38DrseJ8U"@T#\%K?9 -ZF[dHjSs`~> -YQ$-Cd,<j-nGiF(h>dE(fAb68rn#QaoZZ%JcK,#Qnc/L6p&Fg4qr?&^g=,lbrsebbfC/1tmITK7 -j7)71jSs`~> -YQ$-JlLFH0q>^ESnGiIRmIKT4rpB"EqWRD=kk"i>q>^EYqu?WZrUT7En*Bo=rri8kmeHe\rrr<! -q>^<jjSs`~> -Y5]s7]=?i"s8A#8s8Vo8[ESXMm((UFmCTj[s8V!Ks8:aKs8(OKs4+TnoB?2[mH!$PkjR3`n)OFu~> -Y5]sDiSjA-s8L@7s8W&\hs17ApYkN>pYt-!s8VWcs8DNds8DHds6\_)qWRqbq=X@Lp\OFPqW%U+~> -Y5\V$o'uPTs!$b's8W&jnb)q^r:9U^qss:Os8Vons8Mins8D`ms7c$SrTO7err)fnrr2ipro=$/~> -WrE5#i2`:DT`9N~> -WW*(jgXQ4qs*t~> -WW*%qn*H\HJ,~> -WrE1r\#AVbs*t~> -WrE2!i7[grs*t~> -WrE2"na?:Hs*t~> -JcE[gJ,~> -JcE[gJ,~> -JcE[gJ,~> -JcE[gJ,~> -JcE[gJ,~> -JcE[gJ,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/targetcli_doc/rtslogo.png b/targetcli_doc/rtslogo.png Binary files differdeleted file mode 100644 index dc5901b..0000000 --- a/targetcli_doc/rtslogo.png +++ /dev/null diff --git a/targetcli_doc/voidspace.css b/targetcli_doc/voidspace.css deleted file mode 100644 index 050d9f0..0000000 --- a/targetcli_doc/voidspace.css +++ /dev/null @@ -1,137 +0,0 @@ -/* -:Authors: Ian Bicking, Michael Foord -:Contact: fuzzyman@voidspace.org.uk -:Date: 2005/08/26 -:Version: 0.1.0 -:Copyright: This stylesheet has been placed in the public domain. - -Stylesheet for Docutils. -Based on ``blue_box.css`` by Ian Bicking -and ``html4css1.css`` revision 1.46. -*/ - -@import url(html4css1.css); - -body { - font-family: Arial, sans-serif; -} - -em, i { - /* Typically serif fonts have much nicer italics */ - font-family: Times New Roman, Times, serif; -} - -a.target { - color: blue; -} - -a.target { - color: blue; -} - -a.toc-backref { - text-decoration: none; - color: black; -} - -a.toc-backref:hover { - background-color: inherit; -} - -a:hover { - background-color: #cccccc; -} - -div.attention, div.caution, div.danger, div.error, div.hint, -div.important, div.note, div.tip, div.warning { - background-color: #cccccc; - padding: 3px; - width: 80%; -} - -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 { - text-align: center; - background-color: #999999; - display: block; - margin: 0; -} - -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: #cc0000; - font-family: sans-serif; - text-align: center; - background-color: #999999; - display: block; - margin: 0; -} - -h1, h2, h3, h4, h5, h6 { - font-family: Helvetica, Arial, sans-serif; - border: thin solid black; - /* This makes the borders rounded on Mozilla, which pleases me */ - -moz-border-radius: 8px; - padding: 4px; -} - -h1 { - background-color: #444499; - color: #ffffff; - border: medium solid black; -} - -h1 a.toc-backref, h2 a.toc-backref { - color: #ffffff; -} - -h2 { - background-color: #666666; - color: #ffffff; - border: medium solid black; -} - -h3, h4, h5, h6 { - background-color: #cccccc; - color: #000000; -} - -h3 a.toc-backref, h4 a.toc-backref, h5 a.toc-backref, -h6 a.toc-backref { - color: #000000; -} - -h1.title { - text-align: center; - background-color: #444499; - color: #eeeeee; - border: thick solid black; - -moz-border-radius: 20px; -} - -table.footnote { - padding-left: 0.5ex; -} - -table.citation { - padding-left: 0.5ex -} - -pre.literal-block, pre.doctest-block { - border: thin black solid; - padding: 5px; -} - -.image img { border-style : solid; - border-width : 2px; -} - -h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { - font-size: 100%; -} - -code, tt { - color: #000066; -} |