install-man.in 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # install-man.in - install a manpage.
  2. #
  3. # Copyright (c) 1997, 1998 Joseph Samuel Myers.
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions
  8. # are met:
  9. # 1. Redistributions of source code must retain the above copyright
  10. # notice, this list of conditions and the following disclaimer.
  11. # 2. Redistributions in binary form must reproduce the above copyright
  12. # notice, this list of conditions and the following disclaimer in the
  13. # documentation and/or other materials provided with the distribution.
  14. # 3. The name of the author may not be used to endorse or promote products
  15. # derived from this software without specific prior written permission.
  16. #
  17. # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  18. # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19. # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21. # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  22. # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  23. # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  24. # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  25. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  26. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  27. # SUCH DAMAGE.
  28. set -e
  29. if [ $# = 1 ]; then
  30. page=$1
  31. basepage=$(basename "$page")
  32. section=${basepage##*.}
  33. if [ "$section" = 6 ]; then
  34. mandir=@install_prefix@@man6dir@
  35. elif [ "$section" = 8 ]; then
  36. mandir=@install_prefix@@man8dir@
  37. elif [ "$section" = 5 ]; then
  38. mandir=@install_prefix@@man5dir@
  39. else
  40. echo "Unknown manpage section $section" >&2
  41. exit 1
  42. fi
  43. @install_manpage@ "$page" "$mandir/$basepage"
  44. if [ @gzip_manpages@ = y ]; then
  45. rm -f "$mandir/$basepage.gz"
  46. gzip -9 "$mandir/$basepage"
  47. fi
  48. elif [ $# = 2 ]; then
  49. # Manpage 2 should link to manpage 1. No complications of removing
  50. # directories from their names.
  51. page1=$1
  52. section1=${page1##*.}
  53. page2=$2
  54. section2=${page2##*.}
  55. if [ "$section2" = 6 ]; then
  56. mandir=@install_prefix@@man6dir@
  57. elif [ "$section2" = 8 ]; then
  58. mandir=@install_prefix@@man8dir@
  59. elif [ "$section2" = 5 ]; then
  60. mandir=@install_prefix@@man5dir@
  61. else
  62. echo "Unknown manpage section $section2" >&2
  63. exit 1
  64. fi
  65. if [ @use_dot_so@ = .so ]; then
  66. echo ".so man$section1/$page1" >"$mandir/$page2"
  67. chmod @manpage_perms@ "$mandir/$page2"
  68. if [ @do_chown@ = y ]; then
  69. chown @manpage_owner@:@manpage_group@ "$mandir/$page2"
  70. fi
  71. if [ @gzip_manpages@ = y ]; then
  72. rm -f "$mandir/$page2.gz"
  73. gzip -9 "$mandir/$page2"
  74. fi
  75. else
  76. if [ "$section1" = "$section2" ]; then
  77. linkto="$page1"
  78. else
  79. linkto="../man$section1/$page1"
  80. fi
  81. if [ @gzip_manpages@ = y ]; then
  82. ln -sf "$linkto.gz" "$mandir/$page2.gz"
  83. else
  84. ln -sf "$linkto" "$mandir/$page2"
  85. fi
  86. fi
  87. else
  88. echo "usage: $0 manpage [ manpage ]" >&2
  89. exit 1
  90. fi