- 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
This commit is contained in:
Adam Majer 2024-08-08 10:48:31 +00:00 committed by Git OBS Bridge
commit d54928f734
30 changed files with 9714 additions and 0 deletions

26
.gitattributes vendored Normal file
View File

@ -0,0 +1,26 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
cockpit-321.tar filter=lfs diff=lfs merge=lfs -text
cockpit-suse-theme.tar filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,22 @@
commit fc0e3304732a9aaff1487833342d5fc8ea26ce04
Author: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Fri Aug 6 15:11:23 2021 +0200
selinux: allow login to read motd file
Index: cockpit/selinux/cockpit.te
===================================================================
--- cockpit.orig/selinux/cockpit.te
+++ cockpit/selinux/cockpit.te
@@ -202,3 +202,11 @@ optional_policy(`
optional_policy(`
gnome_exec_keyringd(cockpit_session_t)
')
+
+# login may read motd file through pam
+optional_policy(`
+ gen_require(`
+ type local_login_t;
+ ')
+ cockpit_read_pid_files(local_login_t)
+')

View File

@ -0,0 +1,13 @@
Index: cockpit-251.3/pkg/selinux/setroubleshoot-view.jsx
===================================================================
--- cockpit-251.3.orig/pkg/selinux/setroubleshoot-view.jsx
+++ cockpit-251.3/pkg/selinux/setroubleshoot-view.jsx
@@ -458,7 +458,7 @@ export class SETroubleshootPage extends
<PageSection>
<Stack hasGutter>
<StackItem>{modifications}</StackItem>
- <StackItem>{troubleshooting}</StackItem>
+ <StackItem>{ !this.props.connected || troubleshooting}</StackItem>
</Stack>
</PageSection>
</Page>

View File

@ -0,0 +1,11 @@
--- cockpit/src/Makefile.am.orig
+++ cockpit/src/Makefile.am
@@ -44,7 +44,7 @@
$(NULL)
AM_CFLAGS = \
- -std=gnu18 \
+ -std=gnu11 \
-pthread \
-Wall \
-Werror=strict-prototypes \

47
README.packaging Normal file
View File

@ -0,0 +1,47 @@
The upstream cockpit spec file is rather complex and ugly. It does
contain information we need though, such as the bundled node
modules. Therefore the package reuses the upstream spec file and
applies openSUSE specifics that upstream doesn't accept on top. For
that purpose a git repo tracks the spec file changes:
https://github.com/openSUSE/cockpit
There' an opensuse-$VERSION branch for each release
For simple fixes it's fine to just submit the spec file by OBS
means, I'll retrofit in git. Don't worry about that.
For version updates the git workflow really is needed to maintain
mental health though.
The following workflow is used to update the package to a newer
version:
- create a branch for the new version based on the old one:
git checkout -b opensuse-$NEW_VERSION opensuse-$OLD_VERSION
- use interactive rebase to amend the commits marked as EDIT THIS:
git rebase -i $NEW_VERSION
* for the very fist commit download the new tarball and extract
the spec file from it. Copy the spec file over
tools/cockpit.spec. That is basically what changed between the
versions wrt spec file.
* the second one adjust the spec file to have $NEW_VERSION. For
whatever reason the upstream spec file alwas has version 0.
* the rest of the changes should just apply.
- copy the spec file back into the OBS checkout and continue with
regular tasks related to updating packages.
- If any further spec file changes were needed, copy the spec back
into the git tree and commit there. Amend and reorder as needed.
- When done, push the git repo.
Updates are now mostly automated with the update_version.sh script.
You still need to follow last 3 steps manually.
Sending fixes upstream:
if you have any changes that should go upstream, create a new, clean
branch and cherry pick *one* commit into it. Upstream wants pull
requests with only one commit
NOTE: ONLY the .spec file should be in the git.
IDEA: maybe other things should be removed from the git tree then?

7
_service Normal file
View File

@ -0,0 +1,7 @@
<services>
<service name="node_modules" mode="manual">
<param name="cpio">node_modules.obscpio</param>
<param name="output">node_modules.spec.inc</param>
<param name="source-offset">1000</param>
</service>
</services>

6
_servicedata Normal file
View File

@ -0,0 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">http://github.com/cockpit-project/cockpit.git</param>
<param name="changesrevision">046b3d4b381cd60f9d44756fc51f15ed7e17d0b5</param></service><service name="tar_scm">
<param name="url">https://github.com/dgdavid/cockpit-suse-theme.git</param>
<param name="changesrevision">fe08b35e64ad45f4b56cd636fdfec8fb18d69ab7</param></service></servicedata>

BIN
cockpit-320.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

BIN
cockpit-321.tar (Stored with Git LFS) Normal file

Binary file not shown.

4
cockpit-rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
# False positive
addFilter('explicit-lib-dependency.*libvirt-client');
# will break cockpit functionality if we changed shebangs
addFilter('env-script-interpreter')

BIN
cockpit-suse-theme.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,4 @@
name: cockpit-suse-theme
version:
mtime: 1655379139
commit: fe08b35e64ad45f4b56cd636fdfec8fb18d69ab7

BIN
cockpit-suse-theme.tar (Stored with Git LFS) Normal file

Binary file not shown.

595
cockpit.changes Normal file
View File

@ -0,0 +1,595 @@
-------------------------------------------------------------------
Wed Aug 7 20:25:34 UTC 2024 - Herbert Graeber <herbert@graeber-clan.de>
- 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 <jan.suse@zerebecki.de>
- load pam_oath for optional TOTP for authentication
-------------------------------------------------------------------
Wed Jul 31 08:23:43 UTC 2024 - Adam Majer <adam.majer@suse.de>
- new version 321:
* Bug fixes and performance improvements
- vendor.tar.gz: dropped. Bundling now part of main tarball.
- update_version.sh: use instead of `osc service mr` to do version
updates. updated README.packaging
-------------------------------------------------------------------
Wed Jul 3 13:31:38 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- new version 320:
* pam-ssh-add: Fix insecure killing of session ssh-agent
(bsc#1226040, CVE-2024-6126)
- changes in older versions:
* Storage: Btrfs snapshots
* Podman: Add image pull action
* Files: Bookmark support
* webserver: System user changes
* Metrics: Grafana setup now prefers Valkey
- 0001-users-Support-for-watching-lastlog2.patch,
0002-users-Support-for-watching-lastlog2-and-wutmp-on-overview-page.patch
removed, upstreamed
-------------------------------------------------------------------
Wed Jul 3 10:26:08 UTC 2024 - Alice Brooks <alice.brooks@suse.com>
- fix suse_docs.patch causing invalid json against the storaged manifest bsc#1227299
-------------------------------------------------------------------
Thu Jun 13 11:02:10 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- disable selinux on leap versions without selinux
- set libexec dir to %_libexecdir (bsc#1223533)
-------------------------------------------------------------------
Thu May 16 08:12:47 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- new version 316:
* cockpit.js API: Fix format_bytes() units
- add 0001-users-Support-for-watching-lastlog2.patch (bsc#1220551)
- add 0002-users-Support-for-watching-lastlog2-and-wutmp-on-overview-page.patch (bsc#1220551)
-------------------------------------------------------------------
Wed Apr 17 11:19:32 UTC 2024 - Adam Majer <adam.majer@suse.de>
- new version 315:
* Networking: Show additional ports for each firewall zone
* Networking: List Firewall active zones when unprivileged
* Inline documentation
* Support for transient virtual machines
* UEFI for virtual machines
* Unattended virtual machines installation
* Localize times
* Better support for various TLS certificate formats
* Overview: Add CPU utilization to usage card
* Dashboard: Support SSH identity unlocking when adding new machines
* SElinux: Introduce an Ansible automation script
* Machines: Support “bridge” type network interfaces
* Machines: Support “bus” type disk configuration
- suse_docs.patch, storage-btrfs.patch: refreshed
-------------------------------------------------------------------
Tue Apr 16 12:11:05 UTC 2024 - Adam Majer <adam.majer@suse.de>
- Do not require setroubleshoot in cockpit-selinux on Leap.
It's not there
-------------------------------------------------------------------
Mon Mar 4 13:24:23 UTC 2024 - Adam Majer <adam.majer@suse.de>
- cockpit.pam: respect /etc/cockpit/disallowed-users
This means by default root cannot login with password to cockpit
(bsc#1216080)
-------------------------------------------------------------------
Thu Feb 29 16:40:06 UTC 2024 - Cathy Hu <cathy.hu@suse.com>
- Remove SELinux file context for /usr/bin/cockpit-bridge, this
is already defined in the main selinux-policy package (bsc#1220385).
Modified selinux_libdir.patch
-------------------------------------------------------------------
Mon Feb 26 10:52:55 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Thu Feb 15 12:21:55 UTC 2024 - Adam Majer <adam.majer@suse.de>
- suse-microos-branding.patch: fix branding for SLE Micro
(bsc#1219929)
- don't clobber existing links with empty files
-------------------------------------------------------------------
Wed Jan 31 11:02:35 UTC 2024 - Adam Majer <adam.majer@suse.de>
- new version 309:
* storage redesign
* initial btrfs support
https://cockpit-project.org/blog/cockpit-309.html
-------------------------------------------------------------------
Thu Jan 25 09:36:45 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- suse_docs.patch: replace with suse docs and move docs with out eqiv
to docs-rh (bsc#1219088)
- hide-docs.patch: obsolete by above, removed
-------------------------------------------------------------------
Thu Jan 25 09:08:12 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Provide users/groups cockpit-wsinstance and cockpit-ws: they are
generated by cockpit-ws %pre script.
-------------------------------------------------------------------
Wed Jan 24 12:55:20 UTC 2024 - Adam Majer <adam.majer@suse.de>
- hide-docs.patch: hide RHEL docs in shell/manifest.json
-------------------------------------------------------------------
Fri Jan 12 16:40:17 UTC 2024 - Adam Majer <adam.majer@suse.de>
- enable python-bridge for suse distros
- vendor.tar.gz -- submodules in vendor/ subdirectory. These are not part
of original tarball because obs service wants to bundle node_modules
there too....
-------------------------------------------------------------------
Thu Dec 21 15:22:27 UTC 2023 - Adam Majer <adam.majer@suse.de> - 307
- new version 307:
https://cockpit-project.org/blog/cockpit-307.html
https://cockpit-project.org/blog/cockpit-306.html
https://cockpit-project.org/blog/cockpit-305.html
https://cockpit-project.org/blog/cockpit-304.html
https://cockpit-project.org/blog/cockpit-303.html
https://cockpit-project.org/blog/cockpit-302.html
https://cockpit-project.org/blog/cockpit-301.html
- css-overrides.patch, storage-btrfs.patch: refreshed
-------------------------------------------------------------------
Wed Sep 20 16:17:59 UTC 2023 - Miika Alikirri <miika.alikirri@suse.com>
- Port SLE selinux bug fix from SLE Micro 5.5
* Copied selinux_libdir.patch from SLEM package
-------------------------------------------------------------------
Fri Sep 8 12:53:26 UTC 2023 - Adam Majer <adam.majer@suse.de> - 300.1
- new version 300.1
https://cockpit-project.org/blog/cockpit-300.html
https://cockpit-project.org/blog/cockpit-299.html
-------------------------------------------------------------------
Fri Sep 8 12:29:33 UTC 2023 - Adam Majer <adam.majer@suse.de>
- Re-add pwscore dependency for SLE
-------------------------------------------------------------------
Thu Aug 31 10:00:06 UTC 2023 - Miika Alikirri <miika.alikirri@suse.com>
- Fix building for SLE15.5 and SLE15.4
-------------------------------------------------------------------
Fri Aug 18 13:15:17 UTC 2023 - Adam Majer <adam.majer@suse.de>
- new version 298:
https://cockpit-project.org/blog/cockpit-298.html
-------------------------------------------------------------------
Tue Aug 15 13:53:14 UTC 2023 - Zdenek Kubala <zkubala@suse.cz>
- set setroubleshoot-server dependency and do not apply
0002-selinux-temporary-remove-setroubleshoot-section-patch for
cockpit-selinux when build for SLE Micro 5.5
-------------------------------------------------------------------
Thu Aug 3 11:35:47 UTC 2023 - Adam Majer <adam.majer@suse.de>
- new version 297:
- https://cockpit-project.org/blog/cockpit-297.html
- hide-docs.patch: refreshed
-------------------------------------------------------------------
Mon Jul 17 12:19:27 UTC 2023 - Adam Majer <adam.majer@suse.de>
- new version 296:
- https://cockpit-project.org/blog/cockpit-296.html
- https://cockpit-project.org/blog/cockpit-295.html
- https://cockpit-project.org/blog/cockpit-294.html
- 0004-leap-gnu18-removal.patch: added support for Leap thanks to Lubos
-------------------------------------------------------------------
Tue Jun 13 12:39:20 UTC 2023 - Adam Majer <adam.majer@suse.de>
- Add fake openSUSE branding target when building on non-openSUSE
builds so branding does not need to be removed
- Remove tests package so we don't have to ship a test PAM module
-------------------------------------------------------------------
Fri Jun 2 13:26:45 UTC 2023 - Adam Majer <adam.majer@suse.de>
- new version 293:
- https://cockpit-project.org/blog/cockpit-293.html
- refreshed: css-overrides.patch
-------------------------------------------------------------------
Tue May 30 15:05:45 UTC 2023 - Adam Majer <adam.majer@suse.de>
- new version 292:
- https://cockpit-project.org/blog/cockpit-292.html
- refreshed patches: css-overrides.patch, hide-pcp.patch,
0001-selinux-allow-login-to-read-motd-file.patch
-------------------------------------------------------------------
Tue Feb 7 15:47:35 UTC 2023 - Stefan Schubert <schubi@suse.com>
- Migration of PAM settings to /usr/lib/pam.d.
-------------------------------------------------------------------
Wed Jan 25 11:13:36 UTC 2023 - Luna D Dragon <luna.dragon@suse.com>
- restore dependency on /usr/bin/pwscore (bsc#1202277)
- remove remove-pwscore.patch
-------------------------------------------------------------------
Mon Nov 28 13:34:07 UTC 2022 - Zdenek Kubala <zkubala@suse.cz>
- enable build of cockpit-selinux module
- changes to keep it sync with sle micro
(0002-selinux-temporary-remove-setroubleshoot-section.patch)
-------------------------------------------------------------------
Tue Sep 20 08:20:16 UTC 2022 - Adam Majer <adam.majer@suse.de>
- new version 276.1
- login: Use valid selectors when testing for :is() / :where() support.
- stability and performance improvements
- previous changes https://cockpit-project.org/blog/cockpit-275.html
- css-overrides.patch, hide-docs.patch, remove-pwscore.patch: refreshed
- kdump-close.patch, kdump-refactor.patch, kdump-suse.patch: upstreamed
and removed
-------------------------------------------------------------------
Tue Sep 13 09:46:17 UTC 2022 - Adam Majer <adam.majer@suse.de>
- Fix cockpit-storage dependencies
- Merge SUSE branding into cockpit package
-------------------------------------------------------------------
Mon Sep 5 08:09:56 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- Update kdump-suse.patch to match upstream.
-------------------------------------------------------------------
Wed Aug 24 12:25:42 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- Add kdump-close.patch required by patches below.
- Add kdump-refactor.patch and kdump-suse.patch to support SUSE
kdump config management in cockpit.
-------------------------------------------------------------------
Wed Aug 24 07:37:46 UTC 2022 - Adam Majer <adam.majer@suse.de>
- Use a list of available brandings to include in cockpit-ws
package instead of resolving by symlinks.
-------------------------------------------------------------------
Thu Jul 28 08:41:13 UTC 2022 - Jacek Tomasiak <jtomasiak@suse.com>
- Update suse-microos-branding.patch for new /etc/os-release ID.
- Add storage-btrfs.patch to enable BTRFS use in cockpit-storage.
-------------------------------------------------------------------
Thu Jun 23 09:27:17 UTC 2022 - Adam Majer <adam.majer@suse.de>
- Add conflict between cockpit-networkmanager and cockpit-wicked
as they use the same URL paths.
-------------------------------------------------------------------
Mon Jun 20 08:15:34 UTC 2022 - Adam Majer <adam.majer@suse.de>
- Re-arrange patches and apply them manually again.
Some were accidentally added and should be sle only
-------------------------------------------------------------------
Fri Jun 17 10:09:09 UTC 2022 - Adam Majer <adam.majer@suse.de>
- css-overrides.patch: css overrides for better theming support
-------------------------------------------------------------------
Fri Jun 10 08:22:31 UTC 2022 - Adam Majer <adam.majer@suse.de>
- new version 271
https://cockpit-project.org/blog/cockpit-271.html
- cockpit-redhatfont.diff: not needed, dropped
- 0001-selinux-allow-login-to-read-motd-file.patch, hide-docs.patch,
hide-pcp.patch remove-pwscore.patch: refreshed
-------------------------------------------------------------------
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>
- new version 251.3
* https://cockpit-project.org/blog/cockpit-251.html
with additional fixes
* Fix "Administrative Access" prompt for "Duo" MFA
-------------------------------------------------------------------
Thu Aug 19 14:54:46 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- add --legacy-peer-deps to fix build
-------------------------------------------------------------------
Tue Aug 3 14:46:16 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- new version 250
https://cockpit-project.org/blog/cockpit-250.html
- fix pam_motd selinux denial (0001-selinux-allow-login-to-read-motd-file.patch)
-------------------------------------------------------------------
Thu May 27 11:01:03 UTC 2021 - Adam Majer <adam.majer@suse.de>
- new version 245
https://cockpit-project.org/blog/cockpit-245.html
-------------------------------------------------------------------
Tue May 18 08:06:31 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- new version 244.1
https://cockpit-project.org/blog/cockpit-244.html
- enable SELinux
-------------------------------------------------------------------
Mon May 3 14:11:01 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- install all of pkg/lib in -devel package. Cockpit-machines needs more
-------------------------------------------------------------------
Fri Apr 30 15:51:43 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- new version 243
https://cockpit-project.org/blog/cockpit-243.html
https://cockpit-project.org/blog/cockpit-242.html
https://cockpit-project.org/blog/cockpit-241.html
https://cockpit-project.org/blog/cockpit-240.html
https://cockpit-project.org/blog/cockpit-239.html
-------------------------------------------------------------------
Wed Feb 24 17:03:41 UTC 2021 - Adam Majer <adam.majer@suse.de>
- new version 238.1
https://cockpit-project.org/blog/cockpit-238.html
https://cockpit-project.org/blog/cockpit-237.html
- No longer recompress tarball at buildtime
-------------------------------------------------------------------
Thu Feb 4 16:18:13 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- Rebuild from git leveraging local-npm-registry (needs
cockpit-redhatfont.diff)
-------------------------------------------------------------------
Fri Jan 22 15:38:53 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- new version 236
https://cockpit-project.org/blog/cockpit-236.html
-------------------------------------------------------------------
Fri Jan 22 08:53:25 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- new version 235
https://cockpit-project.org/blog/cockpit-235.html
https://cockpit-project.org/blog/cockpit-234.html
https://cockpit-project.org/blog/cockpit-233.html
-------------------------------------------------------------------
Fri Nov 27 12:39:21 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 232
https://cockpit-project.org/blog/cockpit-232.html
https://cockpit-project.org/blog/cockpit-231.html
-------------------------------------------------------------------
Thu Oct 15 08:16:01 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 230
https://cockpit-project.org/blog/cockpit-230.html
-------------------------------------------------------------------
Tue Oct 6 06:24:58 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 229
https://cockpit-project.org/blog/cockpit-229.html
-------------------------------------------------------------------
Thu Oct 1 11:32:48 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 228
https://cockpit-project.org/blog/cockpit-228.html
https://cockpit-project.org/blog/cockpit-227.html
https://cockpit-project.org/blog/cockpit-226.html
- enable cockpit-machines to manage libvirt
-------------------------------------------------------------------
Thu Sep 10 12:49:00 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- adjust spec file to match upstream
-------------------------------------------------------------------
Fri Sep 4 12:09:16 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- cockpit-ws: don't require systemd (allows to build a very small
cockpit-ws container)
-------------------------------------------------------------------
Mon Aug 31 15:46:35 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- Add README.packaging for packagers
-------------------------------------------------------------------
Fri Aug 14 12:09:24 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 225:
https://cockpit-project.org/blog/cockpit-223.html
https://cockpit-project.org/blog/cockpit-224.html
https://cockpit-project.org/blog/cockpit-225.html
-------------------------------------------------------------------
Wed Aug 12 09:33:17 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Require group wheel
- Add permission macros [bsc#1169614]
- Create tmpfiles in %post install
-------------------------------------------------------------------
Fri Jun 26 12:09:09 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 222:
https://cockpit-project.org/blog/cockpit-222.html
changelog from 221:
https://cockpit-project.org/blog/cockpit-221.html
- enable docker module
-------------------------------------------------------------------
Tue Jun 9 12:11:54 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 220:
https://cockpit-project.org/blog/cockpit-220.html
-------------------------------------------------------------------
Tue Jun 9 08:46:59 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- disable selinux, sosreport and machines subpackages due to missing
dependencies
-------------------------------------------------------------------
Wed Apr 29 13:26:03 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- remove badness overrides to allow Factory submission
-------------------------------------------------------------------
Wed Apr 29 07:50:41 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- remove branding with stale symlinks. Can't rely on /etc/os-release as OBS may
use the dummy-release package.
-------------------------------------------------------------------
Tue Apr 28 09:18:22 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- use pkgconfig(systemd) and pkgconfig(krb5)
- fix build with glib update (0001-bridge-Pass-connectable-to-TLS-client-connection.patch)
-------------------------------------------------------------------
Fri Mar 27 10:50:51 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- new version 215
-------------------------------------------------------------------
Thu Aug 22 09:50:14 UTC 2019 - Ludwig Nussel <lnussel@suse.de>
- new version 200
-------------------------------------------------------------------
Fri Jun 21 13:44:05 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 195
-------------------------------------------------------------------
Thu Mar 7 13:23:36 UTC 2019 - Alex <aevseev@gmail.com>
- New upstream version - 189
-------------------------------------------------------------------
Mon Feb 4 18:24:55 UTC 2019 - aevseev@gmail.com
- New upstream version - 186
-------------------------------------------------------------------
Wed Oct 24 13:37:31 UTC 2018 - aevseev@gmail.com
- New upstream version - 180
-------------------------------------------------------------------
Fri Sep 7 10:24:09 UTC 2018 - aevseev@gmail.com
- New upstream version - 177
-------------------------------------------------------------------
Mon Aug 27 08:28:01 UTC 2018 - aevseev@gmail.com
- First build. Version - 176.
-------------------------------------------------------------------
Tue Oct 13 11:41:44 UTC 2015 - kkaempf@suse.com
- Update to 0.79
* Vagrant file for Cockpit development
* Use libvirt for testing
* Display only last lines of Kubernetes container logs
See https://github.com/cockpit-project/cockpit/releases
- Add branding-symlinks.patch, SUSE doesn't carry Fedora pixmaps
-------------------------------------------------------------------
Sat Feb 7 13:22:23 UTC 2015 - kkaempf@suse.com
- Initial release 0.38

4
cockpit.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: cockpit
version: 320
mtime: 1720008589
commit: 08965365ac311f906a520cbf65427742d5f84ba4

11
cockpit.pam Normal file
View File

@ -0,0 +1,11 @@
#%PAM-1.0
auth substack common-auth
# List of users to deny access to Cockpit, by default root is included.
auth required pam_listfile.so item=user sense=deny file=/etc/cockpit/disallowed-users onerr=succeed
account required pam_nologin.so
account include common-account
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

887
cockpit.spec Normal file
View File

@ -0,0 +1,887 @@
#
# 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 <http://www.gnu.org/licenses/>.
#
#
# 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
%if 0%{?centos}
%define rhel %{centos}
%endif
%define _hardened_build 1
%define __lib lib
%if %{defined _pamdir}
%define pamdir %{_pamdir}
%else
%define pamdir %{_libdir}/security
%endif
Name: cockpit
Summary: Web Console for Linux servers
License: LGPL-2.1-or-later
URL: https://cockpit-project.org/
Version: 321
Release: 0
Source0: cockpit-%{version}.tar
Source1: cockpit.pam
Source2: cockpit-rpmlintrc
Source3: cockpit-suse-theme.tar
Source10: update_version.sh
Source99: README.packaging
Source98: package-lock.json
Source97: node_modules.spec.inc
%include %{_sourcedir}/node_modules.spec.inc
Patch1: 0001-selinux-allow-login-to-read-motd-file.patch
Patch2: suse_docs.patch
Patch3: suse-microos-branding.patch
Patch4: css-overrides.patch
Patch5: storage-btrfs.patch
# SLE Micro specific patches
Patch101: hide-pcp.patch
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}
%if "%{name}" == "cockpit"
%define build_basic 1
%define build_optional 0
%else
%define build_basic 0
%define build_optional 1
%endif
%else
%define build_basic 1
%define build_optional 1
%endif
%if 0%{?build_optional} && 0%{?suse_version} == 0
%define build_tests 1
%endif
# Allow root login in Cockpit on RHEL 8 and lower as it also allows password login over SSH.
%if 0%{?rhel} && 0%{?rhel} <= 8
%define disallow_root 0
%else
%define disallow_root 1
%endif
%if 0%{?fedora} >= 41 || 0%{?rhel}
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
%define build_pcp 1
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 || 0%{?suse_version} > 1500
%ifarch %ix86
%define build_pcp 0
%endif
%endif
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1500
# Ship custom SELinux policy
%define selinuxtype targeted
%define selinux_configure_arg --enable-selinux-policy=%{selinuxtype}
%define with_selinux 1
%else
%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: 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
# this is for runtimedir in the tls proxy ace21c8879
BuildRequires: pkgconfig(libsystemd) >= 235
%if 0%{?suse_version}
BuildRequires: distribution-release
%if %{build_pcp}
BuildRequires: libpcp-devel
BuildRequires: pcp-devel
BuildRequires: libpcp3
BuildRequires: libpcp_import1
%endif
BuildRequires: openssh
BuildRequires: distribution-logos
BuildRequires: wallpaper-branding
# needed for /var/lib/pcp directory ownership
BuildRequires: pcp
%else
%if %{build_pcp}
BuildRequires: pcp-libs-devel
%endif
BuildRequires: openssh-clients
BuildRequires: docbook-style-xsl
%endif
BuildRequires: krb5-server
BuildRequires: gdb
# For documentation
BuildRequires: xmlto
%if 0%{?with_selinux}
BuildRequires: selinux-policy
BuildRequires: selinux-policy-%{selinuxtype}
BuildRequires: selinux-policy-devel
%endif
# for rebuilding nodejs bits
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-ws
Requires: cockpit-system
# Optional components
Recommends: (cockpit-storaged if udisks2)
Recommends: (cockpit-packagekit if dnf)
Suggests: cockpit-pcp
%if 0%{?rhel} == 0
Recommends: (cockpit-networkmanager if NetworkManager)
# c-ostree is not in RHEL 8/9
Recommends: (cockpit-ostree if rpm-ostree)
Suggests: cockpit-selinux
%endif
%if 0%{?rhel} && 0%{?centos} == 0
Requires: subscription-manager-cockpit
%endif
BuildRequires: python3-devel
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
%setup -q -n cockpit-%{version} -a 3
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
# SLE Micro specific patches
%if 0%{?is_smo}
%patch -P 101 -p1
# Patches for versions lower then SLE Micro 5.5
%if 0%{?sle_version} < 150500
%patch -P 102 -p1
%endif
%endif
# For anything based on SLES 15 codebase (including Leap, SLEM)
%if 0%{?suse_version} == 1500
%patch -P 103 -p1
%patch -P 104 -p0
%patch -P 105 -p1
%endif
cp %SOURCE1 tools/cockpit.pam
#
local-npm-registry %{_sourcedir} install --include=dev --ignore-scripts
%build
find node_modules -name \*.node -print -delete
touch node_modules/.stamp
exec 2>&1
PKG_NAME="Cockpit"
echo "m4_define(VERSION_NUMBER, %version)" > version.m4
autoreconf -fvi -I tools
#
%configure \
%{?selinux_configure_arg} \
%if 0%{?suse_version}
--docdir=%_defaultdocdir/%{name} \
--libexecdir=%_libexecdir \
%endif
--with-pamdir='%{pamdir}' \
%if %{build_pcp} == 0
--disable-pcp \
%endif
%if 0%{?with_selinux}
make -f /usr/share/selinux/devel/Makefile cockpit.pp
bzip2 -9 cockpit.pp
%endif
%make_build
%check
make -j$(nproc) check
%if 0%{?rhel} == 0 && 0%{?suse_version} == 0
%tox
%endif
%install
# In obs we get write error: stdout
%make_install | tee make_install.log
make install-tests DESTDIR=%{buildroot}
%if 0%{?suse_version} > 1500
mkdir -p $RPM_BUILD_ROOT%{_pam_vendordir}
install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_pam_vendordir}/cockpit
%else
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit
%endif
rm -f %{buildroot}/%{_libdir}/cockpit/*.so
install -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/
# selinux
%if 0%{?with_selinux}
install -D -m 644 %{name}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
install -D -m 644 -t %{buildroot}%{_mandir}/man8 selinux/%{name}_session_selinux.8cockpit
install -D -m 644 -t %{buildroot}%{_mandir}/man8 selinux/%{name}_ws_selinux.8cockpit
# create this directory in the build root so that %ghost sees the desired mode
install -d -m 700 %{buildroot}%{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
%endif
# SUSE branding
mkdir -p %{buildroot}%{_datadir}/cockpit/branding/suse
pushd cockpit-suse-theme
cp src/css-overrides.css %{buildroot}%{_datadir}/cockpit/branding/suse
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
echo '%dir %{_datadir}/cockpit/base1' >> base.list
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 '%{_libexecdir}/cockpit-ssh' >> base.list
%if %{build_pcp}
echo '%dir %{_datadir}/cockpit/pcp' > pcp.list
find %{buildroot}%{_datadir}/cockpit/pcp -type f >> pcp.list
%endif
# 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
rm -r %{buildroot}/%{_datadir}/cockpit/$pkg
rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml
done
for data in doc man pixmaps polkit-1; do
rm -r %{buildroot}/%{_datadir}/$data
done
rm -r %{buildroot}/%{_prefix}/%{__lib}/tmpfiles.d
find %{buildroot}/%{_unitdir}/ -type f ! -name 'cockpit-session*' -delete
for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-client cockpit-client.ui cockpit-desktop cockpit-certificate-helper cockpit-certificate-ensure; do
rm -f %{buildroot}/%{_libexecdir}/$libexec
done
rm -rf %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d
%if 0%{?suse_version} > 1500
rm -rf %{buildroot}/%{_pam_vendordir}
%else
rm -rf %{buildroot}/%{_sysconfdir}/pam.d
%endif
rm -f %{buildroot}/%{_libdir}/security/pam_*
rm -f %{buildroot}/usr/bin/cockpit-bridge
rm -f %{buildroot}%{_libexecdir}/cockpit-ssh
rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml
rm -rf %{buildroot}%{python3_sitelib}/cockpit*
%endif
# when not building optional packages, remove their files
%if 0%{?build_optional} == 0
for pkg in apps packagekit pcp playground storaged; do
rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg
done
# files from -pcp
rm -rf %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/
# files from -storaged
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
%endif
%if 0%{?build_tests} == 0
rm -rf %{buildroot}%{_datadir}/cockpit/playground
rm -f %{buildroot}/%{pamdir}/mock-pam-conv-mod.so
rm -f %{buildroot}/%{_unitdir}/cockpit-session.socket
rm -f %{buildroot}/%{_unitdir}/cockpit-session@.service
%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}
# remove brandings with stale symlinks. Means they don't match
# the distro.
pushd %{buildroot}/%{_datadir}/cockpit/branding
ls --hide={default,kubernetes,opensuse,registry,sle-micro,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/motd
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/sle-micro/apple-touch-icon.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/sle-micro/apple-touch-icon.png
test -e %{buildroot}/usr/share/cockpit/branding/sle-micro/default-1920x1200.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/sle-micro/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
rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png
%else
%global _debugsource_packages 1
%global _debuginfo_subpackages 0
%define find_debug_info %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_include_minidebuginfo:-m} %{?_find_debuginfo_dwz_opts} %{?_find_debuginfo_opts} %{?_debugsource_packages:-S debugsourcefiles.list} "%{_builddir}/%{?buildsubdir}"
%endif
# /suse_version
rm -rf %{buildroot}/usr/src/debug
# On RHEL kdump, networkmanager, selinux, and sosreport are part of the system package
%if 0%{?rhel}
cat kdump.list sosreport.list networkmanager.list selinux.list >> system.list
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml
rm -f %{buildroot}%{_datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml
rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png
%endif
mkdir -p %{buildroot}%{_datadir}/cockpit/devel
cp -a pkg/lib %{buildroot}%{_datadir}/cockpit/devel
# -------------------------------------------------------------------------------
# Sub-packages
%description
The Cockpit Web Console enables users to administer GNU/Linux servers using a
web browser.
It offers network configuration, log inspection, diagnostic reports, SELinux
troubleshooting, interactive command-line sessions, and more.
%files
%{_docdir}/cockpit/AUTHORS
%{_docdir}/cockpit/COPYING
%{_docdir}/cockpit/README.md
%{_datadir}/metainfo/cockpit.appdata.xml
%{_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}
# 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
system on behalf of the web based user interface.
%files bridge -f base.list
%doc %{_mandir}/man1/cockpit-bridge.1.gz
%{_bindir}/cockpit-bridge
%{_libexecdir}/cockpit-askpass
%{python3_sitelib}/%{name}*
%package doc
Summary: Cockpit deployment and developer guide
BuildArch: noarch
%description doc
The Cockpit Deployment and Developer Guide shows sysadmins how to
deploy Cockpit on their machines as well as helps developers who want to
embed or extend Cockpit.
%files doc
%exclude %{_docdir}/cockpit/AUTHORS
%exclude %{_docdir}/cockpit/COPYING
%exclude %{_docdir}/cockpit/README.md
%{_docdir}/cockpit
%package system
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
%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}
%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}
%endif
%if 0%{?fedora}
Recommends: (reportd if abrt)
%endif
#NPM_PROVIDES
%description system
This package contains the Cockpit shell and system configuration interfaces.
%files system -f system.list
%dir %{_datadir}/cockpit/shell/images
%package ws
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(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
%if 0%{?suse_version}
Requires(pre): permissions
Requires: distribution-logos
Requires: pam_oath
Requires: wallpaper-branding
%endif
# for cockpit-desktop
Suggests: python3
Provides: group(cockpit-ws)
Provides: group(cockpit-wsinstance)
Provides: user(cockpit-ws)
Provides: user(cockpit-wsinstance)
# prevent hard python3 dependency for cockpit-desktop, it falls back to other browsers
%global __requires_exclude_from ^%{_libexecdir}/cockpit-client$
%description ws
The Cockpit Web Service listens on the network, and authenticates users.
If sssd-dbus is installed, you can enable client certificate/smart card
authentication via sssd/FreeIPA.
%files ws -f static.list
%doc %{_mandir}/man1/cockpit-desktop.1.gz
%doc %{_mandir}/man5/cockpit.conf.5.gz
%doc %{_mandir}/man8/cockpit-ws.8.gz
%doc %{_mandir}/man8/cockpit-tls.8.gz
%doc %{_mandir}/man8/pam_ssh_add.8.gz
%dir %{_sysconfdir}/cockpit
%config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d
%if 0%{?suse_version} > 1500
%{_pam_vendordir}/cockpit
%else
%config(noreplace) %{_sysconfdir}/pam.d/cockpit
%endif
# dir is not owned by pam in openSUSE
%dir %{_sysconfdir}/motd.d
# created in %post, so that users can rm the files
%ghost %{_sysconfdir}/issue.d/cockpit.issue
%ghost %{_sysconfdir}/motd.d/cockpit
%ghost %attr(0644, root, root) %{_sysconfdir}/cockpit/disallowed-users
%ghost %dir /run/cockpit
%ghost /run/cockpit/motd
%dir %{_datadir}/cockpit/motd
%{_datadir}/cockpit/motd/update-motd
%{_datadir}/cockpit/motd/inactive.motd
%{_unitdir}/cockpit.service
%{_unitdir}/cockpit-motd.service
%{_unitdir}/cockpit.socket
%{_unitdir}/cockpit-ws-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}/system-cockpithttps.slice
%{_prefix}/%{__lib}/tmpfiles.d/cockpit-ws.conf
%{_sysusersdir}/cockpit-wsinstance.conf
%{pamdir}/pam_ssh_add.so
%{pamdir}/pam_cockpit_cert.so
%{_libexecdir}/cockpit-ws
%{_libexecdir}/cockpit-wsinstance-factory
%{_libexecdir}/cockpit-tls
%{_libexecdir}/cockpit-client
%{_libexecdir}/cockpit-client.ui
%{_libexecdir}/cockpit-desktop
%{_libexecdir}/cockpit-certificate-ensure
%{_libexecdir}/cockpit-certificate-helper
%{?suse_version:%verify(not mode) }%attr(4750, root, cockpit-wsinstance) %{_libexecdir}/cockpit-session
%{_datadir}/cockpit/branding
%if 0%{?with_selinux}
%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
%{_mandir}/man8/%{name}_session_selinux.8cockpit.*
%{_mandir}/man8/%{name}_ws_selinux.8cockpit.*
%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
%endif
%pre ws
# HACK: old RPM and even Fedora's current RPM don't properly support sysusers
# https://github.com/rpm-software-management/rpm/issues/3073
getent group cockpit-wsinstance >/dev/null || groupadd -r cockpit-wsinstance
getent passwd cockpit-wsinstance >/dev/null || useradd -r -g cockpit-wsinstance -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws instances" cockpit-wsinstance
if %{_sbindir}/selinuxenabled 2>/dev/null; then
%selinux_relabel_pre -s %{selinuxtype}
fi
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/lib; save any old .rpmsave
for i in pam.d/cockpit ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
done
%endif
%post ws
if [ -x %{_sbindir}/selinuxenabled ]; then
%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
%selinux_relabel_post -s %{selinuxtype}
fi
# set up dynamic motd/issue symlinks on first-time install; don't bring them back on upgrades if admin removed them
# disable root login on first-time install; so existing installations aren't changed
if [ "$1" = 1 ]; then
mkdir -p /etc/motd.d /etc/issue.d
ln -s ../../run/cockpit/motd /etc/motd.d/cockpit
ln -s ../../run/cockpit/motd /etc/issue.d/cockpit.issue
printf "# List of users which are not allowed to login to Cockpit\n" > /etc/cockpit/disallowed-users
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
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
%tmpfiles_create cockpit-tempfiles.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
# check for deprecated PAM config
if test -f %{_sysconfdir}/pam.d/cockpit && grep -q pam_cockpit_cert %{_sysconfdir}/pam.d/cockpit; then
echo '**** WARNING:'
echo '**** WARNING: pam_cockpit_cert is a no-op and will be removed in a'
echo '**** WARNING: future release; remove it from your /etc/pam.d/cockpit.'
echo '**** WARNING:'
fi
%preun ws
%systemd_preun cockpit.socket cockpit.service
%postun ws
if [ -x %{_sbindir}/selinuxenabled ]; then
%selinux_modules_uninstall -s %{selinuxtype} %{name}
%selinux_relabel_post -s %{selinuxtype}
fi
%systemd_postun_with_restart cockpit.socket cockpit.service
%if 0%{?suse_version}
%verifyscript ws
%verify_permissions -e %{_libexecdir}/cockpit-session
%endif
%if 0%{?suse_version} > 1500
%posttrans ws
# Migration to /usr/lib, restore just created .rpmsave
for i in pam.d/cockpit ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
done
%endif
# -------------------------------------------------------------------------------
# Sub-packages that are part of cockpit-system in RHEL/CentOS, but separate in Fedora
%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
%description kdump
The Cockpit component for configuring kernel crash dumping.
%files kdump -f kdump.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml
%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
%description sosreport
The Cockpit component for creating diagnostic reports with the
sosreport tool.
%files sosreport -f sosreport.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml
%{_datadir}/pixmaps/cockpit-sosreport.png
%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
# Optional components
Recommends: NetworkManager-team
BuildArch: noarch
%description networkmanager
The Cockpit component for managing networking. This package uses NetworkManager.
%files networkmanager -f networkmanager.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml
%endif
%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}
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
Requires: setroubleshoot-server >= 3.3.3
%endif
BuildArch: noarch
%description selinux
This package contains the Cockpit user interface integration with the
utility setroubleshoot to diagnose and resolve SELinux issues.
%files selinux -f selinux.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml
%endif
%package -n cockpit-storaged
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_lvm2 >= 2.9
Requires: libudisks2-0_btrfs >= 2.9
Recommends: multipath-tools
Requires: python3-dbus-python
%else
Recommends: udisks2-lvm2 >= 2.9
Recommends: udisks2-iscsi >= 2.9
%if ! 0%{?rhel}
Recommends: udisks2-btrfs >= 2.9
%endif
Recommends: device-mapper-multipath
Recommends: clevis-luks
Requires: python3-dbus
%endif
BuildArch: noarch
%description -n cockpit-storaged
The Cockpit component for managing storage. This package uses udisks.
%files -n cockpit-storaged -f storaged.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
%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}
%description -n cockpit-tests
This package contains tests and files used while testing Cockpit.
These files are not required for running Cockpit.
%files -n cockpit-tests -f tests.list
%{pamdir}/mock-pam-conv-mod.so
%{_unitdir}/cockpit-session.socket
%{_unitdir}/cockpit-session@.service
# /build_tests
%endif
%package devel
Summary: Development files for for Cockpit
%description devel
This package contains files used to develop cockpit modules
%files devel
%{_datadir}/cockpit/devel
%if %{build_pcp}
%package -n cockpit-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.
%files -n cockpit-pcp -f pcp.list
%{_libexecdir}/cockpit-pcp
%{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit
%post -n cockpit-pcp
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
# HACK: https://bugzilla.redhat.com/show_bug.cgi?id=1800468
Requires: polkit
%description -n cockpit-packagekit
The Cockpit components for installing OS updates and Cockpit add-ons,
via PackageKit.
%files -n cockpit-packagekit -f packagekit.list
# The changelog is automatically generated and merged
%changelog

325
css-overrides.patch Normal file
View File

@ -0,0 +1,325 @@
From 617d236f005538be4a53b4a4cb88aac0ad6bf14b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 13 Jun 2022 20:05:21 +0100
Subject: [PATCH] Load custom CSS
In order to override Cockpit's default styling, another CSS file is
loaded in every HTML page. It works, but as a workaround already
discussed with upstream [1].
We will revert this patch when Cockpit provides better technique [2]. For
now, it fulfills the requirements of [3].
[1] https://github.com/cockpit-project/cockpit/pull/17437
[2] https://github.com/cockpit-project/cockpit/issues/16359
[3] https://en.opensuse.org/openSUSE:ALP/Workgroups/SysMngmnt
---
pkg/apps/index.html | 1 +
pkg/kdump/index.html | 1 +
pkg/metrics/index.html | 1 +
pkg/networkmanager/firewall.html | 1 +
pkg/networkmanager/index.html | 1 +
pkg/packagekit/index.html | 1 +
pkg/playground/index.html | 1 +
pkg/playground/journal.html | 1 +
pkg/playground/metrics.html | 1 +
pkg/playground/plot.html | 1 +
pkg/playground/react-patterns.html | 1 +
pkg/playground/speed.html | 1 +
pkg/playground/test.html | 1 +
pkg/selinux/setroubleshoot.html | 1 +
pkg/shell/index.html | 1 +
pkg/shell/shell.html | 1 +
pkg/sosreport/index.html | 1 +
pkg/storaged/index.html | 1 +
pkg/systemd/hwinfo.html | 1 +
pkg/systemd/index.html | 1 +
pkg/systemd/logs.html | 1 +
pkg/systemd/services.html | 1 +
pkg/systemd/terminal.html | 1 +
pkg/users/index.html | 1 +
src/branding/default/css-overrides.css | 12 ++++++++++++
25 files changed, 36 insertions(+)
create mode 100644 src/branding/default/css-overrides.css
Index: cockpit/pkg/apps/index.html
===================================================================
--- cockpit.orig/pkg/apps/index.html
+++ cockpit/pkg/apps/index.html
@@ -23,6 +23,7 @@ along with Cockpit; If not, see <http://
<title translate="yes">Applications</title>
<meta charset="utf-8" />
<link href="apps.css" type="text/css" rel="stylesheet" />
+ <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>
<script type="text/javascript" src="po.js"></script>
Index: cockpit/pkg/kdump/index.html
===================================================================
--- cockpit.orig/pkg/kdump/index.html
+++ cockpit/pkg/kdump/index.html
@@ -25,6 +25,7 @@ along with Cockpit; If not, see <http://
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="kdump.css" />
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="kdump.js"></script>
<script type="text/javascript" src="../base1/po.js"></script>
Index: cockpit/pkg/metrics/index.html
===================================================================
--- cockpit.orig/pkg/metrics/index.html
+++ cockpit/pkg/metrics/index.html
@@ -23,6 +23,7 @@ along with this package; If not, see <ht
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="index.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="../manifests.js"></script>
Index: cockpit/pkg/networkmanager/firewall.html
===================================================================
--- cockpit.orig/pkg/networkmanager/firewall.html
+++ cockpit/pkg/networkmanager/firewall.html
@@ -23,6 +23,7 @@ along with Cockpit; If not, see <http://
<meta charset="utf-8" />
<link href="firewall.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>
Index: cockpit/pkg/networkmanager/index.html
===================================================================
--- cockpit.orig/pkg/networkmanager/index.html
+++ cockpit/pkg/networkmanager/index.html
@@ -24,6 +24,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="networkmanager.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="../manifests.js"></script>
<script src="../base1/po.js"></script>
Index: cockpit/pkg/packagekit/index.html
===================================================================
--- cockpit.orig/pkg/packagekit/index.html
+++ cockpit/pkg/packagekit/index.html
@@ -24,6 +24,7 @@ along with Cockpit; If not, see <http://
<meta charset="utf-8" />
<link href="updates.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>
Index: cockpit/pkg/playground/index.html
===================================================================
--- cockpit.orig/pkg/playground/index.html
+++ cockpit/pkg/playground/index.html
@@ -5,6 +5,7 @@
<title>Cockpit Development Playground</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="index.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="../manifests.js"></script>
<script src="index.js"></script>
Index: cockpit/pkg/playground/journal.html
===================================================================
--- cockpit.orig/pkg/playground/journal.html
+++ cockpit/pkg/playground/journal.html
@@ -5,6 +5,7 @@
<title>Cockpit Journal Box</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="journal.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="journal.js"></script>
</head>
Index: cockpit/pkg/playground/metrics.html
===================================================================
--- cockpit.orig/pkg/playground/metrics.html
+++ cockpit/pkg/playground/metrics.html
@@ -5,6 +5,7 @@
<title>Cockpit Monitoring</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="metrics.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="metrics.js"></script>
</head>
Index: cockpit/pkg/playground/plot.html
===================================================================
--- cockpit.orig/pkg/playground/plot.html
+++ cockpit/pkg/playground/plot.html
@@ -5,6 +5,7 @@
<title>Cockpit Plots</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="plot.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="plot.js"></script>
</head>
Index: cockpit/pkg/playground/react-patterns.html
===================================================================
--- cockpit.orig/pkg/playground/react-patterns.html
+++ cockpit/pkg/playground/react-patterns.html
@@ -5,6 +5,7 @@
<title>Cockpit React Patterns Usage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="react-patterns.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="react-patterns.js"></script>
</head>
Index: cockpit/pkg/playground/speed.html
===================================================================
--- cockpit.orig/pkg/playground/speed.html
+++ cockpit/pkg/playground/speed.html
@@ -5,6 +5,7 @@
<title>Cockpit Speed Tests</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="speed.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="speed.js"></script>
</head>
Index: cockpit/pkg/playground/test.html
===================================================================
--- cockpit.orig/pkg/playground/test.html
+++ cockpit/pkg/playground/test.html
@@ -5,6 +5,7 @@
<title>Cockpit playground</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="test.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="test.js"></script>
</head>
Index: cockpit/pkg/shell/index.html
===================================================================
--- cockpit.orig/pkg/shell/index.html
+++ cockpit/pkg/shell/index.html
@@ -6,6 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="shell.css" rel="stylesheet" />
<link href="../../static/branding.css" rel="stylesheet" />
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
<script src="../base1/cockpit.js"></script>
<script src="../manifests.js"></script>
<!-- HACK: C bridge loads translations via glob and Python via manifest.js -->
Index: cockpit/pkg/shell/shell.html
===================================================================
--- cockpit.orig/pkg/shell/shell.html
+++ cockpit/pkg/shell/shell.html
@@ -5,6 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="index.css" />
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
</head>
<body class="pf-v5-m-tabular-nums">
<div class="curtains-ct">
Index: cockpit/pkg/sosreport/index.html
===================================================================
--- cockpit.orig/pkg/sosreport/index.html
+++ cockpit/pkg/sosreport/index.html
@@ -22,6 +22,7 @@ along with Cockpit; If not, see <http://
<title translate="yes">Diagnostic reports</title>
<meta charset="utf-8" />
<link href="sosreport.css" rel="stylesheet" />
+ <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>
<script type="text/javascript" src="po.js"></script>
Index: cockpit/pkg/systemd/hwinfo.html
===================================================================
--- cockpit.orig/pkg/systemd/hwinfo.html
+++ cockpit/pkg/systemd/hwinfo.html
@@ -4,6 +4,7 @@
<title translate="yes">Hardware information</title>
<meta charset="utf-8" />
<link href="hwinfo.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="po.js"></script>
Index: cockpit/pkg/systemd/index.html
===================================================================
--- cockpit.orig/pkg/systemd/index.html
+++ cockpit/pkg/systemd/index.html
@@ -6,6 +6,7 @@
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="overview.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>
<script type="text/javascript" src="overview.js"></script>
Index: cockpit/pkg/systemd/logs.html
===================================================================
--- cockpit.orig/pkg/systemd/logs.html
+++ cockpit/pkg/systemd/logs.html
@@ -23,6 +23,7 @@ along with Cockpit; If not, see <http://
<title translate="yes">Journal</title>
<meta charset="utf-8" />
<link href="logs.css" rel="stylesheet" />
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../base1/cockpit.js"></script>
<script src="../base1/po.js"></script>
<script src="po.js"></script>
Index: cockpit/pkg/systemd/services.html
===================================================================
--- cockpit.orig/pkg/systemd/services.html
+++ cockpit/pkg/systemd/services.html
@@ -5,6 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="services.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="services.js"></script>
Index: cockpit/pkg/systemd/terminal.html
===================================================================
--- cockpit.orig/pkg/systemd/terminal.html
+++ cockpit/pkg/systemd/terminal.html
@@ -5,6 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="terminal.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="po.js"></script>
Index: cockpit/pkg/users/index.html
===================================================================
--- cockpit.orig/pkg/users/index.html
+++ cockpit/pkg/users/index.html
@@ -24,6 +24,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="users.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="po.js"></script>
Index: cockpit/pkg/static/css-overrides.css
===================================================================
--- /dev/null
+++ cockpit/pkg/static/css-overrides.css
@@ -0,0 +1,12 @@
+/**
+ * PLEASE, DO NOT CHANGE THIS FILE.
+ *
+ * It is here to avoid 404 errors on openSUSE Cockpit patched version when no
+ * package for overriding the default style is installed. If a better
+ * alternative becomes available, it will be removed.
+ *
+ * To know more, please follow below links
+ *
+ * - https://github.com/cockpit-project/cockpit/pull/17437
+ * - https://github.com/cockpit-project/cockpit/issues/16359
+ */

12
fix-libexecdir.patch Normal file
View File

@ -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:

12
hide-pcp.patch Normal file
View File

@ -0,0 +1,12 @@
Index: cockpit/pkg/metrics/metrics.jsx
===================================================================
--- cockpit.orig/pkg/metrics/metrics.jsx
+++ cockpit/pkg/metrics/metrics.jsx
@@ -1551,6 +1551,7 @@ const PCPConfig = ({ buttonVariant, fire
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={show_dialog}>
{ _("Metrics settings") }

BIN
node_modules.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

454
node_modules.spec.inc Normal file
View File

@ -0,0 +1,454 @@
Source1000: https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz#/@babel-code-frame-7.24.7.tgz
Source1001: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#/@babel-helper-validator-identifier-7.24.7.tgz
Source1002: https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz#/@babel-highlight-7.24.7.tgz
Source1003: https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz#/@bufbuild-protobuf-1.10.0.tgz
Source1004: https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz#/@csstools-css-parser-algorithms-2.7.1.tgz
Source1005: https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz#/@csstools-css-tokenizer-2.4.1.tgz
Source1006: https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz#/@csstools-media-query-list-parser-2.1.13.tgz
Source1007: https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz#/@csstools-selector-specificity-3.1.1.tgz
Source1008: https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#/@dual-bundle-import-meta-resolve-4.1.0.tgz
Source1009: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz#/@esbuild-linux-x64-0.23.0.tgz
Source1010: https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#/@eslint-community-eslint-utils-4.4.0.tgz
Source1011: https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#/@eslint-community-regexpp-4.11.0.tgz
Source1012: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#/@eslint-eslintrc-2.1.4.tgz
Source1013: https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz#/@eslint-js-8.57.0.tgz
Source1014: https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#/@humanwhocodes-config-array-0.11.14.tgz
Source1015: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
Source1016: https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#/@humanwhocodes-object-schema-2.0.3.tgz
Source1017: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#/@nodelib-fs.scandir-2.1.5.tgz
Source1018: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#/@nodelib-fs.stat-2.0.5.tgz
Source1019: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-fs.walk-1.2.8.tgz
Source1020: https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.3.1.tgz#/@patternfly-patternfly-5.3.1.tgz
Source1021: https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.3.3.tgz#/@patternfly-react-core-5.3.3.tgz
Source1022: https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.3.2.tgz#/@patternfly-react-icons-5.3.2.tgz
Source1023: https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.3.1.tgz#/@patternfly-react-styles-5.3.1.tgz
Source1024: https://registry.npmjs.org/@patternfly/react-table/-/react-table-5.3.3.tgz#/@patternfly-react-table-5.3.3.tgz
Source1025: https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.3.1.tgz#/@patternfly-react-tokens-5.3.1.tgz
Source1026: https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#/@types-json5-0.0.29.tgz
Source1027: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz#/@types-prop-types-15.7.12.tgz
Source1028: https://registry.npmjs.org/@types/qunit/-/qunit-2.19.10.tgz#/@types-qunit-2.19.10.tgz
Source1029: https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz#/@types-react-18.3.3.tgz
Source1030: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz#/@types-react-dom-18.3.0.tgz
Source1031: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#/@typescript-eslint-eslint-plugin-7.15.0.tgz
Source1032: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.0.tgz#/@typescript-eslint-parser-7.16.0.tgz
Source1033: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#/@typescript-eslint-scope-manager-7.15.0.tgz
Source1034: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz#/@typescript-eslint-scope-manager-7.16.0.tgz
Source1035: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz#/@typescript-eslint-type-utils-7.15.0.tgz
Source1036: https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz#/@typescript-eslint-types-7.15.0.tgz
Source1037: https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz#/@typescript-eslint-types-7.16.0.tgz
Source1038: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#/@typescript-eslint-typescript-estree-7.15.0.tgz
Source1039: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz#/@typescript-eslint-typescript-estree-7.16.0.tgz
Source1040: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz#/@typescript-eslint-utils-7.15.0.tgz
Source1041: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#/@typescript-eslint-visitor-keys-7.15.0.tgz
Source1042: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz#/@typescript-eslint-visitor-keys-7.16.0.tgz
Source1043: https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#/@ungap-structured-clone-1.2.0.tgz
Source1044: https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#/abort-controller-3.0.0.tgz
Source1045: https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz#/acorn-8.12.1.tgz
Source1046: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
Source1047: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
Source1048: https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz#/ajv-8.16.0.tgz
Source1049: https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz#/ansi-escapes-6.2.1.tgz
Source1050: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.0.1.tgz
Source1051: https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz#/ansi-regex-6.0.1.tgz
Source1052: https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#/ansi-styles-3.2.1.tgz
Source1053: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
Source1054: https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#/anymatch-3.1.3.tgz
Source1055: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#/argparse-1.0.10.tgz
Source1056: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
Source1057: https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz#/aria-query-5.1.3.tgz
Source1058: https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#/array-buffer-byte-length-1.0.1.tgz
Source1059: https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz#/array-includes-3.1.8.tgz
Source1060: https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#/array-union-2.1.0.tgz
Source1061: https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#/array.prototype.findlast-1.2.5.tgz
Source1062: https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#/array.prototype.findlastindex-1.2.5.tgz
Source1063: https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#/array.prototype.flat-1.3.2.tgz
Source1064: https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#/array.prototype.flatmap-1.3.2.tgz
Source1065: https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#/array.prototype.toreversed-1.1.2.tgz
Source1066: https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#/array.prototype.tosorted-1.1.4.tgz
Source1067: https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#/arraybuffer.prototype.slice-1.0.3.tgz
Source1068: https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz#/ast-types-flow-0.0.8.tgz
Source1069: https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#/astral-regex-2.0.0.tgz
Source1070: https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz#/attr-accept-2.2.2.tgz
Source1071: https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz#/autolinker-3.16.2.tgz
Source1072: https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#/available-typed-arrays-1.0.7.tgz
Source1073: https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz#/axe-core-4.9.1.tgz
Source1074: https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz#/axobject-query-3.1.1.tgz
Source1075: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
Source1076: https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz#/balanced-match-2.0.0.tgz
Source1077: https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#/base64-js-1.5.1.tgz
Source1078: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz#/binary-extensions-2.3.0.tgz
Source1079: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
Source1080: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz#/brace-expansion-2.0.1.tgz
Source1081: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz#/braces-3.0.3.tgz
Source1082: https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz#/buffer-6.0.3.tgz
Source1083: https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz#/buffer-builder-0.2.0.tgz
Source1084: https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz#/builtin-modules-3.3.0.tgz
Source1085: https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz#/builtins-5.1.0.tgz
Source1086: https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz#/call-bind-1.0.7.tgz
Source1087: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
Source1088: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#/chalk-2.4.2.tgz
Source1089: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
Source1090: https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz#/chalk-5.3.0.tgz
Source1091: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#/chokidar-3.6.0.tgz
Source1092: https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.33.0.tgz#/chrome-remote-interface-0.33.0.tgz
Source1093: https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#/color-convert-1.9.3.tgz
Source1094: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
Source1095: https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#/color-name-1.1.3.tgz
Source1096: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
Source1097: https://registry.npmjs.org/colord/-/colord-2.9.3.tgz#/colord-2.9.3.tgz
Source1098: https://registry.npmjs.org/commander/-/commander-2.11.0.tgz#/commander-2.11.0.tgz
Source1099: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
Source1100: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
Source1101: https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz#/content-type-1.0.5.tgz
Source1102: https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz#/cosmiconfig-9.0.0.tgz
Source1103: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#/cross-spawn-7.0.3.tgz
Source1104: https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz#/css-functions-list-3.2.2.tgz
Source1105: https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz#/css-tree-2.3.1.tgz
Source1106: https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#/cssesc-3.0.0.tgz
Source1107: https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz#/csstype-3.1.3.tgz
Source1108: https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#/damerau-levenshtein-1.0.8.tgz
Source1109: https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz#/data-view-buffer-1.0.1.tgz
Source1110: https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#/data-view-byte-length-1.0.1.tgz
Source1111: https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#/data-view-byte-offset-1.0.0.tgz
Source1112: https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#/debug-3.2.7.tgz
Source1113: https://registry.npmjs.org/debug/-/debug-4.3.5.tgz#/debug-4.3.5.tgz
Source1114: https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz#/deep-equal-2.2.3.tgz
Source1115: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
Source1116: https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz#/define-data-property-1.1.4.tgz
Source1117: https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz#/define-properties-1.2.1.tgz
Source1118: https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz#/dequal-2.0.3.tgz
Source1119: https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#/dir-glob-3.0.1.tgz
Source1120: https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#/doctrine-2.1.0.tgz
Source1121: https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#/doctrine-3.0.0.tgz
Source1122: https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz#/emoji-regex-10.3.0.tgz
Source1123: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#/emoji-regex-8.0.0.tgz
Source1124: https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#/emoji-regex-9.2.2.tgz
Source1125: https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#/encoding-0.1.13.tgz
Source1126: https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#/env-paths-2.2.1.tgz
Source1127: https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#/error-ex-1.3.2.tgz
Source1128: https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz#/es-abstract-1.23.3.tgz
Source1129: https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz#/es-define-property-1.0.0.tgz
Source1130: https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz#/es-errors-1.3.0.tgz
Source1131: https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz#/es-get-iterator-1.1.3.tgz
Source1132: https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#/es-iterator-helpers-1.0.19.tgz
Source1133: https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz#/es-object-atoms-1.0.0.tgz
Source1134: https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#/es-set-tostringtag-2.0.3.tgz
Source1135: https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#/es-shim-unscopables-1.0.2.tgz
Source1136: https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#/es-to-primitive-1.2.1.tgz
Source1137: https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz#/esbuild-0.23.0.tgz
Source1138: https://registry.npmjs.org/esbuild-plugin-copy/-/esbuild-plugin-copy-2.1.1.tgz#/esbuild-plugin-copy-2.1.1.tgz
Source1139: https://registry.npmjs.org/esbuild-plugin-replace/-/esbuild-plugin-replace-1.4.0.tgz#/esbuild-plugin-replace-1.4.0.tgz
Source1140: https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.3.1.tgz#/esbuild-sass-plugin-3.3.1.tgz
Source1141: https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz#/esbuild-wasm-0.23.0.tgz
Source1142: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#/escape-string-regexp-1.0.5.tgz
Source1143: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
Source1144: https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz#/eslint-8.57.0.tgz
Source1145: https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#/eslint-compat-utils-0.5.1.tgz
Source1146: https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#/eslint-config-standard-17.1.0.tgz
Source1147: https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#/eslint-config-standard-jsx-11.0.0.tgz
Source1148: https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-13.0.0.tgz#/eslint-config-standard-react-13.0.0.tgz
Source1149: https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#/eslint-import-resolver-node-0.3.9.tgz
Source1150: https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#/eslint-module-utils-2.8.1.tgz
Source1151: https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#/eslint-plugin-es-3.0.1.tgz
Source1152: https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#/eslint-plugin-es-x-7.8.0.tgz
Source1153: https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#/eslint-plugin-import-2.29.1.tgz
Source1154: https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz#/eslint-plugin-jsx-a11y-6.9.0.tgz
Source1155: https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#/eslint-plugin-n-16.6.2.tgz
Source1156: https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#/eslint-plugin-node-11.1.0.tgz
Source1157: https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.4.0.tgz#/eslint-plugin-promise-6.4.0.tgz
Source1158: https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz#/eslint-plugin-react-7.34.3.tgz
Source1159: https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#/eslint-plugin-react-hooks-4.6.2.tgz
Source1160: https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz#/eslint-scope-7.2.2.tgz
Source1161: https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#/eslint-utils-2.1.0.tgz
Source1162: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#/eslint-visitor-keys-1.3.0.tgz
Source1163: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
Source1164: https://registry.npmjs.org/espree/-/espree-9.6.1.tgz#/espree-9.6.1.tgz
Source1165: https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
Source1166: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
Source1167: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
Source1168: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
Source1169: https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#/event-target-shim-5.0.1.tgz
Source1170: https://registry.npmjs.org/events/-/events-3.3.0.tgz#/events-3.3.0.tgz
Source1171: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
Source1172: https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz#/fast-glob-3.3.2.tgz
Source1173: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
Source1174: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
Source1175: https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#/fastest-levenshtein-1.0.16.tgz
Source1176: https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#/fastq-1.17.1.tgz
Source1177: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#/file-entry-cache-6.0.1.tgz
Source1178: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz#/file-entry-cache-9.0.0.tgz
Source1179: https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz#/file-selector-0.6.0.tgz
Source1180: https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz#/fill-range-7.1.1.tgz
Source1181: https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
Source1182: https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#/flat-cache-3.2.0.tgz
Source1183: https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz#/flat-cache-5.0.0.tgz
Source1184: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz#/flatted-3.3.1.tgz
Source1185: https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz#/focus-trap-7.5.2.tgz
Source1186: https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz#/for-each-0.3.3.tgz
Source1187: https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#/fs-extra-10.1.0.tgz
Source1188: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#/fs.realpath-1.0.0.tgz
Source1189: https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#/function-bind-1.1.2.tgz
Source1190: https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz#/function.prototype.name-1.1.6.tgz
Source1191: https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#/functions-have-names-1.2.3.tgz
Source1192: https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#/get-east-asian-width-1.2.0.tgz
Source1193: https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz#/get-intrinsic-1.2.4.tgz
Source1194: https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz#/get-symbol-description-1.0.2.tgz
Source1195: https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz#/get-tsconfig-4.7.5.tgz
Source1196: https://registry.npmjs.org/gettext-parser/-/gettext-parser-8.0.0.tgz#/gettext-parser-8.0.0.tgz
Source1197: https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#/glob-7.2.3.tgz
Source1198: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#/glob-parent-5.1.2.tgz
Source1199: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
Source1200: https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz#/global-modules-2.0.0.tgz
Source1201: https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz#/global-prefix-3.0.0.tgz
Source1202: https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#/globals-13.24.0.tgz
Source1203: https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz#/globalthis-1.0.4.tgz
Source1204: https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz#/globalyzer-0.1.0.tgz
Source1205: https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#/globby-11.1.0.tgz
Source1206: https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz#/globjoin-0.1.4.tgz
Source1207: https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz#/globrex-0.1.2.tgz
Source1208: https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz#/gopd-1.0.1.tgz
Source1209: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#/graceful-fs-4.2.11.tgz
Source1210: https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#/graphemer-1.4.0.tgz
Source1211: https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#/has-bigints-1.0.2.tgz
Source1212: https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#/has-flag-3.0.0.tgz
Source1213: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
Source1214: https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#/has-property-descriptors-1.0.2.tgz
Source1215: https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz#/has-proto-1.0.3.tgz
Source1216: https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#/has-symbols-1.0.3.tgz
Source1217: https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz#/has-tostringtag-1.0.2.tgz
Source1218: https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz#/hasown-2.0.2.tgz
Source1219: https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz#/html-tags-3.3.1.tgz
Source1220: https://registry.npmjs.org/htmlparser/-/htmlparser-1.7.7.tgz#/htmlparser-1.7.7.tgz
Source1221: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
Source1222: https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#/ieee754-1.2.1.tgz
Source1223: https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz#/ignore-5.3.1.tgz
Source1224: https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz#/immutable-4.3.6.tgz
Source1225: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fresh-3.3.0.tgz
Source1226: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
Source1227: https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#/inflight-1.0.6.tgz
Source1228: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#/inherits-2.0.4.tgz
Source1229: https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#/ini-1.3.8.tgz
Source1230: https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz#/internal-slot-1.0.7.tgz
Source1231: https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz#/irregular-plurals-3.5.0.tgz
Source1232: https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz#/is-arguments-1.1.1.tgz
Source1233: https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz#/is-array-buffer-3.0.4.tgz
Source1234: https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#/is-arrayish-0.2.1.tgz
Source1235: https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz#/is-async-function-2.0.0.tgz
Source1236: https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz#/is-bigint-1.0.4.tgz
Source1237: https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#/is-binary-path-2.1.0.tgz
Source1238: https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz#/is-boolean-object-1.1.2.tgz
Source1239: https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz#/is-builtin-module-3.2.1.tgz
Source1240: https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#/is-callable-1.2.7.tgz
Source1241: https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz#/is-core-module-2.14.0.tgz
Source1242: https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz#/is-data-view-1.0.1.tgz
Source1243: https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz#/is-date-object-1.0.5.tgz
Source1244: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
Source1245: https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#/is-finalizationregistry-1.0.2.tgz
Source1246: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#/is-fullwidth-code-point-3.0.0.tgz
Source1247: https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz#/is-generator-function-1.0.10.tgz
Source1248: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
Source1249: https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz#/is-map-2.0.3.tgz
Source1250: https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz#/is-negative-zero-2.0.3.tgz
Source1251: https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#/is-number-7.0.0.tgz
Source1252: https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz#/is-number-object-1.0.7.tgz
Source1253: https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#/is-path-inside-3.0.3.tgz
Source1254: https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#/is-plain-object-5.0.0.tgz
Source1255: https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#/is-regex-1.1.4.tgz
Source1256: https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz#/is-set-2.0.3.tgz
Source1257: https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#/is-shared-array-buffer-1.0.3.tgz
Source1258: https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#/is-string-1.0.7.tgz
Source1259: https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz#/is-symbol-1.0.4.tgz
Source1260: https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz#/is-typed-array-1.1.13.tgz
Source1261: https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#/is-unicode-supported-1.3.0.tgz
Source1262: https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz#/is-weakmap-2.0.2.tgz
Source1263: https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#/is-weakref-1.0.2.tgz
Source1264: https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz#/is-weakset-2.0.3.tgz
Source1265: https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz#/isarray-2.0.5.tgz
Source1266: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
Source1267: https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz#/iterator.prototype-1.1.2.tgz
Source1268: https://registry.npmjs.org/jed/-/jed-1.1.1.tgz#/jed-1.1.1.tgz
Source1269: https://registry.npmjs.org/js-sha1/-/js-sha1-0.7.0.tgz#/js-sha1-0.7.0.tgz
Source1270: https://registry.npmjs.org/js-sha256/-/js-sha256-0.11.0.tgz#/js-sha256-0.11.0.tgz
Source1271: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#/js-tokens-4.0.0.tgz
Source1272: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
Source1273: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
Source1274: https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#/json-parse-even-better-errors-2.3.1.tgz
Source1275: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
Source1276: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#/json-schema-traverse-1.0.0.tgz
Source1277: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
Source1278: https://registry.npmjs.org/json5/-/json5-1.0.2.tgz#/json5-1.0.2.tgz
Source1279: https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#/jsonfile-6.1.0.tgz
Source1280: https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#/jsx-ast-utils-3.3.5.tgz
Source1281: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
Source1282: https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#/kind-of-6.0.3.tgz
Source1283: https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.31.0.tgz#/known-css-properties-0.31.0.tgz
Source1284: https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz#/known-css-properties-0.34.0.tgz
Source1285: https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#/language-subtag-registry-0.3.23.tgz
Source1286: https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz#/language-tags-1.0.9.tgz
Source1287: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
Source1288: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#/lines-and-columns-1.2.4.tgz
Source1289: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
Source1290: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
Source1291: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
Source1292: https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#/lodash.truncate-4.4.2.tgz
Source1293: https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz#/log-symbols-6.0.0.tgz
Source1294: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#/loose-envify-1.4.0.tgz
Source1295: https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz#/magic-string-0.25.9.tgz
Source1296: https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#/mathml-tag-names-2.1.3.tgz
Source1297: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz#/mdn-data-2.0.30.tgz
Source1298: https://registry.npmjs.org/meow/-/meow-13.2.0.tgz#/meow-13.2.0.tgz
Source1299: https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#/merge2-1.4.1.tgz
Source1300: https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz#/micromatch-4.0.7.tgz
Source1301: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
Source1302: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz#/minimatch-9.0.5.tgz
Source1303: https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz#/minimist-1.2.8.tgz
Source1304: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#/ms-2.1.2.tgz
Source1305: https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz#/nanoid-3.3.7.tgz
Source1306: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
Source1307: https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz#/node-watch-0.7.3.tgz
Source1308: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#/normalize-path-3.0.0.tgz
Source1309: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#/object-assign-4.1.1.tgz
Source1310: https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz#/object-inspect-1.13.2.tgz
Source1311: https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz#/object-is-1.1.6.tgz
Source1312: https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#/object-keys-1.1.1.tgz
Source1313: https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz#/object.assign-4.1.5.tgz
Source1314: https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz#/object.entries-1.1.8.tgz
Source1315: https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz#/object.fromentries-2.0.8.tgz
Source1316: https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz#/object.groupby-1.0.3.tgz
Source1317: https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz#/object.hasown-1.1.4.tgz
Source1318: https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz#/object.values-1.2.0.tgz
Source1319: https://registry.npmjs.org/once/-/once-1.4.0.tgz#/once-1.4.0.tgz
Source1320: https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
Source1321: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
Source1322: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
Source1323: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
Source1324: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#/parse-json-5.2.0.tgz
Source1325: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
Source1326: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#/path-is-absolute-1.0.1.tgz
Source1327: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
Source1328: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#/path-parse-1.0.7.tgz
Source1329: https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#/path-type-4.0.0.tgz
Source1330: https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz#/picocolors-1.0.1.tgz
Source1331: https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#/picomatch-2.3.1.tgz
Source1332: https://registry.npmjs.org/plur/-/plur-5.1.0.tgz#/plur-5.1.0.tgz
Source1333: https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#/possible-typed-array-names-1.0.0.tgz
Source1334: https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz#/postcss-8.4.39.tgz
Source1335: https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#/postcss-media-query-parser-0.2.3.tgz
Source1336: https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#/postcss-resolve-nested-selector-0.1.1.tgz
Source1337: https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz#/postcss-safe-parser-7.0.0.tgz
Source1338: https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz#/postcss-scss-4.0.9.tgz
Source1339: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#/postcss-selector-parser-6.1.0.tgz
Source1340: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#/postcss-value-parser-4.2.0.tgz
Source1341: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
Source1342: https://registry.npmjs.org/process/-/process-0.11.10.tgz#/process-0.11.10.tgz
Source1343: https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz#/prop-types-15.8.1.tgz
Source1344: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
Source1345: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#/queue-microtask-1.2.3.tgz
Source1346: https://registry.npmjs.org/qunit/-/qunit-2.21.0.tgz#/qunit-2.21.0.tgz
Source1347: https://registry.npmjs.org/qunit-tap/-/qunit-tap-1.5.1.tgz#/qunit-tap-1.5.1.tgz
Source1348: https://registry.npmjs.org/react/-/react-18.3.1.tgz#/react-18.3.1.tgz
Source1349: https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz#/react-dom-18.3.1.tgz
Source1350: https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz#/react-dropzone-14.2.3.tgz
Source1351: https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#/react-is-16.13.1.tgz
Source1352: https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz#/readable-stream-4.5.2.tgz
Source1353: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#/readdirp-3.6.0.tgz
Source1354: https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#/reflect.getprototypeof-1.0.6.tgz
Source1355: https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#/regexp.prototype.flags-1.5.2.tgz
Source1356: https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#/regexpp-3.2.0.tgz
Source1357: https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz#/remarkable-2.0.1.tgz
Source1358: https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#/require-from-string-2.0.2.tgz
Source1359: https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz#/resolve-1.22.8.tgz
Source1360: https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz#/resolve-2.0.0-next.5.tgz
Source1361: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
Source1362: https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#/resolve-from-5.0.0.tgz
Source1363: https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#/resolve-pkg-maps-1.0.0.tgz
Source1364: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#/reusify-1.0.4.tgz
Source1365: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#/rimraf-3.0.2.tgz
Source1366: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#/run-parallel-1.2.0.tgz
Source1367: https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz#/rxjs-7.8.1.tgz
Source1368: https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz#/safe-array-concat-1.1.2.tgz
Source1369: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#/safe-buffer-5.2.1.tgz
Source1370: https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz#/safe-identifier-0.4.2.tgz
Source1371: https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz#/safe-regex-test-1.0.3.tgz
Source1372: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
Source1373: https://registry.npmjs.org/sass/-/sass-1.77.6.tgz#/sass-1.77.6.tgz
Source1374: https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.77.5.tgz#/sass-embedded-1.77.5.tgz
Source1375: https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.77.5.tgz#/sass-embedded-linux-musl-x64-1.77.5.tgz
Source1376: https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.77.5.tgz#/sass-embedded-linux-x64-1.77.5.tgz
Source1377: https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz#/scheduler-0.23.2.tgz
Source1378: https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#/semver-6.3.1.tgz
Source1379: https://registry.npmjs.org/semver/-/semver-7.6.2.tgz#/semver-7.6.2.tgz
Source1380: https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz#/set-function-length-1.2.2.tgz
Source1381: https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz#/set-function-name-2.0.2.tgz
Source1382: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
Source1383: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
Source1384: https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz#/side-channel-1.0.6.tgz
Source1385: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz#/signal-exit-4.1.0.tgz
Source1386: https://registry.npmjs.org/sizzle/-/sizzle-2.3.10.tgz#/sizzle-2.3.10.tgz
Source1387: https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#/slash-3.0.0.tgz
Source1388: https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#/slice-ansi-4.0.0.tgz
Source1389: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz#/source-map-js-1.2.0.tgz
Source1390: https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#/sourcemap-codec-1.4.8.tgz
Source1391: https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#/sprintf-js-1.0.3.tgz
Source1392: https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#/stop-iteration-iterator-1.0.0.tgz
Source1393: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#/string-width-4.2.3.tgz
Source1394: https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz#/string-width-7.2.0.tgz
Source1395: https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz#/string.prototype.includes-2.0.0.tgz
Source1396: https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#/string.prototype.matchall-4.0.11.tgz
Source1397: https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#/string.prototype.trim-1.2.9.tgz
Source1398: https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#/string.prototype.trimend-1.0.8.tgz
Source1399: https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#/string.prototype.trimstart-1.0.8.tgz
Source1400: https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#/string_decoder-1.3.0.tgz
Source1401: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.0.1.tgz
Source1402: https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz#/strip-ansi-7.1.0.tgz
Source1403: https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#/strip-bom-3.0.0.tgz
Source1404: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
Source1405: https://registry.npmjs.org/stylelint/-/stylelint-16.6.1.tgz#/stylelint-16.6.1.tgz
Source1406: https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz#/stylelint-config-recommended-14.0.1.tgz
Source1407: https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz#/stylelint-config-recommended-scss-14.0.0.tgz
Source1408: https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz#/stylelint-config-standard-36.0.0.tgz
Source1409: https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz#/stylelint-config-standard-scss-13.1.0.tgz
Source1410: https://registry.npmjs.org/stylelint-formatter-pretty/-/stylelint-formatter-pretty-4.0.0.tgz#/stylelint-formatter-pretty-4.0.0.tgz
Source1411: https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.0.tgz#/stylelint-scss-6.4.0.tgz
Source1412: https://registry.npmjs.org/stylelint-use-logical-spec/-/stylelint-use-logical-spec-5.0.1.tgz#/stylelint-use-logical-spec-5.0.1.tgz
Source1413: https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#/supports-color-5.5.0.tgz
Source1414: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
Source1415: https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#/supports-color-8.1.1.tgz
Source1416: https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz#/supports-hyperlinks-3.0.0.tgz
Source1417: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#/supports-preserve-symlinks-flag-1.0.0.tgz
Source1418: https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz#/svg-tags-1.0.0.tgz
Source1419: https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz#/tabbable-6.2.0.tgz
Source1420: https://registry.npmjs.org/table/-/table-6.8.2.tgz#/table-6.8.2.tgz
Source1421: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.2.0.tgz
Source1422: https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz#/throttle-debounce-5.0.2.tgz
Source1423: https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz#/tiny-glob-0.2.9.tgz
Source1424: https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#/to-regex-range-5.0.1.tgz
Source1425: https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz#/ts-api-utils-1.3.0.tgz
Source1426: https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#/tsconfig-paths-3.15.0.tgz
Source1427: https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz#/tslib-2.6.3.tgz
Source1428: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
Source1429: https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#/type-fest-0.20.2.tgz
Source1430: https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#/typed-array-buffer-1.0.2.tgz
Source1431: https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#/typed-array-byte-length-1.0.1.tgz
Source1432: https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#/typed-array-byte-offset-1.0.2.tgz
Source1433: https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz#/typed-array-length-1.0.6.tgz
Source1434: https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz#/typescript-5.5.3.tgz
Source1435: https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz#/unbox-primitive-1.0.2.tgz
Source1436: https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz#/universalify-2.0.1.tgz
Source1437: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
Source1438: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#/util-deprecate-1.0.2.tgz
Source1439: https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz#/uuid-9.0.1.tgz
Source1440: https://registry.npmjs.org/varint/-/varint-6.0.0.tgz#/varint-6.0.0.tgz
Source1441: https://registry.npmjs.org/which/-/which-1.3.1.tgz#/which-1.3.1.tgz
Source1442: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
Source1443: https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#/which-boxed-primitive-1.0.2.tgz
Source1444: https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz#/which-builtin-type-1.1.3.tgz
Source1445: https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz#/which-collection-1.0.2.tgz
Source1446: https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz#/which-typed-array-1.1.15.tgz
Source1447: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
Source1448: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#/wrappy-1.0.2.tgz
Source1449: https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz#/write-file-atomic-5.0.1.tgz
Source1450: https://registry.npmjs.org/ws/-/ws-7.5.10.tgz#/ws-7.5.10.tgz
Source1451: https://registry.npmjs.org/xterm/-/xterm-5.3.0.tgz#/xterm-5.3.0.tgz
Source1452: https://registry.npmjs.org/xterm-addon-canvas/-/xterm-addon-canvas-0.5.0.tgz#/xterm-addon-canvas-0.5.0.tgz
Source1453: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz

6816
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

27
selinux_libdir.patch Normal file
View File

@ -0,0 +1,27 @@
--- selinux_bak/cockpit.fc 2024-02-28 13:34:16.748028079 +0100
+++ selinux/cockpit.fc 2024-02-28 13:35:10.425549063 +0100
@@ -2,11 +2,24 @@
/etc/systemd/system/cockpit.* -- gen_context(system_u:object_r:cockpit_unit_file_t,s0)
/usr/libexec/cockpit-ws -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
+/usr/lib/cockpit-ws -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
/usr/libexec/cockpit-tls -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
+/usr/lib/cockpit-tls -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
/usr/libexec/cockpit-wsinstance-factory -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
+/usr/lib/cockpit-wsinstance-factory -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
+
+# missing libexec transition on SLE Micro
+/usr/lib/cockpit-askpass -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-certificate-ensure -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-certificate-helper -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-client -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-desktop -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-pcp -- gen_context(system_u:object_r:bin_t,s0)
/usr/libexec/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
+/usr/lib/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
/usr/libexec/cockpit-ssh -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
+/usr/lib/cockpit-ssh -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
/usr/share/cockpit/motd/update-motd -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)

13
storage-btrfs.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/pkg/storaged/block/format-dialog.jsx b/pkg/storaged/block/format-dialog.jsx
index c6a348921..edda50db3 100644
--- a/pkg/storaged/block/format-dialog.jsx
+++ b/pkg/storaged/block/format-dialog.jsx
@@ -146,7 +146,7 @@ function format_dialog_internal(client, path, start, size, enable_dos_extended,
add_fsys("xfs", { value: "xfs", title: "XFS" });
add_fsys("ext4", { value: "ext4", title: "EXT4" });
if (client.features.btrfs)
- add_fsys("btrfs", { value: "btrfs", title: "BTRFS" });
+ add_fsys("btrfs", { value: "btrfs", title: "BTRFS " + _("(recommended)") });
add_fsys("vfat", { value: "vfat", title: "VFAT" });
add_fsys("ntfs", { value: "ntfs", title: "NTFS" });
add_fsys("swap", { value: "swap", title: "Swap" });

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

@ -0,0 +1,136 @@
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/sle-micro/Makefile.am | 11 ++++
src/branding/sle-micro/branding.css | 87 ++++++++++++++++++++++++++
3 files changed, 99 insertions(+)
create mode 100644 src/branding/sle-micro/Makefile.am
create mode 100644 src/branding/sle-micro/branding.css
Index: cockpit-309/Makefile.am
===================================================================
--- cockpit-309.orig/Makefile.am
+++ cockpit-309/Makefile.am
@@ -175,6 +175,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/sle-micro/Makefile.am
include src/branding/registry/Makefile.am
include src/branding/rhel/Makefile.am
include src/branding/scientific/Makefile.am
Index: cockpit-309/src/branding/sle-micro/Makefile.am
===================================================================
--- /dev/null
+++ cockpit-309/src/branding/sle-micro/Makefile.am
@@ -0,0 +1,11 @@
+slemicrobrandingdir = $(datadir)/cockpit/branding/sle-micro
+
+dist_slemicrobranding_DATA = \
+ src/branding/sle-micro/branding.css \
+ $(NULL)
+
+install-data-hook::
+ ln -sf /usr/share/wallpapers/SLEdefault/contents/images/1920x1200.png $(DESTDIR)$(slemicrobrandingdir)/default-1920x1200.png
+ ln -sf /usr/share/pixmaps/distribution-logos/square-hicolor.svg $(DESTDIR)$(slemicrobrandingdir)/square-hicolor.svg
+ ln -sf /usr/share/pixmaps/distribution-logos/favicon.ico $(DESTDIR)$(slemicrobrandingdir)/favicon.ico
+ ln -sf /usr/share/pixmaps/distribution-logos/apple-touch-icon.png $(DESTDIR)$(slemicrobrandingdir)/apple-touch-icon.png
Index: cockpit-309/src/branding/sle-micro/branding.css
===================================================================
--- /dev/null
+++ cockpit-309/src/branding/sle-micro/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}";
+}
+
+

168
suse_docs.patch Normal file
View File

@ -0,0 +1,168 @@
From adadbac839dc6d549a3a9b75ae1f8c422e82fa7c Mon Sep 17 00:00:00 2001
From: Luna <luna.dragon@suse.com>
Date: Thu, 25 Jan 2024 10:06:03 +0530
Subject: [PATCH] replace with suse docs and move docs with out eqiv to docs-rh
---
node_modules | 2 +-
pkg/networkmanager/manifest.json | 19 +++++++++++--------
pkg/shell/manifest.json | 4 ++--
pkg/storaged/manifest.json | 12 +++++++-----
pkg/systemd/manifest.json | 6 +++---
pkg/users/manifest.json | 2 +-
6 files changed, 25 insertions(+), 20 deletions(-)
Index: cockpit/pkg/kdump/manifest.json
===================================================================
--- cockpit.orig/pkg/kdump/manifest.json
+++ cockpit/pkg/kdump/manifest.json
@@ -5,7 +5,7 @@
"tools": {
"index": {
"label": "Kernel dump",
- "docs": [
+ "docs-rh": [
{
"label": "Configuring kdump",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-kdump-in-the-web-console_system-management-using-the-rhel-9-web-console"
Index: cockpit/pkg/networkmanager/manifest.json
===================================================================
--- cockpit.orig/pkg/networkmanager/manifest.json
+++ cockpit/pkg/networkmanager/manifest.json
@@ -10,23 +10,19 @@
"docs": [
{
"label": "Managing networking bonds",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-bonds-using-the-web-console_system-management-using-the-rhel-9-web-console"
- },
- {
- "label": "Managing networking teams",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-teams-using-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-managing-bonds"
},
{
"label": "Managing networking bridges",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-bridges-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-bridges"
},
{
"label": "Managing VLANs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-vlans-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-vlans"
},
{
"label": "Managing firewall",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing_firewall_using_the_web_console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-firewall-cockpit"
}
],
"keywords": [
Index: cockpit/pkg/packagekit/manifest.json
===================================================================
--- cockpit.orig/pkg/packagekit/manifest.json
+++ cockpit/pkg/packagekit/manifest.json
@@ -9,7 +9,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/9/html/managing_systems_using_the_rhel_9_web_console/managing-software-updates-in-the-web-console_system-management-using-the-rhel-9-web-console"
Index: cockpit/pkg/storaged/manifest.json
===================================================================
--- cockpit.orig/pkg/storaged/manifest.json
+++ cockpit/pkg/storaged/manifest.json
@@ -14,20 +14,22 @@
"docs": [
{
"label": "Managing partitions",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-partitions-using-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#glue-cockpit-managing-filesystems"
},
{
"label": "Managing NFS mounts",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-nfs-mounts-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-NFS-mounts"
},
{
"label": "Managing RAIDs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-redundant-arrays-of-independent-disks-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#id-1.7.6"
},
{
"label": "Managing LVMs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/using-the-web-console-for-configuring-lvm-logical-volumes_system-management-using-the-rhel-8-web-console"
- },
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#id-1.7.7"
+ }
+ ],
+ "docs-rh": [
{
"label": "Managing physical drives",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/using-the-web-console-for-changing-physical-drives-in-volume-groups_system-management-using-the-rhel-8-web-console"
Index: cockpit/pkg/systemd/manifest.json
===================================================================
--- cockpit.orig/pkg/systemd/manifest.json
+++ cockpit/pkg/systemd/manifest.json
@@ -12,7 +12,7 @@
"docs": [
{
"label": "Configuring system settings",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/getting-started-with-the-rhel-9-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-configuring-servers"
}
],
"keywords": [
@@ -35,7 +35,7 @@
"docs": [
{
"label": "Managing services",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-services-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#glue-services-management"
}
],
"keywords": [
@@ -54,7 +54,7 @@
"docs": [
{
"label": "Reviewing logs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/reviewing-logs_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-filtering-logs"
}
],
"keywords": [
Index: cockpit/pkg/users/manifest.json
===================================================================
--- cockpit.orig/pkg/users/manifest.json
+++ cockpit/pkg/users/manifest.json
@@ -6,7 +6,7 @@
"docs": [
{
"label": "Managing user accounts",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-user-accounts-in-the-web-console_system-management-using-the-rhel-9-web-console"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#glue-managing-users"
}
],
"keywords": [
Index: cockpit/pkg/shell/manifest.json
===================================================================
--- cockpit.orig/pkg/shell/manifest.json
+++ cockpit/pkg/shell/manifest.json
@@ -25,7 +25,7 @@
"uk-ua": "Українська",
"zh-cn": "中文(中国)"
},
- "docs": [
+ "docs-rh": [
{
"label": "Web Console",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/index"
@@ -55,4 +55,4 @@
]
}
]
-}
+}
\ No newline at end of file

95
update_version.sh Normal file
View File

@ -0,0 +1,95 @@
#!/usr/bin/bash
set -e
curVersion=$(grep Version: cockpit.spec | sed -e 's,^\(\s*Version:\s*\)\(.*\)\s*$,\2,')
if [[ ! "$curVersion" =~ ^[0-9]+$ ]]; then
echo "Error: curVersion is not a valid integer"
exit 1
fi
###
### Fetch latest soruces
###
# fetch latest theme
if [ ! -d cockpit-suse-theme ]; then
git clone https://github.com/dgdavid/cockpit-suse-theme.git
else
git -C cockpit-suse-theme pull --ff-only
fi
git -C cockpit-suse-theme archive --format=tar --prefix=cockpit-suse-theme/ -o ../cockpit-suse-theme.tar HEAD
# fetch latest cockpit
if [ ! -d cockpit ]; then
git clone https://github.com/cockpit-project/cockpit.git cockpit
else
git -C cockpit checkout main
git -C cockpit fetch
fi
newVersion=$(git -C cockpit tag | grep '^[0-9.]\+$' | sort -rn | head -1)
echo "Current version: $curVersion"
echo " New version: $newVersion"
if [ "$curVersion" -ge "$newVersion" ]; then
echo "Nothing to do."
exit 0
fi
###
### UPDATE
###
# # initialize all submodules
git -C cockpit checkout $newVersion
git -C cockpit submodule update --init --depth 1
diff cockpit/node_modules/.package.json cockpit/package.json
cp cockpit/node_modules/.package-lock.json package-lock.json
# update node_modules
osc service mr
# remove node_modules and tests
git -C cockpit submodule deinit node_modules test/reference
# update tarballs
CockpitPath="cockpit-$newVersion/"
MainTarball="cockpit.tar"
D=$PWD
git -C cockpit archive --format=tar --prefix=$CockpitPath -o "$D/$MainTarball" $newVersion
# append each initialized submodule
git -C cockpit submodule foreach "n=\$(basename \$sm_path)
git archive --format=tar --prefix=${CockpitPath}\${sm_path}/ -o \"$D/\$n.tar\" HEAD
"
SubmoduleTarballs=$(git -C cockpit submodule foreach --quiet "echo \$(basename \$sm_path.tar)")
# need to unpack and pack again, because OBS can't deal with concatenated tarballs :(
rm -f "cockpit-$newVersion.tar"
rm -rf cockpit-$newVersion/
for i in $MainTarball $SubmoduleTarballs; do
tar xf $i
done
rm $MainTarball $SubmoduleTarballs
tar zcf cockpit-$newVersion.tar.gz cockpit-$newVersion/
echo "Archive created: cockpit-$newVersion.tar"
# Update spec file
git -C cockpit remote show suse || git -C cockpit remote add suse git@github.com:openSUSE/cockpit.git
git -C cockpit fetch suse opensuse-$curVersion
git -C cockpit checkout -b opensuse-$newVersion suse/opensuse-$curVersion
git -C cockpit rebase -i $newVersion
echo "Don't forget to:"
echo " 1. finish rebase"
echo " 2. push new branch"
echo " 3. update cockpit.spec, and"
echo " 4. set new default branch on GitHub"
# Updating version in spec file
sed -i -e "s,^\(\s*Version:\s*\)\(.*\)\s*$,\1${newVersion}," cockpit/tools/cockpit.spec

BIN
vendor.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.