mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.6 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/mnemoc/runit/djb-config
  9. # ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. # why to use this secure stuff?
  23. # because we can be updating... sure?
  24. # to honor daemontools behavior :-)
  25. #
  26. pkg_djb_securecopy() {
  27. echo "'${1#root}/$3' -> '${2#root}/$3'"
  28. rm -f $2/$3'{new}'
  29. cp -p $1/$3 $2/$3'{new}'
  30. mv -f $2/$3'{new}' $2/$3
  31. }
  32. pkg_djb_securelink() {
  33. echo "create symbolic link '${1#root}/$3' to '${2#root}/$3'"
  34. rm -f $2/$3'{new}'
  35. ln -s $1/$3 $2/$3'{new}'
  36. mv -f $2/$3'{new}' $2/$3
  37. }
  38. # installs the package in DJB way if requested
  39. #
  40. pkg_djb_installpackage() {
  41. # requires ./package/commands
  42. # and files in ./command
  43. local package=$1
  44. local altdir=$2
  45. if [ "$ROCKCFG_PKG_DJB_LAYOUT" == "1" ]; then
  46. echo 'Copying commands to package directory...'
  47. mkdir -p $pkg_djb_packagedir/$package/$pkg-$ver/command
  48. for i in `cat ./package/commands`; do
  49. pkg_djb_securecopy ./command \
  50. $pkg_djb_packagedir/$package/$pkg-$ver/command $i
  51. done
  52. echo "Creating symlink $pkg -> $pkg-$ver..."
  53. rm -f $pkg_djb_packagedir/$package/$pkg
  54. ln -sv $pkg-$ver $pkg_djb_packagedir/$package/$pkg
  55. echo "Making command links in $pkg_djb_commanddir..."
  56. mkdir -p $pkg_djb_commanddir
  57. for i in `cat package/commands`; do
  58. pkg_djb_securelink $pkg_djb_packagedir/$package/$pkg-$ver/command \
  59. $pkg_djb_commanddir $i
  60. done
  61. # usr/local is evil :)
  62. #if [ $ROCKCFG_PKG_DJB_COMPAT -eq 1 ]; then
  63. # echo "Making compatibility links in $pkg_djb_compatdir..."
  64. # mkdir -p $pkg_djb_compatdir
  65. # for i in `cat package/commands`; do
  66. # pkg_djb_securelink $pkg_djb_packagedir/$package/$pkg-$ver/command \
  67. # $pkg_djb_compatdir $i
  68. # done
  69. #fi
  70. else
  71. echo 'Copying commands to package directory...'
  72. pkg_djb_commanddir=$altdir
  73. mkdir -p $pkg_djb_commanddir
  74. for i in `cat ./package/commands`; do
  75. pkg_djb_securecopy ./command $pkg_djb_commanddir $i
  76. done
  77. fi
  78. }
  79. # installs package files into package directory or $docdir as requested
  80. #
  81. pkg_djb_installdoc() {
  82. local package=$1
  83. if [ "$ROCKCFG_PKG_DJB_LAYOUT" == "1" ]; then
  84. echo 'Copying package files to package directory...'
  85. mkdir -p $pkg_djb_packagedir/$package/$pkg-$ver/package
  86. for i in `ls ./package`; do
  87. case $i in
  88. compile|install*|upgrade)
  89. /bin/true ;;
  90. *) pkg_djb_securecopy ./package \
  91. $pkg_djb_packagedir/$package/$pkg-$ver/package $i ;;
  92. esac
  93. done
  94. else
  95. echo 'Copying package files to doc directory...'
  96. mkdir -p $docdir
  97. for i in `ls ./package`; do
  98. case $i in
  99. compile|install*|upgrade)
  100. /bin/true ;;
  101. *) pkg_djb_securecopy ./package $docdir $i ;;
  102. esac
  103. done
  104. fi
  105. }
  106. pkg_djb_packagedir="$root/package"
  107. pkg_djb_commanddir="$root/command"
  108. #pkg_djb_compatdir="$root/usr/local/bin"
  109. if [ "$ROCKCFG_PKG_DJB_LAYOUT" == "1" ]; then
  110. pkg_djb_servicedir="$root/service"
  111. else
  112. pkg_djb_servicedir="$root/var/service"
  113. fi