summaryrefslogtreecommitdiff
path: root/core/krb5/PKGBUILD
blob: 9eb17fc599933b28df8d8f5dcc28b33870b21450 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# $Id: PKGBUILD 144896 2011-12-09 11:55:57Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>

pkgname=krb5
pkgver=1.9.2
pkgrel=2
pkgdesc="The Kerberos network authentication system"
arch=('i686' 'x86_64' 'mips64el')
url="http://web.mit.edu/kerberos/"
license=('custom')
depends=('e2fsprogs' 'libldap' 'keyutils')
makedepends=('perl')
provides=('heimdal')
replaces=('heimdal')
conflicts=('heimdal')
backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf')
source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.9/${pkgname}-${pkgver}-signed.tar
        krb5-kadmind
        krb5-kdc
        krb5-kpropd
        krb5-1.9.1-config-script.patch
        krb5-1.9.1-2011-007.patch)
sha1sums=('aa06f778ee1f9791cd4c5cf4c9e9465769ffec92'
          '2aa229369079ed1bbb201a1ef72c47bf143f4dbe'
          '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393'
          '7f402078fa65bb9ff1beb6cbbbb017450df78560'
          '7342410760cf44bfa01bb99bb4c49e12496cb46f'
          'ec917dd1d1c96fa331f512331d5aa37c2e9b9df7')
options=('!emptydirs')

build() {
   tar zxvf ${pkgname}-${pkgver}.tar.gz
   cd "${srcdir}/${pkgname}-${pkgver}/src"

   # - Make krb5-config suppress CFLAGS output when called with --libs
   #   cf https://bugzilla.redhat.com/show_bug.cgi?id=544391
   #
   # - Omit extra libraries because their interfaces are not exposed to applications
   #   by libkrb5, unless do_deps is set to 1, which indicates that the caller
   #   wants the whole list.
   #
   #   Patch from upstream :
   #   http://anonsvn.mit.edu/viewvc/krb5/trunk/src/krb5-config.in?r1=23662&r2=25236
   patch -Np2 -i ${srcdir}/krb5-1.9.1-config-script.patch

   # Apply upstream patch to fix a null pointer dereference when processing TGS requests
   # CVE-2011-1530
   # see http://web.mit.edu/kerberos/advisories/MITKRB5-SA-2011-007.txt
   patch -Np2 -i ${srcdir}/krb5-1.9.1-2011-007.patch

   # FS#25384
   sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4

   export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all"
   export CPPFLAGS+=" -I/usr/include/et"
   ./configure --prefix=/usr \
               --mandir=/usr/share/man \
               --localstatedir=/var/lib \
               --enable-shared \
               --with-system-et \
               --with-system-ss \
               --disable-rpath \
               --without-tcl \
               --enable-dns-for-realm \
               --with-ldap
   make
}

package() {
   cd "${srcdir}/${pkgname}-${pkgver}/src"
   make DESTDIR="${pkgdir}" EXAMPLEDIR="/usr/share/doc/${pkgname}/examples" install

   # Sample KDC config file
   install -dm 755 "${pkgdir}"/var/lib/krb5kdc
   install -pm 644 config-files/kdc.conf "${pkgdir}"/var/lib/krb5kdc/kdc.conf

   # Default configuration file
   install -dm 755 "${pkgdir}"/etc
   install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf

   install -dm 755 "${pkgdir}"/etc/rc.d
   install -m 755 ../../krb5-kdc      "${pkgdir}"/etc/rc.d
   install -m 755 ../../krb5-kadmind  "${pkgdir}"/etc/rc.d
   install -m 755 ../../krb5-kpropd   "${pkgdir}"/etc/rc.d

   install -dm 755 "${pkgdir}"/usr/share/aclocal
   install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal

   install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}