File: generate_manpages

package info (click to toggle)
singularity-container 4.0.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 21,672 kB
  • sloc: asm: 3,857; sh: 2,125; ansic: 1,677; awk: 414; makefile: 110; python: 99
file content (53 lines) | stat: -rwxr-xr-x 2,126 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
#emacs: -*- mode: shell-script; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- 
#ex: set sts=4 ts=4 sw=4 noet:
#
#  Just a little helper script to generate manpages.  Needs a bit of
#  handtwisting since paths are hardcoded in the scripts
#
# COPYRIGHT: Yaroslav Halchenko 2016
#
# LICENSE: MIT
#
#  Permission is hereby granted, free of charge, to any person obtaining a copy
#  of this software and associated documentation files (the "Software"), to deal
#  in the Software without restriction, including without limitation the rights
#  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
#  copies of the Software, and to permit persons to whom the Software is
#  furnished to do so, subject to the following conditions:
#
#  The above copyright notice and this permission notice shall be included in
#  all copies or substantial portions of the Software.
#
#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
#  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
#  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
#  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
#  THE SOFTWARE.
#

set -e
set -u

PKGDIR=$1
VERSION=$2
tbindir=$(mktemp -d)
trap "rm -rf \"$tbindir\"" TERM INT EXIT

export HOME=/nonexistent

mkdir -p ${PKGDIR}/usr/share/man/man1
declare -A desc
desc[singularity]="Singularity containers command line interface"
desc[run-singularity]="launch a Singularity containers with a runscript"

for b in singularity run-singularity; do
    cp -p ${PKGDIR}/usr/bin/$b "$tbindir/"
    sed -i -e "s,^prefix=.*,prefix=${PKGDIR}/usr,g" "$tbindir/$b"
    manpage=${PKGDIR}/usr/share/man/man1/$b.1
    PATH=$tbindir:$PATH
        help2man -n "${desc[$b]}" --no-info "${tbindir}/$b" --version-string "$VERSION" | sed "s,$HOME,\$HOME,g" >| $manpage
    grep -q -e 'Error loading functions' $manpage && exit 1 || :
done