Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cockpit for openSUSE:Factory checked in at 2024-08-02 17:25:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cockpit (Old) and /work/SRC/openSUSE:Factory/.cockpit.new.7232 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cockpit" Fri Aug 2 17:25:35 2024 rev:47 rq:1190945 version:321 Changes: -------- --- /work/SRC/openSUSE:Factory/cockpit/cockpit.changes 2024-07-04 16:23:06.759156320 +0200 +++ /work/SRC/openSUSE:Factory/.cockpit.new.7232/cockpit.changes 2024-08-02 17:25:40.165177712 +0200 @@ -1,0 +2,10 @@ +Wed Jul 31 08:23:43 UTC 2024 - Adam Majer <adam.ma...@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 + +------------------------------------------------------------------- Old: ---- cockpit-320.obscpio cockpit-suse-theme.obscpio vendor.tar.gz New: ---- cockpit-321.tar cockpit-suse-theme.tar update_version.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cockpit.spec ++++++ --- /var/tmp/diff_new_pack.KC67G3/_old 2024-08-02 17:25:43.333308354 +0200 +++ /var/tmp/diff_new_pack.KC67G3/_new 2024-08-02 17:25:43.337308519 +0200 @@ -50,13 +50,13 @@ License: LGPL-2.1-or-later URL: https://cockpit-project.org/ -Version: 320 +Version: 321 Release: 0 Source0: cockpit-%{version}.tar Source1: cockpit.pam Source2: cockpit-rpmlintrc Source3: cockpit-suse-theme.tar -Source10: vendor.tar.gz +Source10: update_version.sh Source99: README.packaging Source98: package-lock.json Source97: node_modules.spec.inc @@ -92,13 +92,26 @@ %if 0%{?build_optional} && 0%{?suse_version} == 0 %define build_tests 1 %endif -# pcp stopped building on ix86 + +# 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 @@ -226,9 +239,7 @@ cp %SOURCE1 tools/cockpit.pam # -rm -rf node_modules package-lock.json -local-npm-registry %{_sourcedir} install --also=dev --legacy-peer-deps -cd vendor; tar zxfO %SOURCE10 | tar xvi; cd .. +local-npm-registry %{_sourcedir} install --include=dev --ignore-scripts %build find node_modules -name \*.node -print -delete @@ -241,8 +252,6 @@ # %configure \ %{?selinux_configure_arg} \ - --with-cockpit-user=cockpit-ws \ - --with-cockpit-ws-instance-user=cockpit-wsinstance \ %if 0%{?suse_version} --docdir=%_defaultdocdir/%{name} \ --libexecdir=%_libexecdir \ @@ -514,6 +523,7 @@ 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} @@ -623,8 +633,8 @@ %endif %pre ws -getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws -getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d /nonexisting -s /sbin/nologin -c "User for cockpit web service" cockpit-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 @@ -663,7 +673,7 @@ %if 0%{?suse_version} %set_permissions %{_libexecdir}/cockpit-session %endif -%tmpfiles_create cockpit-ws.conf +%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 ++++++ README.packaging ++++++ --- /var/tmp/diff_new_pack.KC67G3/_old 2024-08-02 17:25:43.389310664 +0200 +++ /var/tmp/diff_new_pack.KC67G3/_new 2024-08-02 17:25:43.393310829 +0200 @@ -3,7 +3,7 @@ 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/lnussel/cockpit +https://github.com/openSUSE/cockpit There' an opensuse-$VERSION branch for each release @@ -33,6 +33,9 @@ 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 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.KC67G3/_old 2024-08-02 17:25:43.409311489 +0200 +++ /var/tmp/diff_new_pack.KC67G3/_new 2024-08-02 17:25:43.413311653 +0200 @@ -1,33 +1,8 @@ <services> - <service name="obs_scm" mode="manual"> - <param name="url">https://github.com/dgdavid/cockpit-suse-theme.git</param> - <param name="versionformat"></param> - <param name="scm">git</param> - <param name="revision">main</param> - </service> - <service mode="buildtime" name="tar"> - <param name="obsinfo">cockpit-suse-theme.obsinfo</param> - <!-- On SLE15.4 extra '-' gets added to the filename so we need to - define the name explicitly --> - <param name="filename">cockpit-suse-theme</param> - </service> - <service name="obs_scm" mode="manual"> - <param name="versionformat">@PARENT_TAG@</param> - <param name="url">https://github.com/cockpit-project/cockpit.git/</param> - <param name="scm">git</param> - <param name="revision">320</param> - <param name="submodules">disable</param> - </service> <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> - <service mode="buildtime" name="tar"> - <param name="obsinfo">cockpit.obsinfo</param> - </service> - <service mode="buildtime" name="set_version"> - <param name="basename">cockpit</param> - </service> </services> ++++++ node_modules.obscpio ++++++ /work/SRC/openSUSE:Factory/cockpit/node_modules.obscpio /work/SRC/openSUSE:Factory/.cockpit.new.7232/node_modules.obscpio differ: char 61, line 1 ++++++ node_modules.spec.inc ++++++ ++++ 946 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/cockpit/node_modules.spec.inc ++++ and /work/SRC/openSUSE:Factory/.cockpit.new.7232/node_modules.spec.inc ++++++ package-lock.json ++++++ ++++ 5412 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/cockpit/package-lock.json ++++ and /work/SRC/openSUSE:Factory/.cockpit.new.7232/package-lock.json ++++++ update_version.sh ++++++ #!/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 g...@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