Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vectorcraft for openSUSE:Factory checked in at 2026-10-30 18:12:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vectorcraft (Old) and /work/SRC/openSUSE:Factory/.vectorcraft.new.1255 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vectorcraft" Fri Oct 30 18:12:09 2026 rev:2 rq:1393787 version:0.18.0 Changes: -------- --- /work/SRC/openSUSE:Factory/vectorcraft/vectorcraft.changes 2026-10-28 21:11:26.764346981 +0100 +++ /work/SRC/openSUSE:Factory/.vectorcraft.new.1255/vectorcraft.changes 2026-10-30 18:20:36.081117224 +0100 @@ -1,0 +2,30 @@ +Thu Oct 29 16:59:56 UTC 2026 - Paolo Stivanin <[email protected]> + +- Update to 0.18.0 (upstream tag v0.18.0, 2026-10-28): + * New: startup update prompt with direct self-updating; panels + on shared docking with floating panels in OS windows; + Transform Each remembers values and gains a Copy button; join + endpoints with Ctrl+J; Pencil live preview and curve fitting; + Transform Object Only and Pattern Only modes; auto-lists on + "1. " typing; decimal comma in unit fields; File Open starts + in the last folder. + * Fixes: threaded-text duplication; type-on-path joins; + pen-eraser on Windows and web; browser-reserved web + shortcuts; .ai import of 512 MiB files and gradient routing; + linear SVG def ids. + * Hardening (no CVE ids upstream): EPS and legacy Illustrator + bounds; document model bounds; planar map budgets; shared + decoded-pixel budget for metafiles; Shape Builder reference + bounds; plug-in compile isolation. + * Re-vendor locked (update=false retained) for egui 0.37 and + the new self-update stack; licence audit redone, no new + licences in the linked set. + * drop-unused-egui-patches.patch: remove three unused + [patch.crates-io] entries cargo marks [[patch.unused]]; the + vendor tree rightly lacks them and offline resolution fails + with them under --locked. + * vectorcraft-no-self-update.patch: no startup update check and + no self-update install prompt over RPM-owned files; manual + Help check for updates stays. + +------------------------------------------------------------------- Old: ---- vectorcraft-0.17.0.tar.zst New: ---- drop-unused-egui-patches.patch vectorcraft-0.18.0.tar.zst vectorcraft-no-self-update.patch ----------(New B)---------- New: licences in the linked set. * drop-unused-egui-patches.patch: remove three unused [patch.crates-io] entries cargo marks [[patch.unused]]; the New: with them under --locked. * vectorcraft-no-self-update.patch: no startup update check and no self-update install prompt over RPM-owned files; manual ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vectorcraft.spec ++++++ --- /var/tmp/diff_new_pack.JsFfhV/_old 2026-10-30 18:20:45.408507689 +0100 +++ /var/tmp/diff_new_pack.JsFfhV/_new 2026-10-30 18:20:45.410507773 +0100 @@ -17,22 +17,24 @@ Name: vectorcraft -Version: 0.17.0 +Version: 0.18.0 Release: 0 Summary: Open-source vector illustration app -# Legal-Review-Notice: license audit 0.17.0, vendor-cratesio tag with locked +# Legal-Review-Notice: license audit 0.18.0, vendor-cratesio tag with locked # offline build of vectorcraft plus vectorcraft-cli only. Upstream is MIT OR # Apache-2.0. Linked third-party code adds BSD-2-Clause (arrayref), -# BSD-3-Clause (alloc-no-stdlib, brotli, tiny-skia and others), ISC -# (libloading), OFL-1.1 plus Ubuntu-font-1.0 (epaint default fonts, also +# BSD-3-Clause (alloc-no-stdlib, brotli, subtle, tiny-skia and others), ISC +# (libloading, untrusted, ring and rustls-webpki under Apache-2.0 AND/OR +# ISC), OFL-1.1 plus Ubuntu-font-1.0 (epaint default fonts, also # shipped under assets/fonts), IJG (jpeg-encoder), Unicode-3.0 (icu and # unicode-ident), Zlib (foldhash, zlib-rs). sctk-adwaita (MIT, Wayland # window controls) is built without its title-font features, so its # Cantarell font is not linked. Linked code has no MPL, LGPL, GPL, EPL, # CDDL or CC-BY-SA; the vendor set carries colored (MPL-2.0) only as a # dev-dependency of egui_kittest, never built. self_cell offers Apache-2.0 -# OR GPL-2.0-only and is used under the Apache-2.0 option. r-efi offers -# MIT OR Apache-2.0 OR LGPL-2.1-or-later (MIT chosen). BSL-1.0, Unlicense, +# OR GPL-2.0-only and is used under the Apache-2.0 option. r-efi (MIT OR +# Apache-2.0 OR LGPL-2.1-or-later) is a UEFI-only optional dep of getrandom, +# never compiled on Linux. BSL-1.0, Unlicense, # 0BSD and LLVM-exception appear only as OR alternatives alongside Apache # or MIT and are not the chosen option. Trademarked ArtCraft marks under # docs/brand are excluded from the tarball and never installed. @@ -40,6 +42,16 @@ URL: https://github.com/storytold/vectorcraft Source0: %{name}-%{version}.tar.zst Source1: vendor-cratesio.tar.zst +# PATCH-FIX-OPENSUSE drop-unused-egui-patches.patch: drop three unused +# [patch.crates-io] entries (egui_demo_lib, egui_inspection, +# egui_system_font_provider): nothing references them, cargo itself marks +# them [[patch.unused]], and the vendor tree — which rightly lacks them — +# then fails offline resolution under --locked. +Patch0: drop-unused-egui-patches.patch +# PATCH-FIX-OPENSUSE vectorcraft-no-self-update.patch: the package manager +# owns updates on a distro install, so no startup phone-home check and no +# self-update install prompt over RPM-owned files; manual Help check stays. +Patch1: vectorcraft-no-self-update.patch BuildRequires: appstream-glib BuildRequires: cargo-packaging BuildRequires: desktop-file-utils @@ -53,14 +65,14 @@ Requires: (libvulkan.so.1()(64bit) or libEGL.so.1()(64bit)) # winit keyboard handling. Requires: libxkbcommon.so.0()(64bit) -Recommends: mesa-vulkan-drivers -Recommends: vectorcraft-cli -Recommends: xdg-desktop-portal Recommends: libX11.so.6()(64bit) Recommends: libXcursor.so.1()(64bit) Recommends: libXi.so.6()(64bit) Recommends: libXrandr.so.2()(64bit) Recommends: libwayland-client.so.0()(64bit) +Recommends: mesa-vulkan-drivers +Recommends: vectorcraft-cli +Recommends: xdg-desktop-portal ExclusiveArch: %{rust_tier1_arches} %description @@ -96,6 +108,10 @@ # fallback instead of embedding the craft-fonts checkout. Cargo.lock is # committed upstream. The cargo build macro already passes offline mode; # only add the locked flag. +# NOTE: keep the cargo macros in this spec in braced form. The bare form +# misparses the trailing build arguments (adi:5: Unknown option - in +# cargo_build()); spec-cleaner 1.3.1 wants them unbraced, hence the +# --cleaner-deviation on the gate call. %{cargo_build} --locked -p vectorcraft -p vectorcraft-cli %install ++++++ _service ++++++ --- /var/tmp/diff_new_pack.JsFfhV/_old 2026-10-30 18:20:45.518512294 +0100 +++ /var/tmp/diff_new_pack.JsFfhV/_new 2026-10-30 18:20:45.523512504 +0100 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="manual"> <param name="url">https://github.com/storytold/vectorcraft.git</param> <param name="scm">git</param> - <param name="revision">v0.17.0</param> + <param name="revision">v0.18.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="exclude">.git</param> ++++++ drop-unused-egui-patches.patch ++++++ diff -Naur a/Cargo.lock b/Cargo.lock --- a/Cargo.lock 2026-10-29 17:58:48.486354938 +0100 +++ b/Cargo.lock 2026-10-29 17:58:48.558363027 +0100 @@ -7998,18 +7998,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_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" diff -Naur a/Cargo.toml b/Cargo.toml --- a/Cargo.toml 2026-10-29 17:58:48.478354039 +0100 +++ b/Cargo.toml 2026-10-29 17:58:48.546361678 +0100 @@ -157,8 +157,5 @@ 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" } ++++++ vectorcraft-0.17.0.tar.zst -> vectorcraft-0.18.0.tar.zst ++++++ /work/SRC/openSUSE:Factory/vectorcraft/vectorcraft-0.17.0.tar.zst /work/SRC/openSUSE:Factory/.vectorcraft.new.1255/vectorcraft-0.18.0.tar.zst differ: char 7, line 1 ++++++ vectorcraft-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 window; only the automatic startup check and the self-update install prompt are turned off. diff -Naur orig/apps/vectorcraft/src/main.rs mod/apps/vectorcraft/src/main.rs --- a/apps/vectorcraft/src/main.rs 2026-10-29 19:34:10.596959043 +0100 +++ b/apps/vectorcraft/src/main.rs 2026-10-29 19:34:13.521287345 +0100 @@ -368,7 +368,10 @@ prefs_dir::attach_profile_store(&mut session); prefs_dir::attach_plugin_store(&mut session); let mut app = VectorcraftApp::new(session, services(cc.winit_window().cloned(), cc.egui_ctx.clone())); - app.set_startup_update_check(true); + // 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.set_startup_update_check(false); load_prefs(&mut app, saved); // The saved PDF presets live in their own folder (also read by vectorcraft-cli), // which takes over from the copy the preferences file used to hold. diff -Naur orig/crates/ui-egui/src/updates_ui.rs mod/crates/ui-egui/src/updates_ui.rs --- a/crates/ui-egui/src/updates_ui.rs 2026-10-29 19:34:12.929220876 +0100 +++ b/crates/ui-egui/src/updates_ui.rs 2026-10-29 19:34:13.521287345 +0100 @@ -5,7 +5,7 @@ use crate::VectorcraftApp; #[cfg(not(target_arch = "wasm32"))] -use craft_update::updater::{Action, Status, Updater}; +use craft_update::updater::{Status, Updater}; pub(crate) struct Runtime { #[cfg(not(target_arch = "wasm32"))] @@ -83,13 +83,10 @@ pub(crate) fn show(app: &mut VectorcraftApp, ctx: &egui::Context) { #[cfg(not(target_arch = "wasm32"))] { - // The restart helper is scheduled before the app closes, so no update starts over unsaved work. - let clean = !crate::unsaved::any_dirty(app); - match app.updates_rt.updater.show_if(ctx, clean) { - Action::OpenUrl(url) => app.open_url(&url), - Action::Close => ctx.send_viewport_cmd(egui::ViewportCommand::Close), - Action::None => {} - } + // 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 window below stays. // The window answers Help ▸ Check for Updates, so it follows the updater's status. let rt = &mut app.updates_rt; (rt.manual_window_open, rt.status_message) = match rt.updater.status() { ++++++ vendor-cratesio.tar.zst ++++++ /work/SRC/openSUSE:Factory/vectorcraft/vendor-cratesio.tar.zst /work/SRC/openSUSE:Factory/.vectorcraft.new.1255/vendor-cratesio.tar.zst differ: char 7, line 1
