diff --git a/.cockpit.metadata b/.cockpit.metadata index 3699072..5d051db 100644 --- a/.cockpit.metadata +++ b/.cockpit.metadata @@ -1 +1 @@ -d2296e9e881f359d901ac3f73f471d056497d91b SOURCES/cockpit-211.3.tar.xz +602cf4d82e837cf2d3b45041befecd6e4e22d40d SOURCES/cockpit-220.tar.xz diff --git a/.gitignore b/.gitignore index ae96b4b..2f48afb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/cockpit-211.3.tar.xz +SOURCES/cockpit-220.tar.xz diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec index d7a2ad1..6dc2248 100644 --- a/SPECS/cockpit.spec +++ b/SPECS/cockpit.spec @@ -1,5 +1,5 @@ # This spec file has been automatically updated -Version: 211.3 +Version: 220 Release: 1%{?dist} # # This file is maintained at the following location: @@ -50,6 +50,12 @@ Release: 1%{?dist} %define vdo_on_demand 1 %endif +%if 0%{?suse_version} +%define pamdir /%{_lib}/security +%else +%define pamdir %{_libdir}/security +%endif + Name: cockpit Summary: Web Console for Linux servers @@ -72,23 +78,35 @@ BuildRequires: autoconf automake BuildRequires: /usr/bin/python3 BuildRequires: gettext >= 0.19.7 %if %{defined build_dashboard} -BuildRequires: libssh-devel >= 0.8 +BuildRequires: libssh-devel >= 0.8.5 %endif BuildRequires: openssl-devel BuildRequires: gnutls-devel >= 3.4.3 BuildRequires: zlib-devel BuildRequires: krb5-devel >= 1.11 BuildRequires: libxslt-devel -BuildRequires: docbook-style-xsl BuildRequires: glib-networking BuildRequires: sed BuildRequires: glib2-devel >= 2.37.4 +# this is for runtimedir in the tls proxy ace21c8879 BuildRequires: systemd-devel >= 235 +%if 0%{?suse_version} +BuildRequires: distribution-release +BuildRequires: libpcp-devel +BuildRequires: pcp-devel +BuildRequires: libpcp3 +BuildRequires: libpcp_import1 +BuildRequires: openssh +BuildRequires: distribution-logos +BuildRequires: wallpaper-branding +%else BuildRequires: pcp-libs-devel +BuildRequires: openssh-clients +BuildRequires: docbook-style-xsl +%endif BuildRequires: krb5-server BuildRequires: gdb -BuildRequires: openssh-clients # For documentation BuildRequires: xmlto @@ -105,11 +123,14 @@ Recommends: (cockpit-storaged if udisks2) Recommends: cockpit-packagekit Suggests: cockpit-pcp -%if 0%{?rhel} == 0 -Recommends: cockpit-dashboard %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) %endif +%endif + +%if 0%{?rhel} == 0 Recommends: (cockpit-networkmanager if NetworkManager) Suggests: cockpit-selinux %endif @@ -129,12 +150,22 @@ exec 2>&1 --with-selinux-config-type=etc_t \ --with-appstream-data-packages='[ "appstream-data" ]' \ --with-nfs-client-package='"nfs-utils"' \ +%if 0%{?suse_version} + --docdir=%_defaultdocdir/%{name} \ +%endif + --with-pamdir='%{pamdir}' \ %{?vdo_on_demand:--with-vdo-package='"vdo"'} make -j4 %{?extra_flags} all %check exec 2>&1 -make -j4 check +# HACK: Fedora koji builders are very slow, unreliable, and inaccessible for debugging; https://github.com/cockpit-project/cockpit/issues/13909 +%if 0%{?fedora} >= 0 +%ifarch s390x +%define testsuite_fail || true +%endif +%endif +make -j4 check %{?testsuite_fail} %install make install DESTDIR=%{buildroot} @@ -144,13 +175,15 @@ install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit rm -f %{buildroot}/%{_libdir}/cockpit/*.so # shipped in firewalld since 0.6, everywhere in Fedora/RHEL 8 rm -f %{buildroot}/%{_prefix}/%{__lib}/firewalld/services/cockpit.xml -install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ +install -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ # Build the package lists for resource packages echo '%dir %{_datadir}/cockpit/base1' > base.list +echo '%dir %{_datadir}/cockpit/base1/fonts' >> 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 +echo '%dir %{_datadir}/cockpit/ssh' >> base.list find %{buildroot}%{_datadir}/cockpit/ssh -type f >> base.list echo '%{_libexecdir}/cockpit-ssh' >> base.list @@ -204,16 +237,12 @@ 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} +%if 0%{?build_docker} echo '%dir %{_datadir}/cockpit/docker' > docker.list find %{buildroot}%{_datadir}/cockpit/docker -type f >> docker.list %else rm -rf %{buildroot}/%{_datadir}/cockpit/docker -touch docker.list -%endif -%else -rm -rf %{buildroot}/%{_datadir}/cockpit/docker +rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml touch docker.list %endif @@ -244,23 +273,47 @@ for pkg in apps dashboard docker machines packagekit pcp playground storaged; do rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg done # files from -tests -rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets %{buildroot}/%{_sysconfdir}/cockpit/cockpit.conf +rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets # files from -pcp rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/ # 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 +# files from -docker +rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml %endif sed -i "s|%{buildroot}||" *.list +%if 0%{?suse_version} +# remove brandings that don't match the distro as they may contain +# stale symlinks +pushd %{buildroot}/%{_datadir}/cockpit/branding +ls -1 | (. /etc/os-release; grep -v "default\|$ID") | xargs rm -vr +popd +# need this in SUSE as post build checks dislike stale symlinks +install -m 644 -D /dev/null %{buildroot}/run/cockpit/motd +%else +%global _debugsource_packages 1 +%global _debuginfo_subpackages 0 + +%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}" + +# Redefine how debug info is built to slip in our extra debug files +%define __debug_install_post \ + %{find_debug_info} \ + cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \ +%{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 @@ -276,17 +329,6 @@ rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png %find_lang cockpit %endif -%global _debugsource_packages 1 -%global _debuginfo_subpackages 0 - -%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}" - -# Redefine how debug info is built to slip in our extra debug files -%define __debug_install_post \ - %{find_debug_info} \ - cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \ -%{nil} - # ------------------------------------------------------------------------------- # Basic Sub-packages @@ -346,9 +388,11 @@ embed or extend Cockpit. Summary: Cockpit admin interface package for configuring and troubleshooting a system BuildArch: noarch Requires: cockpit-bridge >= %{version}-%{release} +%if !0%{?suse_version} Requires: shadow-utils +%endif Requires: grep -Requires: libpwquality +Requires: /usr/bin/pwscore Requires: /usr/bin/date Provides: cockpit-shell = %{version}-%{release} Provides: cockpit-systemd = %{version}-%{release} @@ -366,6 +410,7 @@ Recommends: NetworkManager-team Recommends: setroubleshoot-server >= 3.3.3 Provides: cockpit-selinux = %{version}-%{release} Provides: cockpit-sosreport = %{version}-%{release} +Requires: sos %endif %if 0%{?fedora} >= 29 # 0.7.0 (actually) supports task cancellation. @@ -373,8 +418,8 @@ Provides: cockpit-sosreport = %{version}-%{release} Recommends: (reportd >= 0.7.1 if abrt) %endif # NPM modules which are also available as packages -Provides: bundled(js-jquery) = 3.4.1 -Provides: bundled(js-moment) = 2.24.0 +Provides: bundled(js-jquery) = 3.5.1 +Provides: bundled(js-moment) = 2.25.3 Provides: bundled(nodejs-flot) = 0.8.3 Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.9.0 Provides: bundled(xstatic-patternfly-common) = 3.59.4 @@ -383,6 +428,7 @@ Provides: bundled(xstatic-patternfly-common) = 3.59.4 This package contains the Cockpit shell and system configuration interfaces. %files system -f system.list +%dir %{_datadir}/cockpit/shell/images %package ws Summary: Cockpit Web Service @@ -412,10 +458,14 @@ authentication via sssd/FreeIPA. %doc %{_mandir}/man8/remotectl.8.gz %doc %{_mandir}/man8/pam_cockpit_cert.8.gz %doc %{_mandir}/man8/pam_ssh_add.8.gz +%dir %{_sysconfdir}/cockpit %config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d %config(noreplace) %{_sysconfdir}/pam.d/cockpit %config %{_sysconfdir}/issue.d/cockpit.issue %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/inactive.motd %{_unitdir}/cockpit.service @@ -432,8 +482,8 @@ authentication via sssd/FreeIPA. %{_unitdir}/system-cockpithttps.slice %{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf %{_sbindir}/remotectl -%{_libdir}/security/pam_ssh_add.so -%{_libdir}/security/pam_cockpit_cert.so +%{pamdir}/pam_ssh_add.so +%{pamdir}/pam_cockpit_cert.so %{_libexecdir}/cockpit-ws %{_libexecdir}/cockpit-wsinstance-factory %{_libexecdir}/cockpit-tls @@ -528,13 +578,15 @@ utility setroubleshoot to diagnose and resolve SELinux issues. %endif -%else # build basic packages +#/ build basic packages +%else # RPM requires this %description 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 @@ -550,13 +602,18 @@ Recommends: udisks2-iscsi >= 2.6 Recommends: device-mapper-multipath Recommends: clevis-luks Requires: %{__python3} +%if 0%{?suse_version} +Requires: python3-dbus-python +%else Requires: python3-dbus +%endif BuildArch: noarch %description -n cockpit-storaged The Cockpit component for managing storage. This package uses udisks. %files -n cockpit-storaged -f storaged.list +%dir %{_datadir}/cockpit/storaged/images %{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %package -n cockpit-tests @@ -571,7 +628,6 @@ This package contains tests and files used while testing Cockpit. These files are not required for running Cockpit. %files -n cockpit-tests -f tests.list -%config(noreplace) %{_sysconfdir}/cockpit/cockpit.conf %{_prefix}/%{__lib}/cockpit-test-assets %package -n cockpit-machines @@ -579,7 +635,11 @@ BuildArch: noarch Summary: Cockpit user interface for virtual machines Requires: cockpit-bridge >= 186 Requires: cockpit-system >= 186 +%if 0%{?suse_version} +Requires: libvirt-daemon-qemu +%else Requires: libvirt-daemon-kvm +%endif Requires: libvirt-client Requires: libvirt-dbus >= 1.2.0 # Optional components @@ -598,7 +658,7 @@ If "virt-install" is installed, you can also create new virtual machines. %package -n cockpit-pcp Summary: Cockpit PCP integration Requires: cockpit-bridge >= 134.x -Requires: pcp +Requires(post): pcp %description -n cockpit-pcp Cockpit support for reading PCP metrics and loading PCP archives. @@ -615,21 +675,19 @@ Cockpit support for reading PCP metrics and loading PCP archives. %if %{defined build_dashboard} %package -n cockpit-dashboard -Summary: Cockpit remote servers and dashboard +Summary: Cockpit remote server dashboard BuildArch: noarch Requires: cockpit-ssh >= 135 Conflicts: cockpit-ws < 135 %description -n cockpit-dashboard -Cockpit support for connecting to remote servers (through ssh), -bastion hosts, and a basic dashboard. +Cockpit page for showing performance graphs for up to 20 remote servers. %files -n cockpit-dashboard -f dashboard.list %endif -%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x -%if 0%{?fedora} +%if 0%{?build_docker} %package -n cockpit-docker Summary: Cockpit user interface for Docker containers Requires: cockpit-bridge >= 122 @@ -642,8 +700,7 @@ The Cockpit components for interacting with Docker and user interface. This package is not yet complete. %files -n cockpit-docker -f docker.list - -%endif +%{_datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml %endif %package -n cockpit-packagekit @@ -658,10 +715,25 @@ via PackageKit. %files -n cockpit-packagekit -f packagekit.list -%endif # build optional extension packages +#/ build optional extension packages +%endif # The changelog is automatically generated and merged %changelog +* Thu May 28 2020 Matej Marusak - 220-1 +- New navigation with integrated switching of hosts +- Logs: Inline help for filtering +- Fix cockpit-system AppStream dependency (rhbz#1838003) + +* Wed May 13 2020 Matej Marusak - 219-1 +- Rebase to upstream version 219 +- Accept upper-case login names for ssh/polkit agent challenges (rhbz#1825749) +- Show last/failed login (rhbz#1784772) +- Modernize services page (rhbz#1791193) +- Search in journal (rhbz#1710731) +- The default mode is not consistent with the mode in the created bond (rhbz#1817948) +- Fix deadlock in channel pressure handling (rhbz#1751783) + * Thu Mar 12 2020 Martin Pitt - 211.3-1 - Fix CJK translations (rhbz#1807856)