# Maintainer: Leonardo Arena # Contributor: Natanael Copa global pkgname := 'heimdal' global pkgver := '7.4.0' global _ver := $(pkgver/_rc/rc) global pkgrel := '1' global pkgdesc := '"An implementation of Kerberos 5'" global arch := '"all'" global url := '"http://www.h5l.org/'" global license := '"BSD'" global depends := '"krb5-conf'" global depends_dev := '"libressl-dev e2fsprogs-dev db-dev'" global makedepends := ""$depends_dev autoconf automake bash gawk libtool ncurses-dev perl readline-dev sqlite-dev texinfo perl-json"" global install := '' global options := '"suid !check'" #FIXME: FAIL: snprintf-test global subpackages := ""$pkgname-doc $pkgname-dev $pkgname-libs"" global source := ""https://github.com/heimdal/heimdal/releases/download/heimdal-$pkgver/heimdal-$pkgver.tar.gz heimdal-kadmind.initd heimdal-kdc.initd heimdal-kpasswdd.initd 005_all_heimdal-suid_fix.patch heimdal_missing-include.patch "" global builddir := ""$srcdir/$pkgname-$_ver"" # secfixes: # 7.4.0-r0: # - CVE-2017-11103 proc prepare { test -e /usr/lib/libasn1.so && echo "## remove old heimdal pkg first ##" && return 1 cd $builddir default_prepare sh ./autogen.sh } proc build { cd $builddir export LDFLAGS="$(LDFLAGS) -Wl,--as-needed" export LIBS="-ldb" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --enable-shared=yes \ --without-x \ --with-berkeley-db \ --with-readline-lib=/usr/lib \ --with-readline-include=/usr/include/readline \ --with-sqlite3=/usr \ --without-openssl # make sure we use system version rm -r lib/sqlite lib/com_err # workarount a parallell build issue make -C lib/asn1 der-protos.h der-private.h make -C lib/kadm5 kadm5-protos.h kadm5-private.h kadm5_err.h make -C lib/krb5 krb5-protos.h krb5-private.h krb5_err.h krb_err.h \ heim_err.h k524_err.h make -C lib/hx509 hx509-private.h hx509-protos.h make } proc check { cd $builddir make check } proc package { cd $builddir make DESTDIR="$pkgdir" exec_prefix=/usr sysconfdir=/etc \ mandir=/usr/share/man infodir=/usr/share/info datadir=/var/lib/heimdal \ localstatedir=/var/lib/heimdal libexecdir=/usr/sbin install install -m755 -D "$srcdir"/heimdal-kadmind.initd \ "$pkgdir"/etc/init.d/heimdal-kadmind install -m755 -D "$srcdir"/heimdal-kdc.initd \ "$pkgdir"/etc/init.d/heimdal-kdc install -m755 -D "$srcdir"/heimdal-kpasswdd.initd \ "$pkgdir"/etc/init.d/heimdal-kpasswdd for i in [1 3 5 8] { rm -rf "$pkgdir"/usr/share/man/cat$i } # Remove conflicts # e2fsprogs rm -f "$pkgdir"/usr/bin/compile_et \ "$pkgdir"/usr/share/man/man1/compile_et.1 # Compress info pages for page in [heimdal hx509] { gzip -9 "$pkgdir"/usr/share/info/$(page).info } # Install the license install -d "$pkgdir"/usr/share/licenses/$pkgname install -D -m644 "$srcdir"/$pkgname-$_ver/LICENSE \ "$pkgdir"/usr/share/licenses/$pkgname/ } proc libs { global pkgdesc := '"Heimdal libraries'" global replaces := '"heimdal'" global depends := '"krb5-conf'" mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/sbin mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ mv "$pkgdir"/usr/bin/string2key \ "$pkgdir"/usr/bin/verify_krb5_conf \ "$subpkgdir"/usr/bin/ mv "$pkgdir"/usr/sbin/kdigest \ "$pkgdir"/usr/sbin/digest-service \ "$subpkgdir"/usr/sbin/ } global sha512sums := '"3bb83974180e0f6fe2e1b2a11c51cf136c9a64f13f9ed7592f0039ccccd03c1a22081b7d88ae631f94cf46589ed399b79666eb814104f915faa70b53749863a7 heimdal-7.4.0.tar.gz 0ae0fec4bdb3907d9e82e788e12ef185dd00e6db4c17f55758da5600fedd72ed1118b6b492d039f91cc54d54bf2f79f624ea38a68067e424b737b128494a4bbd heimdal-kadmind.initd 4dca69bb1c1c6dfce8c0fc1da84855e4549be478ab09511fa5143ee61d1609fed7f3303179bc1e499b0f20445e04c41eda132dd1c5f72e2fea4fcf60a35ad2a9 heimdal-kdc.initd abee8390632fa775e74900d09e5c72b02fe4f9616b43cc8d0a76175486ed6d4707fb3ce4d06ceb09b0e8d1384e037c3cff6525e11def0122c35c32eebd0d196f heimdal-kpasswdd.initd 2a6b20588a86a9ea3c35209b96ef2da0b39bc3112aec1505e69a60efc9ffb9ddc1d0dbdfaf864142e9d2f81da3d2653de56d6ffa01871c20fde17e4642625c56 005_all_heimdal-suid_fix.patch e89efdc942c512363aac1d9797c6bf622324e9200e282bc5ed680300b9e1b39a4ea20f059cdac8f22f972eb0af0e625fd41f267ebcafcfec0aaa81192aff79c1 heimdal_missing-include.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(heimdal)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(7.4.0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_ver) op: Equal rhs: { (BracedVarSub token: suffix_op: (PatSub pat: {(_rc)} replace: {(rc)} do_all: False do_prefix: False do_suffix: False ) spids: [13 19] ) } spids: [12] ) ] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[21])] spids: [21] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("An implementation of Kerberos 5"))} spids: [24] ) ] spids: [24] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[29])] spids: [29] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.h5l.org/"))} spids: [34] ) ] spids: [34] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[39])] spids: [39] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (krb5-conf))} spids:[44])] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(DQ ("libressl-dev e2fsprogs-dev db-dev"))} spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" autoconf automake bash gawk libtool\n") ("\tncurses-dev perl readline-dev sqlite-dev texinfo perl-json") ) } spids: [54] ) ] spids: [54] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[61])] spids: [61] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("suid !check"))} spids:[63])] spids: [63] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") (-libs) ) } spids: [71] ) ] spids: [71] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://github.com/heimdal/heimdal/releases/download/heimdal-") ($ VSub_Name "$pkgver") (/heimdal-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\theimdal-kadmind.initd\n") ("\theimdal-kdc.initd\n") ("\theimdal-kpasswdd.initd\n") ("\n") ("\t005_all_heimdal-suid_fix.patch\n") ("\theimdal_missing-include.patch\n") ("\t") ) } spids: [81] ) ] spids: [81] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_ver"))} spids: [97] ) ] spids: [97] ) (FuncDef name: prepare body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-e)} {(/usr/lib/libasn1.so)} {(Lit_Other "]")}) (AndOr children: [ (C {(echo)} {(DQ ("## remove old heimdal pkg first ##"))}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(default_prepare)}) (C {(sh)} {(./autogen.sh)}) ] spids: [121] ) spids: [117 120] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(export)} {(Lit_VarLike "LDFLAGS=") (DQ (${ VSub_Name LDFLAGS) (" -Wl,--as-needed"))}) (C {(export)} {(Lit_VarLike "LIBS=") (DQ (-ldb))}) (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--enable-shared) (Lit_Other "=") (yes)} {(--without-x)} {(--with-berkeley-db)} {(--with-readline-lib) (Lit_Other "=") (/usr/lib)} {(--with-readline-include) (Lit_Other "=") (/usr/include/readline)} {(--with-sqlite3) (Lit_Other "=") (/usr)} {(--without-openssl)} ) (C {(rm)} {(-r)} {(lib/sqlite)} {(lib/com_err)}) (C {(make)} {(-C)} {(lib/asn1)} {(der-protos.h)} {(der-private.h)}) (C {(make)} {(-C)} {(lib/kadm5)} {(kadm5-protos.h)} {(kadm5-private.h)} {(kadm5_err.h)}) (C {(make)} {(-C)} {(lib/krb5)} {(krb5-protos.h)} {(krb5-private.h)} {(krb5_err.h)} {(krb_err.h)} {(heim_err.h)} {(k524_err.h)} ) (C {(make)} {(-C)} {(lib/hx509)} {(hx509-private.h)} {(hx509-protos.h)}) (C {(make)}) ] spids: [170] ) spids: [166 169] ) (FuncDef name: check body: (BraceGroup children: [(C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(check)})] spids: [341] ) spids: [337 340] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(Lit_VarLike "exec_prefix=") (/usr)} {(Lit_VarLike "sysconfdir=") (/etc)} {(Lit_VarLike "mandir=") (/usr/share/man)} {(Lit_VarLike "infodir=") (/usr/share/info)} {(Lit_VarLike "datadir=") (/var/lib/heimdal)} {(Lit_VarLike "localstatedir=") (/var/lib/heimdal)} {(Lit_VarLike "libexecdir=") (/usr/sbin)} {(install)} ) (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/heimdal-kadmind.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/heimdal-kadmind)} ) (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/heimdal-kdc.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/heimdal-kdc)} ) (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/heimdal-kpasswdd.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/heimdal-kpasswdd)} ) (ForEach iter_name: i iter_words: [{(1)} {(3)} {(5)} {(8)}] do_arg_iter: False body: (DoGroup children: [ (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/cat) ($ VSub_Name "$i")} ) ] spids: [482 496] ) spids: [472 480] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/compile_et)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man1/compile_et.1)} ) (ForEach iter_name: page iter_words: [{(heimdal)} {(hx509)}] do_arg_iter: False body: (DoGroup children: [ (C {(gzip)} {(-9)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/info/) (${ VSub_Name page) (.info)} ) ] spids: [541 558] ) spids: [535 539] ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$pkgname")} ) (C {(install)} {(-D)} {(-m644)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_ver") (/LICENSE) } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$pkgname") (/)} ) ] spids: [362] ) spids: [358 361] ) (FuncDef name: libs body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Heimdal libraries"))} spids: [611] ) ] spids: [611] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replaces) op: Equal rhs: {(DQ (heimdal))} spids: [617] ) ] spids: [617] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (krb5-conf))} spids: [623] ) ] spids: [623] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/string2key)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/verify_krb5_conf)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/kdigest)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/digest-service)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin/)} ) ] spids: [608] ) spids: [604 607] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "3bb83974180e0f6fe2e1b2a11c51cf136c9a64f13f9ed7592f0039ccccd03c1a22081b7d88ae631f94cf46589ed399b79666eb814104f915faa70b53749863a7 heimdal-7.4.0.tar.gz\n" ) ( "0ae0fec4bdb3907d9e82e788e12ef185dd00e6db4c17f55758da5600fedd72ed1118b6b492d039f91cc54d54bf2f79f624ea38a68067e424b737b128494a4bbd heimdal-kadmind.initd\n" ) ( "4dca69bb1c1c6dfce8c0fc1da84855e4549be478ab09511fa5143ee61d1609fed7f3303179bc1e499b0f20445e04c41eda132dd1c5f72e2fea4fcf60a35ad2a9 heimdal-kdc.initd\n" ) ( "abee8390632fa775e74900d09e5c72b02fe4f9616b43cc8d0a76175486ed6d4707fb3ce4d06ceb09b0e8d1384e037c3cff6525e11def0122c35c32eebd0d196f heimdal-kpasswdd.initd\n" ) ( "2a6b20588a86a9ea3c35209b96ef2da0b39bc3112aec1505e69a60efc9ffb9ddc1d0dbdfaf864142e9d2f81da3d2653de56d6ffa01871c20fde17e4642625c56 005_all_heimdal-suid_fix.patch\n" ) ( "e89efdc942c512363aac1d9797c6bf622324e9200e282bc5ed680300b9e1b39a4ea20f059cdac8f22f972eb0af0e625fd41f267ebcafcfec0aaa81192aff79c1 heimdal_missing-include.patch" ) ) } spids: [704] ) ] spids: [704] ) ] )