diff --git a/.cockpit.metadata b/.cockpit.metadata index 211b8e0..5e26b94 100644 --- a/.cockpit.metadata +++ b/.cockpit.metadata @@ -1 +1 @@ -a287a1345d5aa8197be21b36ee25a9a607f407d7 SOURCES/cockpit-173.2.tar.xz +702718ff1b0f65b3f0f501987ae480604649c054 SOURCES/cockpit-195.1.tar.xz diff --git a/.gitignore b/.gitignore index 222a84c..93249e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/cockpit-173.2.tar.xz +SOURCES/cockpit-195.1.tar.xz diff --git a/SOURCES/0001-test-Disable-packet-channel-large.patch b/SOURCES/0001-test-Disable-packet-channel-large.patch new file mode 100644 index 0000000..21e6aae --- /dev/null +++ b/SOURCES/0001-test-Disable-packet-channel-large.patch @@ -0,0 +1,33 @@ +From 8f9b44617f2362d8d6dbb62c99a907c9018aa1f1 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Mon, 3 Jun 2019 15:01:28 +0200 +Subject: [PATCH] test: Disable /packet-channel/large + +In brew for 7.7 (and only there) this test is flaky and often fails with + + 22 Invalid argument (, IOError(22, 'Invalid argument'), ) + +Disable this check until this gets debugged. It works fine on a RHEL 7.7 +VM mock in upstream CI. +--- + src/bridge/test-packet-channel.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/bridge/test-packet-channel.c b/src/bridge/test-packet-channel.c +index 17b643ff8..d5f4552a3 100644 +--- a/src/bridge/test-packet-channel.c ++++ b/src/bridge/test-packet-channel.c +@@ -620,8 +620,10 @@ main (int argc, + + g_test_add ("/packet-channel/echo", TestCase, NULL, + setup_channel, test_echo, teardown); ++ /* + g_test_add ("/packet-channel/large", TestCase, NULL, + setup_channel, test_large, teardown); ++ */ + g_test_add ("/packet-channel/connect-in-progress", + TestCase, &fixture_connect_in_progress, + setup_channel, test_connect_in_progress, teardown); +-- +2.21.0 + diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec index 8517a8c..d9814d9 100644 --- a/SPECS/cockpit.spec +++ b/SPECS/cockpit.spec @@ -1,3 +1,15 @@ +# This spec file has been automatically updated +Version: 195.1 +Release: 1%{?dist} +# +# This file is maintained at the following location: +# https://github.com/cockpit-project/cockpit/blob/master/tools/cockpit.spec +# +# If you are editing this file in another location, changes will likely +# be clobbered the next time an automated release is done. +# +# Check first cockpit-devel@lists.fedorahosted.org +# # Globals that may be defined elsewhere # * Version 122 # * wip 1 @@ -7,8 +19,13 @@ # by tools/gen-spec-dependencies during "make dist", but keep a hardcoded fallback %define required_base 122 +# we generally want CentOS packages to be like RHEL; special cases need to check %{centos} explicitly %if 0%{?centos} -%define rhel %{?centos} +%define rhel %{centos} +%endif + +%if "%{!?__python3:1}" +%define __python3 /usr/bin/python3 %endif # for testing this already gets set in fedora.install, as we want the target @@ -27,6 +44,13 @@ # build optional extensions like cockpit-docker %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 # on RHEL 7.x we build subscriptions; superseded later by @@ -35,10 +59,16 @@ %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 -%define libssh_version 0.7.1 -%if 0%{?fedora} > 0 && 0%{?fedora} < 22 -%define libssh_version 0.6.0 +# 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} >= 7 @@ -47,25 +77,24 @@ %global go_scl_prefix %{nil} %endif -%if 0%{?rhel} >= 7 || 0%{?centos} +%if 0%{?rhel} >= 7 %define vdo_on_demand 1 %endif Name: cockpit -Summary: A user interface for Linux servers +Summary: Web Console for Linux servers License: LGPLv2+ URL: https://cockpit-project.org/ -Version: 173.2 %if %{defined wip} -Release: 1.%{wip}%{?dist} Source0: cockpit-%{version}.tar.gz %else -Release: 1%{?dist} Source0: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz %endif +Patch0001: 0001-test-Disable-packet-channel-large.patch + BuildRequires: gcc BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(json-glib-1.0) @@ -80,7 +109,7 @@ BuildRequires: /usr/bin/python2 %endif BuildRequires: intltool %if %{defined build_dashboard} -BuildRequires: libssh-devel >= %{libssh_version} +BuildRequires: libssh-devel >= 0.7.1 %endif BuildRequires: openssl-devel BuildRequires: zlib-devel @@ -89,13 +118,13 @@ BuildRequires: libxslt-devel BuildRequires: docbook-style-xsl BuildRequires: glib-networking BuildRequires: sed -BuildRequires: git BuildRequires: glib2-devel >= 2.37.4 BuildRequires: systemd-devel BuildRequires: pcp-libs-devel BuildRequires: krb5-server BuildRequires: gdb +BuildRequires: openssh-clients # For documentation BuildRequires: xmlto @@ -107,8 +136,8 @@ Requires: cockpit-bridge Requires: cockpit-ws Requires: cockpit-system -# Optional components (for f24 we use soft deps) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +# Optional components +%if 0%{?fedora} || 0%{?rhel} >= 8 %if 0%{?rhel} == 0 Recommends: cockpit-dashboard %ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x @@ -118,30 +147,19 @@ Recommends: (cockpit-docker if /usr/bin/docker) Recommends: (cockpit-networkmanager if NetworkManager) Recommends: (cockpit-storaged if udisks2) Recommends: cockpit-packagekit -%if 0%{?rhel} >= 8 +%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 %endif %prep %setup -q -n cockpit-%{version} - -# Apply patches using git in order to support binary patches. Note that -# we also reset mtimes since patches should be "complete" and include both -# generated and source file changes -# Keep this in sync with tools/debian/rules. -if [ -n "%{patches}" ]; then - git init - git config user.email "unused@example.com" && git config user.name "Unused" - git config core.autocrlf false && git config core.safecrlf false && git config gc.auto 0 - git add -f . && git commit -a -q -m "Base" && git tag -a initial --message="initial" - git am --whitespace=nowarn %{patches} - touch -r $(git diff --name-only initial..HEAD) .git dist/storaged/stamp $(find dist -type f) - rm -rf .git -fi +%autopatch -p1 %build exec 2>&1 @@ -149,7 +167,9 @@ exec 2>&1 --disable-silent-rules \ --with-cockpit-user=cockpit-ws \ --with-selinux-config-type=etc_t \ - %{?rhel:--without-storaged-iscsi-sessions} \ +%if 0%{?rhel} >= 7 && 0%{?rhel} < 8 + --without-storaged-iscsi-sessions \ +%endif --with-appstream-data-packages='[ "appstream-data" ]' \ %{!?build_dashboard:--disable-ssh} \ --with-nfs-client-package='"nfs-utils"' \ @@ -166,19 +186,18 @@ make install-tests DESTDIR=%{buildroot} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit rm -f %{buildroot}/%{_libdir}/cockpit/*.so -install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ - -# On RHEL we don't yet show options for changing language -%if 0%{?rhel} -echo '{ "linguas": null }' > %{buildroot}%{_datadir}/cockpit/shell/override.json +%if 0%{?firewalld_service} == 0 +rm -f %{buildroot}/%{_prefix}/%{__lib}/firewalld/services/cockpit.xml %endif +install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ # Build the package lists for resource packages echo '%dir %{_datadir}/cockpit/base1' > base.list find %{buildroot}%{_datadir}/cockpit/base1 -type f >> base.list echo '%{_sysconfdir}/cockpit/machines.d' >> 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 -%if 0%{?rhel} == 7 || 0%{?centos} == 7 +%if 0%{?rhel} == 7 find %{buildroot}%{_datadir}/cockpit/ssh -type f >> dashboard.list echo '%{_libexecdir}/cockpit-ssh' >> dashboard.list %else @@ -232,9 +251,6 @@ find %{buildroot}%{_datadir}/cockpit/storaged -type f >> storaged.list echo '%dir %{_datadir}/cockpit/networkmanager' > networkmanager.list find %{buildroot}%{_datadir}/cockpit/networkmanager -type f >> networkmanager.list -echo '%dir %{_datadir}/cockpit/ostree' > ostree.list -find %{buildroot}%{_datadir}/cockpit/ostree -type f >> ostree.list - echo '%dir %{_datadir}/cockpit/packagekit' >> packagekit.list find %{buildroot}%{_datadir}/cockpit/packagekit -type f >> packagekit.list @@ -244,12 +260,20 @@ find %{buildroot}%{_datadir}/cockpit/apps -type f >> packagekit.list echo '%dir %{_datadir}/cockpit/machines' > 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 find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list +echo '%dir %{_datadir}/cockpit/playground' > tests.list +find %{buildroot}%{_datadir}/cockpit/playground -type f >> tests.list + %ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x %if 0%{?fedora} || 0%{?rhel} < 8 echo '%dir %{_datadir}/cockpit/docker' > docker.list @@ -263,7 +287,7 @@ rm -rf %{buildroot}/%{_datadir}/cockpit/docker touch docker.list %endif -%ifarch aarch64 x86_64 ppc64le s390x %{arm} %{ix86} +%if 0%{?build_kubernetes} %if %{defined wip} %else rm %{buildroot}/%{_datadir}/cockpit/kubernetes/override.json @@ -282,24 +306,26 @@ touch kubernetes.list %if 0%{?build_basic} == 0 for pkg in base1 branding motd kdump networkmanager realmd selinux shell sosreport ssh static systemd tuned users; do rm -r %{buildroot}/%{_datadir}/cockpit/$pkg + rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml done -for data in applications doc locale man metainfo pixmaps; do +for data in doc locale man pixmaps polkit-1; do rm -r %{buildroot}/%{_datadir}/$data done for lib in systemd tmpfiles.d firewalld; do rm -r %{buildroot}/%{_prefix}/%{__lib}/$lib done -for libexec in cockpit-askpass cockpit-session cockpit-ws; do +for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-desktop; do rm %{buildroot}/%{_libexecdir}/$libexec done rm -r %{buildroot}/%{_libdir}/security %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d rm %{buildroot}/usr/bin/cockpit-bridge %{buildroot}/usr/sbin/remotectl rm -f %{buildroot}%{_libexecdir}/cockpit-ssh +rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml %endif # when not building optional packages, remove their files %if 0%{?build_optional} == 0 -for pkg in apps dashboard docker kubernetes machines ostree ovirt packagekit pcp playground storaged; do +for pkg in apps dashboard docker kubernetes machines ovirt packagekit pcp playground storaged; do rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg done # files from -tests @@ -308,6 +334,10 @@ rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets %{buildroot}/%{_sysco 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 +rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml +# files from -storaged +rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %endif sed -i "s|%{buildroot}||" *.list @@ -328,7 +358,7 @@ rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainf rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png %endif -%if 0%{?rhel}%{?centos} +%if 0%{?rhel} rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml %endif @@ -339,7 +369,7 @@ rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metai # dwz has trouble with the go binaries # https://fedoraproject.org/wiki/PackagingDrafts/Go %global _dwz_low_mem_die_limit 0 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} >= 8 %global _debugsource_packages 1 %global _debuginfo_subpackages 0 %endif @@ -358,8 +388,11 @@ rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metai %if 0%{?build_basic} %description -Cockpit runs in a browser and can manage your network of GNU/Linux -machines. +The Cockpit Web Console enables users to administer GNU/Linux servers using a +web browser. + +It offers network configuration, log inspection, diagnostic reports, SELinux +troubleshooting, interactive command-line sessions, and more. %files %{_docdir}/cockpit/AUTHORS @@ -367,7 +400,6 @@ machines. %{_docdir}/cockpit/README.md %dir %{_datadir}/cockpit %{_datadir}/metainfo/cockpit.appdata.xml -%{_datadir}/applications/cockpit.desktop %{_datadir}/pixmaps/cockpit.png %doc %{_mandir}/man1/cockpit.1.gz @@ -375,11 +407,12 @@ machines. %package bridge Summary: Cockpit bridge server-side component Requires: glib-networking -%if 0%{?rhel} != 7 && 0%{?centos} != 7 -Requires: libssh >= %{libssh_version} +%if 0%{?rhel} != 7 Provides: cockpit-ssh = %{version}-%{release} # cockpit-ssh moved from dashboard to bridge in 171 Conflicts: cockpit-dashboard < 170.x +# PR #10430 dropped workaround for ws' inability to understand x-host-key challenge +Conflicts: cockpit-ws < 181.x %endif %description bridge @@ -387,7 +420,6 @@ The Cockpit bridge component installed server side and runs commands on the system on behalf of the web based user interface. %files bridge -f base.list -%{_datadir}/cockpit/base1/bundle.min.js.gz %doc %{_mandir}/man1/cockpit-bridge.1.gz %{_bindir}/cockpit-bridge %{_libexecdir}/cockpit-askpass @@ -416,18 +448,17 @@ Requires: libpwquality Requires: /usr/bin/date Provides: cockpit-realmd = %{version}-%{release} Provides: cockpit-shell = %{version}-%{release} -Obsoletes: cockpit-shell < 127 Provides: cockpit-systemd = %{version}-%{release} Provides: cockpit-tuned = %{version}-%{release} Provides: cockpit-users = %{version}-%{release} %if 0%{?rhel} Provides: cockpit-networkmanager = %{version}-%{release} -Obsoletes: cockpit-networkmanager < 135 +Obsoletes: cockpit-networkmanager Requires: NetworkManager Provides: cockpit-kdump = %{version}-%{release} Requires: kexec-tools # Optional components (only when soft deps are supported) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: polkit %endif %if 0%{?rhel} >= 8 @@ -441,6 +472,13 @@ Provides: cockpit-sosreport = %{version}-%{release} Provides: cockpit-subscriptions = %{version}-%{release} Requires: subscription-manager >= 1.13 %endif +# NPM modules which are also available as packages +Provides: bundled(js-jquery) = 3.4.0 +Provides: bundled(js-moment) = 2.24.0 +Provides: bundled(nodejs-flot) = 0.8.3 +Provides: bundled(nodejs-promise) = 8.0.3 +Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.8.0 +Provides: bundled(xstatic-patternfly-common) = 3.58.0 %description system This package contains the Cockpit shell and system configuration interfaces. @@ -452,8 +490,17 @@ Summary: Cockpit Web Service Requires: glib-networking Requires: openssl Requires: glib2 >= 2.37.4 -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +# 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 +%endif +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: sscg >= 2.3 +Recommends: system-logos %endif Requires(post): systemd Requires(preun): systemd @@ -463,24 +510,28 @@ Requires(postun): systemd The Cockpit Web Service listens on the network, and authenticates users. %files ws -f cockpit.lang +%doc %{_mandir}/man1/cockpit-desktop.1.gz %doc %{_mandir}/man5/cockpit.conf.5.gz %doc %{_mandir}/man8/cockpit-ws.8.gz %doc %{_mandir}/man8/remotectl.8.gz %doc %{_mandir}/man8/pam_ssh_add.8.gz %config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d %config(noreplace) %{_sysconfdir}/pam.d/cockpit -%config %{_sysconfdir}/issue.d/cockpit +%config %{_sysconfdir}/issue.d/cockpit.issue %config %{_sysconfdir}/motd.d/cockpit %{_datadir}/cockpit/motd/update-motd %{_datadir}/cockpit/motd/inactive.motd %{_unitdir}/cockpit.service %{_unitdir}/cockpit-motd.service %{_unitdir}/cockpit.socket +%if 0%{?firewalld_service} %{_prefix}/%{__lib}/firewalld/services/cockpit.xml +%endif %{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf %{_sbindir}/remotectl %{_libdir}/security/pam_ssh_add.so %{_libexecdir}/cockpit-ws +%{_libexecdir}/cockpit-desktop %attr(4750, root, cockpit-ws) %{_libexecdir}/cockpit-session %attr(775, -, wheel) %{_localstatedir}/lib/cockpit %{_datadir}/cockpit/static @@ -488,7 +539,7 @@ The Cockpit Web Service listens on the network, and authenticates users. %pre ws getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws -getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d / -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-ws" cockpit-ws %post ws %systemd_post cockpit.socket @@ -503,14 +554,14 @@ test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true %systemd_postun_with_restart cockpit.service # ------------------------------------------------------------------------------- -# Sub-packages that are part of cockpit-system in RHEL, but separate in Fedora +# Sub-packages that are part of cockpit-system in RHEL/CentOS, but separate in Fedora %if 0%{?rhel} == 0 %package kdump Summary: Cockpit user interface for kernel crash dumping -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 Requires: kexec-tools BuildArch: noarch @@ -522,8 +573,8 @@ The Cockpit component for configuring kernel crash dumping. %package sosreport Summary: Cockpit user interface for diagnostic reports -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 Requires: sos BuildArch: noarch @@ -537,11 +588,11 @@ sosreport tool. %package networkmanager Summary: Cockpit user interface for networking, using NetworkManager -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 Requires: NetworkManager # Optional components (only when soft deps are supported) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: NetworkManager-team %endif BuildArch: noarch @@ -553,13 +604,13 @@ The Cockpit component for managing networking. This package uses NetworkManager %endif -%if 0%{?rhel}%{?centos} == 0 +%if 0%{?rhel} == 0 %package selinux Summary: Cockpit SELinux package -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 +%if 0%{?fedora} || 0%{?rhel} >= 8 Requires: setroubleshoot-server >= 3.3.3 %endif BuildArch: noarch @@ -586,36 +637,24 @@ Dummy package from building optional packages only; never install or publish me. %if 0%{?build_optional} -# storaged on Fedora < 27, udisks on newer ones -# Recommends: not supported in RHEL <= 7 %package -n cockpit-storaged Summary: Cockpit user interface for storage, using udisks -Requires: cockpit-shell >= %{required_base} -%if 0%{?rhel} == 7 || 0%{?centos} == 7 +Requires: cockpit-shell >= 122 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 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: udisks2 >= 2.6 Recommends: udisks2-lvm2 >= 2.6 Recommends: udisks2-iscsi >= 2.6 Recommends: device-mapper-multipath -%else -# Fedora < 27 -Requires: storaged >= 2.1.1 -Recommends: storaged-lvm2 >= 2.1.1 -Recommends: storaged-iscsi >= 2.1.1 -Recommends: device-mapper-multipath -%endif -%endif -%if 0%{?fedora} || 0%{?rhel} >= 8 -Requires: python3 +Recommends: clevis-luks +Requires: %{__python3} Requires: python3-dbus -%else -Requires: python -Requires: python-dbus %endif BuildArch: noarch @@ -623,7 +662,7 @@ BuildArch: noarch The Cockpit component for managing storage. This package uses udisks. %files -n cockpit-storaged -f storaged.list - +%{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %package -n cockpit-tests Summary: Tests for Cockpit @@ -631,27 +670,32 @@ Requires: cockpit-bridge >= 138 Requires: cockpit-system >= 138 Requires: openssh-clients Provides: cockpit-test-assets = %{version}-%{release} -Obsoletes: cockpit-test-assets < 132 %description -n cockpit-tests This package contains tests and files used while testing Cockpit. These files are not required for running Cockpit. -%files -n cockpit-tests +%files -n cockpit-tests -f tests.list %config(noreplace) %{_sysconfdir}/cockpit/cockpit.conf -%{_datadir}/cockpit/playground %{_prefix}/%{__lib}/cockpit-test-assets %package -n cockpit-machines BuildArch: noarch Summary: Cockpit user interface for virtual machines -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-system >= %{required_base} +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 -# Optional components (for f24 we use soft deps) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} >= 8 +Requires: libvirt-dbus >= 1.2.0 +# Optional components Recommends: virt-install +Recommends: libosinfo +Recommends: python3-gobject-base %endif %description -n cockpit-machines @@ -660,44 +704,32 @@ The Cockpit components for managing virtual machines. If "virt-install" is installed, you can also create new virtual machines. %files -n cockpit-machines -f machines.list +%{_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 >= %{required_base} -Requires: cockpit-system >= %{required_base} +Requires: cockpit-bridge >= 122 +Requires: cockpit-system >= 122 +%if 0%{?rhel} == 7 Requires: libvirt -Requires: libvirt-client -# package of old name "cockpit-ovirt" was shipped on fedora only -%if 0%{?fedora} >= 25 -Obsoletes: cockpit-ovirt < 161 +%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 -%package -n cockpit-ostree -BuildArch: noarch -Summary: Cockpit user interface for rpm-ostree -# Requires: Uses new translations functionality -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-system >= %{required_base} -%if 0%{?fedora} > 0 && 0%{?fedora} < 24 -Requires: rpm-ostree >= 2015.10-1 -%else -Requires: /usr/libexec/rpm-ostreed %endif -%description -n cockpit-ostree -The Cockpit components for managing software updates for ostree based systems. - -%files -n cockpit-ostree -f ostree.list - %package -n cockpit-pcp Summary: Cockpit PCP integration -Requires: cockpit-bridge >= %{required_base} +Requires: cockpit-bridge >= 134.x Requires: pcp %description -n cockpit-pcp @@ -716,16 +748,17 @@ Cockpit support for reading PCP metrics and loading PCP archives. %if %{defined build_dashboard} %package -n cockpit-dashboard Summary: Cockpit remote servers and dashboard -%if 0%{?rhel} == 7 || 0%{?centos} == 7 -Requires: libssh >= %{libssh_version} +%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 Requires: cockpit-ssh >= 135 -%endif Conflicts: cockpit-ws < 135 +%endif %description -n cockpit-dashboard Cockpit support for connecting to remote servers (through ssh), @@ -740,12 +773,12 @@ bastion hosts, and a basic dashboard. %if 0%{?fedora} || 0%{?rhel} < 8 %package -n cockpit-docker Summary: Cockpit user interface for Docker containers -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 Requires: /usr/bin/docker Requires: /usr/lib/systemd/system/docker.service %if 0%{?fedora} -Requires: python3 +Requires: %{__python3} %else Requires: python2 %endif @@ -759,14 +792,14 @@ This package is not yet complete. %endif %endif -%ifarch aarch64 x86_64 ppc64le s390x %{ix86} %{arm} +%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 >= %{required_base} -Requires: cockpit-shell >= %{required_base} +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} @@ -788,7 +821,7 @@ cluster. Installed on the Kubernetes master. This package is not yet complete. %package -n cockpit-packagekit Summary: Cockpit user interface for packages BuildArch: noarch -Requires: cockpit-bridge >= %{required_base} +Requires: cockpit-bridge >= 138 Requires: PackageKit %description -n cockpit-packagekit @@ -800,11 +833,25 @@ via PackageKit. %endif # build optional extension packages %changelog -* Tue Mar 12 2019 Johnny Hughes -- Manual CentOS Debranding - -* Wed Jan 30 2019 Martin Pitt 173.2-1 -- ws: Fix bug parsing invalid base64 headers rhbz#1672296 +* Mon Jun 03 2019 Martin Pitt 195.1-1 +- Update translations rhbz#1688228 + +* Thu Apr 04 2019 Martin Pitt 191-1 +- System: Enable/disable SMT rhbz#1696139 + +* Mon Mar 25 2019 Martin Pitt 190-1 +- kdump: Add NFS and SSH dump targets rhbz#1533366 +- kdump: Fix confusing design of target selector rhbz#1536327 +- firewall: Hide already enabled items from "Add Services" dialog rhbz#1598625 +- networking: Gracefully handle when NetworkManager is not running + rhbz#1551615 +- web server: Mark deleted cookie as "secure", and add X-Content-Type-Options + header rhbz#1677767 +- web server: Mark deleted cookie as "HttpOnly" rhbz#1656339 +- Fix various crashes spotted by coverity rhbz#1644209 +- Fix remotectl crash with inaccessible files rhbz#1644213 +- Fix race condition with fslist1 channels rhbz#1644223 +- Fix crash with parsing invalid bas64 headers rhbz#1663712 * Tue Oct 30 2018 Martin Pitt 173.1-1 - Crash fixes spotted by coverity rhbz#1644345