SHA256
1
0
forked from cockpit/cockpit

Accepting request 791691 from home:lnussel:branches:systemsmanagement:cockpit

- new version 215

Note even though the diff might look wild it's actually synced up with
upstream. I sent most changes there and they were accepted.

License string and libpwquality change are still pending approval, the test has
been merged.
What's left is this:
ae413cf9cf

OBS-URL: https://build.opensuse.org/request/show/791691
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=26
This commit is contained in:
Klaus Kämpf 2020-04-15 08:21:19 +00:00 committed by Git OBS Bridge
parent 64c45561f6
commit 55b44b2d8a
6 changed files with 293 additions and 342 deletions

View File

@ -0,0 +1,79 @@
From 43541b196f8816b743f83e38a4e33367610dbde8 Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Tue, 31 Mar 2020 13:12:18 +0200
Subject: [PATCH] openSUSE Tumbleweed branding
---
Makefile.am | 1 +
src/branding/opensuse-tumbleweed/Makefile.am | 11 ++++++++++
src/branding/opensuse-tumbleweed/branding.css | 30 +++++++++++++++++++++++++++
tools/cockpit.spec | 2 +-
4 files changed, 43 insertions(+), 1 deletion(-)
create mode 100644 src/branding/opensuse-tumbleweed/Makefile.am
create mode 100644 src/branding/opensuse-tumbleweed/branding.css
diff --git a/Makefile.am b/Makefile.am
index bee855890..f76b4a349 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -444,6 +444,7 @@ include src/branding/debian/Makefile.am
include src/branding/default/Makefile.am
include src/branding/fedora/Makefile.am
include src/branding/kubernetes/Makefile.am
+include src/branding/opensuse-tumbleweed/Makefile.am
include src/branding/registry/Makefile.am
include src/branding/rhel/Makefile.am
include src/branding/scientific/Makefile.am
diff --git a/src/branding/opensuse-tumbleweed/Makefile.am b/src/branding/opensuse-tumbleweed/Makefile.am
new file mode 100644
index 000000000..f45234ccb
--- /dev/null
+++ b/src/branding/opensuse-tumbleweed/Makefile.am
@@ -0,0 +1,11 @@
+tumbleweedbrandingdir = $(datadir)/cockpit/branding/opensuse-tumbleweed
+
+tumbleweedbranding_DATA = \
+ src/branding/opensuse-tumbleweed/branding.css \
+ $(NULL)
+
+EXTRA_DIST += $(tumbleweedbranding_DATA)
+
+install-data-hook::
+ $(LN_S) -f /usr/share/wallpapers/default-1920x1200.jpg $(DESTDIR)$(tumbleweedbrandingdir)/default-1920x1200.jpg
+ $(LN_S) -f /usr/share/pixmaps/distribution-logos/square-hicolor.svg $(DESTDIR)$(tumbleweedbrandingdir)/square-hicolor.svg
diff --git a/src/branding/opensuse-tumbleweed/branding.css b/src/branding/opensuse-tumbleweed/branding.css
new file mode 100644
index 000000000..e9191d4ef
--- /dev/null
+++ b/src/branding/opensuse-tumbleweed/branding.css
@@ -0,0 +1,30 @@
+.navbar-pf {
+ border-color: #73ba25 !important;
+}
+
+body.login-pf {
+ background: url("default-1920x1200.jpg") no-repeat 50% 0;
+ background-size: cover;
+ background-color: #42474c;
+}
+
+#badge {
+ width: 5em;
+ height: 5em;
+ background-image: url("square-hicolor.svg");
+ background-size: contain;
+ background-repeat: no-repeat;
+}
+
+#brand {
+ font-size: 18pt;
+ text-transform: uppercase;
+}
+
+#brand:before {
+ content: "${NAME}";
+}
+
+#index-brand:before {
+ content: "${NAME}";
+}

View File

@ -0,0 +1,41 @@
From 0f38a3a889b71351dae831d017958bec955daaaa Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Thu, 26 Mar 2020 18:12:07 +0100
Subject: [PATCH] test: handle XDG_CONFIG_DIRS
Previously the test would fail in an environment where XDG_CONFIG_DIRS
was set as it takes precedence over the built in defaults. So let's just
set XDG_CONFIG_DIRS and test that feature instead.
---
src/common/test-config.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/common/test-config.c b/src/common/test-config.c
index cf5b8746b..4b5153153 100644
--- a/src/common/test-config.c
+++ b/src/common/test-config.c
@@ -27,7 +27,6 @@
/* Mock override cockpitconf.c */
extern const gchar *cockpit_config_file;
-extern const gchar *cockpit_config_dirs[];
static void
test_get_strings (void)
@@ -134,11 +133,11 @@ test_get_strvs (void)
static void
test_load_dir (void)
{
- cockpit_config_dirs[0] = SRCDIR "/src/ws/mock-config";
+ g_setenv("XDG_CONFIG_DIRS", "/does-not-exist:" SRCDIR "/src/ws/mock-config", 1);
cockpit_config_file = "cockpit.conf";
g_assert_cmpstr (cockpit_conf_string ("Section2", "value1"), ==, "string");
- g_assert_cmpstr (cockpit_conf_get_dirs ()[0], ==, SRCDIR "/src/ws/mock-config");
+ g_assert_cmpstr (cockpit_conf_get_dirs ()[1], ==, SRCDIR "/src/ws/mock-config");
cockpit_conf_cleanup ();
}
--
2.16.4

BIN
cockpit-195.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
cockpit-215.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Fri Mar 27 10:50:51 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 215
-------------------------------------------------------------------
Thu Aug 22 09:50:14 UTC 2019 - Ludwig Nussel <lnussel@suse.de>
- new version 200
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jun 21 13:44:05 UTC 2019 - Boris Manojlovic <boris@steki.net> Fri Jun 21 13:44:05 UTC 2019 - Boris Manojlovic <boris@steki.net>

View File

