diff --git a/cockpit.spec b/cockpit.spec index 4e4a63b..e07ffa6 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -1,22 +1,32 @@ # -# spec file for package cockpit -# -# Copyright (c) 2024 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; 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 @@ -121,68 +131,67 @@ Patch104: selinux_libdir.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: python3-devel +BuildRequires: autoconf automake +BuildRequires: make +BuildRequires: /usr/bin/python3 +BuildRequires: python3-devel %if ( 0%{?rhel} && 0%{?rhel} <= 8 ) || 0%{?suse_version} <= 1500 # RHEL 8's gettext does not yet have metainfo.its -BuildRequires: gettext >= 0.19.7 +BuildRequires: gettext >= 0.19.7 %if 0%{?rhel} -BuildRequires: libappstream-glib-devel +BuildRequires: libappstream-glib-devel %else # Suse's package has a different name -BuildRequires: appstream-glib-devel +BuildRequires: appstream-glib-devel %endif %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-release +BuildRequires: distribution-release %if %{build_pcp} -BuildRequires: libpcp-devel -BuildRequires: libpcp3 -BuildRequires: libpcp_import1 -BuildRequires: pcp-devel +BuildRequires: libpcp-devel +BuildRequires: pcp-devel +BuildRequires: libpcp3 +BuildRequires: libpcp_import1 %endif -BuildRequires: distribution-logos -BuildRequires: openssh -BuildRequires: wallpaper-branding +BuildRequires: openssh +BuildRequires: distribution-logos +BuildRequires: wallpaper-branding # needed for /var/lib/pcp directory ownership -BuildRequires: pcp +BuildRequires: pcp %else %if %{build_pcp} -BuildRequires: pcp-libs-devel +BuildRequires: pcp-libs-devel %endif -BuildRequires: docbook-style-xsl -BuildRequires: openssh-clients +BuildRequires: openssh-clients +BuildRequires: docbook-style-xsl %endif -BuildRequires: gdb -BuildRequires: krb5-server +BuildRequires: krb5-server +BuildRequires: gdb # For documentation -BuildRequires: xmlto +BuildRequires: xmlto %if 0%{?with_selinux} BuildRequires: selinux-policy @@ -191,30 +200,30 @@ BuildRequires: selinux-policy-devel %endif # 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) +Recommends: (cockpit-networkmanager if NetworkManager) # c-ostree is not in RHEL 8/9 -Recommends: (cockpit-ostree if rpm-ostree) -Suggests: cockpit-selinux +Recommends: (cockpit-ostree if rpm-ostree) +Suggests: cockpit-selinux %endif %if 0%{?rhel} && 0%{?centos} == 0 -Requires: subscription-manager-cockpit +Requires: subscription-manager-cockpit %endif %if 0%{?enable_old_bridge} == 0 @@ -286,6 +295,7 @@ autoreconf -fvi -I tools --disable-pcp \ %endif + %if 0%{?with_selinux} make -f /usr/share/selinux/devel/Makefile cockpit.pp bzip2 -9 cockpit.pp @@ -494,17 +504,18 @@ 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} # 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 @@ -519,8 +530,8 @@ system on behalf of the web based user interface. %endif %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 @@ -534,35 +545,35 @@ 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: /usr/bin/date -Requires: /usr/bin/pwscore -Requires: grep -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: 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} +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_PROVIDES @@ -574,25 +585,25 @@ 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 +Summary: Cockpit Web Service +Requires: glib-networking +Requires: openssl +Requires: glib2 >= 2.50.0 %if 0%{?with_selinux} -Requires: (selinux-policy >= %{_selinux_policy_version} if selinux-policy-%{selinuxtype}) +Requires: (selinux-policy >= %{_selinux_policy_version} if selinux-policy-%{selinuxtype}) Requires(post): (policycoreutils if selinux-policy-%{selinuxtype}) %endif -Conflicts: firewalld < 0.6.0-1 -Recommends: sscg >= 2.3 -Recommends: system-logos -Suggests: sssd-dbus >= 2.6.2 +Conflicts: firewalld < 0.6.0-1 +Recommends: sscg >= 2.3 +Recommends: system-logos +Suggests: sssd-dbus >= 2.6.2 %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 Provides: group(cockpit-ws) Provides: group(cockpit-wsinstance) Provides: user(cockpit-ws) @@ -746,11 +757,11 @@ done %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 +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. @@ -760,11 +771,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 >= %{required_base} -Requires: cockpit-shell >= %{required_base} -Requires: sos -BuildArch: noarch +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 @@ -776,14 +787,14 @@ sosreport tool. %endif %package networkmanager -Summary: Cockpit user interface for networking, using NetworkManager -Requires: NetworkManager >= 1.6 -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} -Conflicts: cockpit-wicked +Summary: Cockpit user interface for networking, using NetworkManager +Requires: cockpit-bridge >= %{required_base} +Requires: cockpit-shell >= %{required_base} +Requires: NetworkManager >= 1.6 +Conflicts: cockpit-wicked # Optional components -Recommends: NetworkManager-team -BuildArch: noarch +Recommends: NetworkManager-team +BuildArch: noarch %description networkmanager The Cockpit component for managing networking. This package uses NetworkManager. @@ -796,9 +807,9 @@ The Cockpit component for managing networking. This package uses NetworkManager %if 0%{?rhel} == 0 && ( 0%{?suse_version} >= 1500 || 0%{?is_smo} ) %package selinux -Summary: Cockpit SELinux package -Requires: cockpit-bridge >= %{required_base} -Requires: cockpit-shell >= %{required_base} +Summary: Cockpit SELinux package +Requires: cockpit-bridge >= %{required_base} +Requires: cockpit-shell >= %{required_base} Requires: policycoreutils-python-utils >= 3.1 # setroubleshoot is available on SLE Micro starting with 5.5) %if !0%{?suse_version} || ( 0%{?is_smo} && 0%{?sle_version} >= 150500 ) || 0%{?suse_version} >= 1600 @@ -831,26 +842,26 @@ 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: %{__python3} -Requires: cockpit-shell >= %{required_base} -Requires: udisks2 >= 2.9 +Summary: Cockpit user interface for storage, using udisks +Requires: cockpit-shell >= %{required_base} +Requires: udisks2 >= 2.9 +Requires: %{__python3} %if 0%{?suse_version} -Requires: libudisks2-0_btrfs >= 2.9 -Requires: libudisks2-0_lvm2 >= 2.9 -Recommends: multipath-tools -Requires: python3-dbus-python +Requires: libudisks2-0_lvm2 >= 2.9 +Requires: libudisks2-0_btrfs >= 2.9 +Recommends: multipath-tools +Requires: python3-dbus-python %else -Recommends: udisks2-iscsi >= 2.9 -Recommends: udisks2-lvm2 >= 2.9 +Recommends: udisks2-lvm2 >= 2.9 +Recommends: udisks2-iscsi >= 2.9 %if ! 0%{?rhel} -Recommends: udisks2-btrfs >= 2.9 +Recommends: udisks2-btrfs >= 2.9 %endif -Recommends: clevis-luks -Recommends: device-mapper-multipath -Requires: python3-dbus +Recommends: device-mapper-multipath +Recommends: clevis-luks +Requires: python3-dbus %endif -BuildArch: noarch +BuildArch: noarch %description -n cockpit-storaged The Cockpit component for managing storage. This package uses udisks. @@ -860,11 +871,11 @@ The Cockpit component for managing storage. This package uses udisks. %if 0%{?build_tests} %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} +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. @@ -879,7 +890,7 @@ These files are not required for running Cockpit. %endif %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 @@ -889,9 +900,9 @@ This package contains files used to develop cockpit modules %if %{build_pcp} %package -n cockpit-pcp -Summary: Cockpit PCP integration -Requires: cockpit-bridge >= %{required_base} -Requires: 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. @@ -906,13 +917,13 @@ systemctl reload-or-try-restart pmlogger %endif %package -n cockpit-packagekit -Summary: Cockpit user interface for packages -BuildArch: noarch -Requires: PackageKit -Requires: cockpit-bridge >= %{required_base} -Recommends: python3-tracer +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 +Requires: polkit %description -n cockpit-packagekit The Cockpit components for installing OS updates and Cockpit add-ons, @@ -923,4 +934,5 @@ via PackageKit. #/ build optional extension packages %endif +# The changelog is automatically generated and merged %changelog