summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-connectivity
diff options
context:
space:
mode:
authorJackie Huang <jackie.huang@windriver.com>2014-09-28 05:35:37 -0400
committerMartin Jansa <Martin.Jansa@gmail.com>2014-10-04 00:28:31 +0200
commit5131823c8ca75550a9130be6d35e9fadd98eda38 (patch)
treeff2a3bc271b156acb1ac304fd9dba0f7a091e258 /meta-oe/recipes-connectivity
parent3efc0c1974fd5191d04a8d8d622016e137d24ca0 (diff)
downloadmeta-openembedded-5131823c8ca75550a9130be6d35e9fadd98eda38.tar.gz
krb5: update to version 1.12.2
Changed: * Add init scripts and default configs based on debian * Add a patch for crosscompile nm * Add a patch to suppress /usr/lib in krb5-config * Add DESCRIPTION * Remove blacklist and inherit autotools-brokensep * Add PACKAGECONFIG for ldap and readline Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-connectivity')
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch29
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch48
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server6
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc5
-rwxr-xr-xmeta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server140
-rwxr-xr-xmeta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc133
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb52
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb76
8 files changed, 437 insertions, 52 deletions
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch
new file mode 100644
index 000000000..d3e693751
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch
@@ -0,0 +1,29 @@
1Modifies export-check.pl to use look for $ENV{'NM'} before
2defaulting to using 'nm'
3
4Upstream-Status: Pending
5
6Signed-off-by: Amy Fong <amy.fong@windriver.com>
7---
8
9 export-check.pl | 7 ++++++-
10 1 file changed, 6 insertions(+), 1 deletion(-)
11
12Index: src/util/export-check.pl
13===================================================================
14--- src.orig/util/export-check.pl
15+++ src/util/export-check.pl
16@@ -38,7 +38,12 @@
17 my($exfile, $libfile) = @ARGV;
18
19 @missing = ();
20-open NM, "nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
21+if (defined($ENV{'NM'})) {
22+ $nm = $ENV{'NM'};
23+} else {
24+ $nm = "nm";
25+}
26+open NM, "$nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
27 open EXPORT, "< $exfile" || die "can't read $exfile: $!";
28
29 @export = <EXPORT>;
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch
new file mode 100644
index 000000000..f0182ee5d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch
@@ -0,0 +1,48 @@
1Subject: [PATCH] debian: suppress /usr/lib in krb5-config
2
3Upstream-Status: Pending
4
5Handel multi-arch suppressions
6
7The patch is from debian.
8
9Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
10---
11 src/build-tools/krb5-config.in | 14 +++++++++-----
12 1 files changed, 9 insertions(+), 5 deletions(-)
13
14diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in
15index f6184da..637bad7 100755
16--- a/src/build-tools/krb5-config.in
17+++ b/src/build-tools/krb5-config.in
18@@ -138,6 +138,7 @@ if test -n "$do_help"; then
19 echo " [--defktname] Show built-in default keytab name"
20 echo " [--defcktname] Show built-in default client keytab name"
21 echo " [--cflags] Compile time CFLAGS"
22+ echo " [--deps] Include dependent libraries"
23 echo " [--libs] List libraries required to link [LIBRARIES]"
24 echo "Libraries:"
25 echo " krb5 Kerberos 5 application"
26@@ -209,11 +210,14 @@ fi
27
28 if test -n "$do_libs"; then
29 # Assumes /usr/lib is the standard library directory everywhere...
30- if test "$libdir" = /usr/lib; then
31- libdirarg=
32- else
33- libdirarg="-L$libdir"
34- fi
35+ case $libdir in
36+ /usr/lib*)
37+ libdirarg=
38+ ;;
39+ *)
40+ libdirarg="-L$libdir"
41+ ;;
42+ esac
43 # Ugly gross hack for our build tree
44 lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
45 -e 's/\$(PURE)//' \
46--
471.7.1
48
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
new file mode 100644
index 000000000..283592913
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
@@ -0,0 +1,6 @@
1# Automatically generated. If you change anything in this file other than the
2# values of RUN_KADMIND or DAEMON_ARGS, first run dpkg-reconfigure
3# krb5-admin-server and disable managing the kadmin configuration with
4# debconf. Otherwise, changes will be overwritten.
5
6RUN_KADMIND=true
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc
new file mode 100644
index 000000000..310bfcf8a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc
@@ -0,0 +1,5 @@
1# Automatically generated. Only the value of DAEMON_ARGS will be preserved.
2# If you change anything in this file other than DAEMON_ARGS, first run
3# dpkg-reconfigure krb5-kdc and disable managing the KDC configuration with
4# debconf. Otherwise, changes will be overwritten.
5
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server
new file mode 100755
index 000000000..79238d4f4
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server
@@ -0,0 +1,140 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: krb5-admin-server
4# Required-Start: $local_fs $remote_fs $network $syslog
5# Required-Stop: $local_fs $remote_fs $network $syslog
6# Should-Start: krb5-kdc
7# Should-Stop: krb5-kdc
8# Default-Start: 2 3 4 5
9# Default-Stop: 0 1 6
10# Short-Description: MIT Kerberos KDC administrative daemon
11# Description: Starts, stops, or restarts the MIT Kerberos KDC
12# administrative daemon (kadmind). This daemon answers
13# requests from kadmin clients and allows administrators
14# to create, delete, and modify principals in the KDC
15# database.
16### END INIT INFO
17
18# Author: Sam Hartman <hartmans@mit.edu>
19# Author: Russ Allbery <rra@debian.org>
20#
21# Based on the /etc/init.d/skeleton template as found in initscripts version
22# 2.86.ds1-15.
23
24# June, 2012: Adopted for yocto <amy.fong@windriver.com>
25
26PATH=/usr/sbin:/usr/bin:/sbin:/bin
27DESC="Kerberos administrative servers"
28NAME=kadmind
29DAEMON=/usr/sbin/$NAME
30DAEMON_ARGS=""
31SCRIPTNAME=/etc/init.d/krb5-admin-server
32DEFAULT=/etc/default/krb5-admin-server
33
34# Exit if the package is not installed.
35[ -x "$DAEMON" ] || exit 0
36
37# Read configuration if it is present.
38[ -r "$DEFAULT" ] && . "$DEFAULT"
39
40# Get the setting of VERBOSE and other rcS variables.
41[ -f /etc/default/rcS ] && . /etc/default/rcS
42
43. /etc/init.d/functions
44
45ADMIN_SERVER_LOG=/var/log/kadmind.log
46[ -f $ADMIN_SERVER_LOG ] && (test ! -x /sbin/restorecon \
47 || /sbin/restorecon -F $ADMIN_SERVER_LOG)
48
49# Return
50# 0 if daemon has been started
51# 1 if daemon was already running
52# 2 if daemon could not be started
53do_start()
54{
55 start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
56 > /dev/null || return 1
57 start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
58 -- $DAEMON_ARGS || return 2
59}
60
61# Return
62# 0 if daemon has been stopped
63# 1 if daemon was already stopped
64# 2 if daemon could not be stopped
65# other if a failure occurred
66do_stop()
67{
68 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
69 RETVAL="$?"
70 [ "$RETVAL" = 2 ] && return 2
71 return "$RETVAL"
72}
73
74
75case "$1" in
76 start)
77 if [ "$RUN_KADMIND" = false ] ; then
78 if [ "$VERBOSE" != no ] ; then
79 echo "Not starting $DESC per configuration"
80 fi
81 exit 0
82 fi
83 [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
84 do_start
85 case "$?" in
86 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
87 2) [ "$VERBOSE" != no ] && echo 1 ;;
88 esac
89 ;;
90
91 stop)
92 [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
93 do_stop
94 case "$?" in
95 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
96 2) [ "$VERBOSE" != no ] && echo 1 ;;
97 esac
98 ;;
99
100 restart|force-reload)
101 if [ "$RUN_KADMIND" = false ] ; then
102 if [ "$VERBOSE" != no ] ; then
103 echo "Not restarting $DESC per configuration"
104 fi
105 exit 0
106 fi
107 echo "Restarting $DESC" "$NAME"
108 do_stop
109 case "$?" in
110 0|1)
111 do_start
112 case "$?" in
113 0) [ "$VERBOSE" != no ] && echo 0 ;;
114 *) [ "$VERBOSE" != no ] && echo 1 ;;
115 esac
116 ;;
117 *)
118 echo 1
119 ;;
120 esac
121 ;;
122
123 status)
124 pidofproc "$DAEMON" >/dev/null
125 status=$?
126 if [ $status -eq 0 ]; then
127 echo "$NAME is running."
128 else
129 echo "$NAME is not running."
130 fi
131 exit $status
132 ;;
133
134 *)
135 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
136 exit 3
137 ;;
138esac
139
140:
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc
new file mode 100755
index 000000000..865d1b970
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc
@@ -0,0 +1,133 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: krb5-kdc
4# Required-Start: $local_fs $remote_fs $network $syslog
5# Required-Stop: $local_fs $remote_fs $network $syslog
6# X-Start-Before: $x-display-manager
7# Default-Start: 2 3 4 5
8# Default-Stop: 0 1 6
9# Short-Description: MIT Kerberos KDC
10# Description: Starts, stops, or restarts the MIT Kerberos KDC. This
11# daemon responds to ticket requests from Kerberos
12# clients.
13### END INIT INFO
14
15# Author: Sam Hartman <hartmans@mit.edu>
16# Author: Russ Allbery <rra@debian.org>
17#
18# Based on the /etc/init.d/skeleton template as found in initscripts version
19# 2.86.ds1-15.
20
21# June, 2012: Adopted for yocto <amy.fong@windriver.com>
22
23PATH=/usr/sbin:/usr/bin:/sbin:/bin
24DESC="Kerberos KDC"
25NAME=krb5kdc
26DAEMON=/usr/sbin/$NAME
27DAEMON_ARGS=""
28SCRIPTNAME=/etc/init.d/krb5-kdc
29
30# Exit if the package is not installed.
31[ -x "$DAEMON" ] || exit 0
32
33# Read configuration if it is present.
34[ -r /etc/default/krb5-kdc ] && . /etc/default/krb5-kdc
35
36# Get the setting of VERBOSE and other rcS variables.
37[ -f /etc/default/rcS ] && . /etc/default/rcS
38
39. /etc/init.d/functions
40
41# Return
42# 0 if daemon has been started
43# 1 if daemon was already running
44# 2 if daemon could not be started
45do_start_kdc()
46{
47 start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
48 > /dev/null || return 1
49 start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
50 -- $DAEMON_ARGS || return 2
51}
52
53
54# Return
55# 0 if daemon has been stopped
56# 1 if daemon was already stopped
57# 2 if daemon could not be stopped
58# other if a failure occurred
59do_stop_kdc()
60{
61 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
62 RETVAL="$?"
63 [ "$RETVAL" = 2 ] && return 2
64 return "$RETVAL"
65}
66
67
68case "$1" in
69 start)
70 [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
71 do_start_kdc
72 case "$?" in
73 0|1)
74 [ "$VERBOSE" != no ] && echo 0
75 ;;
76 2)
77 [ "$VERBOSE" != no ] && echo 1
78 ;;
79 esac
80 ;;
81
82 stop)
83 [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
84 do_stop_kdc
85 case "$?" in
86 0|1)
87 [ "$VERBOSE" != no ] && echo "krb524d"
88 ;;
89 2)
90 [ "$VERBOSE" != no ] && echo 1
91 ;;
92 esac
93 ;;
94
95 restart|force-reload)
96 echo "Restarting $DESC" "$NAME"
97 do_stop_kdc
98 case "$?" in
99 0|1)
100 do_start_kdc
101 case "$?" in
102 0)
103 echo 0
104 ;;
105 1|2)
106 echo 1
107 ;;
108 esac
109 ;;
110 *)
111 echo 1
112 ;;
113 esac
114 ;;
115
116 status)
117 pidofproc "$DAEMON" >/dev/null
118 status=$?
119 if [ $status -eq 0 ]; then
120 echo "$NAME is running."
121 else
122 echo "$NAME is not running."
123 fi
124 exit $status
125 ;;
126
127 *)
128 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
129 exit 3
130 ;;
131esac
132
133:
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb
deleted file mode 100644
index 49b891784..000000000
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb
+++ /dev/null
@@ -1,52 +0,0 @@
1SUMMARY = "A network authentication protocol"
2HOMEPAGE = "http://web.mit.edu/Kerberos/"
3SECTION = "console/network"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=1d9c8180d79838c02eb5eb1a3b184eb9"
6DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
7
8inherit autotools binconfig perlnative
9
10PNBLACKLIST[krb5] = "BROKEN: doesn't build with B!=S"
11
12SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
13SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \
14 file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
15"
16SRC_URI[md5sum] = "56f0ae274b285320b8a597cb89442449"
17SRC_URI[sha256sum] = "9abd94bb94a70996da0f8d90408957154bb543271b097e86c63eb33e5f5751b5"
18
19S = "${WORKDIR}/${P}/src/"
20
21PACKAGECONFIG ??= "openssl"
22PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
23PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
24PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
25
26EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
27CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
28 ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
29 ac_cv_file__etc_TIMEZONE=no"
30
31CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
32LDFLAGS_append += "-lpthread"
33
34FILES_${PN}-doc += "${datadir}/examples"
35FILES_${PN} += "${datadir}/gnats"
36FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
37
38krb5_do_unpack() {
39 # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz
40 tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/
41}
42
43python do_unpack() {
44 bb.build.exec_func('base_do_unpack', d)
45 bb.build.exec_func('krb5_do_unpack', d)
46}
47
48do_configure() {
49 gnu-configize --force
50 autoreconf
51 oe_runconf
52}
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
new file mode 100644
index 000000000..0b14d3cdf
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb
@@ -0,0 +1,76 @@
1SUMMARY = "A network authentication protocol"
2DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
3 Kerberos is a trusted third-party service. That means that there is a \
4 third party (the Kerberos server) that is trusted by all the entities on \
5 the network (users and services, usually called "principals"). \
6 . \
7 This is the MIT reference implementation of Kerberos V5. \
8 . \
9 This package contains the Kerberos key server (KDC). The KDC manages all \
10 authentication credentials for a Kerberos realm, holds the master keys \
11 for the realm, and responds to authentication requests. This package \
12 should be installed on both master and slave KDCs."
13
14HOMEPAGE = "http://web.mit.edu/Kerberos/"
15SECTION = "console/network"
16LICENSE = "MIT"
17LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=450c80c6258ce03387bd09df37638ebc"
18DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
19
20inherit autotools-brokensep binconfig perlnative
21
22SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
23SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \
24 file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
25 file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
26 file://crosscompile_nm.patch \
27 file://etc/init.d/krb5-kdc \
28 file://etc/init.d/krb5-admin-server \
29 file://etc/default/krb5-kdc \
30 file://etc/default/krb5-admin-server \
31"
32SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe"
33SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744"
34
35S = "${WORKDIR}/${P}/src/"
36
37PACKAGECONFIG ??= "openssl"
38PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
39PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
40PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
41PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
42PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
43
44EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
45CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
46 ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
47 ac_cv_file__etc_TIMEZONE=no"
48
49CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
50LDFLAGS_append += "-lpthread"
51
52FILES_${PN} += "${datadir}/gnats"
53FILES_${PN}-doc += "${datadir}/examples"
54FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
55
56krb5_do_unpack() {
57 # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz
58 tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/
59}
60
61python do_unpack() {
62 bb.build.exec_func('base_do_unpack', d)
63 bb.build.exec_func('krb5_do_unpack', d)
64}
65
66do_configure() {
67 gnu-configize --force
68 autoreconf
69 oe_runconf
70}
71
72do_install_append() {
73 mkdir -p ${D}/etc/init.d ${D}/etc/default
74 install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/etc/init.d
75 install -m 0644 ${WORKDIR}/etc/default/* ${D}/etc/default
76}