rename packages/ to recipes/ per earlier agreement
[openembedded.git] / recipes / krb / krb5_1.6.3.bb
1 DESCRIPTION = "A network authentication protocol"
2 HOMEPAGE = "http://web.mit.edu/Kerberos/"
3 SECTION = "console/network"
4 PR = "r5"
5 LICENSE = "MIT"
6 DEPENDS = "perl-native ncurses e2fsprogs-libs"
7
8 inherit autotools binconfig
9
10 SRC_URI = "http://web.mit.edu/kerberos/dist/krb5/1.6/krb5-1.6.3-signed.tar \
11            file://fix-uclibc-ruserpass-collision.patch"
12 S = "${WORKDIR}/${PN}-${PV}/src/"
13
14 # Will clean this up...
15 EXTRA_OECONF += " krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
16                   ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
17                   ac_cv_file__etc_TIMEZONE=no --with-system-et"
18 CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
19 LDFLAGS_append += "-lpthread"
20
21 FILES_${PN}-doc += /usr/share/examples
22
23 krb5_do_unpack() {
24         tar xzf ${WORKDIR}/krb5-1.6.3.tar.gz -C ${WORKDIR}/
25         patch -d ${S} -p1 < ${WORKDIR}/fix-uclibc-ruserpass-collision.patch
26 }
27
28 python do_unpack() {
29         bb.build.exec_func('base_do_unpack', d)
30         bb.build.exec_func('krb5_do_unpack', d)
31 }
32
33 do_configure() {
34         oe_runconf
35 }
36
37 do_install_append () {
38         mv ${D}${bindir}/ftp ${D}${bindir}/ftp.${PN}
39         mv ${D}${sbindir}/ftpd ${D}${sbindir}/ftpd.${PN}
40         mv ${D}${bindir}/telnet ${D}${bindir}/telnet.${PN}
41         mv ${D}${sbindir}/telnetd ${D}${sbindir}/telnetd.${PN}
42 }
43
44 pkg_postinst_${PN} () {
45 #!/bin/sh
46         update-alternatives --install ${bindir}/ftp ftp ftp.${PN} 100
47         update-alternatives --install ${sbindir}/ftpd ftpd ftpd.${PN} 100
48         update-alternatives --install ${bindir}/telnet telnet telnet.${PN} 100
49         update-alternatives --install ${sbindir}/telnetd telnetd telnetd.${PN} 100
50 }
51
52 pkg_prerm_${PN} () {
53 #!/bin/sh
54         update-alternatives --remove ftp ftp.${PN} 100
55         update-alternatives --remove ftpd ftpd.${PN} 100
56         update-alternatives --remove telnet telnet.${PN} 100
57         update-alternatives --remove telnetd telnetd.${PN} 100
58 }
59
60 do_stage() {
61         oe_libinstall -so -C util/support libkrb5support ${STAGING_LIBDIR}
62         oe_libinstall -so -C util/et libcom_err ${STAGING_LIBDIR}
63         oe_libinstall -so -C lib/crypto libk5crypto ${STAGING_LIBDIR}
64         oe_libinstall -so -C lib/krb5 libkrb5 ${STAGING_LIBDIR}
65         oe_libinstall -so -C lib/des425 libdes425 ${STAGING_LIBDIR}
66         oe_libinstall -so -C lib/krb4 libkrb4 ${STAGING_LIBDIR}
67         oe_libinstall -so -C lib/gssapi libgssapi_krb5 ${STAGING_LIBDIR}
68         oe_libinstall -so -C lib/rpc libgssrpc ${STAGING_LIBDIR}
69         oe_libinstall -so -C lib/kdb libkdb5 ${STAGING_LIBDIR}
70         oe_libinstall -so -C lib/kadm5/clnt libkadm5clnt ${STAGING_LIBDIR}
71         oe_libinstall -so -C lib/kadm5/srv libkadm5srv ${STAGING_LIBDIR}
72
73         install -d ${STAGING_INCDIR}/krb5
74         for X in krb5.h locate_plugin.h
75         do
76                 install -m 0644 ${S}/include/krb5/$X ${STAGING_INCDIR}/krb5/$X
77         done
78
79         install -d ${STAGING_INCDIR}/gssapi
80         for X in gssapi_generic.h gssapi.h gssapi_krb5.h
81         do
82                 install -m 0644 ${S}/include/gssapi/$X ${STAGING_INCDIR}/gssapi/$X
83         done
84         install -m 0644 ${S}/lib/gssapi/mechglue/mechglue.h ${STAGING_INCDIR}/gssapi/mechglue.h
85
86         install -d ${STAGING_INCDIR}/kerberosIV
87         for X in krb.h des.h mit-copyright.h krb_err.h kadm_err.h
88         do
89                 install -m 0644 ${S}/include/kerberosIV/$X ${STAGING_INCDIR}/kerberosIV/$X
90         done
91
92         install -d ${STAGING_INCDIR}/gssrpc
93         for X in auth.h auth_gss.h auth_gssapi.h auth_unix.h clnt.h netdb.h pmap_clnt.h pmap_prot.h pmap_rmt.h rename.h rpc.h rpc_msg.h svc.h svc_auth.h xdr.h types.h
94         do
95                 install -m 0644 ${S}/include/gssrpc/$X ${STAGING_INCDIR}/gssrpc/$X
96         done
97
98         # com_err.h needs to be added here if you choose to use this builtin
99         for X in krb5.h profile.h gssapi.h
100         do
101                 install -m 0644 ${S}/include/$X ${STAGING_INCDIR}/$X
102         done
103 }