From 08a644cfaca54c8a16f3bf7c574359a030ec3974071642a4c3d63c49f57fe80b Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 8 Aug 2024 10:48:31 +0000 Subject: [PATCH 1/6] - Fix libexecdir for leap and sle (bsc#1223533) - Fix systemd units folder for leap and sle (bsc#1226541) OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=192 --- cockpit.changes | 6 ++++++ cockpit.spec | 8 ++++++++ fix-libexecdir.patch | 12 ++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 fix-libexecdir.patch diff --git a/cockpit.changes b/cockpit.changes index 52637fe..8320062 100644 --- a/cockpit.changes +++ b/cockpit.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Aug 7 20:25:34 UTC 2024 - Herbert Graeber + +- Fix libexecdir for leap and sle (bsc#1223533) +- Fix systemd units folder for leap and sle (bsc#1226541) + ------------------------------------------------------------------- Wed Aug 7 09:36:58 UTC 2024 - Jan Zerebecki diff --git a/cockpit.spec b/cockpit.spec index 7e88c31..e6046cf 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -72,6 +72,7 @@ Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch # For anything based on SLES 15 codebase (including Leap, SLE Micro) Patch103: 0004-leap-gnu18-removal.patch Patch104: selinux_libdir.patch +Patch105: fix-libexecdir.patch %define build_all 1 %if 0%{?rhel} == 8 && 0%{?epel} == 0 && !0%{?build_all} @@ -235,6 +236,7 @@ BuildRequires: python3-tox-current-env %if 0%{?suse_version} == 1500 %patch -P 103 -p1 %patch -P 104 -p0 +%patch -P 105 -p1 %endif cp %SOURCE1 tools/cockpit.pam @@ -306,6 +308,12 @@ cp src/fonts.css %{buildroot}%{_datadir}/cockpit/branding/suse cp -a src/fonts %{buildroot}%{_datadir}/cockpit/branding/suse popd +%if 0%{?suse_version} == 1500 +sed -i -e 's#"/lib/systemd/system#"%{_unitdir}#' \ + %{buildroot}%{_datadir}/cockpit/packagekit/manifest.json \ + %{buildroot}%{_datadir}/cockpit/pcp/manifest.json +%endif + # 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 diff --git a/fix-libexecdir.patch b/fix-libexecdir.patch new file mode 100644 index 0000000..113555e --- /dev/null +++ b/fix-libexecdir.patch @@ -0,0 +1,12 @@ +diff -up cockpit-320/src/cockpit/packages.py.org cockpit-320/src/cockpit/packages.py +--- cockpit-320/src/cockpit/packages.py.org 2024-07-14 21:06:50.378400822 +0200 ++++ cockpit-320/src/cockpit/packages.py 2024-07-14 21:07:40.568245119 +0200 +@@ -127,7 +127,7 @@ def get_libexecdir() -> str: + + This only works for systems which have cockpit-ws installed. + """ +- for candidate in ['/usr/local/libexec', '/usr/libexec', '/usr/local/lib/cockpit', '/usr/lib/cockpit']: ++ for candidate in ['/usr/local/libexec', '/usr/libexec', '/usr/local/lib/cockpit', '/usr/lib/cockpit', '/usr/lib']: + if os.path.exists(os.path.join(candidate, 'cockpit-askpass')): + return candidate + else: From c9f440fd0a60d0c369c30153b62a611713d4fc7d6780d8e8ff2b3f215addba02 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 8 Aug 2024 10:51:03 +0000 Subject: [PATCH 2/6] Accepting request 1192526 from home:pallaswept:branches:systemsmanagement:cockpit - Recommend cockpit-packagekit if zypper is installed OBS-URL: https://build.opensuse.org/request/show/1192526 OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=193 --- cockpit.changes | 5 +++++ cockpit.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cockpit.changes b/cockpit.changes index 8320062..d0168d2 100644 --- a/cockpit.changes +++ b/cockpit.changes @@ -4,6 +4,11 @@ Wed Aug 7 20:25:34 UTC 2024 - Herbert Graeber - Fix libexecdir for leap and sle (bsc#1223533) - Fix systemd units folder for leap and sle (bsc#1226541) +------------------------------------------------------------------- +Sat Aug 7 09:37:00 UTC 2024 - pallas wept + +- Recommend cockpit-packagekit if zypper is installed + ------------------------------------------------------------------- Wed Aug 7 09:36:58 UTC 2024 - Jan Zerebecki diff --git a/cockpit.spec b/cockpit.spec index e6046cf..bcac1b0 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -191,7 +191,7 @@ Requires: cockpit-system # Optional components Recommends: (cockpit-storaged if udisks2) -Recommends: (cockpit-packagekit if dnf) +Recommends: (cockpit-packagekit if (dnf or zypper)) Suggests: cockpit-pcp %if 0%{?rhel} == 0 From 515e11446a3f99014d60fd917d181df458cd984eea278453a14bc4c708efbf93 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 8 Aug 2024 11:04:59 +0000 Subject: [PATCH 3/6] temporary remove pam_oath, so we can update factory/15.6 OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=194 --- cockpit.changes | 5 - cockpit.pam | 1 - cockpit.spec | 336 +++++++++++++++++++++++------------------------- 3 files changed, 162 insertions(+), 180 deletions(-) diff --git a/cockpit.changes b/cockpit.changes index d0168d2..0c9793a 100644 --- a/cockpit.changes +++ b/cockpit.changes @@ -9,11 +9,6 @@ Sat Aug 7 09:37:00 UTC 2024 - pallas wept - Recommend cockpit-packagekit if zypper is installed -------------------------------------------------------------------- -Wed Aug 7 09:36:58 UTC 2024 - Jan Zerebecki - -- load pam_oath for optional TOTP for authentication - ------------------------------------------------------------------- Wed Jul 31 08:23:43 UTC 2024 - Adam Majer diff --git a/cockpit.pam b/cockpit.pam index 8eeed98..376d79f 100644 --- a/cockpit.pam +++ b/cockpit.pam @@ -8,4 +8,3 @@ password include common-password session required pam_loginuid.so session optional pam_keyinit.so force revoke session include common-session -auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/.pam_oath_usersfile window=20 digits=6 diff --git a/cockpit.spec b/cockpit.spec index bcac1b0..b5f1789 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -1,32 +1,22 @@ # +# spec file for package cockpit +# +# Copyright (c) 2024 SUSE LLC # 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 . +# 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/ # -# -# 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 @@ -102,7 +92,7 @@ Patch105: fix-libexecdir.patch %endif %if 0%{?fedora} >= 41 || 0%{?rhel} -ExcludeArch: %{ix86} +ExcludeArch: %{ix86} %endif # pcp stopped building on ix86 in Fedora 40+, and broke hard on 39: https://bugzilla.redhat.com/show_bug.cgi?id=2284431 @@ -122,54 +112,55 @@ ExcludeArch: %{ix86} %define selinux_configure_arg --enable-selinux-policy=no %endif -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: gcc +BuildRequires: pam-devel +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(polkit-agent-1) >= 0.105 -BuildRequires: autoconf automake -BuildRequires: make -BuildRequires: /usr/bin/python3 -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: pkgconfig(krb5) >= 1.11 -BuildRequires: libxslt-devel -BuildRequires: glib-networking -BuildRequires: sed +BuildRequires: /usr/bin/python3 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gettext >= 0.21 +BuildRequires: glib-networking +BuildRequires: gnutls-devel >= 3.4.3 +BuildRequires: libssh-devel >= 0.8.5 +BuildRequires: libxslt-devel +BuildRequires: make +BuildRequires: openssl-devel +BuildRequires: python3-devel +BuildRequires: sed +BuildRequires: zlib-devel +BuildRequires: pkgconfig(krb5) >= 1.11 -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: pcp-devel -BuildRequires: libpcp3 -BuildRequires: libpcp_import1 +BuildRequires: libpcp-devel +BuildRequires: libpcp3 +BuildRequires: libpcp_import1 +BuildRequires: pcp-devel %endif -BuildRequires: openssh -BuildRequires: distribution-logos -BuildRequires: wallpaper-branding +BuildRequires: distribution-logos +BuildRequires: openssh +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: openssh-clients -BuildRequires: docbook-style-xsl +BuildRequires: docbook-style-xsl +BuildRequires: openssh-clients %endif -BuildRequires: krb5-server -BuildRequires: gdb +BuildRequires: gdb +BuildRequires: krb5-server # For documentation -BuildRequires: xmlto +BuildRequires: xmlto %if 0%{?with_selinux} BuildRequires: selinux-policy @@ -178,30 +169,30 @@ BuildRequires: selinux-policy-devel %endif # for rebuilding nodejs bits -BuildRequires: npm -BuildRequires: sassc -BuildRequires: local-npm-registry +BuildRequires: npm +BuildRequires: local-npm-registry +BuildRequires: sassc # 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 +Requires: cockpit-bridge +Requires: cockpit-system +Requires: cockpit-ws # Optional components -Recommends: (cockpit-storaged if udisks2) -Recommends: (cockpit-packagekit if (dnf or zypper)) -Suggests: cockpit-pcp +Recommends: (cockpit-storaged if udisks2) +Recommends: (cockpit-packagekit if (dnf or zypper)) +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 BuildRequires: python3-devel @@ -471,18 +462,17 @@ 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-networkmanager < 233 -Conflicts: cockpit-storaged < 233 -Conflicts: cockpit-system < 233 -Conflicts: cockpit-tests < 233 -Conflicts: cockpit-docker < 233 +Conflicts: cockpit-dashboard < 233 +Conflicts: cockpit-docker < 233 +Conflicts: cockpit-networkmanager < 233 +Conflicts: cockpit-storaged < 233 +Conflicts: cockpit-system < 233 +Conflicts: cockpit-tests < 233 %description bridge The Cockpit bridge component installed server side and runs commands on the @@ -495,8 +485,8 @@ system on behalf of the web based user interface. %{python3_sitelib}/%{name}* %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 @@ -510,36 +500,36 @@ 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: /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} +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} %if 0%{?rhel} -Requires: NetworkManager >= 1.6 -Requires: kexec-tools -Requires: sos -Requires: sudo -Recommends: PackageKit -Recommends: setroubleshoot-server >= 3.3.3 -Recommends: /usr/bin/kdumpctl -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: /usr/bin/kdumpctl +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 @@ -551,26 +541,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: openssl -Requires: glib2 >= 2.50.0 +Summary: Cockpit Web Service +Requires: glib-networking +Requires: glib2 >= 2.50.0 +Requires: openssl %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: pam_oath -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) @@ -724,11 +713,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. @@ -738,11 +727,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 @@ -754,14 +743,14 @@ sosreport tool. %endif %package networkmanager -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 +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 # Optional components -Recommends: NetworkManager-team -BuildArch: noarch +Recommends: NetworkManager-team +BuildArch: noarch %description networkmanager The Cockpit component for managing networking. This package uses NetworkManager. @@ -774,9 +763,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 @@ -794,26 +783,26 @@ utility setroubleshoot to diagnose and resolve SELinux issues. %endif %package -n cockpit-storaged -Summary: Cockpit user interface for storage, using udisks -Requires: cockpit-shell >= %{required_base} -Requires: udisks2 >= 2.9 -Requires: %{__python3} +Summary: Cockpit user interface for storage, using udisks +Requires: %{__python3} +Requires: cockpit-shell >= %{required_base} +Requires: udisks2 >= 2.9 %if 0%{?suse_version} -Requires: libudisks2-0_lvm2 >= 2.9 -Requires: libudisks2-0_btrfs >= 2.9 -Recommends: multipath-tools -Requires: python3-dbus-python +Requires: libudisks2-0_btrfs >= 2.9 +Requires: libudisks2-0_lvm2 >= 2.9 +Recommends: multipath-tools +Requires: python3-dbus-python %else -Recommends: udisks2-lvm2 >= 2.9 -Recommends: udisks2-iscsi >= 2.9 +Recommends: udisks2-iscsi >= 2.9 +Recommends: udisks2-lvm2 >= 2.9 %if ! 0%{?rhel} -Recommends: udisks2-btrfs >= 2.9 +Recommends: udisks2-btrfs >= 2.9 %endif -Recommends: device-mapper-multipath -Recommends: clevis-luks -Requires: python3-dbus +Recommends: clevis-luks +Recommends: device-mapper-multipath +Requires: python3-dbus %endif -BuildArch: noarch +BuildArch: noarch %description -n cockpit-storaged The Cockpit component for managing storage. This package uses udisks. @@ -823,11 +812,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. @@ -842,7 +831,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 @@ -852,9 +841,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. @@ -869,13 +858,13 @@ 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 +Summary: Cockpit user interface for packages +BuildArch: noarch +Requires: PackageKit +Requires: cockpit-bridge >= %{required_base} +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, @@ -883,5 +872,4 @@ via PackageKit. %files -n cockpit-packagekit -f packagekit.list -# The changelog is automatically generated and merged %changelog From e1de0007dd3e541cbff6e2a17e32ff6982467f04f1f66bf748664bb99ad9aacb Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 8 Aug 2024 11:05:27 +0000 Subject: [PATCH 4/6] OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=195 --- cockpit.spec | 335 ++++++++++++++++++++++++++------------------------- 1 file changed, 173 insertions(+), 162 deletions(-) diff --git a/cockpit.spec b/cockpit.spec index b5f1789..8c7bfd9 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 @@ -92,7 +102,7 @@ Patch105: fix-libexecdir.patch %endif %if 0%{?fedora} >= 41 || 0%{?rhel} -ExcludeArch: %{ix86} +ExcludeArch: %{ix86} %endif # pcp stopped building on ix86 in Fedora 40+, and broke hard on 39: https://bugzilla.redhat.com/show_bug.cgi?id=2284431 @@ -112,55 +122,54 @@ ExcludeArch: %{ix86} %define selinux_configure_arg --enable-selinux-policy=no %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: gettext >= 0.21 -BuildRequires: glib-networking -BuildRequires: gnutls-devel >= 3.4.3 -BuildRequires: libssh-devel >= 0.8.5 -BuildRequires: libxslt-devel -BuildRequires: make -BuildRequires: openssl-devel -BuildRequires: python3-devel -BuildRequires: sed -BuildRequires: zlib-devel -BuildRequires: pkgconfig(krb5) >= 1.11 +BuildRequires: autoconf automake +BuildRequires: make +BuildRequires: /usr/bin/python3 +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: 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 @@ -169,30 +178,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 or zypper)) -Suggests: cockpit-pcp +Recommends: (cockpit-storaged if udisks2) +Recommends: (cockpit-packagekit if (dnf or zypper)) +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 BuildRequires: python3-devel @@ -462,17 +471,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 @@ -485,8 +495,8 @@ system on behalf of the web based user interface. %{python3_sitelib}/%{name}* %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 @@ -500,36 +510,36 @@ 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: /usr/bin/kdumpctl -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 +Recommends: /usr/bin/kdumpctl +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 @@ -541,25 +551,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) @@ -713,11 +723,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. @@ -727,11 +737,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 @@ -743,14 +753,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. @@ -763,9 +773,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 @@ -783,26 +793,26 @@ utility setroubleshoot to diagnose and resolve SELinux issues. %endif %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. @@ -812,11 +822,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. @@ -831,7 +841,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 @@ -841,9 +851,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. @@ -858,13 +868,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, @@ -872,4 +882,5 @@ via PackageKit. %files -n cockpit-packagekit -f packagekit.list +# The changelog is automatically generated and merged %changelog From 9cd3339ac8a972c79abb4635aaccd9c11069b442d0c2dff3280d18e110458b0e Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Thu, 8 Aug 2024 11:06:27 +0000 Subject: [PATCH 5/6] - fix-libexecdir.patch: Fix libexecdir for leap and sle (bsc#1223533) OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=196 --- cockpit.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cockpit.changes b/cockpit.changes index 0c9793a..8c04514 100644 --- a/cockpit.changes +++ b/cockpit.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Wed Aug 7 20:25:34 UTC 2024 - Herbert Graeber -- Fix libexecdir for leap and sle (bsc#1223533) +- fix-libexecdir.patch: Fix libexecdir for leap and sle (bsc#1223533) - Fix systemd units folder for leap and sle (bsc#1226541) ------------------------------------------------------------------- From fe42484136d8b17f0b9043ce6cf6fbe8805703ebe40cb62fd4eb7abef1a4ced7 Mon Sep 17 00:00:00 2001 From: Jan Zerebecki Date: Thu, 8 Aug 2024 12:53:02 +0000 Subject: [PATCH 6/6] Accepting request 1192616 from home:jzerebecki:branches:systemsmanagement:cockpit fix changes file to not delete a changes entry for Factory OBS-URL: https://build.opensuse.org/request/show/1192616 OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=197 --- cockpit.changes | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cockpit.changes b/cockpit.changes index 8c04514..93dbd92 100644 --- a/cockpit.changes +++ b/cockpit.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 8 12:21:51 UTC 2024 - Jan Zerebecki + +- revert load pam_oath, because it enforces the file for otp secrets to exist, + will try again once pam_oath can have that optional + ------------------------------------------------------------------- Wed Aug 7 20:25:34 UTC 2024 - Herbert Graeber @@ -9,6 +15,10 @@ Sat Aug 7 09:37:00 UTC 2024 - pallas wept - Recommend cockpit-packagekit if zypper is installed +Wed Aug 7 09:36:58 UTC 2024 - Jan Zerebecki + +- load pam_oath for optional TOTP for authentication + ------------------------------------------------------------------- Wed Jul 31 08:23:43 UTC 2024 - Adam Majer