Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gridcraft for openSUSE:Factory checked in at 2026-10-30 18:11:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gridcraft (Old) and /work/SRC/openSUSE:Factory/.gridcraft.new.1255 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gridcraft" Fri Oct 30 18:11:53 2026 rev:2 rq:1393741 version:0.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gridcraft/gridcraft.changes 2026-10-28 21:11:17.117945486 +0100 +++ /work/SRC/openSUSE:Factory/.gridcraft.new.1255/gridcraft.changes 2026-10-30 18:19:30.953390850 +0100 @@ -1,0 +2,26 @@ +Thu Oct 29 16:34:45 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.13.0 (upstream tag v0.13.0, 2026-10-28): + * Window per workbook (New Window sharing one workbook, + Arrange All), egui 0.37, faster XLSX worksheet writing, + stacked chart types, startup update prompt, XWayland + file drag-and-drop on Wayland desktops. + * Hardening: the --control server requires an auth token + and closes bad connections (upstream issue #777). No + CVE identifiers in the crossed range. + * Fixes: datetime/rounding/calendar formula edge cases, + trace arrows, dropdown regrow, note threads, sheet IDs + kept across rewrites, AutoSum row totals as in Excel. + * Re-vendored (update=true); cargo_vendor lockfile audit + clean (the cargo_audit service is a no-op). Licence set + of the linked crates unchanged: MPL-2.0 `colored` stays + dev-only (via egui_kittest), no new copyleft. +- Raise the cargo floor to >= 1.95 (upstream rust-version). +- Set the fixed metainfo release date to 2026-10-28. +- Disable the upstream self-updater + (gridcraft-no-self-update.patch): no startup check, no install + prompt over RPM files; the manual Help check outcome stays. +- Add gridcraft-drop-unused-egui-patches.patch: + drop unused [patch.crates-io] pins the vendor omits + +------------------------------------------------------------------- Old: ---- gridcraft-0.12.1.tar.zst New: ---- gridcraft-0.13.0.tar.zst gridcraft-drop-unused-egui-patches.patch gridcraft-no-self-update.patch ----------(New B)---------- New: prompt over RPM files; the manual Help check outcome stays. - Add gridcraft-drop-unused-egui-patches.patch: drop unused [patch.crates-io] pins the vendor omits New:- Disable the upstream self-updater (gridcraft-no-self-update.patch): no startup check, no install prompt over RPM files; the manual Help check outcome stays. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gridcraft.spec ++++++ --- /var/tmp/diff_new_pack.z8h6Oy/_old 2026-10-30 18:19:35.542582963 +0100 +++ /var/tmp/diff_new_pack.z8h6Oy/_new 2026-10-30 18:19:35.549583256 +0100 @@ -17,7 +17,7 @@ Name: gridcraft -Version: 0.12.1 +Version: 0.13.0 Release: 0 Summary: Native spreadsheet with XLSX support, formulas and charts # Legal-Review-Notice: scope is the two shipped targets (gridcraft, gridcraft-cli). @@ -34,9 +34,21 @@ URL: https://github.com/storytold/gridcraft Source0: %{name}-%{version}.tar.zst Source1: vendor.tar.zst +# PATCH-FIX-OPENSUSE gridcraft-no-self-update.patch -- distro builds +# must not phone home at startup nor offer to install an upstream release +# over RPM-owned files. Manual Help check outcome message stays. New +# upstream behaviour in 0.13.0, not upstreamable (upstream ships +# self-updating intentionally). +Patch0: gridcraft-no-self-update.patch +# PATCH-FIX-OPENSUSE gridcraft-drop-unused-egui-patches.patch -- drop four +# [patch.crates-io] pins (egui_demo_lib, egui_extras, egui_inspection, +# egui_system_font_provider) that nothing uses (Cargo.lock [[patch.unused]]): +# cargo_vendor omits them from vendor.tar.zst, so any --offline resolve +# fails; upstreamable as cleanup once upstream drops the pins. +Patch1: gridcraft-drop-unused-egui-patches.patch BuildRequires: appstream-glib BuildRequires: c_compiler -BuildRequires: cargo >= 1.90 +BuildRequires: cargo >= 1.95 BuildRequires: cargo-packaging BuildRequires: desktop-file-utils # Own /usr/share/icons/hicolor for the filelist checker: the runtime @@ -96,10 +108,10 @@ install -Dm0644 packaging/linux/ai.storyteller.gridcraft.desktop %{buildroot}%{_datadir}/applications/ai.storyteller.gridcraft.desktop install -Dm0644 packaging/linux/ai.storyteller.gridcraft.mime.xml %{buildroot}%{_datadir}/mime/packages/ai.storyteller.gridcraft.xml install -d -m 0755 %{buildroot}%{_datadir}/metainfo -# Fixed upstream release date (v0.12.1, 2026-10-25): a build-time date would +# Fixed upstream release date (v0.13.0, 2026-10-28): a build-time date would # make the metainfo differ on every rebuild, and spec-cleaner macro-expands # the %-sequences of any date format string, so keep this a plain string. -sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-25/g" packaging/linux/ai.storyteller.gridcraft.metainfo.xml.in > %{buildroot}%{_datadir}/metainfo/ai.storyteller.gridcraft.metainfo.xml +sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-28/g" packaging/linux/ai.storyteller.gridcraft.metainfo.xml.in > %{buildroot}%{_datadir}/metainfo/ai.storyteller.gridcraft.metainfo.xml # Upstream declares the app icon as type="stock" but it is a custom hicolor # icon, so declare it as cached for appstream validation. sed -i 's|<icon type="stock">ai.storyteller.gridcraft</icon>|<icon type="cached" width="64" height="64">ai.storyteller.gridcraft.png</icon>|' %{buildroot}%{_datadir}/metainfo/ai.storyteller.gridcraft.metainfo.xml ++++++ _service ++++++ --- /var/tmp/diff_new_pack.z8h6Oy/_old 2026-10-30 18:19:35.676588572 +0100 +++ /var/tmp/diff_new_pack.z8h6Oy/_new 2026-10-30 18:19:35.688589075 +0100 @@ -2,7 +2,7 @@ <service mode="manual" name="tar_scm"> <param name="url">https://github.com/storytold/gridcraft.git</param> <param name="scm">git</param> - <param name="revision">v0.12.1</param> + <param name="revision">v0.13.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> ++++++ gridcraft-0.12.1.tar.zst -> gridcraft-0.13.0.tar.zst ++++++ ++++ 124165 lines of diff (skipped) ++++++ gridcraft-drop-unused-egui-patches.patch ++++++ From: openSUSE Publishing <[email protected]> Subject: [PATCH] Drop unused egui patch pins so the offline vendor build resolves Bug: none (downstream build fix, upstreamable as cleanup) Upstream pins four egui crates (egui_demo_lib, egui_extras, egui_inspection, egui_system_font_provider) in [patch.crates-io] that nothing in the workspace uses (Cargo.lock lists all four under [[patch.unused]]). cargo_vendor therefore omits them from vendor.tar.zst, and any --offline/--locked resolve against the vendor directory fails with "patch location ... does not contain packages matching ...". Drop the four unused pins (plus their [[patch.unused]] lock stanzas, so --locked stays satisfied); the [[package]] set is unchanged. --- a/Cargo.toml +++ b/Cargo.toml @@ -98,10 +98,6 @@ egui-winit = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } egui-wgpu = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } egui_glow = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } -egui_extras = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } egui_kittest = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } -egui_system_font_provider = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } eframe = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } -egui_demo_lib = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } -egui_inspection = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" } winit = { git = "https://github.com/storytold/winit.git", rev = "a517b3846ee8457d84ee4975110bfda6797c44dc" } --- a/Cargo.lock +++ b/Cargo.lock @@ -6745,23 +6745,3 @@ "syn 3.0.9", "winnow", ] - -[[patch.unused]] -name = "egui_demo_lib" -version = "0.37.0" -source = "git+https://github.com/storytold/egui.git?rev=6d518fc799681571963842f95b55a6b68431b15a#6d518fc799681571963842f95b55a6b68431b15a" - -[[patch.unused]] -name = "egui_extras" -version = "0.37.0" -source = "git+https://github.com/storytold/egui.git?rev=6d518fc799681571963842f95b55a6b68431b15a#6d518fc799681571963842f95b55a6b68431b15a" - -[[patch.unused]] -name = "egui_inspection" -version = "0.37.0" -source = "git+https://github.com/storytold/egui.git?rev=6d518fc799681571963842f95b55a6b68431b15a#6d518fc799681571963842f95b55a6b68431b15a" - -[[patch.unused]] -name = "egui_system_font_provider" -version = "0.37.0" -source = "git+https://github.com/storytold/egui.git?rev=6d518fc799681571963842f95b55a6b68431b15a#6d518fc799681571963842f95b55a6b68431b15a" ++++++ gridcraft-no-self-update.patch ++++++ From: openSUSE Publishing <[email protected]> Subject: [PATCH] No self-update in distro builds: no startup check, no install prompt Bug: none (downstream distribution policy, not upstreamable) The package manager owns updates on a distro install: do not phone home to the releases page on every GUI launch, and never offer to install an upstream release (UPDATE-AND-RESTART) over RPM-owned files. Upstream ships this machinery intentionally for its own builds. Help Check for Updates stays as an explicit manual action reporting through its outcome message in tick(); only the automatic startup check and the self-update install prompt are turned off. diff --git a/apps/gridcraft/src/main.rs b/apps/gridcraft/src/main.rs --- a/apps/gridcraft/src/main.rs +++ b/apps/gridcraft/src/main.rs @@ -316,7 +316,9 @@ } let mut app = SheetApp::new(session, services()); app.watch_desktop_theme(); - app.start_update_check(); + // Downstream (openSUSE): the package manager owns updates, so the + // desktop app must not check for (and offer to install) upstream + // releases on its own at startup. Manual Help Check stays. app.after_engine(); // Show warnings from the sample. let control_port = control_port; load_prefs(&mut app); diff --git a/crates/ui-egui/src/updates_ui.rs b/crates/ui-egui/src/updates_ui.rs --- a/crates/ui-egui/src/updates_ui.rs +++ b/crates/ui-egui/src/updates_ui.rs @@ -3,7 +3,7 @@ //! itself is `craft_update::updater::Updater`. use craft_update::suite::GRIDCRAFT; -use craft_update::updater::{Action, Status, Updater}; +use craft_update::updater::{Status, Updater}; use crate::SheetApp; @@ -52,18 +52,9 @@ } } -pub(crate) fn show(app: &mut SheetApp, ctx: &egui::Context) { - // The restart helper is scheduled before the app closes, so no update starts over unsaved work. - let clean = !app.session.documents().iter().any(|d| d.is_dirty()); - match app.updates_rt.updater.show_if(ctx, clean) { - Action::OpenUrl(url) => { - if let Some(open) = &app.services.open_url { - open(&url); - } - } - // The guarded close path asks about unsaved work; the restart helper relaunches once the - // process has exited. - Action::Close => ctx.send_viewport_cmd(egui::ViewportCommand::Close), - Action::None => {} - } +pub(crate) fn show(_app: &mut SheetApp, _ctx: &egui::Context) { + // Downstream (openSUSE): never draw the self-update prompt, so no + // upstream release is ever installed over RPM-owned files (neither + // at startup nor after a manual check). The manual Check for Updates + // outcome message in tick() stays. } ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/gridcraft/vendor.tar.zst /work/SRC/openSUSE:Factory/.gridcraft.new.1255/vendor.tar.zst differ: char 7, line 1
