SUMMARY = "Admin interface for Linux machines" DESCRIPTION = "Cockpit makes it easy to administer your GNU/Linux servers via a web browser" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI += " \ https://github.com/cockpit-project/cockpit/releases/download/${PV}/cockpit-${PV}.tar.xz \ file://0001-remove-tests-dep-on-gobject-intro.patch \ file://0002-fix-makefile-use-copy-rule-for-unmodified-files.patch \ file://cockpit.pam \ " SRC_URI[md5sum] = "beb88d8e70ee1da6ebd917c956217803" SRC_URI[sha256sum] = "afc82acc8ef9d51e0f34265a07a2f059f5b71a1df721b299e657a40a098cbb7f" inherit gettext pkgconfig autotools systemd features_check DEPENDS += "glib-2.0-native intltool-native gnutls virtual/gettext json-glib krb5 libpam systemd" COMPATIBLE_HOST:libc-musl = "null" RDEPENDS:${PN} += "glib-networking" REQUIRED_DISTRO_FEATURES = "systemd pam" COCKPIT_USER_GROUP ?= "root" COCKPIT_WS_USER_GROUP ?= "${COCKPIT_USER_GROUP}" EXTRA_AUTORECONF = "-I tools" EXTRA_OECONF = " \ --with-cockpit-user=${COCKPIT_USER_GROUP} \ --with-cockpit-group=${COCKPIT_USER_GROUP} \ --with-cockpit-ws-instance-user=${COCKPIT_WS_USER_GROUP} \ --with-cockpit-ws-instance-group=${COCKPIT_WS_USER_GROUP} \ --disable-doc \ --with-systemdunitdir=${systemd_system_unitdir} \ " PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ " PACKAGECONFIG[pcp] = "--enable-pcp,--disable-pcp,pcp" PACKAGECONFIG[dashboard] = "--enable-ssh,--disable-ssh,libssh" PACKAGECONFIG[storaged] = ",,,udisks2" PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" PACKAGES =+ " \ ${PN}-pcp \ ${PN}-realmd \ ${PN}-tuned \ ${PN}-shell \ ${PN}-systemd \ ${PN}-users \ ${PN}-kdump \ ${PN}-sosreport \ ${PN}-storaged \ ${PN}-networkmanager \ ${PN}-machines \ ${PN}-selinux \ ${PN}-playground \ ${PN}-docker \ ${PN}-dashboard \ ${PN}-bridge \ ${PN}-ws \ ${PN}-desktop \ " SYSTEMD_PACKAGES = "${PN}-ws" FILES:${PN}-pcp = " \ ${libexecdir}/cockpit-pcp \ ${datadir}/cockpit/pcp \ ${localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit \ " FILES:${PN}-realmd = "${datadir}/cockpit/realmd" FILES:${PN}-tuned = "${datadir}/cockpit/tuned" FILES:${PN}-shell = "${datadir}/cockpit/shell" FILES:${PN}-systemd = "${datadir}/cockpit/systemd" FILES:${PN}-users = "${datadir}/cockpit/users" FILES:${PN}-kdump = " \ ${datadir}/cockpit/kdump \ ${datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml \ " FILES:${PN}-sosreport = " \ ${datadir}/cockpit/sosreport \ ${datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml \ ${datadir}/pixmaps/cockpit-sosreport.png \ " FILES:${PN}-storaged = " \ ${datadir}/cockpit/storaged \ ${datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml \ " FILES:${PN}-networkmanager = "${datadir}/cockpit/networkmanager" RDEPENDS:${PN}-networkmanager = "networkmanager" FILES:${PN}-machines = " \ ${datadir}/cockpit/machines \ ${datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml \ " FILES:${PN}-selinux = " \ ${datadir}/cockpit/selinux \ ${datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml \ " FILES:${PN}-playground = "${datadir}/cockpit/playground" FILES:${PN}-docker = " \ ${datadir}/cockpit/docker \ ${datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml \ " FILES:${PN}-dashboard = "${datadir}/cockpit/dashboard" ALLOW_EMPTY:${PN}-dashboard = "1" FILES:${PN}-bridge = " \ ${bindir}/cockpit-bridge \ ${libexec}/cockpit-askpass \ " RDEPENDS:${PN}-bridge = "" FILES:${PN}-desktop = "${libexecdir}/cockpit-desktop" RDEPENDS:${PN}-desktop += "bash" FILES:${PN}-ws = " \ ${sysconfdir}/cockpit/ws-certs.d \ ${sysconfdir}/pam.d/cockpit \ ${sysconfdir}/issue.d/cockpit.issue \ ${sysconfdir}/motd.d/cockpit \ ${datadir}/cockpit/motd/update-motd \ ${datadir}/cockpit/motd/inactive.motd \ ${systemd_system_unitdir}/cockpit.service \ ${systemd_system_unitdir}/cockpit-motd.service \ ${systemd_system_unitdir}/cockpit.socket \ ${systemd_system_unitdir}/cockpit-wsinstance-http.socket \ ${systemd_system_unitdir}/cockpit-wsinstance-http.service \ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.socket \ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.service \ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory.socket \ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory@.service \ ${systemd_system_unitdir}/cockpit-wsinstance-https@.socket \ ${systemd_system_unitdir}/cockpit-wsinstance-https@.service \ ${systemd_system_unitdir}/system-cockpithttps.slice \ ${libdir}/tmpfiles.d/cockpit-tempfiles.conf \ ${sbindir}/remotectl \ ${libdir}/security/pam_ssh_add.so \ ${libdir}/security/pam_cockpit_cert.so \ ${libexecdir}/cockpit-ws \ ${libexecdir}/cockpit-wsinstance-factory \ ${libexecdir}/cockpit-tls \ ${libexecdir}/cockpit-session \ ${localstatedir}/lib/cockpit \ ${datadir}/cockpit/static \ ${datadir}/cockpit/branding \ " CONFFILES:${PN}-ws += " \ ${sysconfdir}/issue.d/cockpit.issue \ ${sysconfdir}/motd.d/cockpit \ " RDEPENDS:${PN}-ws += "openssl-bin" SYSTEMD_SERVICE:${PN}-ws = "cockpit.socket" FILES:${PN} += " \ ${datadir}/cockpit/base1 \ ${sysconfdir}/cockpit/machines.d \ ${datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \ ${datadir}/cockpit/ssh \ ${libexecdir}/cockpit-ssh \ ${datadir}/cockpit \ ${datadir}/metainfo/cockpit.appdata.xml \ ${datadir}/pixmaps/cockpit.png \ " RDEPENDS:${PN} += "${PN}-bridge" do_install:append() { pkgdatadir=${datadir}/cockpit chmod 4750 ${D}${libexecdir}/cockpit-session install -d "${D}${sysconfdir}/pam.d" install -p -m 0644 ${WORKDIR}/cockpit.pam ${D}${sysconfdir}/pam.d/cockpit # provided by firewalld rm -rf ${D}${libdir}/firewalld if ! ${@bb.utils.contains('PACKAGECONFIG', 'storaged', 'true', 'false', d)}; then for filename in ${FILES:${PN}-storaged} do rm -rf ${D}$filename done fi }