# # Copyright (C) 2014-2020 Red Hat, Inc. # # Cockpit is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Cockpit is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Cockpit; If not, see . # # This file is maintained at the following location: # https://github.com/cockpit-project/cockpit/blob/main/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 # # earliest base that the subpackages work on; this is still required as long as # we maintain the basic/optional split, then it can be replaced with just %{version}. %define required_base 266 # we generally want CentOS packages to be like RHEL; special cases need to check %{centos} explicitly %if 0%{?centos} %define rhel %{centos} %endif %define _hardened_build 1 %define __lib lib %if %{defined _pamdir} %define pamdir %{_pamdir} %else %define pamdir %{_libdir}/security %endif Name: cockpit Summary: Web Console for Linux servers License: LGPL-2.1-or-later URL: https://cockpit-project.org/ Version: 315 Release: 1.20240418163308639823.pr20334.49.g3ca2dcbbe%{?dist} Source0: cockpit-315.dev49+g3ca2dcbbe.tar.xz # pcp stopped building on ix86 %define build_pcp 1 %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 %ifarch %ix86 %define build_pcp 0 %endif %endif # Ship custom SELinux policy %define selinuxtype targeted %define selinux_configure_arg --enable-selinux-policy=%{selinuxtype} BuildRequires: gcc BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(polkit-agent-1) >= 0.105 BuildRequires: pam-devel BuildRequires: autoconf automake BuildRequires: make BuildRequires: python3-devel BuildRequires: gettext >= 0.21 BuildRequires: libssh-devel >= 0.8.5 BuildRequires: openssl-devel BuildRequires: gnutls-devel >= 3.4.3 BuildRequires: zlib-devel BuildRequires: krb5-devel >= 1.11 BuildRequires: libxslt-devel BuildRequires: glib-networking BuildRequires: sed BuildRequires: glib2-devel >= 2.50.0 # this is for runtimedir in the tls proxy ace21c8879 BuildRequires: systemd-devel >= 235 %if 0%{?suse_version} BuildRequires: distribution-release %if %{build_pcp} BuildRequires: libpcp-devel BuildRequires: pcp-devel BuildRequires: libpcp3 BuildRequires: libpcp_import1 %endif BuildRequires: openssh BuildRequires: distribution-logos BuildRequires: wallpaper-branding %else %if %{build_pcp} BuildRequires: pcp-libs-devel %endif BuildRequires: openssh-clients BuildRequires: docbook-style-xsl %endif BuildRequires: krb5-server BuildRequires: gdb # For documentation BuildRequires: xmlto BuildRequires: selinux-policy BuildRequires: selinux-policy-devel # This is the "cockpit" metapackage. It should only # Require, Suggest or Recommend other cockpit-xxx subpackages Requires: cockpit-bridge Requires: cockpit-ws Requires: cockpit-system # Optional components Recommends: (cockpit-storaged if udisks2) Recommends: (cockpit-packagekit if dnf) Suggests: cockpit-pcp %if 0%{?rhel} == 0 Recommends: (cockpit-networkmanager if NetworkManager) # c-ostree is not in RHEL 8/9 Recommends: (cockpit-ostree if rpm-ostree) Suggests: cockpit-selinux %endif %if 0%{?rhel} && 0%{?centos} == 0 Requires: subscription-manager-cockpit %endif BuildRequires: python3-devel BuildRequires: python3-pip %if 0%{?rhel} == 0 && !0%{?suse_version} # All of these are only required for running pytest (which we only do on Fedora) BuildRequires: procps-ng BuildRequires: pyproject-rpm-macros BuildRequires: python3-pytest-asyncio BuildRequires: python3-pytest-cov BuildRequires: python3-pytest-timeout BuildRequires: python3-tox-current-env %endif %prep %setup -q -n cockpit-315.dev49+g3ca2dcbbe %build %configure \ %{?selinux_configure_arg} \ --with-cockpit-user=cockpit-ws \ --with-cockpit-ws-instance-user=cockpit-wsinstance \ %if 0%{?suse_version} --docdir=%_defaultdocdir/%{name} \ %endif --with-pamdir='%{pamdir}' \ %if %{build_pcp} == 0 --disable-pcp \ %endif %make_build %check make -j$(nproc) check %if 0%{?rhel} == 0 %tox %endif %install %make_install 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 -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ # Build the package lists for resource packages # cockpit-bridge is the basic dependency for all cockpit-* packages, so centrally own the page directory echo '%dir %{_datadir}/cockpit' > base.list echo '%dir %{_datadir}/cockpit/base1' >> base.list find %{buildroot}%{_datadir}/cockpit/base1 -type f -o -type l >> base.list echo '%{_sysconfdir}/cockpit/machines.d' >> base.list echo %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy >> base.list echo '%{_libexecdir}/cockpit-ssh' >> base.list %if %{build_pcp} echo '%dir %{_datadir}/cockpit/pcp' > pcp.list find %{buildroot}%{_datadir}/cockpit/pcp -type f >> pcp.list %endif echo '%dir %{_datadir}/cockpit/shell' >> system.list find %{buildroot}%{_datadir}/cockpit/shell -type f >> system.list echo '%dir %{_datadir}/cockpit/systemd' >> system.list find %{buildroot}%{_datadir}/cockpit/systemd -type f >> system.list echo '%dir %{_datadir}/cockpit/users' >> system.list find %{buildroot}%{_datadir}/cockpit/users -type f >> system.list echo '%dir %{_datadir}/cockpit/metrics' >> system.list find %{buildroot}%{_datadir}/cockpit/metrics -type f >> system.list echo '%dir %{_datadir}/cockpit/kdump' > kdump.list find %{buildroot}%{_datadir}/cockpit/kdump -type f >> kdump.list echo '%dir %{_datadir}/cockpit/sosreport' > sosreport.list find %{buildroot}%{_datadir}/cockpit/sosreport -type f >> sosreport.list echo '%dir %{_datadir}/cockpit/storaged' > storaged.list 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/packagekit' > packagekit.list find %{buildroot}%{_datadir}/cockpit/packagekit -type f >> packagekit.list echo '%dir %{_datadir}/cockpit/apps' >> packagekit.list find %{buildroot}%{_datadir}/cockpit/apps -type f >> packagekit.list 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 echo '%dir %{_datadir}/cockpit/static' > static.list echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list sed -i "s|%{buildroot}||" *.list %if ! 0%{?suse_version} %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}" %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}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png %endif # ------------------------------------------------------------------------------- # Sub-packages %description 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 %{_docdir}/cockpit/COPYING %{_docdir}/cockpit/README.md %{_datadir}/metainfo/cockpit.appdata.xml %{_datadir}/pixmaps/cockpit.png %doc %{_mandir}/man1/cockpit.1.gz %package bridge Summary: Cockpit bridge server-side component Requires: glib-networking Provides: cockpit-ssh = %{version}-%{release} # 233 dropped jquery.js, pages started to bundle it (commit 049e8b8dce) Conflicts: cockpit-dashboard < 233 Conflicts: cockpit-networkmanager < 233 Conflicts: cockpit-storaged < 233 Conflicts: cockpit-system < 233 Conflicts: cockpit-tests < 233 Conflicts: cockpit-docker < 233 %description bridge 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 %doc %{_mandir}/man1/cockpit-bridge.1.gz %{_bindir}/cockpit-bridge %{_libexecdir}/cockpit-askpass %{python3_sitelib}/%{name}* %package doc Summary: Cockpit deployment and developer guide BuildArch: noarch %description doc The Cockpit Deployment and Developer Guide shows sysadmins how to deploy Cockpit on their machines as well as helps developers who want to embed or extend Cockpit. %files doc %exclude %{_docdir}/cockpit/AUTHORS %exclude %{_docdir}/cockpit/COPYING %exclude %{_docdir}/cockpit/README.md %{_docdir}/cockpit %package system 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: /usr/bin/pwscore Requires: /usr/bin/date Provides: cockpit-shell = %{version}-%{release} Provides: cockpit-systemd = %{version}-%{release} Provides: cockpit-tuned = %{version}-%{release} Provides: cockpit-users = %{version}-%{release} Obsoletes: cockpit-dashboard < %{version}-%{release} %if 0%{?rhel} Requires: NetworkManager >= 1.6 Requires: kexec-tools Requires: sos Requires: sudo Recommends: PackageKit Recommends: setroubleshoot-server >= 3.3.3 Suggests: NetworkManager-team Provides: cockpit-kdump = %{version}-%{release} Provides: cockpit-networkmanager = %{version}-%{release} Provides: cockpit-selinux = %{version}-%{release} Provides: cockpit-sosreport = %{version}-%{release} %endif %if 0%{?fedora} Recommends: (reportd if abrt) %endif Provides: bundled(npm(@patternfly/patternfly)) = 5.2.1 Provides: bundled(npm(@patternfly/react-core)) = 5.2.3 Provides: bundled(npm(@patternfly/react-icons)) = 5.2.1 Provides: bundled(npm(@patternfly/react-styles)) = 5.2.1 Provides: bundled(npm(@patternfly/react-table)) = 5.2.4 Provides: bundled(npm(@patternfly/react-tokens)) = 5.2.1 Provides: bundled(npm(argparse)) = 1.0.10 Provides: bundled(npm(array-buffer-byte-length)) = 1.0.1 Provides: bundled(npm(attr-accept)) = 2.2.2 Provides: bundled(npm(autolinker)) = 3.16.2 Provides: bundled(npm(available-typed-arrays)) = 1.0.7 Provides: bundled(npm(call-bind)) = 1.0.7 Provides: bundled(npm(date-fns)) = 3.6.0 Provides: bundled(npm(deep-equal)) = 2.2.3 Provides: bundled(npm(define-data-property)) = 1.1.4 Provides: bundled(npm(define-properties)) = 1.2.1 Provides: bundled(npm(es-define-property)) = 1.0.0 Provides: bundled(npm(es-errors)) = 1.3.0 Provides: bundled(npm(es-get-iterator)) = 1.1.3 Provides: bundled(npm(file-selector)) = 0.6.0 Provides: bundled(npm(focus-trap)) = 7.5.2 Provides: bundled(npm(for-each)) = 0.3.3 Provides: bundled(npm(function-bind)) = 1.1.2 Provides: bundled(npm(functions-have-names)) = 1.2.3 Provides: bundled(npm(get-intrinsic)) = 1.2.4 Provides: bundled(npm(gopd)) = 1.0.1 Provides: bundled(npm(has-bigints)) = 1.0.2 Provides: bundled(npm(has-property-descriptors)) = 1.0.2 Provides: bundled(npm(has-proto)) = 1.0.3 Provides: bundled(npm(has-symbols)) = 1.0.3 Provides: bundled(npm(has-tostringtag)) = 1.0.2 Provides: bundled(npm(hasown)) = 2.0.2 Provides: bundled(npm(internal-slot)) = 1.0.7 Provides: bundled(npm(is-arguments)) = 1.1.1 Provides: bundled(npm(is-array-buffer)) = 3.0.4 Provides: bundled(npm(is-bigint)) = 1.0.4 Provides: bundled(npm(is-boolean-object)) = 1.1.2 Provides: bundled(npm(is-callable)) = 1.2.7 Provides: bundled(npm(is-date-object)) = 1.0.5 Provides: bundled(npm(is-map)) = 2.0.3 Provides: bundled(npm(is-number-object)) = 1.0.7 Provides: bundled(npm(is-regex)) = 1.1.4 Provides: bundled(npm(is-set)) = 2.0.3 Provides: bundled(npm(is-shared-array-buffer)) = 1.0.3 Provides: bundled(npm(is-string)) = 1.0.7 Provides: bundled(npm(is-symbol)) = 1.0.4 Provides: bundled(npm(is-weakmap)) = 2.0.2 Provides: bundled(npm(is-weakset)) = 2.0.3 Provides: bundled(npm(isarray)) = 2.0.5 Provides: bundled(npm(js-sha1)) = 0.7.0 Provides: bundled(npm(js-sha256)) = 0.11.0 Provides: bundled(npm(js-tokens)) = 4.0.0 Provides: bundled(npm(json-stable-stringify-without-jsonify)) = 1.0.1 Provides: bundled(npm(lodash)) = 4.17.21 Provides: bundled(npm(loose-envify)) = 1.4.0 Provides: bundled(npm(object-assign)) = 4.1.1 Provides: bundled(npm(object-inspect)) = 1.13.1 Provides: bundled(npm(object-is)) = 1.1.6 Provides: bundled(npm(object-keys)) = 1.1.1 Provides: bundled(npm(object.assign)) = 4.1.5 Provides: bundled(npm(possible-typed-array-names)) = 1.0.0 Provides: bundled(npm(prop-types)) = 15.8.1 Provides: bundled(npm(react-dom)) = 18.2.0 Provides: bundled(npm(react-dropzone)) = 14.2.3 Provides: bundled(npm(react-is)) = 16.13.1 Provides: bundled(npm(react)) = 18.2.0 Provides: bundled(npm(regexp.prototype.flags)) = 1.5.2 Provides: bundled(npm(remarkable)) = 2.0.1 Provides: bundled(npm(scheduler)) = 0.23.0 Provides: bundled(npm(set-function-length)) = 1.2.2 Provides: bundled(npm(set-function-name)) = 2.0.2 Provides: bundled(npm(side-channel)) = 1.0.6 Provides: bundled(npm(sprintf-js)) = 1.0.3 Provides: bundled(npm(stop-iteration-iterator)) = 1.0.0 Provides: bundled(npm(tabbable)) = 6.2.0 Provides: bundled(npm(throttle-debounce)) = 5.0.0 Provides: bundled(npm(tslib)) = 2.6.2 Provides: bundled(npm(uuid)) = 9.0.1 Provides: bundled(npm(which-boxed-primitive)) = 1.0.2 Provides: bundled(npm(which-collection)) = 1.0.2 Provides: bundled(npm(which-typed-array)) = 1.1.15 Provides: bundled(npm(xterm-addon-canvas)) = 0.5.0 Provides: bundled(npm(xterm)) = 5.3.0 %description system 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 Requires: glib-networking Requires: openssl Requires: glib2 >= 2.50.0 Requires: (selinux-policy >= %{_selinux_policy_version} if selinux-policy-%{selinuxtype}) Requires(post): (policycoreutils if selinux-policy-%{selinuxtype}) Conflicts: firewalld < 0.6.0-1 Recommends: sscg >= 2.3 Recommends: system-logos Suggests: sssd-dbus >= 2.6.2 # for cockpit-desktop Suggests: python3 # prevent hard python3 dependency for cockpit-desktop, it falls back to other browsers %global __requires_exclude_from ^%{_libexecdir}/cockpit-client$ %description ws 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 static.list %doc %{_mandir}/man1/cockpit-desktop.1.gz %doc %{_mandir}/man5/cockpit.conf.5.gz %doc %{_mandir}/man8/cockpit-ws.8.gz %doc %{_mandir}/man8/cockpit-tls.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 # created in %post, so that users can rm the files %ghost %{_sysconfdir}/issue.d/cockpit.issue %ghost %{_sysconfdir}/motd.d/cockpit %ghost %attr(0644, root, root) %{_sysconfdir}/cockpit/disallowed-users %dir %{_datadir}/cockpit/motd %{_datadir}/cockpit/motd/update-motd %{_datadir}/cockpit/motd/inactive.motd %{_unitdir}/cockpit.service %{_unitdir}/cockpit-motd.service %{_unitdir}/cockpit.socket %{_unitdir}/cockpit-wsinstance-http.socket %{_unitdir}/cockpit-wsinstance-http.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 %{pamdir}/pam_ssh_add.so %{pamdir}/pam_cockpit_cert.so %{_libexecdir}/cockpit-ws %{_libexecdir}/cockpit-wsinstance-factory %{_libexecdir}/cockpit-tls %{_libexecdir}/cockpit-client %{_libexecdir}/cockpit-client.ui %{_libexecdir}/cockpit-desktop %{_libexecdir}/cockpit-certificate-ensure %{_libexecdir}/cockpit-certificate-helper %attr(4750, root, cockpit-wsinstance) %{_libexecdir}/cockpit-session %{_datadir}/cockpit/branding %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 %{_mandir}/man8/%{name}_session_selinux.8cockpit.* %{_mandir}/man8/%{name}_ws_selinux.8cockpit.* %ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name} %pre 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 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 if %{_sbindir}/selinuxenabled 2>/dev/null; then %selinux_relabel_pre -s %{selinuxtype} fi %post ws if [ -x %{_sbindir}/selinuxenabled ]; then %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 %selinux_relabel_post -s %{selinuxtype} fi # set up dynamic motd/issue symlinks on first-time install; don't bring them back on upgrades if admin removed them # disable root login on first-time install; so existing installations aren't changed if [ "$1" = 1 ]; then mkdir -p /etc/motd.d /etc/issue.d ln -s ../../run/cockpit/motd /etc/motd.d/cockpit ln -s ../../run/cockpit/motd /etc/issue.d/cockpit.issue printf "# List of users which are not allowed to login to Cockpit\n" > /etc/cockpit/disallowed-users printf "root\n" >> /etc/cockpit/disallowed-users chmod 644 /etc/cockpit/disallowed-users fi %tmpfiles_create cockpit-tempfiles.conf %systemd_post cockpit.socket cockpit.service # firewalld only partially picks up changes to its services files without this test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true # check for deprecated PAM config if test -f %{_sysconfdir}/pam.d/cockpit && grep -q pam_cockpit_cert %{_sysconfdir}/pam.d/cockpit; then echo '**** WARNING:' echo '**** WARNING: pam_cockpit_cert is a no-op and will be removed in a' echo '**** WARNING: future release; remove it from your /etc/pam.d/cockpit.' echo '**** WARNING:' fi %preun ws %systemd_preun cockpit.socket cockpit.service %postun ws if [ -x %{_sbindir}/selinuxenabled ]; then %selinux_modules_uninstall -s %{selinuxtype} %{name} %selinux_relabel_post -s %{selinuxtype} fi %systemd_postun_with_restart cockpit.socket cockpit.service # ------------------------------------------------------------------------------- # 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: kexec-tools BuildArch: noarch %description kdump The Cockpit component for configuring kernel crash dumping. %files kdump -f kdump.list %{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml %package sosreport Summary: Cockpit user interface for diagnostic reports Requires: cockpit-bridge >= %{required_base} Requires: cockpit-shell >= %{required_base} Requires: sos BuildArch: noarch %description sosreport The Cockpit component for creating diagnostic reports with the sosreport tool. %files sosreport -f sosreport.list %{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml %{_datadir}/pixmaps/cockpit-sosreport.png %package networkmanager Summary: Cockpit user interface for networking, using NetworkManager Requires: cockpit-bridge >= %{required_base} Requires: cockpit-shell >= %{required_base} Requires: NetworkManager >= 1.6 # Optional components Recommends: NetworkManager-team BuildArch: noarch %description networkmanager The Cockpit component for managing networking. This package uses NetworkManager. %files networkmanager -f networkmanager.list %{_datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml %endif %if 0%{?rhel} == 0 %package selinux Summary: Cockpit SELinux package Requires: cockpit-bridge >= %{required_base} Requires: cockpit-shell >= %{required_base} Requires: setroubleshoot-server >= 3.3.3 BuildArch: noarch %description selinux This package contains the Cockpit user interface integration with the utility setroubleshoot to diagnose and resolve SELinux issues. %files selinux -f selinux.list %{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml %endif %package -n cockpit-storaged Summary: Cockpit user interface for storage, using udisks Requires: cockpit-shell >= %{required_base} Requires: udisks2 >= 2.9 Recommends: udisks2-lvm2 >= 2.9 Recommends: udisks2-iscsi >= 2.9 %if ! 0%{?rhel} Recommends: udisks2-btrfs >= 2.9 %endif 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 %{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %package -n cockpit-tests Summary: Tests for Cockpit Requires: cockpit-bridge >= %{required_base} Requires: cockpit-system >= %{required_base} Requires: openssh-clients Provides: cockpit-test-assets = %{version}-%{release} %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 -f tests.list %{pamdir}/mock-pam-conv-mod.so %{_unitdir}/cockpit-session.socket %{_unitdir}/cockpit-session@.service %if %{build_pcp} %package -n cockpit-pcp Summary: Cockpit PCP integration Requires: cockpit-bridge >= %{required_base} Requires: pcp %description -n cockpit-pcp Cockpit support for reading PCP metrics and loading PCP archives. %files -n cockpit-pcp -f pcp.list %{_libexecdir}/cockpit-pcp %{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit %post -n cockpit-pcp systemctl reload-or-try-restart pmlogger %endif %package -n cockpit-packagekit Summary: Cockpit user interface for packages BuildArch: noarch Requires: cockpit-bridge >= %{required_base} Requires: PackageKit Recommends: python3-tracer # HACK: https://bugzilla.redhat.com/show_bug.cgi?id=1800468 Requires: polkit %description -n cockpit-packagekit The Cockpit components for installing OS updates and Cockpit add-ons, via PackageKit. %files -n cockpit-packagekit -f packagekit.list # The changelog is automatically generated and merged %changelog * Thu Apr 18 2024 Packit - 315-1.20240418163308639823.pr20334.49.g3ca2dcbbe - test: port test-format to typescript (Allison Karlitskaya) - cockpit.js: add new number formatting API style (Allison Karlitskaya) - storage: add a testcase for format_fsys_usage() (Allison Karlitskaya) - test: use f-strings in asserts in test-format (Allison Karlitskaya) - test: add f`` tagged template string helper (Allison Karlitskaya) - storaged: simplify utils.get_byte_units() (Allison Karlitskaya) - base1: drop cockpit.get_byte_units() API (Allison Karlitskaya) - test: stop using deprecated cgi module for multipart post parsing (Jelle van der Waa) - test: testIdentifierReloading is not destructive (Jelle van der Waa) - test: testBridgeCLI is not destructive (Jelle van der Waa) - test: Use `nft` instead of `iptables` (Martin Pitt) - test: Clean up systemd units after erasing packages (Martin Pitt) - test: Less aggressive pmlogger log cleaning in TestGrafanaClient (Martin Pitt) - Bump @types/react from 18.2.78 to 18.2.79 in the types group (dependabot[bot]) - po: Update from Fedora Weblate (GitHub Workflow) - test: support typescript on qunit tests (Allison Karlitskaya) - bridge: fix a `(a and b) or c` case (Allison Karlitskaya) - lib: type all format related functions (Jelle van der Waa) - test/static-code: drop flake8 (Allison Karlitskaya) - pyproject: enable 'preview' ruff rules (Allison Karlitskaya) - test: Update journal check in TestHistoryMetrics.testEvents to current systemd (Martin Pitt) - users: drop superuser "require" for /etc/login.defs (Jelle van der Waa) - users: cockpit.spawn's superuser option is not a boolean (Jelle van der Waa) - lib: introduce an upload() helper for fsreplace1 (Jelle van der Waa) - bridge: send acks on receiving data (Allison Karlitskaya) - bridge: tweak a comment in AsyncChannel (Allison Karlitskaya) - bridge: rewrite fsreplace1 as AsyncChannel (Allison Karlitskaya) - test: workaround for watch channel issue (Martin Pitt) - test: Fix race condition with waiting for page load (Martin Pitt) - Bump the types group with 2 updates (dependabot[bot]) - pytest: Bring back Transport tests (Martin Pitt) - cockpit-ci: Update container to 2024-04-08 (Cockpit Project) - Bump sass from 1.74.1 to 1.75.0 (dependabot[bot]) - Bump @types/react from 18.2.76 to 18.2.77 in the types group (dependabot[bot]) - lib: the channel superuser option takes "try" or "require" (Jelle van der Waa) - test: Add sshd restart workaround on Ubuntu after joining IPA domain (Martin Pitt) - test: Clean up the kerberos waiting script (Martin Pitt) - test: Add forgotten SSH service unit constants (Martin Pitt) - lib: Close Dropdown after selection instead of toggling it (Marius Vollmer) - Bump the types group with 2 updates (dependabot[bot]) - base1: add cockpit.assert() (Allison Karlitskaya) - test: lcov: add coverage for ts/x files (Allison Karlitskaya) - users: Fix handling of failed date parsing (Chris Wiggins) - Bump the types group with 2 updates (dependabot[bot]) - dependabot: Group react packages (Martin Pitt) - dependabot: Update all typescript related packages as a group (Martin Pitt) - Bump @types/react-dom from 18.2.18 to 18.2.24 (dependabot[bot]) - pkg/lib: rename hooks.js to hooks.ts (Allison Karlitskaya) - test/static-code: add support for typescript (Allison Karlitskaya)