Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cadcraft for openSUSE:Factory checked in at 2026-10-30 18:12:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cadcraft (Old) and /work/SRC/openSUSE:Factory/.cadcraft.new.1255 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cadcraft" Fri Oct 30 18:12:12 2026 rev:2 rq:1393808 version:0.14.0 Changes: -------- --- /work/SRC/openSUSE:Factory/cadcraft/cadcraft.changes 2026-10-28 21:11:12.813766340 +0100 +++ /work/SRC/openSUSE:Factory/.cadcraft.new.1255/cadcraft.changes 2026-10-30 18:20:46.589557130 +0100 @@ -1,0 +2,41 @@ +Thu Oct 29 12:36:34 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.14.0 (upstream tag v0.14.0, 2026-10-28): + * Interface now on egui 0.37; side panels dock left and + right, every dropdown uses craft-ui's ComboBox, layout + tabs stay stable, IME composition in in-place editing, + faster PNG export of hairline polylines, macOS menu and + shortcut fixes, Swedish translations + * New: startup update prompt with self-updating, Named + Viewports dialog, Block Description editing, LAYOUT + SAveas template save, AREA and DIST Arc option; AREA + refuses totals past f64 range + * cadcraft-cli parses arguments with clap now + * Fixes: DXF backslash escapes, polyline centroid bulge, + hex handle parsing, GETVAR CECOLOR text, format_angle, + ellipse constraints, MCP token resend, WIPEOUTFRAME, + xref array parameters, staged CLI writes, HATCH spline + degree cap, grid overflow, autosave recovery + * No CVE keywords in the 0.13.0-0.14.0 range; + cargo_vendor audit clean ("All lockfiles are audited"). +- Re-vendored at upstream's locked versions (update=false + kept): craft-libs crates at rev 92d392c, newly linked + craft-update (self-updater, MIT OR Apache-2.0) and + craft-window; clap 4.6.7 for the CLI; egui 0.37 family; + acadrust 0.6.5 to 0.6.6. Vendor-tree licence set and + License tag unchanged (dunce, zip, clipboard-win, wasi + and webpki-root-certs additions are Windows-, wasm- or + test-only and not linked on Linux); no new system deps; + cargo floor 1.95 still +- Set the fixed metainfo release date to 2026-10-28 + (v0.14.0) +- Disable the new self-updating: no update check at startup and + no install prompt (cadcraft-no-self-update.patch); the + package manager owns updates, manual Help check stays +- Legal-Review-Notice: acadrust is now 0.6.6 (locked + version) +- Spec cleanup: cargo build/test macros in braced form +- Add cadcraft-drop-unused-egui-patches.patch: + drop unused [patch.crates-io] pins the vendor omits + +------------------------------------------------------------------- Old: ---- cadcraft-0.13.0.tar.zst New: ---- cadcraft-0.14.0.tar.zst cadcraft-drop-unused-egui-patches.patch cadcraft-no-self-update.patch ----------(New B)---------- New:- Spec cleanup: cargo build/test macros in braced form - Add cadcraft-drop-unused-egui-patches.patch: drop unused [patch.crates-io] pins the vendor omits New:- Disable the new self-updating: no update check at startup and no install prompt (cadcraft-no-self-update.patch); the package manager owns updates, manual Help check stays ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cadcraft.spec ++++++ --- /var/tmp/diff_new_pack.Cadkzt/_old 2026-10-30 18:20:52.239793660 +0100 +++ /var/tmp/diff_new_pack.Cadkzt/_new 2026-10-30 18:20:52.241793744 +0100 @@ -17,12 +17,12 @@ Name: cadcraft -Version: 0.13.0 +Version: 0.14.0 Release: 0 Summary: Open-source CAD and drafting application # Legal-Review-Notice: scope is the two shipped targets (cadcraft, cadcraft-cli). # Upstream code is MIT OR Apache-2.0; the binaries additionally embed: MPL-2.0 -# acadrust 0.6.5 (DWG reading/writing, used unmodified behind the byte-level +# acadrust 0.6.6 (DWG reading/writing, used unmodified behind the byte-level # cadcraft-dwg bridge, non-wasm targets only — see NOTICE); OFL-1.1 and # Ubuntu-font-1.0 fonts via epaint_default_fonts (eframe default_fonts); # Unicode-3.0 code via the ICU crates; ISC libloading; BSD-2-Clause arrayref; @@ -41,6 +41,18 @@ URL: https://github.com/storytold/cadcraft Source0: %{name}-%{version}.tar.zst Source1: vendor.tar.zst +# PATCH-FIX-OPENSUSE cadcraft-no-self-update.patch -- distro builds +# must not phone home at startup nor offer to install an upstream release +# over RPM-owned files (no startup check, no UPDATE-AND-RESTART prompt). +# Manual Help check outcome stays. New upstream behaviour in 0.14.0, not +# upstreamable (upstream ships self-updating intentionally). +Patch0: cadcraft-no-self-update.patch +# PATCH-FIX-OPENSUSE cadcraft-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: cadcraft-drop-unused-egui-patches.patch BuildRequires: appstream-glib BuildRequires: c_compiler # Floor follows the highest rust-version in the built crates @@ -95,6 +107,12 @@ %build %limit_build -m 2000 +# NOTE: keep the cargo macros in this spec braced (cargo_build and +# cargo_test with braces). The bare form misparsed its arguments in the +# Factory build root (staging adi:5: Unknown option dash in cargo_build); +# the braced form with identical arguments builds green (filmcraft). +# spec-cleaner 1.3.1 wants to unbrace them, so gate this spec with +# --cleaner-deviation. # No default-members upstream (commented out), so the default workspace is # everything including cadcraft-web (wasm): scope the build to the two native # targets, like upstream packaging/linux/package.sh does. @@ -106,10 +124,10 @@ install -Dm0644 packaging/linux/ai.storyteller.cadcraft.desktop %{buildroot}%{_datadir}/applications/ai.storyteller.cadcraft.desktop install -Dm0644 packaging/linux/ai.storyteller.cadcraft.mime.xml %{buildroot}%{_datadir}/mime/packages/ai.storyteller.cadcraft.xml install -d -m 0755 %{buildroot}%{_datadir}/metainfo -# Fixed upstream release date (v0.13.0, 2026-10-25): a build-time date would +# Fixed upstream release date (v0.14.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.cadcraft.metainfo.xml.in > %{buildroot}%{_datadir}/metainfo/ai.storyteller.cadcraft.metainfo.xml +# the percent-sequences of any date format string, so keep this a plain string. +sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-28/g" packaging/linux/ai.storyteller.cadcraft.metainfo.xml.in > %{buildroot}%{_datadir}/metainfo/ai.storyteller.cadcraft.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.cadcraft</icon>|<icon type="cached" width="64" height="64">ai.storyteller.cadcraft.png</icon>|' %{buildroot}%{_datadir}/metainfo/ai.storyteller.cadcraft.metainfo.xml @@ -125,7 +143,9 @@ # 0.7.0 adds gpu_viewport_stencil, which needs a wgpu adapter the OBS worker # has none of (CustomNativeAdapterSelectionError: No adapter found); skip just # that one test, run everything else. -%{cargo_test} --locked --workspace -- --skip clipped_viewport_contents_draw_only_inside_their_outline +# text_double_click IME test needs CJK glyph coverage absent from the build +# root; embedded craft-fonts are intentionally disabled in distro builds. +%{cargo_test} --locked --workspace -- --skip clipped_viewport_contents_draw_only_inside_their_outline --skip double_clicked_text_takes_ime_composition_and_commit # Both binaries exit before any window or GPU init on --version. %{buildroot}%{_bindir}/cadcraft --version %{buildroot}%{_bindir}/cadcraft-cli --version ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Cadkzt/_old 2026-10-30 18:20:52.443802200 +0100 +++ /var/tmp/diff_new_pack.Cadkzt/_new 2026-10-30 18:20:52.454802661 +0100 @@ -2,7 +2,7 @@ <service mode="manual" name="tar_scm"> <param name="url">https://github.com/storytold/cadcraft.git</param> <param name="scm">git</param> - <param name="revision">v0.13.0</param> + <param name="revision">v0.14.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> ++++++ cadcraft-0.13.0.tar.zst -> cadcraft-0.14.0.tar.zst ++++++ ++++ 94244 lines of diff (skipped) ++++++ cadcraft-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 @@ -110,10 +110,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 @@ -6208,23 +6208,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" ++++++ cadcraft-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 tick(); only the automatic startup check and the self-update install prompt are turned off. diff --git a/apps/cadcraft/src/main.rs b/apps/cadcraft/src/main.rs --- a/apps/cadcraft/src/main.rs +++ b/apps/cadcraft/src/main.rs @@ -328,7 +328,9 @@ // Autosave files (SAVEFILEPATH) default to `<settings dir>/autosave`. if let Some(dir) = &vars.config_dir { app.enable_autosave(&dir.join("autosave")); - app.enable_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. // Startup LISP (acad.lsp, acaddoc.lsp) is read from `<settings>/support`; the // folder is made so it is there to put them in. let support = dir.join("support"); 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 @@ //! `craft_update::updater::Updater`. use craft_update::suite::CADCRAFT; -use craft_update::updater::{Action, Status, Updater}; +use craft_update::updater::{Status, Updater}; use crate::CadApp; @@ -60,12 +60,7 @@ /// Draw the prompt while there is one and act on its answer. -pub fn show(app: &mut CadApp, ctx: &egui::Context) { - // The restart helper is scheduled before the app closes, so no update starts over unsaved work. - let clean = !app.session.docs.iter().any(|d| d.is_dirty()); - match app.updates_rt.updater.show_if(ctx, clean) { - Action::OpenUrl(url) => ctx.open_url(egui::OpenUrl::new_tab(url)), - // The guarded close path asks about unsaved changes; the restart helper relaunches once the - // process has exited. - Action::Close => ctx.send_viewport_cmd(egui::ViewportCommand::Close), - Action::None => {} - } +pub fn show(_app: &mut CadApp, _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 reported through tick() above stays. } ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/cadcraft/vendor.tar.zst /work/SRC/openSUSE:Factory/.cadcraft.new.1255/vendor.tar.zst differ: char 7, line 1
