diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo index 98ff2bc..c90f653 100644 --- a/_scmsync.obsinfo +++ b/_scmsync.obsinfo @@ -1,5 +1,5 @@ -mtime: 1738925955 -commit: 338985b5800070a11fb3a4098ef3ddb2d92b44eca9c83dfd48569aaec9c733b9 +mtime: 1739262776 +commit: d67dfe997f6128fcf68b45e18bcdc257503d4112ef1f7abc861662ee7e391173 url: https://src.opensuse.org/cockpit/cockpit.git -revision: 338985b5800070a11fb3a4098ef3ddb2d92b44eca9c83dfd48569aaec9c733b9 -projectscmsync: https://src.opensuse.org/cockpit/_ObsPrj.git#a78825693f22bc8efb7e58a0e30baf860782c11643d02a2f6b15e49fed36eb53 +revision: d67dfe997f6128fcf68b45e18bcdc257503d4112ef1f7abc861662ee7e391173 +projectscmsync: https://src.opensuse.org/cockpit/_ObsPrj.git#c5bcef2e4f954e65c18ff75a29daa21f3daca72756e08f0c0ec79e1367cab022 diff --git a/build.specials.obscpio b/build.specials.obscpio index 3ca8ab0..7797bd5 100644 --- a/build.specials.obscpio +++ b/build.specials.obscpio @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59c2ba9d19b8a50abdcc45843c4ed3e7cd94b56852512b0afef4044105c3188f +oid sha256:93f3ba8d7bd60d05b883ee8642b76dc0de3ea4083711e2ac4ec3c85621748479 size 256 diff --git a/cockpit.spec b/cockpit.spec index 4624eeb..786ac6f 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -1,3 +1,4 @@ +# # Copyright (C) 2014-2020 Red Hat, Inc. # # Cockpit is free software; you can redistribute it and/or modify it @@ -11,7 +12,7 @@ # 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 . +# along with Cockpit; If not, see . # # @@ -70,11 +71,11 @@ Patch5: storage-btrfs.patch Patch101: hide-pcp.patch Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch Patch107: 0006-totp-motd.patch +Patch108: 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.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 -Patch108: 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch Patch201: remove_rh_links.patch @@ -107,7 +108,7 @@ Patch201: remove_rh_links.patch %if 0%{?fedora} >= 41 || 0%{?rhel} ExcludeArch: %{ix86} -%endif +%endif %define enable_multihost 1 %if 0%{?fedora} >= 41 || 0%{?rhel} >= 10 @@ -134,7 +135,6 @@ 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 @@ -184,8 +184,8 @@ Requires: cockpit-system # Optional components Recommends: (cockpit-storaged if udisks2) Recommends: (cockpit-packagekit if (dnf or zypper)) -Obsoletes: cockpit-pcp <= %version Suggests: python3-pcp + %if 0%{?rhel} == 0 Recommends: (cockpit-networkmanager if NetworkManager) # c-ostree is not in RHEL 8/9 @@ -201,11 +201,8 @@ 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 @@ -216,6 +213,7 @@ BuildRequires: python3-tox-current-env %patch -P 4 -p1 %patch -P 5 -p1 + # SLE Micro specific patches %if 0%{?is_smo} %patch -P 101 -p1 @@ -323,6 +321,43 @@ 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 '%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/static' > static.list +echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list +find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list + # when not building basic packages, remove their files %if 0%{?build_basic} == 0 for pkg in base1 branding motd kdump networkmanager selinux shell sosreport static systemd users metrics; do @@ -363,46 +398,6 @@ rm -rf %{buildroot}%{_datadir}/cockpit/playground rm -f %{buildroot}/%{pamdir}/mock-pam-conv-mod.so %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} @@ -413,9 +408,11 @@ ls --hide={default,kubernetes,opensuse,registry,suse} | xargs rm -rv popd # need this in SUSE as post build checks dislike stale symlinks install -m 644 -D /dev/null %{buildroot}/run/cockpit/issue + test -e %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg test -e %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png test -e %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png + # remove files of not installable packages rm -r %{buildroot}%{_datadir}/cockpit/sosreport rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit_project.cockpit_sosreport.metainfo.xml @@ -467,14 +464,6 @@ troubleshooting, interactive command-line sessions, and more. %package bridge Summary: Cockpit bridge server-side component -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 @@ -516,16 +505,15 @@ 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 +Recommends: kexec-tools Suggests: NetworkManager-team +Suggests: python3-pcp Provides: cockpit-kdump = %{version}-%{release} Provides: cockpit-networkmanager = %{version}-%{release} Provides: cockpit-selinux = %{version}-%{release} @@ -556,7 +544,7 @@ 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 +Suggests: sssd-dbus %if 0%{?suse_version} Requires(pre): permissions Requires: distribution-logos @@ -567,6 +555,7 @@ Requires: wallpaper-branding %endif # for cockpit-desktop Suggests: python3 +Obsoletes: cockpit-tests < 331 Provides: group(cockpit-wsinstance-socket) Provides: group(cockpit-session-socket) Provides: user(cockpit-wsinstance-socket) @@ -612,13 +601,13 @@ authentication via sssd/FreeIPA. %{_unitdir}/cockpit-session-socket-user.service %{_unitdir}/cockpit-session.socket %{_unitdir}/cockpit-session@.service -%{_unitdir}/cockpit-wsinstance-socket-user.service %{_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}/cockpit-wsinstance-socket-user.service %{_unitdir}/system-cockpithttps.slice %{_prefix}/%{__lib}/tmpfiles.d/cockpit-ws.conf %{pamdir}/pam_ssh_add.so @@ -675,8 +664,9 @@ if [ "$1" = 1 ]; then printf "root\n" >> /etc/cockpit/disallowed-users chmod 644 /etc/cockpit/disallowed-users fi -# switch old self-signed cert group from cockpit-wsintance to cockpit-ws on upgrade + if [ "$1" = 2 ]; then + # switch old self-signed cert group from cockpit-wsintance to cockpit-ws on upgrade certfile=/etc/cockpit/ws-certs.d/0-self-signed.cert test -f $certfile && stat -c '%G' $certfile | grep -q cockpit-wsinstance && chgrp cockpit-ws $certfile @@ -692,7 +682,7 @@ fi %if 0%{?suse_version} %set_permissions %{_libexecdir}/cockpit-session %endif -%tmpfiles_create cockpit-tempfiles.conf +%tmpfiles_create cockpit-ws.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 @@ -705,6 +695,11 @@ if test -f %{_sysconfdir}/pam.d/cockpit && grep -q pam_cockpit_cert %{_sysconfd echo '**** WARNING:' fi +# remove obsolete system user on upgrade (replaced with DynamicUser in version 330) +if getent passwd cockpit-wsinstance >/dev/null; then + userdel cockpit-wsinstance +fi + %preun ws %systemd_preun cockpit.socket cockpit.service @@ -832,7 +827,6 @@ The Cockpit component for managing storage. This package uses udisks. %{_datadir}/metainfo/org.cockpit_project.cockpit_storaged.metainfo.xml %post storaged - # version 332 moved the btrfs temp mounts db to /run if [ "$1" = 2 ] && [ -d /var/lib/cockpit/btrfs ]; then rm -rf --one-file-system /var/lib/cockpit/btrfs || true