recipe 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # Build recipe for libcap-ng.
  2. #
  3. # Copyright (c) 2018-2020 Matias Fonzo, <selk@dragora.org>.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. program=libcap-ng
  17. version=0.7.10
  18. release=2
  19. # Set 'outdir' for a nice and well-organized output directory
  20. outdir="${outdir}/${arch}/libs"
  21. tarname=${program}-${version}.tar.gz
  22. # Remote source(s)
  23. fetch=http://people.redhat.com/sgrubb/libcap-ng/$tarname
  24. description="
  25. An alternate POSIX capabilities library.
  26. The libcap-ng library is intended to make programming with POSIX
  27. capabilities much easier than the traditional libcap library.
  28. It includes utilities that can analyse all currently running
  29. applications and print out any capabilities and whether or not it has
  30. an open ended bounding set. An open bounding set without the securebits
  31. \"NOROOT\" flag will allow full capabilities escalation for apps
  32. retaining UID 0 simply by calling execve.
  33. "
  34. homepage=http://people.redhat.com/sgrubb/libcap-ng/
  35. license="GPLv2+, LGPLv2.1"
  36. # Source documentation
  37. docs="AUTHORS COPYING* ChangeLog NEWS README*"
  38. docsdir="${docdir}/${program}-${version}"
  39. build()
  40. {
  41. set -e
  42. unpack "${tardir}/$tarname"
  43. cd "$srcdir"
  44. # Set sane permissions
  45. chmod -R u+w,go-w,a+rX-s .
  46. ./configure CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
  47. $configure_args \
  48. --libdir=/usr/lib${libSuffix} \
  49. --infodir=$infodir \
  50. --mandir=$mandir \
  51. --docdir=$docsdir \
  52. --enable-static=yes \
  53. --enable-shared=yes \
  54. --with-python=no \
  55. --build="$(cc -dumpmachine)"
  56. make -j${jobs} V=1
  57. make -j${jobs} DESTDIR="$destdir" install-strip
  58. # Compress info documents deleting index file for the package
  59. if test -d "${destdir}/$infodir"
  60. then
  61. rm -f "${destdir}/${infodir}/dir"
  62. lzip -9 "${destdir}/${infodir}"/*
  63. fi
  64. # Compress and link man pages (if needed)
  65. if test -d "${destdir}/$mandir"
  66. then
  67. (
  68. cd "${destdir}/$mandir"
  69. find . -type f -exec lzip -9 '{}' +
  70. find . -type l | while read -r file
  71. do
  72. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  73. rm -- "$file"
  74. done
  75. )
  76. fi
  77. # Copy documentation
  78. mkdir -p "${destdir}${docsdir}"
  79. cp -p $docs "${destdir}${docsdir}"/
  80. }