blob: ae7e119d4d02a3ebb5ef8c039e5197b89aa3160a (
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
91
92
93
|
# Upstream Maintainer: jtts
# Contributor: josephgbr <rafael.f.f1 at gmail.com>
# Contributor: Janax <janax99@yahoo.com>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# Maintainer: Fantix King <fantix.king at gmail.com>
_pkgbasename=pam
pkgname=libx32-${_pkgbasename}
pkgver=1.1.8
pkgrel=5
pkgdesc="PAM (Pluggable Authentication Modules) library (x32 ABI)"
arch=('x86_64')
license=('GPL2')
url="http://linux-pam.org"
depends=(libx32-cracklib libx32-libtirpc $_pkgbasename) # pambase libx32-glibc
makedepends=('libx32-flex' 'gcc-multilib-x32') # w3m docbook-xml>=4.4 docbook-xsl
#backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment)
source=(https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-$pkgver.tar.bz2
ftp://ftp.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2
pam_unix2-glibc216.patch
pam-1.1.8-cve-2013-7041.patch
pam-1.1.8-cve-2014-2583.patch)
sha256sums=('c4b1f23a236d169e2496fea20721578d864ba00f7242d2b41d81050ac87a1e55'
'3315747699fece4e1cc5771885d243b3e017c4c4ca1326e86228d590a840e955'
'6644c5cff46878c65bdc77977becbeda392675702264bfcc7c610a45a9982574'
'18034730d74f67c79feb2c6abc796442c0c548ce221b8e9d633e98a7bd3cce2c'
'b10255f690f9f4a8cec044383d9cd03031b9a7be9892d824b2adc451d6d06f65')
options=('!emptydirs')
prepare () {
cd $srcdir/Linux-PAM-$pkgver
# fix CVEs in pam
patch -Np1 -i "${srcdir}/pam-1.1.8-cve-2013-7041.patch"
patch -Np1 -i "${srcdir}/pam-1.1.8-cve-2014-2583.patch"
# fix pam_unix2 building
cd $srcdir/pam_unix2-2.9.1
patch -Np1 -i "${srcdir}/pam_unix2-glibc216.patch"
}
build() {
export CC='gcc -mx32'
export CXX='g++ -mx32'
export PKG_CONFIG_PATH='/usr/libx32/pkgconfig'
cd $srcdir/Linux-PAM-$pkgver
./configure --libdir=/usr/libx32 --sbindir=/usr/bin --with-xml-catalog=no --disable-db
make
cd $srcdir/pam_unix2-2.9.1
# modify flags to build against the pam compiled here, not a system lib.
./configure \
CFLAGS="$CFLAGS -I$srcdir/Linux-PAM-$pkgver/libpam/include/" \
LDFLAGS="$LDFLAGS -L$srcdir/Linux-PAM-$pkgver/libpam/.libs/" \
--libdir=/usr/libx32 \
--sbindir=/usr/bin
make
}
package() {
cd $srcdir/Linux-PAM-$pkgver
make DESTDIR=$pkgdir SCONFIGDIR=/etc/security install
# build pam_unix2 module
# source ftp://ftp.suse.com/pub/people/kukuk/pam/pam_unix2
cd $srcdir/pam_unix2-2.9.1
#make DESTDIR=$pkgdir install
install src/pam_unix2.so $pkgdir/usr/libx32/security/pam_unix2.so
# add the realtime permissions for audio users
#sed -i 's|# End of file||' $pkgdir/etc/security/limits.conf
#cat >>$pkgdir/etc/security/limits.conf <<_EOT
#* - rtprio 0
#* - nice 0
#@audio - rtprio 65
#@audio - nice -10
#@audio - memlock 40000
#_EOT
# fix some missing symlinks from old pam for compatibility
cd $pkgdir/usr/libx32/security
ln -s pam_unix.so pam_unix_acct.so
ln -s pam_unix.so pam_unix_auth.so
ln -s pam_unix.so pam_unix_passwd.so
ln -s pam_unix.so pam_unix_session.so
# set unix_chkpwd uid
#chmod +s $pkgdir/usr/bin/unix_chkpwd
# cleanup for libx32 package
rm -rf "${pkgdir}"/{etc,usr/{include,share,bin}}
}
|