diff options
author | Andreas Oberritter <obi@opendreambox.org> | 2016-11-30 12:59:04 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2016-12-09 12:02:14 +0100 |
commit | cfde74c9dbe8eed65f430334b071aeba6620882d (patch) | |
tree | be197cbb36ed3036f8114ee43ef48a6a6e24f896 | |
parent | 4fc06fd23709e77a5ee05b1f0fde57d410fcaba6 (diff) | |
download | meta-openembedded-cfde74c9dbe8eed65f430334b071aeba6620882d.tar.gz |
krb5: create Debian-like package structure
Split libraries and plugins into their own packages. Create packages
for admin-server, kdc, user and examples. Remove some unneeded binaries.
Enable daemons on boot.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r-- | meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb | 101 |
1 files changed, 89 insertions, 12 deletions
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb index 06f7f90bd..656a02f17 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb | |||
@@ -17,7 +17,7 @@ LICENSE = "MIT" | |||
17 | LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=c6f37efad53b098e420f45e7ab6807dc" | 17 | LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=c6f37efad53b098e420f45e7ab6807dc" |
18 | DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" | 18 | DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" |
19 | 19 | ||
20 | inherit autotools-brokensep binconfig perlnative systemd | 20 | inherit autotools-brokensep binconfig perlnative systemd update-rc.d |
21 | 21 | ||
22 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | 22 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" |
23 | SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ | 23 | SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ |
@@ -36,9 +36,6 @@ SRC_URI[sha256sum] = "9c0a46b8918237a53916370d2e02298c2b294f55f0351f9404e18930bc | |||
36 | 36 | ||
37 | S = "${WORKDIR}/${BP}/src" | 37 | S = "${WORKDIR}/${BP}/src" |
38 | 38 | ||
39 | SYSTEMD_SERVICE_${PN} = "krb5-admin-server.service krb5-kdc.service" | ||
40 | SYSTEMD_AUTO_ENABLE = "disable" | ||
41 | |||
42 | PACKAGECONFIG ??= "openssl" | 39 | PACKAGECONFIG ??= "openssl" |
43 | PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" | 40 | PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" |
44 | PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" | 41 | PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" |
@@ -54,13 +51,6 @@ CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regc | |||
54 | CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" | 51 | CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" |
55 | LDFLAGS_append = " -pthread" | 52 | LDFLAGS_append = " -pthread" |
56 | 53 | ||
57 | FILES_${PN} += "${datadir}/gnats" | ||
58 | FILES_${PN}-doc += "${datadir}/examples" | ||
59 | FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" | ||
60 | |||
61 | # As this recipe doesn't inherit update-rc.d, we need to add this dependency here | ||
62 | RDEPENDS_${PN}_class-target += "initscripts-functions" | ||
63 | |||
64 | do_configure() { | 54 | do_configure() { |
65 | gnu-configize --force | 55 | gnu-configize --force |
66 | autoreconf | 56 | autoreconf |
@@ -69,6 +59,13 @@ do_configure() { | |||
69 | 59 | ||
70 | do_install_append() { | 60 | do_install_append() { |
71 | rm -rf ${D}/${localstatedir}/run | 61 | rm -rf ${D}/${localstatedir}/run |
62 | rm -f ${D}${bindir}/sclient | ||
63 | rm -f ${D}${bindir}/sim_client | ||
64 | rm -f ${D}${bindir}/uuclient | ||
65 | rm -f ${D}${sbindir}/krb5-send-pr | ||
66 | rm -f ${D}${sbindir}/sim_server | ||
67 | rm -f ${D}${sbindir}/sserver | ||
68 | rm -f ${D}${sbindir}/uuserver | ||
72 | 69 | ||
73 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 70 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
74 | mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default | 71 | mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default |
@@ -90,7 +87,87 @@ do_install_append() { | |||
90 | fi | 87 | fi |
91 | } | 88 | } |
92 | 89 | ||
93 | pkg_postinst_${PN} () { | 90 | PACKAGES =+ "${PN}-admin-server \ |
91 | ${PN}-gss-samples \ | ||
92 | ${PN}-k5tls \ | ||
93 | ${PN}-kdc \ | ||
94 | ${PN}-kdc-ldap \ | ||
95 | ${PN}-kpropd \ | ||
96 | ${PN}-otp \ | ||
97 | ${PN}-pkinit \ | ||
98 | ${PN}-user \ | ||
99 | libgssapi-krb5 \ | ||
100 | libgssrpc \ | ||
101 | libk5crypto \ | ||
102 | libkadm5clnt-mit \ | ||
103 | libkadm5srv-mit \ | ||
104 | libkdb5 \ | ||
105 | libkrad \ | ||
106 | libkrb5 \ | ||
107 | libkrb5support \ | ||
108 | libverto" | ||
109 | |||
110 | FILES_${PN} = "" | ||
111 | FILES_${PN}-doc += "${datadir}/examples" | ||
112 | FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" | ||
113 | |||
114 | FILES_${PN}-admin-server = "${sbindir}/kadmin.local \ | ||
115 | ${sbindir}/kadmind \ | ||
116 | ${sbindir}/kprop \ | ||
117 | ${sysconfdir}/default/krb5-admin-server \ | ||
118 | ${sysconfdir}/init.d/krb5-admin-server \ | ||
119 | ${systemd_system_unitdir}/krb5-admin-server.service" | ||
120 | |||
121 | FILES_${PN}-gss-samples = "${bindir}/gss-client \ | ||
122 | ${sbindir}/gss-server" | ||
123 | |||
124 | FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so" | ||
125 | |||
126 | FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \ | ||
127 | ${localstatedir}/krb5kdc \ | ||
128 | ${sbindir}/kdb5_util \ | ||
129 | ${sbindir}/kproplog \ | ||
130 | ${sbindir}/krb5kdc \ | ||
131 | ${sysconfdir}/default/krb5-kdc \ | ||
132 | ${sysconfdir}/default/volatiles/87_krb5 \ | ||
133 | ${sysconfdir}/init.d/krb5-kdc \ | ||
134 | ${sysconfdir}/tmpfiles.d/krb5.conf \ | ||
135 | ${systemd_system_unitdir}/krb5-kdc.service" | ||
136 | |||
137 | FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \ | ||
138 | ${libdir}/krb5/plugins/kdb/kldap.so \ | ||
139 | ${sbindir}/kdb5_ldap_util" | ||
140 | |||
141 | FILES_${PN}-kpropd = "${sbindir}/kpropd" | ||
142 | FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so" | ||
143 | FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so" | ||
144 | FILES_${PN}-user = "${bindir}/k*" | ||
145 | |||
146 | FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}" | ||
147 | FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}" | ||
148 | FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}" | ||
149 | FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}" | ||
150 | FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}" | ||
151 | FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}" | ||
152 | FILES_libkrad = "${libdir}/libkrad${SOLIBS}" | ||
153 | FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \ | ||
154 | ${libdir}/krb5/plugins/authdata \ | ||
155 | ${libdir}/krb5/plugins/libkrb5" | ||
156 | FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}" | ||
157 | FILES_libverto = "${libdir}/libverto${SOLIBS}" | ||
158 | |||
159 | RDEPENDS_${PN}-kadmin-server = "${PN}-kdc" | ||
160 | RDEPENDS_${PN}-kpropd = "${PN}-kdc" | ||
161 | |||
162 | INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc" | ||
163 | INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server" | ||
164 | INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc" | ||
165 | |||
166 | SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc" | ||
167 | SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service" | ||
168 | SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service" | ||
169 | |||
170 | pkg_postinst_${PN}-kdc () { | ||
94 | if [ -z "$D" ]; then | 171 | if [ -z "$D" ]; then |
95 | if command -v systemd-tmpfiles >/dev/null; then | 172 | if command -v systemd-tmpfiles >/dev/null; then |
96 | systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf | 173 | systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf |