PKGBUILD 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # Maintainer: David P. <megver83@parabola.nu>
  2. # Maintainer (Arch): Tom Gundersen <teg@jklm.no>
  3. # Maintainer (Arch): Dave Reisner <dreisner@archlinux.org>
  4. # Contributor (Arch): judd <jvinet@zeroflux.org>
  5. pkgbase=util-linux
  6. pkgname=(util-linux util-linux-libs)
  7. _pkgmajor=2.36
  8. pkgver=${_pkgmajor}
  9. pkgrel=4
  10. pkgrel+=.nonsystemd1
  11. pkgdesc='Miscellaneous system utilities for Linux'
  12. url='https://github.com/karelzak/util-linux'
  13. arch=('x86_64' 'i686' 'armv7h')
  14. makedepends=('udev' 'python' 'libcap-ng' 'libxcrypt')
  15. license=('GPL2')
  16. options=('strip')
  17. validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak
  18. source=("https://www.kernel.org/pub/linux/utils/util-linux/v$_pkgmajor/$pkgbase-$pkgver.tar."{xz,sign}
  19. pam-{login,common,runuser,su}
  20. 'util-linux.sysusers'
  21. '60-rfkill.rules')
  22. sha256sums=('9e4b1c67eb13b9b67feb32ae1dc0d50e08ce9e5d82e1cccd0ee771ad2fa9e0b1'
  23. 'SKIP'
  24. '993a3096c2b113e6800f2abbd5d4233ebf1a97eef423990d3187d665d3490b92'
  25. 'fc6807842f92e9d3f792d6b64a0d5aad87995a279153ab228b1b2a64d9f32f20'
  26. '95b7cdc4cba17494d7b87f37f8d0937ec54c55de0e3ce9d9ab05ad5cc76bf935'
  27. '51eac9c2a2f51ad3982bba35de9aac5510f1eeff432d2d63c6362e45d620afc0'
  28. '10b0505351263a099163c0d928132706e501dd0a008dac2835b052167b14abe3'
  29. '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37')
  30. build() {
  31. cd "$pkgbase-$pkgver"
  32. # We ship Debian's hardlink in package 'hardlink', Fedora's hardlink was
  33. # merged in util-linux. For now we disable the latter, but let's dicuss
  34. # the details:
  35. # https://bugs.archlinux.org/task/62896
  36. # https://github.com/karelzak/util-linux/issues/808
  37. ./configure \
  38. --prefix=/usr \
  39. --libdir=/usr/lib \
  40. --bindir=/usr/bin \
  41. --sbindir=/usr/bin \
  42. --localstatedir=/var \
  43. --enable-usrdir-path \
  44. --enable-fs-paths-default=/usr/bin:/usr/local/bin \
  45. --enable-raw \
  46. --enable-vipw \
  47. --enable-newgrp \
  48. --enable-chfn-chsh \
  49. --enable-write \
  50. --enable-mesg \
  51. --disable-hardlink \
  52. --with-systemd=no \
  53. --with-systemdsystemunitdir=no \
  54. --with-python=3
  55. make
  56. }
  57. package_util-linux() {
  58. conflicts=('rfkill')
  59. provides=('rfkill')
  60. replaces=('rfkill')
  61. depends=('pam' 'shadow' 'coreutils'
  62. 'libudev.so' 'libcap-ng' 'libxcrypt' 'libcrypt.so' 'util-linux-libs'
  63. 'libmagic.so' 'libncursesw.so' 'libreadline.so')
  64. optdepends=('python: python bindings to libmount'
  65. 'words: default dictionary for look')
  66. backup=(etc/pam.d/chfn
  67. etc/pam.d/chsh
  68. etc/pam.d/login
  69. etc/pam.d/runuser
  70. etc/pam.d/runuser-l
  71. etc/pam.d/su
  72. etc/pam.d/su-l)
  73. cd "$pkgbase-$pkgver"
  74. make DESTDIR="$pkgdir" install
  75. # setuid chfn and chsh
  76. chmod 4755 "$pkgdir"/usr/bin/{newgrp,ch{sh,fn}}
  77. # install PAM files for login-utils
  78. install -Dm0644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chfn"
  79. install -m0644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chsh"
  80. install -m0644 "$srcdir/pam-login" "$pkgdir/etc/pam.d/login"
  81. install -m0644 "$srcdir/pam-runuser" "$pkgdir/etc/pam.d/runuser"
  82. install -m0644 "$srcdir/pam-runuser" "$pkgdir/etc/pam.d/runuser-l"
  83. install -m0644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su"
  84. install -m0644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su-l"
  85. # adjust for usrmove
  86. # TODO(dreisner): fix configure.ac upstream so that this isn't needed
  87. cd "$pkgdir"
  88. mv usr/sbin/* usr/bin
  89. rmdir usr/sbin
  90. ### runtime libs are shipped as part of util-linux-libs
  91. rm "$pkgdir"/usr/lib/lib*.{a,so}*
  92. ### install opensysusers
  93. install -Dm0644 "$srcdir/util-linux.sysusers" \
  94. "$pkgdir/usr/lib/sysusers.d/util-linux.conf"
  95. install -Dm0644 "$srcdir/60-rfkill.rules" \
  96. "$pkgdir/usr/lib/udev/rules.d/60-rfkill.rules"
  97. }
  98. package_util-linux-libs() {
  99. pkgdesc="util-linux runtime libraries"
  100. provides=('libutil-linux' 'libblkid.so' 'libfdisk.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so')
  101. conflicts=('libutil-linux')
  102. replaces=('libutil-linux')
  103. make -C "$pkgbase-$pkgver" DESTDIR="$pkgdir" install-usrlib_execLTLIBRARIES
  104. }