forked from cockpit/cockpit
Compare commits
15 Commits
clean-up
...
check_user
Author | SHA256 | Date | |
---|---|---|---|
8a0cc8a5e9
|
|||
1d9add8241
|
|||
124ad7108d
|
|||
b8985dff0b
|
|||
1083c47b5e
|
|||
4041355e9e
|
|||
b4caba8bee
|
|||
b5475e52b6
|
|||
93b02fe73c
|
|||
d59a8816a4
|
|||
d02032fdc1
|
|||
9aaaceb542
|
|||
aad73def6e
|
|||
e24c7f6b3a
|
|||
6209d29cb1
|
@@ -1,27 +1,29 @@
|
|||||||
#/bin/sh
|
#!/bin/sh
|
||||||
bad_users_groups=("cockpit-wsinstance-socket" "cockpit-session-socket")
|
bad_users_groups=("cockpit-wsinstance-socket" "cockpit-session-socket")
|
||||||
failed=false
|
failed=false
|
||||||
|
|
||||||
for gu in "${bad_users_groups[@]}"; do
|
for gu in "${bad_users_groups[@]}"; do
|
||||||
echo $gu
|
grep -q "$gu" /etc/passwd
|
||||||
if getent passwd "$gu" > /dev/null; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "user ${gu} exists, cockpit will fail to start up if this user exists, please run userdel ${gu} to resolve this"
|
echo "user ${gu} exists, cockpit will fail to start up if this user exists, please run userdel ${gu} to resolve this"
|
||||||
failed=true
|
failed=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if getent group "$gu" > /dev/null; then
|
grep -q "$gu" /etc/group
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
echo "group ${gu} exists, cockpit will fail to start up if this group exists, please run groupdel ${gu} to resolve this"
|
echo "group ${gu} exists, cockpit will fail to start up if this group exists, please run groupdel ${gu} to resolve this"
|
||||||
failed=true
|
failed=true
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if getent passwd cockpit-systemd-service > /dev/null; then
|
grep -q cockpit-systemd-service /etc/passwd
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
echo "user cockpit-systemd-service exists, cockpit will fail to start up if this group exists, please run userdel cockpit-systemd-service to resolve this"
|
echo "user cockpit-systemd-service exists, cockpit will fail to start up if this group exists, please run userdel cockpit-systemd-service to resolve this"
|
||||||
failed=true
|
failed=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f /etc/nsswitch.conf ]; then
|
if [ -f /etc/nsswitch.conf ]; then
|
||||||
grep -Fxq "passwd: compat systemd" /etc/nsswitch.conf; then
|
grep -Eq "passwd:.*systemd" /etc/nsswitch.conf
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "/etc/nsswitch.conf is out of date, please update it from /usr/etc/nsswitch.conf to use cockpit"
|
echo "/etc/nsswitch.conf is out of date, please update it from /usr/etc/nsswitch.conf to use cockpit"
|
||||||
failed=true
|
failed=true
|
||||||
|
BIN
cockpit-338.tar.gz
(Stored with Git LFS)
BIN
cockpit-338.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
cockpit-340.tar.gz
(Stored with Git LFS)
Normal file
BIN
cockpit-340.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
cockpit-suse-theme.tar
(Stored with Git LFS)
BIN
cockpit-suse-theme.tar
(Stored with Git LFS)
Binary file not shown.
@@ -1,3 +1,42 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 14 08:04:06 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
||||||
|
|
||||||
|
- update check_cockpit_users to only check for systemd support in /etc/nsswitch.conf bsc#1246408
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 11 06:50:17 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||||
|
|
||||||
|
- add libzypp-plugin-appdata dependency to cockpit-packagekit as
|
||||||
|
this will generate the swcatalog which it depends on for calculating
|
||||||
|
various cockpit packages
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 19 08:30:49 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||||
|
|
||||||
|
- Add kdump-nfs-fixes.patch to fix bsc#1241949
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 16 06:29:04 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||||
|
|
||||||
|
- Update to 340
|
||||||
|
* Detect multiple mount points when creating btrfs subvolumes
|
||||||
|
* Disk Self-Test error warnings on the overview page
|
||||||
|
* Prevent modifying partitions in unsupported places
|
||||||
|
* Bug fixes and translation updates
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 23 07:46:41 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||||
|
|
||||||
|
- Update branding patch for micro and sle
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 22 12:42:43 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||||
|
|
||||||
|
- Bug fixes
|
||||||
|
- Update theme for patternfly 6
|
||||||
|
- Update spec from upstream
|
||||||
|
- Change when selinux policies are installed
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 8 08:30:23 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
Thu May 8 08:30:23 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
||||||
|
|
||||||
@@ -5,8 +44,8 @@ Thu May 8 08:30:23 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
|||||||
Upstream Changes:
|
Upstream Changes:
|
||||||
- Translation updates
|
- Translation updates
|
||||||
- Bug fixes
|
- Bug fixes
|
||||||
- Add pre-exec checks to ensure manually created users and groups have been removed
|
- Add check_cockpit_users and add_preexec_cockpit.patch to ensure manually created
|
||||||
This pre-exec check also ensures systemd support is present in nsswitch
|
users and groups are removed. Also check systemd support is in nsswitch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 29 04:23:41 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
Tue Apr 29 04:23:41 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
||||||
|
38
cockpit.spec
38
cockpit.spec
@@ -50,7 +50,7 @@ Summary: Web Console for Linux servers
|
|||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
URL: https://cockpit-project.org/
|
URL: https://cockpit-project.org/
|
||||||
|
|
||||||
Version: 338
|
Version: 340
|
||||||
Release: 0
|
Release: 0
|
||||||
Source0: cockpit-%{version}.tar.gz
|
Source0: cockpit-%{version}.tar.gz
|
||||||
Source1: cockpit.pam
|
Source1: cockpit.pam
|
||||||
@@ -68,6 +68,7 @@ Patch2: suse_docs.patch
|
|||||||
Patch3: suse-microos-branding.patch
|
Patch3: suse-microos-branding.patch
|
||||||
Patch4: css-overrides.patch
|
Patch4: css-overrides.patch
|
||||||
Patch5: storage-btrfs.patch
|
Patch5: storage-btrfs.patch
|
||||||
|
Patch6: kdump-nfs-fixes.patch
|
||||||
# SLE Micro specific patches
|
# SLE Micro specific patches
|
||||||
Patch101: hide-pcp.patch
|
Patch101: hide-pcp.patch
|
||||||
Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch
|
Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch
|
||||||
@@ -215,6 +216,8 @@ BuildRequires: python3-pytest-timeout
|
|||||||
%patch -P 3 -p1
|
%patch -P 3 -p1
|
||||||
%patch -P 4 -p1
|
%patch -P 4 -p1
|
||||||
%patch -P 5 -p1
|
%patch -P 5 -p1
|
||||||
|
%patch -P 6 -p1
|
||||||
|
|
||||||
%patch -P 106 -p1
|
%patch -P 106 -p1
|
||||||
%patch -P 109 -p1
|
%patch -P 109 -p1
|
||||||
|
|
||||||
@@ -364,7 +367,7 @@ echo '%dir %{_datadir}/cockpit/selinux' > selinux.list
|
|||||||
find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
|
find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
|
||||||
|
|
||||||
echo '%dir %{_datadir}/cockpit/static' > static.list
|
echo '%dir %{_datadir}/cockpit/static' > static.list
|
||||||
echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list
|
find %{buildroot}%{_datadir}/cockpit/static/* -type d | while read line; do echo "%dir $line"; done >> static.list
|
||||||
find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list
|
find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list
|
||||||
|
|
||||||
# when not building basic packages, remove their files
|
# when not building basic packages, remove their files
|
||||||
@@ -466,6 +469,7 @@ It offers network configuration, log inspection, diagnostic reports, SELinux
|
|||||||
troubleshooting, interactive command-line sessions, and more.
|
troubleshooting, interactive command-line sessions, and more.
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
%license COPYING
|
||||||
%{_docdir}/cockpit/AUTHORS
|
%{_docdir}/cockpit/AUTHORS
|
||||||
%{_docdir}/cockpit/COPYING
|
%{_docdir}/cockpit/COPYING
|
||||||
%{_docdir}/cockpit/README.md
|
%{_docdir}/cockpit/README.md
|
||||||
@@ -479,12 +483,14 @@ troubleshooting, interactive command-line sessions, and more.
|
|||||||
|
|
||||||
%package bridge
|
%package bridge
|
||||||
Summary: Cockpit bridge server-side component
|
Summary: Cockpit bridge server-side component
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
%description bridge
|
%description bridge
|
||||||
The Cockpit bridge component installed server side and runs commands on the
|
The Cockpit bridge component installed server side and runs commands on the
|
||||||
system on behalf of the web based user interface.
|
system on behalf of the web based user interface.
|
||||||
|
|
||||||
%files bridge -f base.list
|
%files bridge -f base.list
|
||||||
|
%license COPYING
|
||||||
%doc %{_mandir}/man1/cockpit-bridge.1.gz
|
%doc %{_mandir}/man1/cockpit-bridge.1.gz
|
||||||
%{_bindir}/cockpit-bridge
|
%{_bindir}/cockpit-bridge
|
||||||
%{_libexecdir}/cockpit-askpass
|
%{_libexecdir}/cockpit-askpass
|
||||||
@@ -500,6 +506,7 @@ deploy Cockpit on their machines as well as helps developers who want to
|
|||||||
embed or extend Cockpit.
|
embed or extend Cockpit.
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
|
%license COPYING
|
||||||
%exclude %{_docdir}/cockpit/AUTHORS
|
%exclude %{_docdir}/cockpit/AUTHORS
|
||||||
%exclude %{_docdir}/cockpit/COPYING
|
%exclude %{_docdir}/cockpit/COPYING
|
||||||
%exclude %{_docdir}/cockpit/README.md
|
%exclude %{_docdir}/cockpit/README.md
|
||||||
@@ -546,6 +553,7 @@ Recommends: (reportd if abrt)
|
|||||||
This package contains the Cockpit shell and system configuration interfaces.
|
This package contains the Cockpit shell and system configuration interfaces.
|
||||||
|
|
||||||
%files system -f system.list
|
%files system -f system.list
|
||||||
|
%license COPYING
|
||||||
%dir %{_datadir}/cockpit/shell/images
|
%dir %{_datadir}/cockpit/shell/images
|
||||||
|
|
||||||
%package ws
|
%package ws
|
||||||
@@ -554,12 +562,13 @@ Requires: glib-networking
|
|||||||
Requires: openssl
|
Requires: openssl
|
||||||
Requires: glib2 >= 2.50.0
|
Requires: glib2 >= 2.50.0
|
||||||
%if 0%{?with_selinux}
|
%if 0%{?with_selinux}
|
||||||
Requires: %{name}-ws-selinux
|
Requires: (%{name}-ws-selinux = %{version}-%{release} if selinux-policy-base)
|
||||||
|
Requires: (selinux-policy >= %{_selinux_policy_version} if selinux-policy-%{selinuxtype})
|
||||||
|
Requires(post): (policycoreutils if selinux-policy-%{selinuxtype})
|
||||||
%endif
|
%endif
|
||||||
Conflicts: firewalld < 0.6.0-1
|
Conflicts: firewalld < 0.6.0-1
|
||||||
Recommends: sscg >= 2.3
|
Recommends: sscg >= 2.3
|
||||||
Recommends: system-logos
|
Recommends: system-logos
|
||||||
Requires: (%{name}-selinux-policies if selinux-policy-base)
|
|
||||||
Suggests: sssd-dbus
|
Suggests: sssd-dbus
|
||||||
%if 0%{?suse_version}
|
%if 0%{?suse_version}
|
||||||
Requires(pre): permissions
|
Requires(pre): permissions
|
||||||
@@ -590,9 +599,7 @@ If sssd-dbus is installed, you can enable client certificate/smart card
|
|||||||
authentication via sssd/FreeIPA.
|
authentication via sssd/FreeIPA.
|
||||||
|
|
||||||
%files ws -f static.list
|
%files ws -f static.list
|
||||||
%dir %{_datadir}/%{name}/static/fonts/RedHatDisplay
|
%license COPYING
|
||||||
%dir %{_datadir}/%{name}/static/fonts/RedHatMono
|
|
||||||
%dir %{_datadir}/%{name}/static/fonts/RedHatText
|
|
||||||
%doc %{_mandir}/man1/cockpit-desktop.1.gz
|
%doc %{_mandir}/man1/cockpit-desktop.1.gz
|
||||||
%doc %{_mandir}/man5/cockpit.conf.5.gz
|
%doc %{_mandir}/man5/cockpit.conf.5.gz
|
||||||
%doc %{_mandir}/man8/cockpit-ws.8.gz
|
%doc %{_mandir}/man8/cockpit-ws.8.gz
|
||||||
@@ -732,6 +739,7 @@ for i in pam.d/cockpit ; do
|
|||||||
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
|
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?with_selinux}
|
%if 0%{?with_selinux}
|
||||||
%package ws-selinux
|
%package ws-selinux
|
||||||
Summary: SELinux security policy for cockpit-ws
|
Summary: SELinux security policy for cockpit-ws
|
||||||
@@ -752,10 +760,8 @@ SELinux policy module for the cockpit-ws package.
|
|||||||
%{_mandir}/man8/%{name}_ws_selinux.8cockpit.*
|
%{_mandir}/man8/%{name}_ws_selinux.8cockpit.*
|
||||||
%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
|
%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
|
||||||
|
|
||||||
%pre ws-selinux
|
%posttrans ws-selinux
|
||||||
%selinux_relabel_pre -s %{selinuxtype}
|
%selinux_relabel_pre -s %{selinuxtype}
|
||||||
|
|
||||||
%post ws-selinux
|
|
||||||
%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
|
%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
|
||||||
%selinux_relabel_post -s %{selinuxtype}
|
%selinux_relabel_post -s %{selinuxtype}
|
||||||
|
|
||||||
@@ -764,7 +770,6 @@ SELinux policy module for the cockpit-ws package.
|
|||||||
%selinux_relabel_post -s %{selinuxtype}
|
%selinux_relabel_post -s %{selinuxtype}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
# Sub-packages that are part of cockpit-system in RHEL/CentOS, but separate in Fedora
|
# Sub-packages that are part of cockpit-system in RHEL/CentOS, but separate in Fedora
|
||||||
|
|
||||||
@@ -781,6 +786,7 @@ BuildArch: noarch
|
|||||||
The Cockpit component for configuring kernel crash dumping.
|
The Cockpit component for configuring kernel crash dumping.
|
||||||
|
|
||||||
%files kdump -f kdump.list
|
%files kdump -f kdump.list
|
||||||
|
%license COPYING
|
||||||
%{_datadir}/metainfo/org.cockpit_project.cockpit_kdump.metainfo.xml
|
%{_datadir}/metainfo/org.cockpit_project.cockpit_kdump.metainfo.xml
|
||||||
|
|
||||||
%if !0%{?suse_version}
|
%if !0%{?suse_version}
|
||||||
@@ -796,8 +802,9 @@ The Cockpit component for creating diagnostic reports with the
|
|||||||
sosreport tool.
|
sosreport tool.
|
||||||
|
|
||||||
%files sosreport -f sosreport.list
|
%files sosreport -f sosreport.list
|
||||||
%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
|
%license COPYING
|
||||||
%{_datadir}/pixmaps/cockpit-sosreport.png
|
%{_datadir}/metainfo/org.cockpit_project.cockpit_sosreport.metainfo.xml
|
||||||
|
%{_datadir}/icons/hicolor/64x64/apps/cockpit-sosreport.png
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%package networkmanager
|
%package networkmanager
|
||||||
@@ -814,6 +821,7 @@ BuildArch: noarch
|
|||||||
The Cockpit component for managing networking. This package uses NetworkManager.
|
The Cockpit component for managing networking. This package uses NetworkManager.
|
||||||
|
|
||||||
%files networkmanager -f networkmanager.list
|
%files networkmanager -f networkmanager.list
|
||||||
|
%license COPYING
|
||||||
%{_datadir}/metainfo/org.cockpit_project.cockpit_networkmanager.metainfo.xml
|
%{_datadir}/metainfo/org.cockpit_project.cockpit_networkmanager.metainfo.xml
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@@ -836,6 +844,7 @@ This package contains the Cockpit user interface integration with the
|
|||||||
utility setroubleshoot to diagnose and resolve SELinux issues.
|
utility setroubleshoot to diagnose and resolve SELinux issues.
|
||||||
|
|
||||||
%files selinux -f selinux.list
|
%files selinux -f selinux.list
|
||||||
|
%license COPYING
|
||||||
%{_datadir}/metainfo/org.cockpit_project.cockpit_selinux.metainfo.xml
|
%{_datadir}/metainfo/org.cockpit_project.cockpit_selinux.metainfo.xml
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@@ -866,6 +875,7 @@ BuildArch: noarch
|
|||||||
The Cockpit component for managing storage. This package uses udisks.
|
The Cockpit component for managing storage. This package uses udisks.
|
||||||
|
|
||||||
%files -n cockpit-storaged -f storaged.list
|
%files -n cockpit-storaged -f storaged.list
|
||||||
|
%license COPYING
|
||||||
%{_datadir}/metainfo/org.cockpit_project.cockpit_storaged.metainfo.xml
|
%{_datadir}/metainfo/org.cockpit_project.cockpit_storaged.metainfo.xml
|
||||||
|
|
||||||
%post storaged
|
%post storaged
|
||||||
@@ -888,6 +898,7 @@ Summary: Cockpit user interface for packages
|
|||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: cockpit-bridge >= %{required_base}
|
Requires: cockpit-bridge >= %{required_base}
|
||||||
Requires: PackageKit
|
Requires: PackageKit
|
||||||
|
Requires: libzypp-plugin-appdata
|
||||||
Recommends: python3-tracer
|
Recommends: python3-tracer
|
||||||
# HACK: https://bugzilla.redhat.com/show_bug.cgi?id=1800468
|
# HACK: https://bugzilla.redhat.com/show_bug.cgi?id=1800468
|
||||||
Requires: polkit
|
Requires: polkit
|
||||||
@@ -897,6 +908,7 @@ The Cockpit components for installing OS updates and Cockpit add-ons,
|
|||||||
via PackageKit.
|
via PackageKit.
|
||||||
|
|
||||||
%files -n cockpit-packagekit -f packagekit.list
|
%files -n cockpit-packagekit -f packagekit.list
|
||||||
|
%license COPYING
|
||||||
|
|
||||||
# The changelog is automatically generated and merged
|
# The changelog is automatically generated and merged
|
||||||
%changelog
|
%changelog
|
||||||
|
@@ -37,6 +37,9 @@ now, it fulfills the requirements of [3].
|
|||||||
pkg/systemd/services.html | 1 +
|
pkg/systemd/services.html | 1 +
|
||||||
pkg/systemd/terminal.html | 1 +
|
pkg/systemd/terminal.html | 1 +
|
||||||
pkg/users/index.html | 1 +
|
pkg/users/index.html | 1 +
|
||||||
|
pkg/storaged/index.html | 1 +
|
||||||
|
pkg/static/login.html | 1 +
|
||||||
|
pkg/selinux/index.html | 1 +
|
||||||
23 files changed, 34 insertions(+)
|
23 files changed, 34 insertions(+)
|
||||||
create mode 100644 pkg/static/css-overrides.css
|
create mode 100644 pkg/static/css-overrides.css
|
||||||
|
|
||||||
@@ -322,6 +325,42 @@ index d26cf4781..b0c6ebf87 100644
|
|||||||
<script src="../base1/cockpit.js"></script>
|
<script src="../base1/cockpit.js"></script>
|
||||||
<script src="../base1/po.js"></script>
|
<script src="../base1/po.js"></script>
|
||||||
<script src="po.js"></script>
|
<script src="po.js"></script>
|
||||||
|
diff --git a/pkg/storaged/index.html b/pkg/storaged/index.html
|
||||||
|
index 6893e4909..b6677bb56 100644
|
||||||
|
--- a/pkg/storaged/index.html
|
||||||
|
+++ b/pkg/storaged/index.html
|
||||||
|
@@ -24,6 +24,7 @@
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link href="storaged.css" type="text/css" rel="stylesheet" />
|
||||||
|
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet">
|
||||||
|
<script src="../base1/cockpit.js"></script>
|
||||||
|
<script src="../base1/po.js"></script>
|
||||||
|
<script src="../manifests.js"></script>
|
||||||
|
diff --git a/pkg/static/login.html b/pkg/static/login.html
|
||||||
|
index 6a8fa4f44..9019499a5 100644
|
||||||
|
--- a/pkg/static/login.html
|
||||||
|
+++ b/pkg/static/login.html
|
||||||
|
@@ -11,6 +11,7 @@
|
||||||
|
<script type="text/javascript" src="cockpit/static/login.js"></script>
|
||||||
|
<link href="cockpit/static/login.css" type="text/css" rel="stylesheet" />
|
||||||
|
<link href="cockpit/static/branding.css" type="text/css" rel="stylesheet" />
|
||||||
|
+ <link href="cockpit/static/css-overrides.css" type="text/css" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="login-pf">
|
||||||
|
diff --git a/pkg/selinux/index.html b/pkg/selinux/index.html
|
||||||
|
index cc3825a25..e1c814c6d 100644
|
||||||
|
--- a/pkg/selinux/index.html
|
||||||
|
+++ b/pkg/selinux/index.html
|
||||||
|
@@ -25,6 +25,7 @@ along with Cockpit; If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="selinux.css" />
|
||||||
|
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet">
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../base1/cockpit.js"></script>
|
||||||
|
<script type="text/javascript" src="../base1/po.js"></script>
|
||||||
--
|
--
|
||||||
2.49.0
|
2.49.0
|
||||||
|
|
||||||
|
153
kdump-nfs-fixes.patch
Normal file
153
kdump-nfs-fixes.patch
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
From d1ffed4a006bc9f8aeb0e8f63e8d2a160720b4f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alice Brooks <alice.brooks@suse.com>
|
||||||
|
Date: Thu, 12 Jun 2025 08:48:16 +0100
|
||||||
|
Subject: [PATCH] kdump: Remove nfs directory when using sysconfig
|
||||||
|
configuration style
|
||||||
|
|
||||||
|
This is because the sysconfig style only has the KDUMP_SAVEDIR field
|
||||||
|
so we can't work with two path fields as it's impossible to extract
|
||||||
|
them again
|
||||||
|
---
|
||||||
|
pkg/kdump/kdump-client.js | 4 ++++
|
||||||
|
pkg/kdump/kdump-view.jsx | 24 +++++++++++++++---------
|
||||||
|
pkg/kdump/kdump.js | 6 ++++++
|
||||||
|
4 files changed, 26 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pkg/kdump/kdump-client.js b/pkg/kdump/kdump-client.js
|
||||||
|
index d4c3d989a42d..35add2554a39 100644
|
||||||
|
--- a/pkg/kdump/kdump-client.js
|
||||||
|
+++ b/pkg/kdump/kdump-client.js
|
||||||
|
@@ -48,6 +48,7 @@ export class KdumpClient {
|
||||||
|
state: undefined,
|
||||||
|
config: undefined,
|
||||||
|
target: undefined,
|
||||||
|
+ sysconfig: undefined,
|
||||||
|
};
|
||||||
|
cockpit.event_target(this);
|
||||||
|
|
||||||
|
@@ -62,6 +63,7 @@ export class KdumpClient {
|
||||||
|
|
||||||
|
// watch the config file
|
||||||
|
this.configClient = new ConfigFile("/etc/kdump.conf", true);
|
||||||
|
+ this.state.sysconfig = false;
|
||||||
|
this._watchConfigChanges();
|
||||||
|
|
||||||
|
this.configClient.wait().then(() => {
|
||||||
|
@@ -69,6 +71,8 @@ export class KdumpClient {
|
||||||
|
if (this.configClient.settings === null) {
|
||||||
|
this.configClient.close();
|
||||||
|
this.configClient = new ConfigFileSUSE("/etc/sysconfig/kdump", true);
|
||||||
|
+ this.state.sysconfig = true;
|
||||||
|
+ this.dispatchEvent("kdumpSysconfigChanged", true);
|
||||||
|
this._watchConfigChanges();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
diff --git a/pkg/kdump/kdump-view.jsx b/pkg/kdump/kdump-view.jsx
|
||||||
|
index c6cc1e0d6bc6..8b5d74707e39 100644
|
||||||
|
--- a/pkg/kdump/kdump-view.jsx
|
||||||
|
+++ b/pkg/kdump/kdump-view.jsx
|
||||||
|
@@ -115,12 +115,15 @@ const exportAnsibleTask = (settings, os_release) => {
|
||||||
|
return ansible;
|
||||||
|
};
|
||||||
|
|
||||||
|
-function getLocation(target) {
|
||||||
|
+function getLocation(target, sysconfig) {
|
||||||
|
let path = target.path || DEFAULT_KDUMP_PATH;
|
||||||
|
|
||||||
|
if (target.type === "ssh") {
|
||||||
|
path = `${target.server}:${path}`;
|
||||||
|
} else if (target.type == "nfs") {
|
||||||
|
+ if (sysconfig) {
|
||||||
|
+ path = '';
|
||||||
|
+ }
|
||||||
|
path = path[0] !== '/' ? '/' + path : path;
|
||||||
|
path = `${target.server}:${target.export + path}`;
|
||||||
|
}
|
||||||
|
@@ -128,7 +131,7 @@ function getLocation(target) {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
-const KdumpSettingsModal = ({ settings, initialTarget, handleSave }) => {
|
||||||
|
+const KdumpSettingsModal = ({ settings, initialTarget, handleSave, sysconfig }) => {
|
||||||
|
const Dialogs = useDialogs();
|
||||||
|
const compressionAllowed = settings.compression?.allowed;
|
||||||
|
const [isSaving, setIsSaving] = useState(false);
|
||||||
|
@@ -276,13 +279,15 @@ const KdumpSettingsModal = ({ settings, initialTarget, handleSave }) => {
|
||||||
|
placeholder="/export/cores" value={exportPath}
|
||||||
|
onChange={(_event, value) => setExportPath(value)} isRequired />
|
||||||
|
</FormGroup>
|
||||||
|
+ {sysconfig === false &&
|
||||||
|
<FormGroup fieldId="kdump-settings-nfs-directory" label={_("Directory")} isRequired>
|
||||||
|
<TextInput id="kdump-settings-nfs-directory" key="directory"
|
||||||
|
- placeholder={DEFAULT_KDUMP_PATH} value={directory}
|
||||||
|
- data-stored={directory}
|
||||||
|
- onChange={(_event, value) => setDirectory(value)}
|
||||||
|
- isRequired />
|
||||||
|
+ placeholder={DEFAULT_KDUMP_PATH} value={directory}
|
||||||
|
+ data-stored={directory}
|
||||||
|
+ onChange={(_event, value) => setDirectory(value)}
|
||||||
|
+ isRequired />
|
||||||
|
</FormGroup>
|
||||||
|
+ }
|
||||||
|
</>
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -353,7 +358,7 @@ export class KdumpPage extends React.Component {
|
||||||
|
const target = this.props.kdumpStatus.target;
|
||||||
|
let verifyMessage;
|
||||||
|
if (!target.multipleTargets) {
|
||||||
|
- const path = getLocation(target);
|
||||||
|
+ const path = getLocation(target, this.props.sysconfig);
|
||||||
|
if (target.type === "local") {
|
||||||
|
verifyMessage = fmt_to_fragments(
|
||||||
|
' ' + _("Results of the crash will be stored in $0 as $1, if kdump is properly configured."),
|
||||||
|
@@ -403,7 +408,8 @@ export class KdumpPage extends React.Component {
|
||||||
|
const Dialogs = this.context;
|
||||||
|
Dialogs.show(<KdumpSettingsModal settings={this.props.kdumpStatus.config}
|
||||||
|
initialTarget={this.props.kdumpStatus.target}
|
||||||
|
- handleSave={this.props.onSaveSettings} />);
|
||||||
|
+ handleSave={this.props.onSaveSettings}
|
||||||
|
+ sysconfig={this.props.sysconfig} />);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleAutomationClick() {
|
||||||
|
@@ -459,7 +465,7 @@ ${enableCrashKernel}
|
||||||
|
if (target.multipleTargets) {
|
||||||
|
kdumpLocation = _("invalid: multiple targets defined");
|
||||||
|
} else {
|
||||||
|
- const locationPath = getLocation(target);
|
||||||
|
+ const locationPath = getLocation(target, this.props.sysconfig);
|
||||||
|
if (target.type == "local") {
|
||||||
|
kdumpLocation = cockpit.format(_("Local, $0"), locationPath);
|
||||||
|
targetCanChange = true;
|
||||||
|
diff --git a/pkg/kdump/kdump.js b/pkg/kdump/kdump.js
|
||||||
|
index 1a143defef15..b0f75e88c220 100644
|
||||||
|
--- a/pkg/kdump/kdump.js
|
||||||
|
+++ b/pkg/kdump/kdump.js
|
||||||
|
@@ -41,6 +41,7 @@ const initStore = function(rootElement) {
|
||||||
|
dataStore.domRootElement = rootElement;
|
||||||
|
|
||||||
|
dataStore.kdumpClient = new kdumpClient.KdumpClient();
|
||||||
|
+ dataStore.sysconfig = dataStore.kdumpClient.state.sysconfig;
|
||||||
|
|
||||||
|
dataStore.saveSettings = settings =>
|
||||||
|
dataStore.kdumpClient.validateSettings(settings)
|
||||||
|
@@ -74,6 +75,7 @@ const initStore = function(rootElement) {
|
||||||
|
reservedMemory: dataStore.kdumpMemory,
|
||||||
|
kdumpStatus: dataStore.kdumpStatus,
|
||||||
|
kdumpCmdlineEnabled: dataStore.crashkernel || false,
|
||||||
|
+ sysconfig: dataStore.sysconfig,
|
||||||
|
onSaveSettings: dataStore.saveSettings,
|
||||||
|
onCrashKernel: dataStore.kdumpClient.crashKernel,
|
||||||
|
exportConfig: dataStore.exportConfig,
|
||||||
|
@@ -117,6 +119,10 @@ const initStore = function(rootElement) {
|
||||||
|
dataStore.kdumpStatus = status;
|
||||||
|
render();
|
||||||
|
});
|
||||||
|
+ dataStore.kdumpClient.addEventListener('kdumpSysconfigChanged', function(event, sysconfig) {
|
||||||
|
+ dataStore.sysconfig = sysconfig;
|
||||||
|
+ render();
|
||||||
|
+ });
|
||||||
|
|
||||||
|
// render once
|
||||||
|
render();
|
BIN
node_modules.obscpio
(Stored with Git LFS)
BIN
node_modules.obscpio
(Stored with Git LFS)
Binary file not shown.
File diff suppressed because it is too large
Load Diff
1627
package-lock.json
generated
1627
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/pkg/networkmanager/bond.jsx b/pkg/networkmanager/bond.jsx
|
diff --git a/pkg/networkmanager/bond.jsx b/pkg/networkmanager/bond.jsx
|
||||||
index 80956bd7b..de8e667aa 100644
|
index b54b1db..062cd1d 100644
|
||||||
--- a/pkg/networkmanager/bond.jsx
|
--- a/pkg/networkmanager/bond.jsx
|
||||||
+++ b/pkg/networkmanager/bond.jsx
|
+++ b/pkg/networkmanager/bond.jsx
|
||||||
@@ -142,16 +142,6 @@ export const BondDialog = ({ connection, dev, settings }) => {
|
@@ -151,16 +151,6 @@ export const BondDialog = ({ connection, dev, settings }) => {
|
||||||
{_("A network bond combines multiple network interfaces into one logical interface with higher throughput or redundancy.")}
|
{_("A network bond combines multiple network interfaces into one logical interface with higher throughput or redundancy.")}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -20,10 +20,10 @@ index 80956bd7b..de8e667aa 100644
|
|||||||
<Button id="bond-help-popup-button" variant="plain" aria-label="Help">
|
<Button id="bond-help-popup-button" variant="plain" aria-label="Help">
|
||||||
<HelpIcon />
|
<HelpIcon />
|
||||||
diff --git a/pkg/systemd/hwinfo.jsx b/pkg/systemd/hwinfo.jsx
|
diff --git a/pkg/systemd/hwinfo.jsx b/pkg/systemd/hwinfo.jsx
|
||||||
index 30196f0dc..d53948374 100644
|
index d2d2d9b..af0bedc 100644
|
||||||
--- a/pkg/systemd/hwinfo.jsx
|
--- a/pkg/systemd/hwinfo.jsx
|
||||||
+++ b/pkg/systemd/hwinfo.jsx
|
+++ b/pkg/systemd/hwinfo.jsx
|
||||||
@@ -201,11 +201,6 @@ const CPUSecurityMitigationsDialog = () => {
|
@@ -205,11 +205,6 @@ const CPUSecurityMitigationsDialog = () => {
|
||||||
<DataListCell key="primary content">
|
<DataListCell key="primary content">
|
||||||
<span>
|
<span>
|
||||||
<div className='nosmt-heading'>{ _("Disable simultaneous multithreading") } (nosmt)</div>
|
<div className='nosmt-heading'>{ _("Disable simultaneous multithreading") } (nosmt)</div>
|
||||||
@@ -36,19 +36,19 @@ index 30196f0dc..d53948374 100644
|
|||||||
</DataListCell>,
|
</DataListCell>,
|
||||||
]}
|
]}
|
||||||
diff --git a/pkg/systemd/overview-cards/cryptoPolicies.jsx b/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
diff --git a/pkg/systemd/overview-cards/cryptoPolicies.jsx b/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
||||||
index dc8b996ec..2f6fc8ac4 100644
|
index fa57de9..d4dd3be 100644
|
||||||
--- a/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
--- a/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
||||||
+++ b/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
+++ b/pkg/systemd/overview-cards/cryptoPolicies.jsx
|
||||||
@@ -115,7 +115,7 @@ const CryptoPolicyDialog = ({
|
@@ -143,7 +143,7 @@ const CryptoPolicyDialog = ({
|
||||||
variant='link'
|
variant='link'
|
||||||
isInline
|
isInline
|
||||||
icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
|
icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
|
||||||
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/security_hardening/switching-rhel-to-fips-mode_security-hardening">
|
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening">
|
||||||
+ href="https://documentation.suse.com/sle-micro/6.0/html/Micro-selinux/selinux-article.html">
|
+ href="https://documentation.suse.com/sle-micro/6.0/html/Micro-selinux/selinux-article.html">
|
||||||
{_("Learn more")}
|
{_("Learn more")}
|
||||||
</Button>
|
</Button>
|
||||||
</Flex>),
|
</Flex>),
|
||||||
@@ -154,16 +154,6 @@ const CryptoPolicyDialog = ({
|
@@ -184,16 +184,6 @@ const CryptoPolicyDialog = ({
|
||||||
{_("Cryptographic Policies is a system component that configures the core cryptographic subsystems, covering the TLS, IPSec, SSH, DNSSec, and Kerberos protocols.")}
|
{_("Cryptographic Policies is a system component that configures the core cryptographic subsystems, covering the TLS, IPSec, SSH, DNSSec, and Kerberos protocols.")}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -66,10 +66,10 @@ index dc8b996ec..2f6fc8ac4 100644
|
|||||||
<Button variant="plain" aria-label={_("Help")}>
|
<Button variant="plain" aria-label={_("Help")}>
|
||||||
<HelpIcon />
|
<HelpIcon />
|
||||||
diff --git a/pkg/systemd/overview-cards/tuned-dialog.jsx b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
diff --git a/pkg/systemd/overview-cards/tuned-dialog.jsx b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||||
index 258f42640..3ec591cb7 100644
|
index 38420ca..cd7e2a3 100644
|
||||||
--- a/pkg/systemd/overview-cards/tuned-dialog.jsx
|
--- a/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||||
+++ b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
+++ b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||||
@@ -275,36 +275,10 @@ const TunedDialog = ({
|
@@ -278,36 +278,10 @@ const TunedDialog = ({
|
||||||
};
|
};
|
||||||
}, [tunedService]);
|
}, [tunedService]);
|
||||||
|
|
||||||
|
@@ -46,7 +46,7 @@ new file mode 100644
|
|||||||
index 000000000..baea6f560
|
index 000000000..baea6f560
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/branding/suse/branding.css
|
+++ b/src/branding/suse/branding.css
|
||||||
@@ -0,0 +1,87 @@
|
@@ -0,0 +1,82 @@
|
||||||
+/* Extra overrides */
|
+/* Extra overrides */
|
||||||
+:root {
|
+:root {
|
||||||
+ --eos-bc-green-500: #30ba78;
|
+ --eos-bc-green-500: #30ba78;
|
||||||
@@ -61,10 +61,6 @@ index 000000000..baea6f560
|
|||||||
+ content: "${PRETTY_NAME}";
|
+ content: "${PRETTY_NAME}";
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+.login-pf .container {
|
|
||||||
+ background-color: rgba(255, 255, 255);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#option-group svg polygon {
|
+#option-group svg polygon {
|
||||||
+ fill: var(--eos-bc-text);
|
+ fill: var(--eos-bc-text);
|
||||||
+}
|
+}
|
||||||
@@ -88,13 +84,12 @@ index 000000000..baea6f560
|
|||||||
+
|
+
|
||||||
+body.login-pf {
|
+body.login-pf {
|
||||||
+ background-color: var(--eos-bc-pine-500);
|
+ background-color: var(--eos-bc-pine-500);
|
||||||
+ color: var(--eos-bc-text);
|
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/* Only use background image on desktops */
|
+/* Only use background image on desktops */
|
||||||
+@media(min-width: 1024px) {
|
+@media(min-width: 1024px) {
|
||||||
+ body.login-pf {
|
+ body.login-pf {
|
||||||
+ background-image: url("default-1920x1200.png");
|
+ background-image: url("default-1920x1200.png") !important;
|
||||||
+ background-repeat: no-repeat;
|
+ background-repeat: no-repeat;
|
||||||
+ background-position: 100% 0 !important;
|
+ background-position: 100% 0 !important;
|
||||||
+ background-size: cover;
|
+ background-size: cover;
|
||||||
@@ -134,7 +129,6 @@ index 000000000..baea6f560
|
|||||||
+#index-brand:before {
|
+#index-brand:before {
|
||||||
+ content: "${PRETTY_NAME}";
|
+ content: "${PRETTY_NAME}";
|
||||||
+}
|
+}
|
||||||
\ No newline at end of file
|
|
||||||
--
|
--
|
||||||
2.49.0
|
2.49.0
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user