@ -41,58 +41,36 @@
# build optional extensions like cockpit-docker # build optional extensions like cockpit-docker
%define build_optional 1 %define build_optional 1
# cockpit's firewall service definition moved to firewalld
%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8
%define firewalld_service 0
%else
%define firewalld_service 1
%endif
%define __lib lib %define __lib lib
# on RHEL 7.x we build subscriptions; superseded later by %if 0%{?rhel}
# external subscription-manager-cockpit
%if (0%{?rhel} >= 7 && 0%{?rhel} < 8) && 0%{?centos} == 0
%define build_subscriptions 1
%endif
# cockpit-kubernetes is RHEL 7 and Fedora < 30 only, and 64 bit arches only
%if (0%{?fedora} && 0%{?fedora} < 30) || (0%{?rhel} >= 7 && 0%{?rhel} < 8)
%ifarch aarch64 x86_64 ppc64le s390x
%define build_kubernetes 1
%endif
%endif
# cockpit-machines-ovirt is RHEL 7 and Fedora < 30 only
%if (0%{?fedora} && 0%{?fedora} < 30) || (0%{?rhel} >= 7 && 0%{?rhel} < 8)
%define build_ovirt 1
%endif
%if 0%{?rhel} >= 8
%global go_scl_prefix go-toolset-7-
%else
%global go_scl_prefix %{nil}
%endif
%if 0%{?rhel} >= 7
%define vdo_on_demand 1 %define vdo_on_demand 1
%endif %endif
%if 0%{?suse_version}
%define pamdir /%{_lib}/security
%else
%define pamdir %{_libdir}/security
%endif
Name: cockpit Name: cockpit
Summary: Web Console for Linux servers Summary: Web Console for Linux servers
License: LGPLv2+ License: LGPL-2.1-or-later
URL: https://cockpit-project.org/ URL: https://cockpit-project.org/
Version: 195 Version: 215
%if %{defined wip} %if %{defined wip}
Release: 1.%{wip}%{?dist} Release: 1.%{wip}%{?dist}
Source0: cockpit-%{version}.tar.gz Source0: cockpit-%{version}.tar.gz
%else %else
Release: 1%{?dist} Release: 0
Source0: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz Source0: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz
%endif %endif
Source1: cockpit.pam Source1: cockpit.pam
# merged upstream after 215
Patch: 0001-test-handle-XDG_CONFIG_DIRS.patch
Patch1: 0001-openSUSE-Tumbleweed-branding.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gio-unix-2.0)
@ -101,46 +79,39 @@ BuildRequires: pkgconfig(polkit-agent-1) >= 0.105
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: autoconf automake BuildRequires: autoconf automake
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?suse_version} > 1315
BuildRequires: /usr/bin/python3 BuildRequires: /usr/bin/python3
%else BuildRequires: gettext >= 0.19.7
%if 0%{?suse_version}
BuildRequires: python-base
%else
BuildRequires: /usr/bin/python2
%endif
%endif
BuildRequires: intltool
%if %{defined build_dashboard} %if %{defined build_dashboard}
BuildRequires: libssh-devel >= 0.7.1 BuildRequires: libssh-devel >= 0.8
%endif %endif
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: gnutls-devel >= 3.4.3
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: krb5-devel BuildRequires: krb5-devel >= 1.11
BuildRequires: libxslt-devel BuildRequires: libxslt-devel
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: docbook-style-xsl
%endif
BuildRequires: glib-networking BuildRequires: glib-networking
BuildRequires: sed BuildRequires: sed
BuildRequires: glib2-devel >= 2.37.4 BuildRequires: glib2-devel >= 2.37.4
BuildRequires: systemd-devel # this is for runtimedir in the tls proxy ace21c8879
%if 0%{?fedora} || 0%{?rhel} BuildRequires: systemd-devel >= 235
BuildRequires: pcp-libs-devel %if 0%{?suse_version}
%else BuildRequires: distribution-release
%if 0%{?suse_version}
BuildRequires: libpcp-devel BuildRequires: libpcp-devel
BuildRequires: pcp-devel BuildRequires: pcp-devel
BuildRequires: libpcp3 BuildRequires: libpcp3
BuildRequires: libpcp_import1 BuildRequires: libpcp_import1
%endif BuildRequires: openssh
BuildRequires: distribution-logos
BuildRequires: wallpaper-branding
%else
BuildRequires: pcp-libs-devel
BuildRequires: openssh-clients
BuildRequires: docbook-style-xsl
%endif %endif
BuildRequires: krb5-server BuildRequires: krb5-server
BuildRequires: gdb BuildRequires: gdb
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: openssh-clients
%endif
# For documentation # For documentation
BuildRequires: xmlto BuildRequires: xmlto
@ -152,80 +123,70 @@ Requires: cockpit-ws
Requires: cockpit-system Requires: cockpit-system
# Optional components # Optional components
%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: (cockpit-storaged if udisks2)
%if 0%{?rhel} == 0 Recommends: cockpit-packagekit
Recommends: cockpit-dashboard Suggests: cockpit-pcp
%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x %ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x
%if 0%{?fedora} == 31 && 0%{?build_optional}
%define build_docker 1
Recommends: (cockpit-docker if /usr/bin/docker) Recommends: (cockpit-docker if /usr/bin/docker)
%endif %endif
%endif %endif
%if 0%{?rhel} == 0
Recommends: cockpit-dashboard
Recommends: (cockpit-networkmanager if NetworkManager) Recommends: (cockpit-networkmanager if NetworkManager)
Recommends: (cockpit-storaged if udisks2)
Recommends: cockpit-packagekit
%if 0%{?rhel} >= 8 && 0%{?centos} == 0
Recommends: subscription-manager-cockpit
%endif
Suggests: cockpit-pcp
%if 0%{?build_kubernetes}
Suggests: cockpit-kubernetes
%endif
Suggests: cockpit-selinux Suggests: cockpit-selinux
%endif %endif
%if 0%{?rhel} && 0%{?centos} == 0
Recommends: subscription-manager-cockpit
%endif
%prep %prep
%setup -q -n cockpit-%{version} %setup -q -n cockpit-%{version}
%autopatch -p1
cp %SOURCE1 tools/cockpit.pam
%build %build
exec 2>&1 exec 2>&1
%configure \ %configure \
--disable-silent-rules \ --disable-silent-rules \
--with-cockpit-user=cockpit-ws \ --with-cockpit-user=cockpit-ws \
--with-cockpit-ws-instance-user=cockpit-wsinstance \
--with-selinux-config-type=etc_t \ --with-selinux-config-type=etc_t \
%if 0%{?rhel} >= 7 && 0%{?rhel} < 8
--without-storaged-iscsi-sessions \
%endif
%if 0%{?suse_version}
--docdir=%_defaultdocdir/%{name} \
--with-pamdir='/%{_lib}/security' \
%endif
--with-appstream-data-packages='[ "appstream-data" ]' \ --with-appstream-data-packages='[ "appstream-data" ]' \
--with-nfs-client-package='"nfs-utils"' \ --with-nfs-client-package='"nfs-utils"' \
%if 0%{?suse_version}
--docdir=%_defaultdocdir/%{name} \
%endif
--with-pamdir='%{pamdir}' \
%{?vdo_on_demand:--with-vdo-package='"vdo"'} %{?vdo_on_demand:--with-vdo-package='"vdo"'}
make -j4 %{?extra_flags} all make -j4 %{?extra_flags} all
%check %check
exec 2>&1 exec 2>&1
%if ! 0%{?opensuse_bs}
make -j4 check make -j4 check
%else
echo "we are in Build service most test fail as no network"
%endif
%install %install
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
make install-tests DESTDIR=%{buildroot} make install-tests DESTDIR=%{buildroot}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
install -p -m 644 %{S:1} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit
rm -f %{buildroot}/%{_libdir}/cockpit/*.so rm -f %{buildroot}/%{_libdir}/cockpit/*.so
%if 0%{?firewalld_service} == 0 # shipped in firewalld since 0.6, everywhere in Fedora/RHEL 8
rm -f %{buildroot}/%{_prefix}/%{__lib}/firewalld/services/cockpit.xml rm -f %{buildroot}/%{_prefix}/%{__lib}/firewalld/services/cockpit.xml
%endif install -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/
mkdir -p $RPM_BUILD_ROOT%{_docdir}/cockpit/
install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/
# Build the package lists for resource packages # Build the package lists for resource packages
echo '%dir %{_datadir}/cockpit/base1' > base.list echo '%dir %{_datadir}/cockpit/base1' > base.list
echo '%dir %{_datadir}/cockpit/base1/fonts' >> base.list
find %{buildroot}%{_datadir}/cockpit/base1 -type f >> base.list find %{buildroot}%{_datadir}/cockpit/base1 -type f >> base.list
echo '%{_sysconfdir}/cockpit/machines.d' >> base.list echo '%{_sysconfdir}/cockpit/machines.d' >> base.list
echo %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy >> base.list echo %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy >> base.list
# RHEL 7 needs to keep cockpit-ssh in dashboard for backwards compat echo '%dir %{_datadir}/cockpit/ssh' >> base.list
%if 0%{?rhel} == 7
find %{buildroot}%{_datadir}/cockpit/ssh -type f >> dashboard.list
echo '%{_libexecdir}/cockpit-ssh' >> dashboard.list
%else
find %{buildroot}%{_datadir}/cockpit/ssh -type f >> base.list find %{buildroot}%{_datadir}/cockpit/ssh -type f >> base.list
echo '%{_libexecdir}/cockpit-ssh' >> base.list echo '%{_libexecdir}/cockpit-ssh' >> base.list
%endif
%if %{defined build_dashboard} %if %{defined build_dashboard}
echo '%dir %{_datadir}/cockpit/dashboard' >> dashboard.list echo '%dir %{_datadir}/cockpit/dashboard' >> dashboard.list
@ -238,9 +199,6 @@ touch dashboard.list
echo '%dir %{_datadir}/cockpit/pcp' >> pcp.list echo '%dir %{_datadir}/cockpit/pcp' >> pcp.list
find %{buildroot}%{_datadir}/cockpit/pcp -type f >> pcp.list find %{buildroot}%{_datadir}/cockpit/pcp -type f >> pcp.list
echo '%dir %{_datadir}/cockpit/realmd' >> system.list
find %{buildroot}%{_datadir}/cockpit/realmd -type f >> system.list
echo '%dir %{_datadir}/cockpit/tuned' >> system.list echo '%dir %{_datadir}/cockpit/tuned' >> system.list
find %{buildroot}%{_datadir}/cockpit/tuned -type f >> system.list find %{buildroot}%{_datadir}/cockpit/tuned -type f >> system.list
@ -259,13 +217,6 @@ find %{buildroot}%{_datadir}/cockpit/kdump -type f >> kdump.list
echo '%dir %{_datadir}/cockpit/sosreport' > sosreport.list echo '%dir %{_datadir}/cockpit/sosreport' > sosreport.list
find %{buildroot}%{_datadir}/cockpit/sosreport -type f >> sosreport.list find %{buildroot}%{_datadir}/cockpit/sosreport -type f >> sosreport.list
%if %{defined build_subscriptions}
echo '%dir %{_datadir}/cockpit/subscriptions' >> system.list
find %{buildroot}%{_datadir}/cockpit/subscriptions -type f >> system.list
%else
rm -rf %{buildroot}/%{_datadir}/cockpit/subscriptions
%endif
echo '%dir %{_datadir}/cockpit/storaged' > storaged.list echo '%dir %{_datadir}/cockpit/storaged' > storaged.list
find %{buildroot}%{_datadir}/cockpit/storaged -type f >> storaged.list find %{buildroot}%{_datadir}/cockpit/storaged -type f >> storaged.list
@ -281,51 +232,24 @@ find %{buildroot}%{_datadir}/cockpit/apps -type f >> packagekit.list
echo '%dir %{_datadir}/cockpit/machines' > machines.list echo '%dir %{_datadir}/cockpit/machines' > machines.list
find %{buildroot}%{_datadir}/cockpit/machines -type f >> machines.list find %{buildroot}%{_datadir}/cockpit/machines -type f >> machines.list
%if 0%{?build_ovirt}
echo '%dir %{_datadir}/cockpit/ovirt' > ovirt.list
find %{buildroot}%{_datadir}/cockpit/ovirt -type f >> ovirt.list
%else
rm -rf %{buildroot}/%{_datadir}/cockpit/ovirt
touch ovirt.list
%endif
echo '%dir %{_datadir}/cockpit/selinux' > selinux.list echo '%dir %{_datadir}/cockpit/selinux' > selinux.list
find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
echo '%dir %{_datadir}/cockpit/playground' > tests.list echo '%dir %{_datadir}/cockpit/playground' > tests.list
find %{buildroot}%{_datadir}/cockpit/playground -type f >> tests.list find %{buildroot}%{_datadir}/cockpit/playground -type f >> tests.list
%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x %if 0%{?build_docker}
%if 0%{?fedora} || 0%{?rhel} < 8
echo '%dir %{_datadir}/cockpit/docker' > docker.list echo '%dir %{_datadir}/cockpit/docker' > docker.list
find %{buildroot}%{_datadir}/cockpit/docker -type f >> docker.list find %{buildroot}%{_datadir}/cockpit/docker -type f >> docker.list
%else %else
rm -rf %{buildroot}/%{_datadir}/cockpit/docker rm -rf %{buildroot}/%{_datadir}/cockpit/docker
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml
touch docker.list touch docker.list
%endif %endif
%else
rm -rf %{buildroot}/%{_datadir}/cockpit/docker
touch docker.list
%endif
%if 0%{?build_kubernetes}
%if %{defined wip}
%else
rm %{buildroot}/%{_datadir}/cockpit/kubernetes/override.json
%endif
echo '%dir %{_datadir}/cockpit/kubernetes' > kubernetes.list
find %{buildroot}%{_datadir}/cockpit/kubernetes -type f >> kubernetes.list
%else
rm -rf %{buildroot}/%{_datadir}/cockpit/kubernetes
rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-auth
rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-launch
rm %{buildroot}/%{_libexecdir}/cockpit-stub
touch kubernetes.list
%endif
# when not building basic packages, remove their files # when not building basic packages, remove their files
%if 0%{?build_basic} == 0 %if 0%{?build_basic} == 0
for pkg in base1 branding motd kdump networkmanager realmd selinux shell sosreport ssh static systemd tuned users; do for pkg in base1 branding motd kdump networkmanager selinux shell sosreport ssh static systemd tuned users; do
rm -r %{buildroot}/%{_datadir}/cockpit/$pkg rm -r %{buildroot}/%{_datadir}/cockpit/$pkg
rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml
done done
@ -335,7 +259,7 @@ done
for lib in systemd tmpfiles.d firewalld; do for lib in systemd tmpfiles.d firewalld; do
rm -r %{buildroot}/%{_prefix}/%{__lib}/$lib rm -r %{buildroot}/%{_prefix}/%{__lib}/$lib
done done
for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-desktop; do for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-desktop; do
rm %{buildroot}/%{_libexecdir}/$libexec rm %{buildroot}/%{_libexecdir}/$libexec
done done
rm -r %{buildroot}/%{_libdir}/security %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d rm -r %{buildroot}/%{_libdir}/security %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d
@ -346,65 +270,34 @@ rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml
# when not building optional packages, remove their files # when not building optional packages, remove their files
%if 0%{?build_optional} == 0 %if 0%{?build_optional} == 0
for pkg in apps dashboard docker kubernetes machines ovirt packagekit pcp playground storaged; do for pkg in apps dashboard docker machines packagekit pcp playground storaged; do
rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg
done done
# files from -tests # files from -tests
rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets %{buildroot}/%{_sysconfdir}/cockpit/cockpit.conf rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets %{buildroot}/%{_sysconfdir}/cockpit/cockpit.conf
# files from -pcp # files from -pcp
rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/ rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/
# files from -kubernetes
rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-auth %{buildroot}/%{_libexecdir}/cockpit-kube-launch %{buildroot}/%{_libexecdir}/cockpit-stub
# files from -machines # files from -machines
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml
# files from -storaged # files from -storaged
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
# files from -docker
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml
%endif %endif
%if 0%{?suse_version}
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/fedora
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/scientific
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/rhel
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/debian
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/ubuntu
rm -rf %{buildroot}/%{_datadir}/cockpit/branding/centos
mkdir -p %{buildroot}/%{_rundir}/cockpit/
touch %{buildroot}/%{_rundir}/cockpit/motd
%endif
sed -i "s|%{buildroot}||" *.list sed -i "s|%{buildroot}||" *.list
# Build the package lists for debug package, and move debug files to installed locations %if 0%{?suse_version}
find %{buildroot}/usr/src/debug%{_datadir}/cockpit -type f -o -type l > debug.partial # remove brandings that don't match the distro as they may contain
sed -i "s|%{buildroot}/usr/src/debug||" debug.partial # stale symlinks
sed -n 's/\.map\(\.gz\)\?$/\0/p' *.list >> debug.partial pushd %{buildroot}/%{_datadir}/cockpit/branding
sed -i '/\.map\(\.gz\)\?$/d' *.list ls -1 | (. /etc/os-release; grep -v "default\|$ID") | xargs rm -vr
tar -C %{buildroot}/usr/src/debug -cf - . | tar -C %{buildroot} -xf - popd
rm -rf %{buildroot}/usr/src/debug # need this in SUSE as post build checks dislike stale symlinks
install -m 644 -D /dev/null %{buildroot}/run/cockpit/motd
# On RHEL kdump, networkmanager, selinux, and sosreport are part of the system package %else
%if 0%{?rhel}
cat kdump.list sosreport.list networkmanager.list selinux.list >> system.list
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml
rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png
%endif
find %{buildroot} -name "*.map" -exec rm -v {} \;
%if 0%{?rhel}
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml
%endif
%if 0%{?build_basic}
%find_lang cockpit
%endif
# dwz has trouble with the go binaries
# https://fedoraproject.org/wiki/PackagingDrafts/Go
%global _dwz_low_mem_die_limit 0
%if 0%{?fedora} || 0%{?rhel} >= 8
%global _debugsource_packages 1 %global _debugsource_packages 1
%global _debuginfo_subpackages 0 %global _debuginfo_subpackages 0
%endif
%define find_debug_info %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_include_minidebuginfo:-m} %{?_find_debuginfo_dwz_opts} %{?_find_debuginfo_opts} %{?_debugsource_packages:-S debugsourcefiles.list} "%{_builddir}/%{?buildsubdir}" %define find_debug_info %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_include_minidebuginfo:-m} %{?_find_debuginfo_dwz_opts} %{?_find_debuginfo_opts} %{?_debugsource_packages:-S debugsourcefiles.list} "%{_builddir}/%{?buildsubdir}"
@ -414,6 +307,29 @@ rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metai
cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \ cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \
%{nil} %{nil}
# Build the package lists for debug package, and move debug files to installed locations
find %{buildroot}/usr/src/debug%{_datadir}/cockpit -type f -o -type l > debug.partial
sed -i "s|%{buildroot}/usr/src/debug||" debug.partial
sed -n 's/\.map\(\.gz\)\?$/\0/p' *.list >> debug.partial
sed -i '/\.map\(\.gz\)\?$/d' *.list
tar -C %{buildroot}/usr/src/debug -cf - . | tar -C %{buildroot} -xf -
%endif
# /suse_version
rm -rf %{buildroot}/usr/src/debug
# On RHEL kdump, networkmanager, selinux, and sosreport are part of the system package
%if 0%{?rhel}
cat kdump.list sosreport.list networkmanager.list selinux.list >> system.list
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml
rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png
%endif
%if 0%{?build_basic}
%find_lang cockpit
%endif
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
# Basic Sub-packages # Basic Sub-packages
@ -434,20 +350,16 @@ troubleshooting, interactive command-line sessions, and more.
%{_datadir}/metainfo/cockpit.appdata.xml %{_datadir}/metainfo/cockpit.appdata.xml
%{_datadir}/pixmaps/cockpit.png %{_datadir}/pixmaps/cockpit.png
%doc %{_mandir}/man1/cockpit.1.gz %doc %{_mandir}/man1/cockpit.1.gz
%dir %{_rundir}/cockpit
%dir %{_datadir}/metainfo
%ghost %{_rundir}/cockpit/motd
%package bridge %package bridge
Summary: Cockpit bridge server-side component Summary: Cockpit bridge server-side component
Requires: glib-networking Requires: glib-networking
%if 0%{?rhel} != 7
Provides: cockpit-ssh = %{version}-%{release} Provides: cockpit-ssh = %{version}-%{release}
# cockpit-ssh moved from dashboard to bridge in 171 # cockpit-ssh moved from dashboard to bridge in 171
Conflicts: cockpit-dashboard < 170.x Conflicts: cockpit-dashboard < 170.x
# PR #10430 dropped workaround for ws' inability to understand x-host-key challenge # PR #10430 dropped workaround for ws' inability to understand x-host-key challenge
Conflicts: cockpit-ws < 181.x Conflicts: cockpit-ws < 181.x
%endif
%description bridge %description bridge
The Cockpit bridge component installed server side and runs commands on the The Cockpit bridge component installed server side and runs commands on the
@ -457,9 +369,6 @@ system on behalf of the web based user interface.
%doc %{_mandir}/man1/cockpit-bridge.1.gz %doc %{_mandir}/man1/cockpit-bridge.1.gz
%{_bindir}/cockpit-bridge %{_bindir}/cockpit-bridge
%{_libexecdir}/cockpit-askpass %{_libexecdir}/cockpit-askpass
%dir %{_sysconfdir}/cockpit
%dir %{_datadir}/cockpit/base1/fonts
%dir %{_datadir}/cockpit/ssh
%package doc %package doc
Summary: Cockpit deployment and developer guide Summary: Cockpit deployment and developer guide
@ -484,9 +393,8 @@ Requires: cockpit-bridge >= %{version}-%{release}
Requires: shadow-utils Requires: shadow-utils
%endif %endif
Requires: grep Requires: grep
Requires: libpwquality Requires: /usr/bin/pwscore
Requires: /usr/bin/date Requires: /usr/bin/date
Provides: cockpit-realmd = %{version}-%{release}
Provides: cockpit-shell = %{version}-%{release} Provides: cockpit-shell = %{version}-%{release}
Provides: cockpit-systemd = %{version}-%{release} Provides: cockpit-systemd = %{version}-%{release}
Provides: cockpit-tuned = %{version}-%{release} Provides: cockpit-tuned = %{version}-%{release}
@ -494,31 +402,27 @@ Provides: cockpit-users = %{version}-%{release}
%if 0%{?rhel} %if 0%{?rhel}
Provides: cockpit-networkmanager = %{version}-%{release} Provides: cockpit-networkmanager = %{version}-%{release}
Obsoletes: cockpit-networkmanager Obsoletes: cockpit-networkmanager
Requires: NetworkManager Requires: NetworkManager >= 1.6
Provides: cockpit-kdump = %{version}-%{release} Provides: cockpit-kdump = %{version}-%{release}
Requires: kexec-tools Requires: kexec-tools
# Optional components (only when soft deps are supported)
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: polkit Recommends: polkit
%endif Recommends: PackageKit
%if 0%{?rhel} >= 8
Recommends: NetworkManager-team Recommends: NetworkManager-team
Recommends: setroubleshoot-server >= 3.3.3 Recommends: setroubleshoot-server >= 3.3.3
%endif
Provides: cockpit-selinux = %{version}-%{release} Provides: cockpit-selinux = %{version}-%{release}
Provides: cockpit-sosreport = %{version}-%{release} Provides: cockpit-sosreport = %{version}-%{release}
%endif %endif
%if %{defined build_subscriptions} %if 0%{?fedora} >= 29
Provides: cockpit-subscriptions = %{version}-%{release} # 0.7.0 (actually) supports task cancellation.
Requires: subscription-manager >= 1.13 # 0.7.1 fixes tasks never announcing completion.
Recommends: (reportd >= 0.7.1 if abrt)
%endif %endif
# NPM modules which are also available as packages # NPM modules which are also available as packages
Provides: bundled(js-jquery) = 3.4.0 Provides: bundled(js-jquery) = 3.4.1
Provides: bundled(js-moment) = 2.24.0 Provides: bundled(js-moment) = 2.24.0
Provides: bundled(nodejs-flot) = 0.8.3 Provides: bundled(nodejs-flot) = 0.8.3
Provides: bundled(nodejs-promise) = 8.0.3 Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.9.0
Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.8.0 Provides: bundled(xstatic-patternfly-common) = 3.59.4
Provides: bundled(xstatic-patternfly-common) = 3.58.0
%description system %description system
This package contains the Cockpit shell and system configuration interfaces. This package contains the Cockpit shell and system configuration interfaces.
@ -531,18 +435,11 @@ Summary: Cockpit Web Service
Requires: glib-networking Requires: glib-networking
Requires: openssl Requires: openssl
Requires: glib2 >= 2.37.4 Requires: glib2 >= 2.37.4
# RHEL/CentOS 7 has firewalld 0.6.x, but does not ship cockpit service
%if 0%{?rhel} != 7
%if 0%{?firewalld_service}
Conflicts: firewalld >= 0.6.0-1
%else
Conflicts: firewalld < 0.6.0-1 Conflicts: firewalld < 0.6.0-1
%endif
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: sscg >= 2.3 Recommends: sscg >= 2.3
Recommends: system-logos Recommends: system-logos
%endif Requires: systemd >= 235
Suggests: sssd-dbus
Requires(post): systemd Requires(post): systemd
Requires(preun): systemd Requires(preun): systemd
Requires(postun): systemd Requires(postun): systemd
@ -550,47 +447,59 @@ Requires(postun): systemd
%description ws %description ws
The Cockpit Web Service listens on the network, and authenticates users. The Cockpit Web Service listens on the network, and authenticates users.
If sssd-dbus is installed, you can enable client certificate/smart card
authentication via sssd/FreeIPA.
%files ws -f cockpit.lang %files ws -f cockpit.lang
%doc %{_mandir}/man1/cockpit-desktop.1.gz %doc %{_mandir}/man1/cockpit-desktop.1.gz
%doc %{_mandir}/man5/cockpit.conf.5.gz %doc %{_mandir}/man5/cockpit.conf.5.gz
%doc %{_mandir}/man8/cockpit-ws.8.gz %doc %{_mandir}/man8/cockpit-ws.8.gz
%doc %{_mandir}/man8/cockpit-tls.8.gz
%doc %{_mandir}/man8/remotectl.8.gz %doc %{_mandir}/man8/remotectl.8.gz
%doc %{_mandir}/man8/pam_cockpit_cert.8.gz
%doc %{_mandir}/man8/pam_ssh_add.8.gz %doc %{_mandir}/man8/pam_ssh_add.8.gz
%dir %{_sysconfdir}/cockpit
%config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d %config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d
%config(noreplace) %{_sysconfdir}/pam.d/cockpit %config(noreplace) %{_sysconfdir}/pam.d/cockpit
%dir %{_sysconfdir}/issue.d
%config %{_sysconfdir}/issue.d/cockpit.issue %config %{_sysconfdir}/issue.d/cockpit.issue
# dir is not owned by pam in openSUSE
%dir %{_sysconfdir}/motd.d
%config %{_sysconfdir}/motd.d/cockpit %config %{_sysconfdir}/motd.d/cockpit
%ghost /run/cockpit/motd
%ghost %dir /run/cockpit
%dir %{_datadir}/cockpit/motd
%{_datadir}/cockpit/motd/update-motd %{_datadir}/cockpit/motd/update-motd
%{_datadir}/cockpit/motd/inactive.motd %{_datadir}/cockpit/motd/inactive.motd
%{_unitdir}/cockpit.service %{_unitdir}/cockpit.service
%{_unitdir}/cockpit-motd.service %{_unitdir}/cockpit-motd.service
%{_unitdir}/cockpit.socket %{_unitdir}/cockpit.socket
%if 0%{?firewalld_service} %{_unitdir}/cockpit-wsinstance-http.socket
%{_prefix}/%{__lib}/firewalld/services/cockpit.xml %{_unitdir}/cockpit-wsinstance-http.service
%endif %{_unitdir}/cockpit-wsinstance-http-redirect.socket
%{_unitdir}/cockpit-wsinstance-http-redirect.service
%{_unitdir}/cockpit-wsinstance-https-factory.socket
%{_unitdir}/cockpit-wsinstance-https-factory@.service
%{_unitdir}/cockpit-wsinstance-https@.socket
%{_unitdir}/cockpit-wsinstance-https@.service
%{_unitdir}/system-cockpithttps.slice
%{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf %{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf
%{_sbindir}/remotectl %{_sbindir}/remotectl
%if 0%{?suse_version} %{pamdir}/pam_ssh_add.so
/%{_lib}/security/pam_ssh_add.so %{pamdir}/pam_cockpit_cert.so
%else
%{_libdir}/security/pam_ssh_add.so
%endif
%{_libexecdir}/cockpit-ws %{_libexecdir}/cockpit-ws
%{_libexecdir}/cockpit-wsinstance-factory
%{_libexecdir}/cockpit-tls
%{_libexecdir}/cockpit-desktop %{_libexecdir}/cockpit-desktop
%attr(4750, root, cockpit-ws) %{_libexecdir}/cockpit-session %attr(4750, root, cockpit-wsinstance) %{_libexecdir}/cockpit-session
%attr(775, -, wheel) %{_localstatedir}/lib/cockpit %attr(775, -, wheel) %{_localstatedir}/lib/cockpit
%{_datadir}/cockpit/static %{_datadir}/cockpit/static
%{_datadir}/cockpit/branding %{_datadir}/cockpit/branding
%dir %{_sysconfdir}/cockpit
%dir %{_sysconfdir}/motd.d
%{_libexecdir}/firewalld
%{_libexecdir}/firewalld/services
%{_datadir}/cockpit/motd
%pre ws %pre ws
getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws
getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws" cockpit-ws getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d /nonexisting -s /sbin/nologin -c "User for cockpit web service" cockpit-ws
getent group cockpit-wsinstance >/dev/null || groupadd -r cockpit-wsinstance
getent passwd cockpit-wsinstance >/dev/null || useradd -r -g cockpit-wsinstance -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws instances" cockpit-wsinstance
%post ws %post ws
%systemd_post cockpit.socket %systemd_post cockpit.socket
@ -634,19 +543,16 @@ The Cockpit component for creating diagnostic reports with the
sosreport tool. sosreport tool.
%files sosreport -f sosreport.list %files sosreport -f sosreport.list
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml %{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
%{_datadir}/pixmaps/cockpit-sosreport.png %{_datadir}/pixmaps/cockpit-sosreport.png
%package networkmanager %package networkmanager
Summary: Cockpit user interface for networking, using NetworkManager Summary: Cockpit user interface for networking, using NetworkManager
Requires: cockpit-bridge >= 122 Requires: cockpit-bridge >= 186
Requires: cockpit-shell >= 122 Requires: cockpit-shell >= 186
Requires: NetworkManager Requires: NetworkManager >= 1.6
# Optional components (only when soft deps are supported) # Optional components
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: NetworkManager-team Recommends: NetworkManager-team
%endif
BuildArch: noarch BuildArch: noarch
%description networkmanager %description networkmanager
@ -662,9 +568,7 @@ The Cockpit component for managing networking. This package uses NetworkManager
Summary: Cockpit SELinux package Summary: Cockpit SELinux package
Requires: cockpit-bridge >= 122 Requires: cockpit-bridge >= 122
Requires: cockpit-shell >= 122 Requires: cockpit-shell >= 122
%if 0%{?fedora} || 0%{?rhel} >= 8
Requires: setroubleshoot-server >= 3.3.3 Requires: setroubleshoot-server >= 3.3.3
%endif
BuildArch: noarch BuildArch: noarch
%description selinux %description selinux
@ -672,18 +576,19 @@ This package contains the Cockpit user interface integration with the
utility setroubleshoot to diagnose and resolve SELinux issues. utility setroubleshoot to diagnose and resolve SELinux issues.
%files selinux -f selinux.list %files selinux -f selinux.list
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml %{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml
%endif %endif
%else # build basic packages #/ build basic packages
%else
# RPM requires this # RPM requires this
%description %description
Dummy package from building optional packages only; never install or publish me. Dummy package from building optional packages only; never install or publish me.
%endif # build basic packages #/ build basic packages
%endif
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
# Sub-packages that are optional extensions # Sub-packages that are optional extensions
@ -692,30 +597,17 @@ Dummy package from building optional packages only; never install or publish me.
%package -n cockpit-storaged %package -n cockpit-storaged
Summary: Cockpit user interface for storage, using udisks Summary: Cockpit user interface for storage, using udisks
Requires: cockpit-shell >= 122 Requires: cockpit-shell >= 186
Requires: udisks2 >= 2.6 Requires: udisks2 >= 2.6
%if 0%{?rhel} == 7
# Recommends: not supported in RHEL <= 7
Requires: udisks2-lvm2 >= 2.6
Requires: udisks2-iscsi >= 2.6
Requires: device-mapper-multipath
Requires: python
Requires: python-dbus
%else
Recommends: udisks2-lvm2 >= 2.6 Recommends: udisks2-lvm2 >= 2.6
Recommends: udisks2-iscsi >= 2.6 Recommends: udisks2-iscsi >= 2.6
Recommends: device-mapper-multipath Recommends: device-mapper-multipath
Recommends: clevis-luks Recommends: clevis-luks
Requires: %{__python3} Requires: %{__python3}
%if !0%{?suse_version} %if 0%{?suse_version}
Requires: python3-dbus
%else
%if 0%{?suse_version} == 1315
Requires: dbus-1-python
%else
Requires: python3-dbus-python Requires: python3-dbus-python
%endif %else
%endif Requires: python3-dbus
%endif %endif
BuildArch: noarch BuildArch: noarch
@ -723,7 +615,6 @@ BuildArch: noarch
The Cockpit component for managing storage. This package uses udisks. The Cockpit component for managing storage. This package uses udisks.
%files -n cockpit-storaged -f storaged.list %files -n cockpit-storaged -f storaged.list
%dir %{_datadir}/metainfo
%dir %{_datadir}/cockpit/storaged/images %dir %{_datadir}/cockpit/storaged/images
%{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
@ -745,21 +636,19 @@ These files are not required for running Cockpit.
%package -n cockpit-machines %package -n cockpit-machines
BuildArch: noarch BuildArch: noarch
Summary: Cockpit user interface for virtual machines Summary: Cockpit user interface for virtual machines
Requires: cockpit-bridge >= 122 Requires: cockpit-bridge >= 186
Requires: cockpit-system >= 122 Requires: cockpit-system >= 186
%if 0%{?rhel} == 7 || 0%{?suse_version} %if 0%{?suse_version}
Requires: libvirt Requires: libvirt-daemon-qemu
%else %else
Requires: (libvirt-daemon-kvm or libvirt) Requires: libvirt-daemon-kvm
%endif %endif
Requires: libvirt-client Requires: libvirt-client
%if 0%{?fedora} || 0%{?rhel} >= 8
Requires: libvirt-dbus >= 1.2.0 Requires: libvirt-dbus >= 1.2.0
# Optional components # Optional components
Recommends: virt-install Recommends: virt-install
Recommends: libosinfo Recommends: libosinfo
Recommends: python3-gobject-base Recommends: python3-gobject-base
%endif
%description -n cockpit-machines %description -n cockpit-machines
The Cockpit components for managing virtual machines. The Cockpit components for managing virtual machines.
@ -767,66 +656,32 @@ The Cockpit components for managing virtual machines.
If "virt-install" is installed, you can also create new virtual machines. If "virt-install" is installed, you can also create new virtual machines.
%files -n cockpit-machines -f machines.list %files -n cockpit-machines -f machines.list
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml %{_datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml
%if 0%{?build_ovirt}
%package -n cockpit-machines-ovirt
BuildArch: noarch
Summary: Cockpit user interface for oVirt virtual machines
Requires: cockpit-bridge >= 122
Requires: cockpit-system >= 122
%if 0%{?rhel} == 7
Requires: libvirt
%else
Requires: (libvirt-daemon-kvm or libvirt)
%endif
Requires: libvirt-client
%description -n cockpit-machines-ovirt
The Cockpit components for managing oVirt virtual machines.
%files -n cockpit-machines-ovirt -f ovirt.list
%endif
%package -n cockpit-pcp %package -n cockpit-pcp
Summary: Cockpit PCP integration Summary: Cockpit PCP integration
Requires: cockpit-bridge >= 134.x Requires: cockpit-bridge >= 134.x
Requires: pcp Requires(post): pcp
%description -n cockpit-pcp %description -n cockpit-pcp
Cockpit support for reading PCP metrics and loading PCP archives. Cockpit support for reading PCP metrics and loading PCP archives.
%files -n cockpit-pcp -f pcp.list %files -n cockpit-pcp -f pcp.list
%{_libexecdir}/cockpit-pcp %{_libexecdir}/cockpit-pcp
%dir %{_localstatedir}/lib/pcp
%dir %{_localstatedir}/lib/pcp
%dir %{_localstatedir}/lib/pcp/config
%dir %{_localstatedir}/lib/pcp/config/pmlogconf
%dir %{_localstatedir}/lib/pcp/config/pmlogconf/tools
%{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit %{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit
%post -n cockpit-pcp %post -n cockpit-pcp
# HACK - https://bugzilla.redhat.com/show_bug.cgi?id=1185764 # HACK - https://bugzilla.redhat.com/show_bug.cgi?id=1185764
# We can't use "systemctl reload-or-try-restart" since systemctl might # We can't use "systemctl reload-or-try-restart" since systemctl might
# be out of sync with reality. # be out of sync with reality.
/usr/share/pcp/lib/pmlogger condrestart || true /usr/share/pcp/lib/pmlogger condrestart
%if %{defined build_dashboard} %if %{defined build_dashboard}
%package -n cockpit-dashboard %package -n cockpit-dashboard
Summary: Cockpit remote servers and dashboard Summary: Cockpit remote servers and dashboard
%if 0%{?rhel} == 7
Provides: cockpit-ssh = %{version}-%{release}
# nothing depends on the dashboard, but we can't use it with older versions of the bridge
Conflicts: cockpit-bridge < 135
# PR #10430 dropped workaround for ws' inability to understand x-host-key challenge
Conflicts: cockpit-ws < 173.1
%else
BuildArch: noarch BuildArch: noarch
Requires: cockpit-ssh >= 135 Requires: cockpit-ssh >= 135
Conflicts: cockpit-ws < 135 Conflicts: cockpit-ws < 135
%endif
%description -n cockpit-dashboard %description -n cockpit-dashboard
Cockpit support for connecting to remote servers (through ssh), Cockpit support for connecting to remote servers (through ssh),
@ -836,61 +691,26 @@ bastion hosts, and a basic dashboard.
%endif %endif
%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x %if 0%{?build_docker}
%if 0%{?fedora} || 0%{?rhel} < 8
%package -n cockpit-docker %package -n cockpit-docker
Summary: Cockpit user interface for Docker containers Summary: Cockpit user interface for Docker containers
Requires: cockpit-bridge >= 122 Requires: cockpit-bridge >= 122
Requires: cockpit-shell >= 122 Requires: cockpit-shell >= 122
Requires: /usr/bin/docker Requires: (docker or moby-engine or docker-ce)
Requires: /usr/lib/systemd/system/docker.service
%if 0%{?fedora} || 0%{?suse_version}
Requires: %{__python3} Requires: %{__python3}
%else
Requires: python2
%endif
%description -n cockpit-docker %description -n cockpit-docker
The Cockpit components for interacting with Docker and user interface. The Cockpit components for interacting with Docker and user interface.
This package is not yet complete. This package is not yet complete.
%files -n cockpit-docker -f docker.list %files -n cockpit-docker -f docker.list
%dir %{_datadir}/cockpit/docker/images %{_datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml
%endif
%endif
%if 0%{?build_kubernetes}
%package -n cockpit-kubernetes
Summary: Cockpit user interface for Kubernetes cluster
Requires: /usr/bin/kubectl
# Requires: Needs newer localization support
Requires: cockpit-bridge >= 137.x
Requires: cockpit-shell >= 137.x
BuildRequires: %{go_scl_prefix}golang-bin
BuildRequires: %{go_scl_prefix}golang-src
Provides: cockpit-stub = %{version}-%{release}
%description -n cockpit-kubernetes
The Cockpit components for visualizing and configuring a Kubernetes
cluster. Installed on the Kubernetes master. This package is not yet complete.
%if 0%{?rhel} >= 8
%enable_gotoolset7
%endif
%files -n cockpit-kubernetes -f kubernetes.list
%{_libexecdir}/cockpit-kube-auth
%{_libexecdir}/cockpit-kube-launch
%{_libexecdir}/cockpit-stub
%endif %endif
%package -n cockpit-packagekit %package -n cockpit-packagekit
Summary: Cockpit user interface for packages Summary: Cockpit user interface for packages
BuildArch: noarch BuildArch: noarch
Requires: cockpit-bridge >= 138 Requires: cockpit-bridge >= 186
Requires: PackageKit Requires: PackageKit
%description -n cockpit-packagekit %description -n cockpit-packagekit
@ -899,7 +719,8 @@ via PackageKit.
%files -n cockpit-packagekit -f packagekit.list %files -n cockpit-packagekit -f packagekit.list
%endif # build optional extension packages #/ build optional extension packages
%endif
# The changelog is automatically generated and merged # The changelog is automatically generated and merged
%changelog %changelog