Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package lightcraft for openSUSE:Factory 
checked in at 2026-10-30 18:11:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lightcraft (Old)
 and      /work/SRC/openSUSE:Factory/.lightcraft.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lightcraft"

Fri Oct 30 18:11:55 2026 rev:2 rq:1393742 version:0.15.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/lightcraft/lightcraft.changes    2026-10-28 
21:10:33.976149325 +0100
+++ /work/SRC/openSUSE:Factory/.lightcraft.new.1255/lightcraft.changes  
2026-10-30 18:19:39.046729653 +0100
@@ -1,0 +2,31 @@
+Thu Oct 29 14:46:37 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.15.0 (upstream tags v0.14.0, 2026-10-25 and
+  v0.15.0, 2026-10-28):
+  * Startup update prompt with self-update; UI migrated to egui
+    0.37 with dockable side panels, dropdown and Flatpak fixes.
+  * Faster full-size exports (fewer copies and serial passes);
+    Highlights/Shadows median about 2x faster on the CPU.
+  * Library: Find Missing Photos by file name, smarter smart
+    albums, keyword list marks applied keywords, catalog import
+    asks merge or new library, PSD/PSB embedded metadata, month
+    names in date templates, manual slideshow, print templates
+    export and import.
+  * Develop: HDR merge preview zoom and pan, colour-grading wheel
+    holds the pointer, draggable tone curve from the renderer
+    model, histogram zones adjust Basic tones, Dehaze no longer
+    crushes dark pixels, Sony A7R V camera profile.
+  * Hardening: hostile-file bounds in HEIF handling, raw
+    decoders, codecs and keyword/repair/journal recovery;
+    quick-xml 0.38 -> 0.41 fixes two DoS advisories
+    (RUSTSEC-2026-0194, RUSTSEC-2026-0195).
+  * Workspace rust-version is now 1.95 (matches BuildRequires).
+  * Re-vendored (update=false kept for --locked, respect-lockfile
+    true); all new crates permissive, no License tag change.
+- Disable upstream self-update: no check at startup and no install
+  prompt (lightcraft-no-self-update.patch); the package manager
+  owns updates, manual Help check stays
+- Add lightcraft-drop-unused-egui-patches.patch:
+  drop unused [patch.crates-io] pins the vendor omits
+
+-------------------------------------------------------------------

Old:
----
  lightcraft-0.13.0.tar.zst

New:
----
  lightcraft-0.15.0.tar.zst
  lightcraft-drop-unused-egui-patches.patch
  lightcraft-no-self-update.patch

----------(New B)----------
  New:  owns updates, manual Help check stays
- Add lightcraft-drop-unused-egui-patches.patch:
  drop unused [patch.crates-io] pins the vendor omits
  New:- Disable upstream self-update: no check at startup and no install
  prompt (lightcraft-no-self-update.patch); the package manager
  owns updates, manual Help check stays
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lightcraft.spec ++++++
--- /var/tmp/diff_new_pack.lwBleI/_old  2026-10-30 18:19:47.151068916 +0100
+++ /var/tmp/diff_new_pack.lwBleI/_new  2026-10-30 18:19:47.157069167 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           lightcraft
-Version:        0.13.0
+Version:        0.15.0
 Release:        0
 Summary:        Photo library and raw developer
 # Legal-Review-Notice: scope is the two shipped targets (lightcraft, 
lightcraft-cli)
@@ -31,7 +31,8 @@
 # CDLA-Permissive-2.0 (model downloads over HTTPS); plus MIT/BSD-2-Clause/
 # BSD-3-Clause/ISC/Zlib permissive crates. self_cell 1.3.0 declares
 # Apache-2.0 OR GPL-2.0-only; the build takes the Apache-2.0 option, so no GPL
-# obligation is incurred. docs/brand (trademarked, not open source) is excluded
+# obligation is incurred. dunce 1.0.5 (via craft-update) declares CC0-1.0 OR
+# MIT-0 OR Apache-2.0; the build likewise takes Apache-2.0. docs/brand 
(trademarked, not open source) is excluded
 # from the tarball via the tar_scm exclude and is never installed. The heif
 # feature pulls in only the pure-Rust heic-rs 0.1.4 crate (no C, no system
 # library); HEVC patent comfort is still open -- this discloses the feature, it
@@ -43,9 +44,21 @@
 URL:            https://github.com/storytold/lightcraft
 Source0:        %{name}-%{version}.tar.zst
 Source1:        vendor.tar.zst
