aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2018-03-18 22:07:41 +0100
committerKristian Evers <kristianevers@gmail.com>2018-03-18 22:10:04 +0100
commitb6e2a23585b599910cf7f3f000beab5ecd74ad31 (patch)
tree7765692dda1c023f1649f2b21aad18375a1e544e
parentaa98657fe98c64ba635c1c0b0387f825e9e917f9 (diff)
downloadPROJ-b6e2a23585b599910cf7f3f000beab5ecd74ad31.tar.gz
PROJ-b6e2a23585b599910cf7f3f000beab5ecd74ad31.zip
Setup automatic man page generation
Create man pages from the Sphinx documentation. Ideally the man pages are updated completely automatic when running make dist and make install but that is a quite complicated setup. For now a script that builds the man pages and commits them has been created. This is to be run as part of the release process so that man pages are aligned with the most recent version of the docs.
-rw-r--r--HOWTO-RELEASE25
-rw-r--r--docs/source/conf.py37
-rwxr-xr-xscripts/update_man.sh7
3 files changed, 58 insertions, 11 deletions
diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE
index d862c8ab..3053523b 100644
--- a/HOWTO-RELEASE
+++ b/HOWTO-RELEASE
@@ -34,38 +34,45 @@
4.5) Run "autogen.sh" (hopefully on the same machine it was last run on)
-5) Add a note to the ChangeLog that a new release is being issued, and what
+5) Update man pages:
+
+ ./scripts/update_man.sh
+
+ The script builds man pages from Sphinx docs, copies them to man/ and commits
+ them to git.
+
+6) Add a note to the ChangeLog that a new release is being issued, and what
the release number is.
-6) Update NEWS file with summary of release changes.
+7) Update NEWS file with summary of release changes.
-7) Update the proj.spec file for the new version:
+8) Update the proj.spec file for the new version:
- PACKAGE_VERSION
- Source0
- %setup line
- rm -rf line
-8) If this is a major release, prepare a branch.
+9) If this is a major release, prepare a branch.
git checkout -b 5.0
-9) Tag the release
+10) Tag the release
git tag 5.0.0
-10) Do a "make dist-all" in the proj root directory. After some grinding
+11) Do a "make dist-all" in the proj root directory. After some grinding
this should result in files like proj-4.4.3.tar.gz and proj-4.4.3.zip
being created. These are full source distributions.
-11) Put these in the proj ftp area on /osgeo/download/proj on
+12) Put these in the proj ftp area on /osgeo/download/proj on
download.osgeo.org. This can be done via scp using a command like the
following.
scp proj-4.4.3.{tar.gz,zip} warmerdam@download.osgeo.org:/osgeo/download/proj
-12) Announce the new release on the PROJ.4 and MetaCRS mailing lists.
+13) Announce the new release on the PROJ.4 and MetaCRS mailing lists.
-13) Issue a new release report on GitHub:
+14) Issue a new release report on GitHub:
https://github.com/OSGeo/proj.4/releases/new
diff --git a/docs/source/conf.py b/docs/source/conf.py
index af9d24da..a269a7d9 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -268,8 +268,41 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
- (master_doc, 'proj4', u'PROJ.4 Documentation',
- [author], 1)
+ (
+ 'apps/proj',
+ 'proj',
+ u'Cartographic projection filter',
+ ['Gerald I. Evenden'],
+ 1
+ ),
+ (
+ 'apps/cs2cs',
+ 'cs2cs',
+ u'Cartographic coordinate system filter',
+ ['Frank Warmerdam'],
+ 1
+ ),
+ (
+ 'apps/cct',
+ 'cct',
+ u'Coordinate Conversion and Transformation',
+ ['Thomas Knudsen'],
+ 1
+ ),
+ (
+ 'apps/geod',
+ 'geod',
+ u'Geodesic computations',
+ ['Charles Karney'],
+ 1
+ ),
+ (
+ 'apps/gie',
+ 'gie',
+ u'The Geospatial Integrity Investigation Environment',
+ ['Thomas Knudsen'],
+ 1
+ ),
]
# If true, show URL addresses after external links.
diff --git a/scripts/update_man.sh b/scripts/update_man.sh
new file mode 100755
index 00000000..1a67f535
--- /dev/null
+++ b/scripts/update_man.sh
@@ -0,0 +1,7 @@
+# run from root of repo
+cd docs
+make man
+cd ..
+cp -r docs/build/man/*.1 man/man1
+git add man/man1/*.1
+git commit -m "Update man-pages from Sphinx-docs"