blob: 0de787fd910d9de4bfc574a98dfcab1ae7da8b14 [file] [log] [blame]
Andrew Geissler7f40b712020-05-15 14:09:53 -05001SUMMARY = "Admin interface for Linux machines"
2DESCRIPTION = "Cockpit makes it easy to administer your GNU/Linux servers via a web browser"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
6
7SRC_URI += " \
8 https://github.com/cockpit-project/cockpit/releases/download/${PV}/cockpit-${PV}.tar.xz \
9 file://0001-remove-tests-dep-on-gobject-intro.patch \
10 file://0002-fix-makefile-use-copy-rule-for-unmodified-files.patch \
11 file://0003-install-fix-metainfo.xml-ownership-on-install.patch \
12 file://cockpit.pam \
13 "
14SRC_URI[md5sum] = "e69b0b8a75a5d55ddfd9817d857c71af"
15SRC_URI[sha256sum] = "5f242cefccd7f1120c9e0310581aa51dbe941d9c4a6d8375c45057dcbb6f2fbb"
16
17inherit gettext pkgconfig autotools systemd features_check
18
19DEPENDS += "glib-2.0-native intltool-native gnutls virtual/gettext json-glib krb5 libpam systemd"
20
21COMPATIBLE_HOST_libc-musl = "null"
22
23RDEPENDS_${PN} += "glib-networking"
24
25REQUIRED_DISTRO_FEATURES = "systemd pam"
26
27COCKPIT_USER_GROUP ?= "root"
28COCKPIT_WS_USER_GROUP ?= "${COCKPIT_USER_GROUP}"
29
30EXTRA_AUTORECONF = "-I tools"
31EXTRA_OECONF = " \
32 --with-cockpit-user=${COCKPIT_USER_GROUP} \
33 --with-cockpit-group=${COCKPIT_USER_GROUP} \
34 --with-cockpit-ws-instance-user=${COCKPIT_WS_USER_GROUP} \
35 --with-cockpit-ws-instance-group=${COCKPIT_WS_USER_GROUP} \
36 --disable-doc \
37 --with-systemdunitdir=${systemd_system_unitdir} \
38"
39
40PACKAGECONFIG[pcp] = "--enable-pcp,--disable-pcp,pcp"
41PACKAGECONFIG[dashboard] = "--enable-ssh,--disable-ssh,libssh"
42
43PACKAGES =+ " \
44 ${PN}-pcp \
45 ${PN}-realmd \
46 ${PN}-tuned \
47 ${PN}-shell \
48 ${PN}-systemd \
49 ${PN}-users \
50 ${PN}-kdump \
51 ${PN}-sosreport \
52 ${PN}-storaged \
53 ${PN}-networkmanager \
54 ${PN}-machines \
55 ${PN}-selinux \
56 ${PN}-playground \
57 ${PN}-docker \
58 ${PN}-dashboard \
59 ${PN}-bridge \
60 ${PN}-ws \
61 ${PN}-desktop \
62"
63SYSTEMD_PACKAGES = "${PN}-ws"
64
65FILES_${PN}-pcp = " \
66 ${libexecdir}/cockpit-pcp \
67 ${datadir}/cockpit/pcp \
68 ${localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit \
69"
70FILES_${PN}-realmd = "${datadir}/cockpit/realmd"
71FILES_${PN}-tuned = "${datadir}/cockpit/tuned"
72FILES_${PN}-shell = "${datadir}/cockpit/shell"
73FILES_${PN}-systemd = "${datadir}/cockpit/systemd"
74FILES_${PN}-users = "${datadir}/cockpit/users"
75FILES_${PN}-kdump = " \
76 ${datadir}/cockpit/kdump \
77 ${datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml \
78"
79FILES_${PN}-sosreport = " \
80 ${datadir}/cockpit/sosreport \
81 ${datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml \
82 ${datadir}/pixmaps/cockpit-sosreport.png \
83"
84FILES_${PN}-storaged = " \
85 ${datadir}/cockpit/storaged \
86 ${datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml \
87"
88RDEPENDS_${PN}-storaged = "udisks2"
89
90FILES_${PN}-networkmanager = "${datadir}/cockpit/networkmanager"
91RDEPENDS_${PN}-networkmanager = "networkmanager"
92
93FILES_${PN}-machines = " \
94 ${datadir}/cockpit/machines \
95 ${datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml \
96"
97FILES_${PN}-selinux = " \
98 ${datadir}/cockpit/selinux \
99 ${datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml \
100"
101FILES_${PN}-playground = "${datadir}/cockpit/playground"
102FILES_${PN}-docker = " \
103 ${datadir}/cockpit/docker \
104 ${datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml \
105"
106FILES_${PN}-dashboard = "${datadir}/cockpit/dashboard"
107ALLOW_EMPTY_${PN}-dashboard = "1"
108
109FILES_${PN}-bridge = " \
110 ${bindir}/cockpit-bridge \
111 ${libexec}/cockpit-askpass \
112"
113RDEPENDS_${PN}-bridge = ""
114
115FILES_${PN}-desktop = "${libexecdir}/cockpit-desktop"
116RDEPENDS_${PN}-desktop += "bash"
117
118FILES_${PN}-ws = " \
119 ${sysconfdir}/cockpit/ws-certs.d \
120 ${sysconfdir}/pam.d/cockpit \
121 ${sysconfdir}/issue.d/cockpit.issue \
122 ${sysconfdir}/motd.d/cockpit \
123 ${datadir}/cockpit/motd/update-motd \
124 ${datadir}/cockpit/motd/inactive.motd \
125 ${systemd_system_unitdir}/cockpit.service \
126 ${systemd_system_unitdir}/cockpit-motd.service \
127 ${systemd_system_unitdir}/cockpit.socket \
128 ${systemd_system_unitdir}/cockpit-wsinstance-http.socket \
129 ${systemd_system_unitdir}/cockpit-wsinstance-http.service \
130 ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.socket \
131 ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.service \
132 ${systemd_system_unitdir}/cockpit-wsinstance-https-factory.socket \
133 ${systemd_system_unitdir}/cockpit-wsinstance-https-factory@.service \
134 ${systemd_system_unitdir}/cockpit-wsinstance-https@.socket \
135 ${systemd_system_unitdir}/cockpit-wsinstance-https@.service \
136 ${systemd_system_unitdir}/system-cockpithttps.slice \
137 ${libdir}/tmpfiles.d/cockpit-tempfiles.conf \
138 ${sbindir}/remotectl \
139 ${libdir}/security/pam_ssh_add.so \
140 ${libdir}/security/pam_cockpit_cert.so \
141 ${libexecdir}/cockpit-ws \
142 ${libexecdir}/cockpit-wsinstance-factory \
143 ${libexecdir}/cockpit-tls \
144 ${libexecdir}/cockpit-session \
145 ${localstatedir}/lib/cockpit \
146 ${datadir}/cockpit/static \
147 ${datadir}/cockpit/branding \
148"
149CONFFILES_${PN}-ws += " \
150 ${sysconfdir}/issue.d/cockpit.issue \
151 ${sysconfdir}/motd.d/cockpit \
152"
153RDEPENDS_${PN}-ws += "openssl-bin"
154SYSTEMD_SERVICE_${PN}-ws = "cockpit.socket"
155
156FILES_${PN} += " \
157 ${datadir}/cockpit/base1 \
158 ${sysconfdir}/cockpit/machines.d \
159 ${datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \
160 ${datadir}/cockpit/ssh \
161 ${libexecdir}/cockpit-ssh \
162 ${datadir}/cockpit \
163 ${datadir}/metainfo/cockpit.appdata.xml \
164 ${datadir}/pixmaps/cockpit.png \
165"
166RDEPENDS_${PN} += "${PN}-bridge"
167
168do_install_append() {
169 pkgdatadir=${datadir}/cockpit
170
171 chmod 4750 ${D}${libexecdir}/cockpit-session
172
173 install -d "${D}${sysconfdir}/pam.d"
174 install -p -m 0644 ${WORKDIR}/cockpit.pam ${D}${sysconfdir}/pam.d/cockpit
175
176 # provided by firewalld
177 rm -rf ${D}${libdir}/firewalld
178}