+# PATCH-FIX-OPENSUSE lightcraft-no-self-update.patch -- distro builds
+# must not phone home at startup nor offer to install an upstream release
+# over RPM-owned files (the package manager owns updates); the manual
+# Help check outcome window stays. Upstream behaviour as of 0.15.0, not
+# upstreamable (upstream ships self-updating intentionally).
+Patch0:         lightcraft-no-self-update.patch
+# PATCH-FIX-OPENSUSE lightcraft-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:         lightcraft-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
 BuildRequires:  hicolor-icon-theme
@@ -92,6 +105,12 @@
 # members by hand. heif matches the official builds (pure-Rust heic-rs, no
 # system library). CRAFT_FONTS_DIR stays unset: the build then uses the
 # bundled Inter plus the system CJK fallback.
+# NOTE: keep the cargo build and test macros in this spec in braced form.
+# The bare form misparses the leading dashes of the locked and feature
+# arguments in the Factory build root (staging adi:5 died at the build
+# macro with "Unknown option - in cargo_build()"); the sibling filmcraft
+# package passes the identical argument set braced and is green in the
+# same root. spec-cleaner wants to unbrace these; keep the braces anyway.
 %{cargo_build} --locked -p lightcraft -p lightcraft-cli --features heif
 
 %install
@@ -100,10 +119,10 @@
 install -Dm0644 packaging/linux/ai.storyteller.lightcraft.desktop 
%{buildroot}%{_datadir}/applications/ai.storyteller.lightcraft.desktop
 install -Dm0644 packaging/linux/ai.storyteller.lightcraft.mime.xml 
%{buildroot}%{_datadir}/mime/packages/ai.storyteller.lightcraft.xml
 install -d -m 0755 %{buildroot}%{_datadir}/metainfo
-# Fixed upstream release date (v0.13.0, 2026-10-23): a build-time date would
+# Fixed upstream release date (v0.15.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-23/g" 
packaging/linux/ai.storyteller.lightcraft.metainfo.xml.in > 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.lightcraft.metainfo.xml
+sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-28/g" 
packaging/linux/ai.storyteller.lightcraft.metainfo.xml.in > 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.lightcraft.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.lightcraft</icon>|<icon 
type="cached" width="64" height="64">ai.storyteller.lightcraft.png</icon>|' 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.lightcraft.metainfo.xml

++++++ _service ++++++
--- /var/tmp/diff_new_pack.lwBleI/_old  2026-10-30 18:19:47.334076577 +0100
+++ /var/tmp/diff_new_pack.lwBleI/_new  2026-10-30 18:19:47.339076786 +0100
@@ -2,7 +2,7 @@
   <service mode="manual" name="tar_scm">
     <param name="url">https://github.com/storytold/lightcraft.git</param>
     <param name="scm">git</param>
-    <param name="revision">v0.13.0</param>
+    <param name="revision">v0.15.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ lightcraft-0.13.0.tar.zst -> lightcraft-0.15.0.tar.zst ++++++
/work/SRC/openSUSE:Factory/lightcraft/lightcraft-0.13.0.tar.zst 
/work/SRC/openSUSE:Factory/.lightcraft.new.1255/lightcraft-0.15.0.tar.zst 
differ: char 7, line 1

++++++ lightcraft-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
@@ -188,10 +188,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
@@ -8201,23 +8201,3 @@
  "syn 3.0.6",
  "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";

++++++ lightcraft-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 --git a/apps/lightcraft/src/main.rs b/apps/lightcraft/src/main.rs
@@ -267,7 +267,10 @@
                 // HDR display: SDR unless the surface, platform and display 
all allow HDR
                 hdr_display::report(cc.wgpu_render_state.as_ref().map(|r| 
r.target_format));
                 let mut app = LightcraftApp::new(session, services(cc, 
app_log_file.as_deref()));
-                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);
                 if let Some(ui) = prefs {
                     app.ui = ui;
                 }
diff --git a/crates/ui-egui/src/dialogs/updates_ui.rs 
b/crates/ui-egui/src/dialogs/updates_ui.rs
@@ -5,7 +5,7 @@
 use crate::LightcraftApp;
 
 #[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"))]
@@ -96,13 +96,10 @@
 pub(crate) fn show(app: &mut LightcraftApp, 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 = app.session.unsaved().is_none();
-        match app.updates_rt.updater.show_if(ctx, clean) {
-            Action::OpenUrl(url) => ctx.open_url(egui::OpenUrl::new_tab(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.tar.zst ++++++
/work/SRC/openSUSE:Factory/lightcraft/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.lightcraft.new.1255/vendor.tar.zst differ: char 7, 
line 1

Reply via email to