diff --git a/cockpit.spec b/cockpit.spec index 2e21353..7bb82ea 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -1,22 +1,32 @@ # -# spec file for package cockpit -# -# Copyright (c) 2022 SUSE LLC # Copyright (C) 2014-2020 Red Hat, Inc. # -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# 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; the instances of this get computed/updated +# 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 @@ -52,7 +62,6 @@ Source97: node_modules.spec.inc Patch1: 0001-selinux-allow-login-to-read-motd-file.patch Patch2: hide-docs.patch Patch3: suse-microos-branding.patch -Patch4: css-overrides.patch # SLE Micro specific patches Patch100: remove-pwscore.patch Patch101: hide-pcp.patch @@ -86,86 +95,85 @@ Patch101: hide-pcp.patch %endif %endif -BuildRequires: gcc -BuildRequires: pam-devel -BuildRequires: pkgconfig(gio-unix-2.0) -BuildRequires: pkgconfig(json-glib-1.0) -BuildRequires: pkgconfig(polkit-agent-1) >= 0.105 +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: /usr/bin/python3 -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: make +BuildRequires: autoconf automake +BuildRequires: make +BuildRequires: /usr/bin/python3 %if 0%{?rhel} && 0%{?rhel} <= 8 # RHEL 8's gettext does not yet have metainfo.its -BuildRequires: gettext >= 0.19.7 -BuildRequires: libappstream-glib-devel +BuildRequires: gettext >= 0.19.7 +BuildRequires: libappstream-glib-devel %else -BuildRequires: gettext >= 0.21 +BuildRequires: gettext >= 0.21 %endif %if 0%{?build_basic} -BuildRequires: libssh-devel >= 0.8.5 +BuildRequires: libssh-devel >= 0.8.5 %endif -BuildRequires: glib-networking -BuildRequires: gnutls-devel >= 3.4.3 -BuildRequires: libxslt-devel -BuildRequires: openssl-devel -BuildRequires: sed -BuildRequires: zlib-devel -BuildRequires: pkgconfig(krb5) >= 1.11 +BuildRequires: openssl-devel +BuildRequires: gnutls-devel >= 3.4.3 +BuildRequires: zlib-devel +BuildRequires: pkgconfig(krb5) >= 1.11 +BuildRequires: libxslt-devel +BuildRequires: glib-networking +BuildRequires: sed -BuildRequires: glib2-devel >= 2.50.0 +BuildRequires: glib2-devel >= 2.50.0 # this is for runtimedir in the tls proxy ace21c8879 -BuildRequires: pkgconfig(libsystemd) >= 235 +BuildRequires: pkgconfig(libsystemd) >= 235 %if 0%{?suse_version} -BuildRequires: distribution-logos -BuildRequires: distribution-release -BuildRequires: libpcp-devel -BuildRequires: libpcp3 -BuildRequires: libpcp_import1 -BuildRequires: openssh -BuildRequires: pcp-devel -BuildRequires: wallpaper-branding +BuildRequires: distribution-release +BuildRequires: libpcp-devel +BuildRequires: pcp-devel +BuildRequires: libpcp3 +BuildRequires: libpcp_import1 +BuildRequires: openssh +BuildRequires: distribution-logos +BuildRequires: wallpaper-branding # needed for /var/lib/pcp directory ownership -BuildRequires: pcp +BuildRequires: pcp %else -BuildRequires: docbook-style-xsl -BuildRequires: openssh-clients -BuildRequires: pcp-libs-devel +BuildRequires: pcp-libs-devel +BuildRequires: openssh-clients +BuildRequires: docbook-style-xsl %endif -BuildRequires: gdb -BuildRequires: krb5-server +BuildRequires: krb5-server +BuildRequires: gdb # For documentation -BuildRequires: xmlto +BuildRequires: xmlto BuildRequires: selinux-policy BuildRequires: selinux-policy-%{selinuxtype} BuildRequires: selinux-policy-devel # for rebuilding nodejs bits -BuildRequires: npm -BuildRequires: local-npm-registry -BuildRequires: sassc +BuildRequires: npm +BuildRequires: sassc +BuildRequires: local-npm-registry # This is the "cockpit" metapackage. It should only # Require, Suggest or Recommend other cockpit-xxx subpackages -Requires: cockpit-bridge -Requires: cockpit-system -Requires: cockpit-ws +Requires: cockpit-bridge +Requires: cockpit-ws +Requires: cockpit-system # Optional components -Recommends: (cockpit-storaged if udisks2) -Recommends: (cockpit-packagekit if dnf) -Suggests: cockpit-pcp +Recommends: (cockpit-storaged if udisks2) +Recommends: (cockpit-packagekit if dnf) +Suggests: cockpit-pcp %if 0%{?rhel} == 0 -Recommends: (cockpit-networkmanager if NetworkManager) -Suggests: cockpit-selinux +Recommends: (cockpit-networkmanager if NetworkManager) +Suggests: cockpit-selinux %endif %if 0%{?rhel} && 0%{?centos} == 0 -Requires: subscription-manager-cockpit +Requires: subscription-manager-cockpit %endif %prep @@ -278,7 +286,6 @@ find %{buildroot}%{_datadir}/cockpit/playground -type f >> tests.list echo '%dir %{_datadir}/cockpit/static' > static.list echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list -cp pkg/static/css-overrides.css %{buildroot}%{_datadir}/cockpit/static/ find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list # when not building basic packages, remove their files @@ -374,19 +381,20 @@ troubleshooting, interactive command-line sessions, and more. %{_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} +Summary: Cockpit bridge server-side component +Requires: glib-networking +Provides: cockpit-ssh = %{version}-%{release} # PR #10430 dropped workaround for ws' inability to understand x-host-key challenge -Conflicts: cockpit-ws < 181.x +Conflicts: cockpit-ws < 181.x # 233 dropped jquery.js, pages started to bundle it (commit 049e8b8dce) -Conflicts: cockpit-dashboard < 233 -Conflicts: cockpit-docker < 233 -Conflicts: cockpit-networkmanager < 233 -Conflicts: cockpit-storaged < 233 -Conflicts: cockpit-system < 233 -Conflicts: cockpit-tests < 233 +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 @@ -398,8 +406,8 @@ system on behalf of the web based user interface. %{_libexecdir}/cockpit-askpass %package doc -Summary: Cockpit deployment and developer guide -BuildArch: noarch +Summary: Cockpit deployment and developer guide +BuildArch: noarch %description doc The Cockpit Deployment and Developer Guide shows sysadmins how to @@ -413,40 +421,40 @@ embed or extend Cockpit. %{_docdir}/cockpit %package system -Summary: Cockpit admin interface package for configuring and troubleshooting a system -BuildArch: noarch -Requires: cockpit-bridge >= %{version}-%{release} +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 +Requires: shadow-utils %endif -Requires: grep +Requires: grep %if !0%{?sle_version} -Requires: /usr/bin/pwscore +Requires: /usr/bin/pwscore %endif -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} +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} +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) +Recommends: (reportd if abrt) %endif # NPM modules which are also available as packages -Provides: bundled(xstatic-patternfly-common) = 3.59.5 +Provides: bundled(xstatic-patternfly-common) = 3.59.5 %description system This package contains the Cockpit shell and system configuration interfaces. @@ -455,23 +463,23 @@ This package contains the Cockpit shell and system configuration interfaces. %dir %{_datadir}/cockpit/shell/images %package ws -Summary: Cockpit Web Service -Requires: glib-networking -Requires: glib2 >= 2.50.0 -Requires: openssl -Requires: (selinux-policy >= %{_selinux_policy_version} if selinux-policy-%{selinuxtype}) +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 +Conflicts: firewalld < 0.6.0-1 +Recommends: sscg >= 2.3 +Recommends: system-logos +Suggests: sssd-dbus %if 0%{?suse_version} -Requires(pre): permissions -Requires: distribution-logos -Requires: wallpaper-branding +Requires(pre): permissions +Requires: distribution-logos +Requires: wallpaper-branding %endif # for cockpit-desktop -Suggests: python3 +Suggests: python3 # prevent hard python3 dependency for cockpit-desktop, it falls back to other browsers %global __requires_exclude_from ^%{_libexecdir}/cockpit-client$ @@ -594,11 +602,11 @@ fi %if 0%{?rhel} == 0 %package kdump -Summary: Cockpit user interface for kernel crash dumping -Requires: cockpit-bridge >= 130 -Requires: cockpit-shell >= 130 -Requires: kexec-tools -BuildArch: noarch +Summary: Cockpit user interface for kernel crash dumping +Requires: cockpit-bridge >= 130 +Requires: cockpit-shell >= 130 +Requires: kexec-tools +BuildArch: noarch %description kdump The Cockpit component for configuring kernel crash dumping. @@ -608,11 +616,11 @@ The Cockpit component for configuring kernel crash dumping. %if !0%{?suse_version} %package sosreport -Summary: Cockpit user interface for diagnostic reports -Requires: cockpit-bridge >= 122 -Requires: cockpit-shell >= 122 -Requires: sos -BuildArch: noarch +Summary: Cockpit user interface for diagnostic reports +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 +Requires: sos +BuildArch: noarch %description sosreport The Cockpit component for creating diagnostic reports with the @@ -624,13 +632,13 @@ sosreport tool. %endif %package networkmanager -Summary: Cockpit user interface for networking, using NetworkManager -Requires: NetworkManager >= 1.6 -Requires: cockpit-bridge >= 186 -Requires: cockpit-shell >= 186 +Summary: Cockpit user interface for networking, using NetworkManager +Requires: cockpit-bridge >= 186 +Requires: cockpit-shell >= 186 +Requires: NetworkManager >= 1.6 # Optional components -Recommends: NetworkManager-team -BuildArch: noarch +Recommends: NetworkManager-team +BuildArch: noarch %description networkmanager The Cockpit component for managing networking. This package uses NetworkManager. @@ -642,11 +650,11 @@ The Cockpit component for managing networking. This package uses NetworkManager %if 0%{?rhel} == 0 && !0%{?suse_version} %package selinux -Summary: Cockpit SELinux package -Requires: cockpit-bridge >= 122 -Requires: cockpit-shell >= 122 -Requires: setroubleshoot-server >= 3.3.3 -BuildArch: noarch +Summary: Cockpit SELinux package +Requires: cockpit-bridge >= 122 +Requires: cockpit-shell >= 122 +Requires: setroubleshoot-server >= 3.3.3 +BuildArch: noarch %description selinux This package contains the Cockpit user interface integration with the @@ -673,20 +681,20 @@ Dummy package from building optional packages only; never install or publish me. %if 0%{?build_optional} %package -n cockpit-storaged -Summary: Cockpit user interface for storage, using udisks -Requires: cockpit-shell >= 266 -Requires: udisks2 >= 2.9 -Recommends: clevis-luks -Recommends: device-mapper-multipath -Recommends: udisks2-iscsi >= 2.9 -Recommends: udisks2-lvm2 >= 2.9 -Requires: %{__python3} +Summary: Cockpit user interface for storage, using udisks +Requires: cockpit-shell >= 266 +Requires: udisks2 >= 2.9 +Recommends: udisks2-lvm2 >= 2.9 +Recommends: udisks2-iscsi >= 2.9 +Recommends: device-mapper-multipath +Recommends: clevis-luks +Requires: %{__python3} %if 0%{?suse_version} -Requires: python3-dbus-python +Requires: python3-dbus-python %else -Requires: python3-dbus +Requires: python3-dbus %endif -BuildArch: noarch +BuildArch: noarch %description -n cockpit-storaged The Cockpit component for managing storage. This package uses udisks. @@ -696,11 +704,11 @@ The Cockpit component for managing storage. This package uses udisks. %{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %package -n cockpit-tests -Summary: Tests for Cockpit -Requires: cockpit-bridge >= 138 -Requires: cockpit-system >= 138 -Requires: openssh-clients -Provides: cockpit-test-assets = %{version}-%{release} +Summary: Tests for Cockpit +Requires: cockpit-bridge >= 138 +Requires: cockpit-system >= 138 +Requires: openssh-clients +Provides: cockpit-test-assets = %{version}-%{release} %description -n cockpit-tests This package contains tests and files used while testing Cockpit. @@ -710,7 +718,7 @@ These files are not required for running Cockpit. %{_prefix}/%{__lib}/cockpit-test-assets %package devel -Summary: Development files for for Cockpit +Summary: Development files for for Cockpit %description devel This package contains files used to develop cockpit modules @@ -719,9 +727,9 @@ This package contains files used to develop cockpit modules %{_datadir}/cockpit/devel %package -n cockpit-pcp -Summary: Cockpit PCP integration -Requires: cockpit-bridge >= 238.1.1 -Requires: pcp +Summary: Cockpit PCP integration +Requires: cockpit-bridge >= 238.1.1 +Requires: pcp %description -n cockpit-pcp Cockpit support for reading PCP metrics and loading PCP archives. @@ -734,13 +742,13 @@ Cockpit support for reading PCP metrics and loading PCP archives. systemctl reload-or-try-restart pmlogger %package -n cockpit-packagekit -Summary: Cockpit user interface for packages -BuildArch: noarch -Requires: PackageKit -Requires: cockpit-bridge >= 186 -Recommends: python3-tracer +Summary: Cockpit user interface for packages +BuildArch: noarch +Requires: cockpit-bridge >= 186 +Requires: PackageKit +Recommends: python3-tracer # HACK: https://bugzilla.redhat.com/show_bug.cgi?id=1800468 -Requires: polkit +Requires: polkit %description -n cockpit-packagekit The Cockpit components for installing OS updates and Cockpit add-ons, @@ -751,4 +759,5 @@ via PackageKit. #/ build optional extension packages %endif +# The changelog is automatically generated and merged %changelog