SHA256
1
0
forked from cockpit/cockpit

Accepting request 962734 from systemsmanagement:cockpit

OBS-URL: https://build.opensuse.org/request/show/962734
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cockpit?expand=0&rev=18
This commit is contained in:
Dominique Leuenberger 2022-03-20 19:55:01 +00:00 committed by Git OBS Bridge
commit 00f2f0b09b
6 changed files with 437 additions and 1 deletions

View File

@ -1,3 +1,52 @@
-------------------------------------------------------------------
Fri Mar 18 14:28:24 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- re-add suse-microos-branding.patch from GitHub
- add hide-docs.patch (bsc#1197003)
-------------------------------------------------------------------
Tue Mar 15 13:42:38 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- make package compatible with OBS version (bsc#1197224):
* move branding images to distribution-logos-SLE package
* re-add dependency on distribution-logos
* remove branding patch and assets (suse-microos-branding.patch,
suse-microos-branding.tar.gz); moved to GitHub fork
* remove local __python3 macro
* apply SLE specific patches only on SLE
-------------------------------------------------------------------
Mon Feb 28 10:41:31 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- add hide-pcp.patch to hide references to PCP (Performance
Co-Pilot) and metric collection (bsc#1195943). The cockpit-pcp
package is not included in SLE Micro 5.2 base and these parts
require it.
-------------------------------------------------------------------
Mon Jan 31 15:30:24 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- change self-signed cert group from cockpit-wsintance to
cockpit-ws on upgrade
-------------------------------------------------------------------
Mon Jan 31 08:26:46 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- update to new LTS version from openSUSE:Factory
- port remove-pwscore.patch
* remove dependency on pwscore (bsc#1182924)
* remove password strenth indicator
- port branding changes as suse-microos "theme"
* remove suse_cockpit_assets.tar.gz
* add suse-microos-branding.tar.gz
* remove branding_tests.patch
* add suse-microos-branding.patch
- remove files not needed to build this version anymore
* webpack-warnings-are-not-errors.patch
* github_package.patch
* nodejs_output_helper.bash
- remove cockpit.permissions workaround (bsc#1169614)
-------------------------------------------------------------------
Fri Jan 28 14:54:44 UTC 2022 - Adam Majer <adam.majer@suse.de>

View File

@ -65,6 +65,11 @@ Source97: node_modules.spec.inc
%include %{_sourcedir}/node_modules.spec.inc
Patch0: cockpit-redhatfont.diff
Patch1: 0001-selinux-allow-login-to-read-motd-file.patch
Patch2: hide-docs.patch
Patch3: suse-microos-branding.patch
# SLE Micro specific patches
Patch100: remove-pwscore.patch
Patch101: hide-pcp.patch
# in RHEL 8 the source package is duplicated: cockpit (building basic packages like cockpit-{bridge,system})
# and cockpit-appstream (building optional packages like cockpit-{pcp})
@ -171,7 +176,16 @@ Recommends: subscription-manager-cockpit
%prep
%setup -q -n cockpit-%{version}
%autopatch -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if 0%{?sle_version}
%patch100 -p1
%patch101 -p1
%endif
cp %SOURCE1 tools/cockpit.pam
#
local-npm-registry %{_sourcedir} install --also=dev --legacy-peer-deps
@ -443,7 +457,9 @@ Requires: cockpit-bridge >= %{version}-%{release}
Requires: shadow-utils
%endif
Requires: grep
%if !0%{?sle_version}
Requires: /usr/bin/pwscore
%endif
Requires: /usr/bin/date
Provides: cockpit-shell = %{version}-%{release}
Provides: cockpit-systemd = %{version}-%{release}
@ -494,6 +510,8 @@ Recommends: system-logos
Suggests: sssd-dbus
%if 0%{?suse_version}
Requires(pre): permissions
Requires: distribution-logos
Requires: wallpaper-branding
%endif
%description ws
@ -580,6 +598,12 @@ if [ "$1" = 1 ]; then
ln -s /run/cockpit/motd /etc/motd.d/cockpit
ln -s /run/cockpit/motd /etc/issue.d/cockpit.issue
fi
# switch old self-signed cert group from cockpit-wsintance to cockpit-ws on upgrade
if [ "$1" = 2 ]; then
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
fi
%if 0%{?suse_version}
%set_permissions %{_libexecdir}/cockpit-session
%endif

124
hide-docs.patch Normal file
View File

@ -0,0 +1,124 @@
From cf16dead8c862fdf0f61a1c7ac0e8804933c812a Mon Sep 17 00:00:00 2001
From: Jacek Tomasiak <jacek.tomasiak@gmail.com>
Date: Mon, 14 Mar 2022 12:02:17 +0100
Subject: [PATCH] Hide links pointing to RHEL docs (bsc#1197003)
---
pkg/kdump/manifest.json | 2 +-
pkg/networkmanager/manifest.json | 2 +-
pkg/packagekit/manifest.json | 2 +-
pkg/shell/indexes.js | 2 +-
pkg/storaged/manifest.json | 2 +-
pkg/systemd/manifest.json | 6 +++---
pkg/users/manifest.json | 2 +-
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/pkg/kdump/manifest.json b/pkg/kdump/manifest.json
index 01e5320e83f..116eb96dbdc 100644
--- a/pkg/kdump/manifest.json
+++ b/pkg/kdump/manifest.json
@@ -6,7 +6,7 @@
"tools": {
"index": {
"label": "Kernel Dump",
- "docs": [
+ "docs-rh": [
{
"label": "Configuring kdump",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/configuring-kdump-in-the-web-console_system-management-using-the-rhel-8-web-console"
diff --git a/pkg/networkmanager/manifest.json b/pkg/networkmanager/manifest.json
index 3e295e9f186..8c7eef6e3b8 100644
--- a/pkg/networkmanager/manifest.json
+++ b/pkg/networkmanager/manifest.json
@@ -8,7 +8,7 @@
"index": {
"label": "Networking",
"order": 40,
- "docs": [
+ "docs-rh": [
{
"label": "Managing networking bonds",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/configuring-network-bonds-using-the-web-console_system-management-using-the-rhel-8-web-console"
diff --git a/pkg/packagekit/manifest.json b/pkg/packagekit/manifest.json
index e538b4d7044..2204ae26198 100644
--- a/pkg/packagekit/manifest.json
+++ b/pkg/packagekit/manifest.json
@@ -8,7 +8,7 @@
"tools": {
"index": {
"label": "Software Updates",
- "docs": [
+ "docs-rh": [
{
"label": "Managing software updates",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/managing-software-updates-in-the-web-console_system-management-using-the-rhel-8-web-console"
diff --git a/pkg/shell/indexes.js b/pkg/shell/indexes.js
index adc3c165533..19d912e9bd2 100644
--- a/pkg/shell/indexes.js
+++ b/pkg/shell/indexes.js
@@ -413,7 +413,7 @@ function MachinesIndex(index_options, machines, loader, mdialogs) {
if (os_release.DOCUMENTATION_URL)
create_item(cockpit.format(_("$0 documentation"), os_release.NAME), os_release.DOCUMENTATION_URL);
- create_item(_("Web Console"), "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/index");
+ // create_item(_("Web Console"), "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/index");
docs.forEach(e => create_item(_(e.label), e.url));
diff --git a/pkg/storaged/manifest.json b/pkg/storaged/manifest.json
index a554051798d..ef3c205222a 100644
--- a/pkg/storaged/manifest.json
+++ b/pkg/storaged/manifest.json
@@ -8,7 +8,7 @@
"index": {
"label": "Storage",
"order": 30,
- "docs": [
+ "docs-rh": [
{
"label": "Managing partitions",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/managing-partitions-using-the-web-console_system-management-using-the-rhel-8-web-console"
diff --git a/pkg/systemd/manifest.json b/pkg/systemd/manifest.json
index 0c768360e79..a6e8a9cc17f 100644
--- a/pkg/systemd/manifest.json
+++ b/pkg/systemd/manifest.json
@@ -9,7 +9,7 @@
"index": {
"label": "Overview",
"order": 10,
- "docs": [
+ "docs-rh": [
{
"label": "Configuring system settings",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/getting-started-with-the-rhel-8-web-console_system-management-using-the-rhel-8-web-console"
@@ -32,7 +32,7 @@
"services": {
"label": "Services",
"order": 100,
- "docs": [
+ "docs-rh": [
{
"label": "Managing services",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/managing-services-in-the-web-console_system-management-using-the-rhel-8-web-console"
@@ -51,7 +51,7 @@
"logs": {
"label": "Logs",
"order": 20,
- "docs": [
+ "docs-rh": [
{
"label": "Reviewing logs",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/reviewing-logs_system-management-using-the-rhel-8-web-console"
diff --git a/pkg/users/manifest.json b/pkg/users/manifest.json
index bfb5336770a..ccc408dec19 100644
--- a/pkg/users/manifest.json
+++ b/pkg/users/manifest.json
@@ -7,7 +7,7 @@
"index": {
"label": "Accounts",
"order": 70,
- "docs": [
+ "docs-rh": [
{
"label": "Managing user accounts",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/managing-user-accounts-in-the-web-console_system-management-using-the-rhel-8-web-console"

35
hide-pcp.patch Normal file
View File

@ -0,0 +1,35 @@
diff --git a/pkg/metrics/metrics.jsx b/pkg/metrics/metrics.jsx
index 188aad7..a04b094 100644
--- a/pkg/metrics/metrics.jsx
+++ b/pkg/metrics/metrics.jsx
@@ -995,6 +995,7 @@ const PCPConfig = ({ buttonVariant, firewalldRequest, needsLogout, setNeedsLogou
return (
<>
<Button variant={buttonVariant} icon={<CogIcon />}
+ className="pf-u-display-none"
isDisabled={ invalidService(s_pmlogger) || invalidService(s_pmproxy) || invalidService(s_redis) || invalidService(s_redis_server) }
onClick={ () => {
setDialogLoggerValue(runningService(s_pmlogger));
@@ -1429,7 +1430,7 @@ export const Application = () => {
<PageSection>
<CurrentMetrics />
</PageSection>
- <PageSection>
+ <PageSection className="pf-u-display-none">
<MetricsHistory firewalldRequest={setFirewalldRequest}
needsLogout={needsLogout}
setNeedsLogout={setNeedsLogout} />
</PageSection>
diff --git a/pkg/metrics/metrics.scss b/pkg/metrics/metrics.scss
index 025a30b..b4763c2 100644
--- a/pkg/metrics/metrics.scss
+++ b/pkg/metrics/metrics.scss
@@ -2,6 +2,7 @@
@import "../lib/ct-card.scss";
@import "@patternfly/patternfly/components/Table/table.scss";
@import "@patternfly/patternfly/components/Toolbar/toolbar.scss";
+@import "@patternfly/patternfly/utilities/Display/display.scss";
#app {
section.pf-c-page__main-breadcrumb {

66
remove-pwscore.patch Normal file
View File

@ -0,0 +1,66 @@
Remove dependency on /usr/bin/pwscore that is part of libpwquality-tools
but we don't ship it in SLES
diff --git a/pkg/lib/cockpit-components-password.jsx b/pkg/lib/cockpit-components-password.jsx
index b97aab9..2241a75 100644
--- a/pkg/lib/cockpit-components-password.jsx
+++ b/pkg/lib/cockpit-components-password.jsx
@@ -18,7 +18,7 @@
*/
import cockpit from 'cockpit';
import React from 'react';
-import { FormGroup, Popover, Progress, ProgressSize, ProgressMeasureLocation, TextInput } from '@patternfly/react-core';
+import { FormGroup, Popover, TextInput } from '@patternfly/react-core';
import { HelpIcon } from '@patternfly/react-icons';
import './cockpit-components-password.scss';
@@ -27,6 +27,7 @@ const _ = cockpit.gettext;
export function password_quality(password, force) {
return new Promise((resolve, reject) => {
+ /*
cockpit.spawn('/usr/bin/pwscore', { err: "message" })
.input(password)
.done(function(content) {
@@ -42,6 +43,8 @@ export function password_quality(password, force) {
else
resolve({ value: 0 });
});
+ */
+ resolve({ message: _("pwscore not checked") });
});
}
@@ -53,6 +56,7 @@ export const PasswordFormFields = ({
error_password, error_password_confirm,
idPrefix, change
}) => {
+ /*
let variant;
if (password_strength === "")
variant = "default";
@@ -62,6 +66,7 @@ export const PasswordFormFields = ({
variant = "warning";
else
variant = "danger";
+ */
return (
<>
@@ -79,16 +84,7 @@ export const PasswordFormFields = ({
fieldId={idPrefix + "-pw1"}>
<TextInput className="check-passwords" type="password" id={idPrefix + "-pw1"}
value={password} onChange={value => change("password", value)} />
- <div>
- <Progress id={idPrefix + "-meter"}
- className={"ct-password-strength-meter " + variant}
- title={_("password quality")}
- size={ProgressSize.sm}
- measureLocation={ProgressMeasureLocation.none}
- variant={variant}
- value={Number.isInteger(password_strength) ? password_strength : 0} />
- <div id={idPrefix + "-password-meter-message"} className="pf-c-form__helper-text" aria-live="polite">{password_message}</div>
- </div>
+ <div id={idPrefix + "-password-meter-message"} className="pf-c-form__helper-text" aria-live="polite">{password_message}</div>
</FormGroup>
{password_confirm_label && <FormGroup label={password_confirm_label}

138
suse-microos-branding.patch Normal file
View File

@ -0,0 +1,138 @@
From b95f55365f3b221be032b1008bb8032856e31a12 Mon Sep 17 00:00:00 2001
From: Jacek Tomasiak <jacek.tomasiak@gmail.com>
Date: Tue, 15 Mar 2022 23:57:12 +0100
Subject: [PATCH] Add branding for SLE Micro
This change requires distribution-logos-SLE and wallpaper-branding-SLE
to be available during build and installed on the target system to work
properly.
---
Makefile.am | 1 +
src/branding/suse-microos/Makefile.am | 11 ++++
src/branding/suse-microos/branding.css | 87 ++++++++++++++++++++++++++
3 files changed, 99 insertions(+)
create mode 100644 src/branding/suse-microos/Makefile.am
create mode 100644 src/branding/suse-microos/branding.css
diff --git a/Makefile.am b/Makefile.am
index fb619f3f253..ec761210a52 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -249,6 +249,7 @@ include src/branding/default/Makefile.am
include src/branding/fedora/Makefile.am
include src/branding/kubernetes/Makefile.am
include src/branding/opensuse/Makefile.am
+include src/branding/suse-microos/Makefile.am
include src/branding/registry/Makefile.am
include src/branding/rhel/Makefile.am
include src/branding/scientific/Makefile.am
diff --git a/src/branding/suse-microos/Makefile.am b/src/branding/suse-microos/Makefile.am
new file mode 100644
index 00000000000..3f4b762afa5
--- /dev/null
+++ b/src/branding/suse-microos/Makefile.am
@@ -0,0 +1,11 @@
+susemicroosbrandingdir = $(datadir)/cockpit/branding/suse-microos
+
+dist_susemicroosbranding_DATA = \
+ src/branding/suse-microos/branding.css \
+ $(NULL)
+
+install-data-hook::
+ $(LN_S) -f /usr/share/wallpapers/SLEdefault/contents/images/1920x1200.png $(DESTDIR)$(susemicroosbrandingdir)/default-1920x1200.png
+ $(LN_S) -f /usr/share/pixmaps/distribution-logos/square-hicolor.svg $(DESTDIR)$(susemicroosbrandingdir)/square-hicolor.svg
+ $(LN_S) -f /usr/share/pixmaps/distribution-logos/favicon.ico $(DESTDIR)$(susemicroosbrandingdir)/favicon.ico
+ $(LN_S) -f /usr/share/pixmaps/distribution-logos/apple-touch-icon.png $(DESTDIR)$(susemicroosbrandingdir)/apple-touch-icon.png
diff --git a/src/branding/suse-microos/branding.css b/src/branding/suse-microos/branding.css
new file mode 100644
index 00000000000..e3c7939c464
--- /dev/null
+++ b/src/branding/suse-microos/branding.css
@@ -0,0 +1,87 @@
+/* Extra overrides */
+:root {
+ --eos-bc-green-500: #30ba78;
+ --eos-bc-pine-500: #0c322c;
+ --eos-bc-gray-50: #F2F2F2;
+ --eos-bc-white: #ffffff;
+ --eos-bc-text: #333;
+}
+
+
+#brand:before {
+ content: "${PRETTY_NAME}";
+}
+
+.login-pf .container {
+ background-color: rgba(255, 255, 255);
+}
+
+#option-group svg polygon {
+ fill: var(--eos-bc-text);
+}
+
+/* Nav & sidebar overwrites */
+.navbar-pf {
+ background: var(--eos-bc-pine-500);
+}
+
+.navbar-pf-vertical {
+ border-top: none;
+}
+
+
+/* Default overrides */
+
+.login-note {
+ color: transparent;
+ position: relative;
+}
+
+body.login-pf {
+ background-color: var(--eos-bc-pine-500);
+ color: var(--eos-bc-text);
+}
+
+/* Only use background image on desktops */
+@media(min-width: 1024px) {
+ body.login-pf {
+ background-image: url("default-1920x1200.png");
+ background-repeat: no-repeat;
+ background-position: 100% 0 !important;
+ background-size: cover;
+ }
+}
+/* Hide badge on desktops (already included in background) */
+@media(max-width: 1023px) {
+ #badge {
+ width: 51px;
+ height: 45px;
+ background-image: url("square-hicolor.svg");
+ background-repeat: no-repeat;
+ }
+}
+
+#brand {
+ width: auto;
+ height: auto;
+ background-image: none;
+ background-repeat: no-repeat;
+ font-size: 2em;
+ white-space: nowrap;
+}
+/* Switch to small font faster to not clip long name */
+@media(max-width: 560px) {
+ #brand {
+ font-size: inherit;
+ }
+}
+
+#index-brand {
+ font-weight: bold;
+}
+
+#index-brand:before {
+ content: "${PRETTY_NAME}";
+}
+
+