diff --git a/.gitignore b/.gitignore index 679def2..277b4e2 100644 --- a/.gitignore +++ b/.gitignore @@ -329,3 +329,7 @@ /cockpit-351.tar.xz /cockpit-353.1.tar.xz /cockpit-node-353.1.tar.xz +/cockpit-354.tar.xz +/cockpit-node-354.tar.xz +/cockpit-355.tar.xz +/cockpit-node-355.tar.xz diff --git a/README.packit b/README.packit index 2511bf4..39e81ea 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.12.0. +The file was generated using packit 1.14.0.post1.dev2+g6506c7467. diff --git a/cockpit.spec b/cockpit.spec index c16d39b..573b1f9 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -52,8 +52,14 @@ %endif # distributions which ship nodejs-esbuild can rebuild the bundle during package build +# allow override from command line (e.g. for development builds) %if 0%{?fedora} >= 42 -%define rebuild_bundle 1 +%{!?rebuild_bundle: %define rebuild_bundle 1} +%endif + +# to avoid using asciidoc-py in RHEL and CentOS we use the prebuilt docs +%if 0%{?rhel} +%define bundle_docs 1 %endif Name: cockpit @@ -62,7 +68,7 @@ Summary: Web Console for Linux servers License: LGPL-2.1-or-later URL: https://cockpit-project.org/ -Version: 353.1 +Version: 355 Release: 1%{?dist} Source0: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz Source1: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-node-%{version}.tar.xz @@ -94,7 +100,6 @@ BuildRequires: openssl-devel BuildRequires: gnutls-devel >= 3.4.3 BuildRequires: zlib-devel BuildRequires: krb5-devel >= 1.11 -BuildRequires: libxslt-devel BuildRequires: glib-networking BuildRequires: sed @@ -108,18 +113,23 @@ BuildRequires: distribution-logos BuildRequires: wallpaper-branding %else BuildRequires: openssh-clients -BuildRequires: docbook-style-xsl %endif BuildRequires: krb5-server BuildRequires: gdb -%if %{defined rebuild_bundle} +%if 0%{?rebuild_bundle} BuildRequires: nodejs +BuildRequires: %{_bindir}/node BuildRequires: nodejs-esbuild %endif -# For documentation -BuildRequires: xmlto +%if !%{defined bundle_docs} +%if 0%{?suse_version} +BuildRequires: rubygem(asciidoctor) +%else +BuildRequires: asciidoctor +%endif +%endif BuildRequires: selinux-policy BuildRequires: selinux-policy-devel @@ -135,7 +145,7 @@ Requires: cockpit-system Recommends: (cockpit-storaged if udisks2) Recommends: (cockpit-packagekit if dnf) %if 0%{?suse_version} == 0 -Recommends: (dnf5-daemonserver if dnf5) +Recommends: (dnf5daemon-server if dnf5) %endif Suggests: python3-pcp @@ -160,16 +170,16 @@ BuildRequires: python3-pytest-timeout %prep %setup -q -n cockpit-%{version} -%if %{defined rebuild_bundle} +%if 0%{?rebuild_bundle} %setup -q -D -T -a 1 -n cockpit-%{version} %endif %build -%if %{defined rebuild_bundle} +%if 0%{?rebuild_bundle} rm -rf dist -# HACK: node module packaging is currently broken in Fedora, should be in +# HACK: node module packaging is currently broken in Fedora ≤ 43, should be in # common location, not major version specific one -NODE_ENV=production NODE_PATH=$(echo /usr/lib/node_modules_*) ./build.js +NODE_ENV=production NODE_PATH=/usr/lib/node_modules:$(echo /usr/lib/node_modules_*) ./build.js %else # Use pre-built bundle on distributions without nodejs-esbuild %endif @@ -183,6 +193,9 @@ NODE_ENV=production NODE_PATH=$(echo /usr/lib/node_modules_*) ./build.js %if %{enable_multihost} --enable-multihost \ %endif +%if %{defined bundle_docs} + --disable-doc \ +%endif %make_build @@ -206,6 +219,20 @@ install -p -m 644 %{pamconfig} $RPM_BUILD_ROOT%{pamconfdir}/cockpit rm -f %{buildroot}/%{_libdir}/cockpit/*.so install -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/ +# We install the upstream pre-built docs as we can't build them +%if %{defined bundle_docs} +%define docbundledir %{_builddir}/%{name}-%{version}/doc/output/html +install -d %{buildroot}%{_docdir}/cockpit/guide +cp -rp %{docbundledir}/* %{buildroot}%{_docdir}/cockpit/guide/ +# Install pre-built man pages +%define manbundledir %{_builddir}/%{name}-%{version}/doc/output/man +for section in 1 5 8; do + for manpage in %{manbundledir}/*.${section}; do + install -D -p -m 644 "$manpage" %{buildroot}%{_mandir}/man${section}/$(basename "$manpage") + done +done +%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 @@ -369,13 +396,13 @@ Provides: bundled(npm(dequal)) = 2.0.3 Provides: bundled(npm(focus-trap)) = 7.6.4 Provides: bundled(npm(ipaddr.js)) = 2.3.0 Provides: bundled(npm(json-stable-stringify-without-jsonify)) = 1.0.1 -Provides: bundled(npm(lodash)) = 4.17.21 +Provides: bundled(npm(lodash)) = 4.17.23 Provides: bundled(npm(prop-types)) = 15.8.1 Provides: bundled(npm(react)) = 18.3.1 Provides: bundled(npm(react-dom)) = 18.3.1 Provides: bundled(npm(remarkable)) = 2.0.1 Provides: bundled(npm(scheduler)) = 0.23.2 -Provides: bundled(npm(tabbable)) = 6.3.0 +Provides: bundled(npm(tabbable)) = 6.4.0 Provides: bundled(npm(throttle-debounce)) = 5.0.2 Provides: bundled(npm(tslib)) = 2.8.1 Provides: bundled(npm(uuid)) = 13.0.0 @@ -443,7 +470,6 @@ authentication via sssd/FreeIPA. %{_unitdir}/system-cockpithttps.slice %{_prefix}/%{__lib}/tmpfiles.d/cockpit-ws.conf %{pamdir}/pam_ssh_add.so -%{pamdir}/pam_cockpit_cert.so %{_libexecdir}/cockpit-ws %{_libexecdir}/cockpit-wsinstance-factory %{_libexecdir}/cockpit-tls @@ -482,14 +508,6 @@ fi # 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 - # remove obsolete system user on upgrade (replaced with DynamicUser in version 330) if getent passwd cockpit-wsinstance >/dev/null; then userdel cockpit-wsinstance @@ -663,6 +681,23 @@ via PackageKit. # The changelog is automatically generated and merged %changelog +* Thu Jan 29 2026 Packit - 355-1 +- ws: Remove obsolete pam_cockpit_cert module +- shell: add StartTransientUnit as a sudo alternative + + +* Fri Jan 16 2026 Fedora Release Engineering - 354-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jan 16 2026 Fedora Release Engineering - 354-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jan 07 2026 Martin Pitt - 354-1 +- Convert documentation to AsciiDoc +- Work around Firefox 146/147 bug (rhbz#2422331) +- Bug fixes + + * Mon Dec 15 2025 Jelle van der Waa - 353.1-1 - Release workflow fixes diff --git a/packit.yaml b/packit.yaml index d7891a0..d9f51ef 100644 --- a/packit.yaml +++ b/packit.yaml @@ -19,6 +19,7 @@ actions: srpm_build_deps: - automake + - asciidoctor - gcc - gettext - glib2-devel @@ -85,22 +86,26 @@ jobs: owner: "@cockpit" project: "cockpit-preview" preserve_project: True - actions: - # same as the global one, but specifying actions: does not inherit + # Don't rebuild the tarball for official releases (https://github.com/packit/packit-service/issues/1505) + actions: &official_release_actions + # the PACKIT_* variables are not yet set here; this just needs to create the declared specfile_path post-upstream-clone: - # build patched spec - - tools/node-modules make_package_lock_json - cp tools/cockpit.spec . - # packit will compute and set the version by itself - - tools/fix-spec ./cockpit.spec 0 - # HACK: tarball for releases (copr_build, koji, etc.), copying spec's Source0 and Source1; this - # really should be the default, see https://github.com/packit/packit-service/issues/1505 - fix-spec-file: - - 'sh -exc "curl -L --fail -O https://github.com/cockpit-project/cockpit/releases/download/${PACKIT_PROJECT_VERSION}/${PACKIT_PROJECT_NAME_VERSION}.tar.xz"' - - 'sh -exc "curl -L --fail -O https://github.com/cockpit-project/cockpit/releases/download/${PACKIT_PROJECT_VERSION}/cockpit-node-${PACKIT_PROJECT_VERSION}.tar.xz"' + + # resolve NPM_PROVIDES, but otherwise keep packit's %changelog + post-modifications: + - | + bash -exc ' + # for debugging of official runs, CLI is different from packit service + env | grep PACKIT + tar -xJf "${PACKIT_DOWNSTREAM_REPO}/cockpit-${PACKIT_PROJECT_VERSION}.tar.xz" "cockpit-*/runtime-npm-modules.txt" --strip-components=1 + tools/fix-spec "${PACKIT_DOWNSTREAM_REPO}/cockpit.spec" "${PACKIT_PROJECT_VERSION}" + ' - job: propose_downstream trigger: release + actions: *official_release_actions + dist_git_branches: - fedora-development - fedora-42 diff --git a/plans/all.fmf b/plans/all.fmf index 16a5e7a..e8f82ab 100644 --- a/plans/all.fmf +++ b/plans/all.fmf @@ -1,8 +1,6 @@ discover: how: fmf - repository: https://github.com/cockpit-project/cockpit - # HACK: workaround gating test failure TestStorageMountingLUKS.testOverMounting - ref: "33506dbb0f98e5d98314d98b7d6a2a4597584e4e" + dist-git-source: true execute: how: tmt diff --git a/sources b/sources index 4a147d8..a593127 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (cockpit-353.1.tar.xz) = 2d8a9c8303c7b8557ffecaba70094e328d212a472807c3cc7f9a0995ca0348f9f124061c6be59c4bbe42dd60d8a6636fb61590404b54331097479690dd7cd065 -SHA512 (cockpit-node-353.1.tar.xz) = 8ccdc3f12cac6cf865e9501c816b4587d82cd14da76e8ab8de2bd96c1bad4dbe30f3d1a0eed6c01e304ade903c5fccb7f703f67e6f96b0bfb695956f9d2ce4e6 +SHA512 (cockpit-355.tar.xz) = aedd7ac10349dc96302fb8ad8ba91e85c64f7f113bed79314e6a25a46d9b565b3a75c290e171b5ef719d07f4ce42c6295dff13af096e7800a248b4384f786072 +SHA512 (cockpit-node-355.tar.xz) = 765bd1816e3fedc22ffd0581c9fe09f0eca05b391fc095c97ae48b99a947a5dcf233f64648828f1b4873bf23f242cac94f9150fc894d75ad6f506f0d4e353ddf