From 148989e983b619616ba53b06216137ea8b8b5d43 Mon Sep 17 00:00:00 2001
From: CentOS Sources <bugs@centos.org>
Date: Aug 06 2019 11:02:31 +0000
Subject: import cockpit-195.1-1.el7


---

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 <mpitt@redhat.com>
+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 (<type 'exceptions.IOError'>, IOError(22, 'Invalid argument'), <traceback object at 0x7ffff7e15dd0>)
+
+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 <johnny@centos.org>
-- Manual CentOS Debranding
-
-* Wed Jan 30 2019 Martin Pitt <mpitt@redhat.com> 173.2-1
-- ws: Fix bug parsing invalid base64 headers rhbz#1672296
+* Mon Jun 03 2019 Martin Pitt <mpitt@redhat.com> 195.1-1
+- Update translations rhbz#1688228
+
+* Thu Apr 04 2019 Martin Pitt <mpitt@redhat.com> 191-1
+- System: Enable/disable SMT rhbz#1696139
+
+* Mon Mar 25 2019 Martin Pitt <mpitt@redhat.com> 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 <mpitt@redhat.com> 173.1-1
 - Crash fixes spotted by coverity rhbz#1644345