krb5_1.17.2.bb 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. SUMMARY = "A network authentication protocol"
  2. DESCRIPTION = "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. HOMEPAGE = "http://web.mit.edu/Kerberos/"
  14. SECTION = "console/network"
  15. LICENSE = "MIT"
  16. LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=dd4d0ad4c5e98abb58aa0d312f276791"
  17. DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
  18. inherit autotools-brokensep binconfig perlnative systemd update-rc.d
  19. SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
  20. SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
  21. file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
  22. file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
  23. file://crosscompile_nm.patch \
  24. file://etc/init.d/krb5-kdc \
  25. file://etc/init.d/krb5-admin-server \
  26. file://etc/default/krb5-kdc \
  27. file://etc/default/krb5-admin-server \
  28. file://krb5-kdc.service \
  29. file://krb5-admin-server.service \
  30. "
  31. SRC_URI[md5sum] = "aa4337fffa3b61f22dbd0167f708818f"
  32. SRC_URI[sha256sum] = "1a4bba94df92f6d39a197a10687653e8bfbc9a2076e129f6eb92766974f86134"
  33. CVE_PRODUCT = "kerberos"
  34. CVE_VERSION = "5-${PV}"
  35. S = "${WORKDIR}/${BP}/src"
  36. PACKAGECONFIG ??= "pkinit"
  37. PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
  38. PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
  39. PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
  40. PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
  41. PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
  42. PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit"
  43. EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
  44. CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
  45. ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
  46. ac_cv_file__etc_TIMEZONE=no"
  47. CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
  48. CFLAGS_append_riscv64 = " -D_REENTRANT -pthread"
  49. LDFLAGS_append = " -pthread"
  50. do_configure() {
  51. gnu-configize --force
  52. autoreconf
  53. oe_runconf
  54. }
  55. do_install_append() {
  56. rm -rf ${D}/${localstatedir}/run
  57. rm -f ${D}${bindir}/sclient
  58. rm -f ${D}${bindir}/sim_client
  59. rm -f ${D}${bindir}/uuclient
  60. rm -f ${D}${sbindir}/krb5-send-pr
  61. rm -f ${D}${sbindir}/sim_server
  62. rm -f ${D}${sbindir}/sserver
  63. rm -f ${D}${sbindir}/uuserver
  64. if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
  65. mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
  66. install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
  67. install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
  68. mkdir -p ${D}/${sysconfdir}/default/volatiles
  69. echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
  70. > ${D}${sysconfdir}/default/volatiles/87_krb5
  71. echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
  72. fi
  73. if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
  74. install -d ${D}${sysconfdir}/tmpfiles.d
  75. echo "d /run/krb5kdc - - - -" \
  76. > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
  77. mkdir -p ${D}/${sysconfdir}/default
  78. install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
  79. install -d ${D}${systemd_system_unitdir}
  80. install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
  81. install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
  82. fi
  83. }
  84. PACKAGES =+ "${PN}-admin-server \
  85. ${PN}-gss-samples \
  86. ${PN}-k5tls \
  87. ${PN}-kdc \
  88. ${PN}-kdc-ldap \
  89. ${PN}-kpropd \
  90. ${PN}-otp \
  91. ${PN}-pkinit \
  92. ${PN}-spake \
  93. ${PN}-user \
  94. libgssapi-krb5 \
  95. libgssrpc \
  96. libk5crypto \
  97. libkadm5clnt-mit \
  98. libkadm5srv-mit \
  99. libkdb5 \
  100. libkrad \
  101. libkrb5 \
  102. libkrb5support \
  103. libverto"
  104. FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
  105. FILES_${PN}-doc += "${datadir}/examples"
  106. FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
  107. FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
  108. ${sbindir}/kadmind \
  109. ${sbindir}/kprop \
  110. ${sysconfdir}/default/krb5-admin-server \
  111. ${sysconfdir}/init.d/krb5-admin-server \
  112. ${systemd_system_unitdir}/krb5-admin-server.service"
  113. FILES_${PN}-gss-samples = "${bindir}/gss-client \
  114. ${sbindir}/gss-server"
  115. FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
  116. FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
  117. ${localstatedir}/krb5kdc \
  118. ${sbindir}/kdb5_util \
  119. ${sbindir}/kproplog \
  120. ${sbindir}/krb5kdc \
  121. ${sysconfdir}/default/krb5-kdc \
  122. ${sysconfdir}/default/volatiles/87_krb5 \
  123. ${sysconfdir}/init.d/krb5-kdc \
  124. ${sysconfdir}/tmpfiles.d/krb5.conf \
  125. ${systemd_system_unitdir}/krb5-kdc.service"
  126. FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
  127. ${libdir}/krb5/plugins/kdb/kldap.so \
  128. ${sbindir}/kdb5_ldap_util"
  129. FILES_${PN}-kpropd = "${sbindir}/kpropd"
  130. FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
  131. FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
  132. FILES_${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so"
  133. FILES_${PN}-user = "${bindir}/k*"
  134. FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
  135. FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
  136. FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
  137. FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
  138. FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
  139. FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
  140. FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
  141. FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
  142. ${libdir}/krb5/plugins/authdata \
  143. ${libdir}/krb5/plugins/libkrb5"
  144. FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
  145. FILES_libverto = "${libdir}/libverto${SOLIBS}"
  146. RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
  147. RDEPENDS_${PN}-kpropd = "${PN}-kdc"
  148. INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
  149. INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
  150. INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
  151. SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
  152. SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
  153. SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
  154. pkg_postinst_${PN}-kdc () {
  155. if [ -z "$D" ]; then
  156. if command -v systemd-tmpfiles >/dev/null; then
  157. systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
  158. elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
  159. ${sysconfdir}/init.d/populate-volatile.sh update
  160. fi
  161. fi
  162. }
  163. BBCLASSEXTEND = "native nativesdk"