Script 'mail_helper' called by obssrc
Hello community,

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

Package is "filmcraft"

Fri Oct 30 18:11:47 2026 rev:2 rq:1393715 version:0.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/filmcraft/filmcraft.changes      2026-10-28 
21:10:24.671761177 +0100
+++ /work/SRC/openSUSE:Factory/.filmcraft.new.1255/filmcraft.changes    
2026-10-30 18:19:04.319275893 +0100
@@ -1,0 +2,39 @@
+Thu Oct 29 12:41:50 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.14.0 (upstream tags v0.14.0, 2026-10-28 and
+  v0.13.0, 2026-10-25):
+  * Interface: migrated to egui 0.37, new startup update prompt,
+    XWayland file drag-and-drop on Wayland, work area bar, Razor
+    and Option-drag caption editing, captions list follows the
+    playhead, duplicate-frame markers, transparency grid, complete
+    French translation, Fujifilm F-Log colour spaces
+  * Media: uncompressed QuickTime video decodes, animated WebP
+    imports, PNG sequences honour the alpha toggle, export CPU
+    thread cap (maxThreads), H.264 export a fifth faster with
+    byte-identical output, TTML/DFXP overflow fix, stricter
+    timecode, colour-hex and parameter-range validation
+  * Harden parsers against hostile input (no CVE assigned):
+    bounded frame/render/image allocations across AV1, HEVC,
+    MPEG-2, VP8/VP9, ProRes, DNx, APV, AVIs, Ogg, MXF, OMF, AAF,
+    TTML/TTS text, captions burn-in, interchange indices and
+    stored-media filesystem confinement; new fuzz tests
+  * Many more fixes and improvements; see upstream's release notes
+    for the full list
+  * Re-vendored with update=false against the new Cargo.lock
+    (respect-lockfile true): licence re-derived over the shipped
+    targets, no new copyleft (new crates MIT, Apache-2.0 or
+    Unicode-3.0 only), so the tag and Legal-Review-Notice stand;
+    no new system deps, MSRV still 1.95; cargo_vendor audit clean
+    (no RUSTSEC advisories)
+  * Add filmcraft-drop-unused-egui-patches.patch: drop four
+    unused [patch.crates-io] pins the vendor omits, which broke
+    the offline build; [[package]] set unchanged
+- filmcraft-no-brand-assets.patch still applies unchanged
+  (no fuzz);
+  no new docs/brand references in the 0.14.0 tree
+- Bump the fixed metainfo release date to 2026-10-28
+- Add filmcraft-no-self-update.patch: distro builds must not phone
+  home at startup nor install an upstream release over RPM-owned
+  files; the manual Help check outcome window stays
+
+-------------------------------------------------------------------

Old:
----
  filmcraft-0.12.0.tar.zst

New:
----
  filmcraft-0.14.0.tar.zst
  filmcraft-drop-unused-egui-patches.patch
  filmcraft-no-self-update.patch

----------(New B)----------
  New:    (no RUSTSEC advisories)
  * Add filmcraft-drop-unused-egui-patches.patch: drop four
    unused [patch.crates-io] pins the vendor omits, which broke
  New:- Bump the fixed metainfo release date to 2026-10-28
- Add filmcraft-no-self-update.patch: distro builds must not phone
  home at startup nor install an upstream release over RPM-owned
----------(New E)----------

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

Other differences:
------------------
++++++ filmcraft.spec ++++++
--- /var/tmp/diff_new_pack.Rax356/_old  2026-10-30 18:19:07.695417225 +0100
+++ /var/tmp/diff_new_pack.Rax356/_new  2026-10-30 18:19:07.699417392 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           filmcraft
-Version:        0.12.0
+Version:        0.14.0
 Release:        0
 Summary:        Timeline video editor written in pure Rust
 # Legal-Review-Notice: scope is the two shipped binaries (filmcraft in
@@ -48,6 +48,18 @@
 # with the open-source FilmCraft tile; permanent downstream carry, not
 # upstreamable (upstream ships the marks intentionally).
 Patch0:         filmcraft-no-brand-assets.patch
+# PATCH-FIX-OPENSUSE filmcraft-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:         filmcraft-drop-unused-egui-patches.patch
+# PATCH-FIX-OPENSUSE filmcraft-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. New upstream behaviour in 0.14.0, not
+# upstreamable (upstream ships the machinery intentionally).
+Patch2:         filmcraft-no-self-update.patch
 BuildRequires:  appstream-glib
 BuildRequires:  c_compiler
 BuildRequires:  cargo >= 1.95
@@ -116,10 +128,10 @@
 install -Dm0644 packaging/linux/ai.storyteller.filmcraft.desktop 
%{buildroot}%{_datadir}/applications/ai.storyteller.filmcraft.desktop
 install -Dm0644 packaging/linux/ai.storyteller.filmcraft.mime.xml 
%{buildroot}%{_datadir}/mime/packages/ai.storyteller.filmcraft.xml
 install -d -m 0755 %{buildroot}%{_datadir}/metainfo
-# Fixed upstream release date (v0.12.0, 2026-10-23): 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 would brace
 # the date-format placeholders as RPM macros, so keep this a plain string.
-sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-23/g" 
packaging/linux/ai.storyteller.filmcraft.metainfo.xml.in > 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.filmcraft.metainfo.xml
+sed -e "s/@VERSION@/%{version}/g" -e "s/@DATE@/2026-10-28/g" 
packaging/linux/ai.storyteller.filmcraft.metainfo.xml.in > 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.filmcraft.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.filmcraft</icon>|<icon 
type="cached" width="64" height="64">ai.storyteller.filmcraft.png</icon>|' 
%{buildroot}%{_datadir}/metainfo/ai.storyteller.filmcraft.metainfo.xml

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Rax356/_old  2026-10-30 18:19:07.797421495 +0100
+++ /var/tmp/diff_new_pack.Rax356/_new  2026-10-30 18:19:07.804421788 +0100
@@ -1,6 +1,6 @@
 <services>
-  <!-- FilmCraft 0.12.0: upstream tags stable releases (v0.12.0 published
-       2026-10-23, draft=false prerelease=false); pin the tag, never main.
+  <!-- FilmCraft 0.14.0: upstream tags stable releases (v0.14.0 published
+       2026-10-28, draft=false prerelease=false); pin the tag, never main.
        docs/brand/ holds the ArtCraft trademarks (LICENSE-brand.txt: forks
        must remove them), so it is excluded from the tarball and the
        trademark include_bytes! in crates/ui-egui/src/brand.rs is patched
@@ -8,7 +8,7 @@
   <service mode="manual" name="tar_scm">
     <param name="url">https://github.com/storytold/filmcraft.git</param>
     <param name="scm">git</param>
-    <param name="revision">v0.12.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>

++++++ filmcraft-0.12.0.tar.zst -> filmcraft-0.14.0.tar.zst ++++++
/work/SRC/openSUSE:Factory/filmcraft/filmcraft-0.12.0.tar.zst 
/work/SRC/openSUSE:Factory/.filmcraft.new.1255/filmcraft-0.14.0.tar.zst differ: 
char 7, line 1

++++++ filmcraft-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
@@ -170,10 +170,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
@@ -8341,23 +8341,3 @@
  "syn 3.0.6",
  "winnow 1.0.4",
 ]
-
-[[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";

++++++ filmcraft-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/filmcraft/src/main.rs b/apps/filmcraft/src/main.rs
--- a/apps/filmcraft/src/main.rs
+++ b/apps/filmcraft/src/main.rs
@@ -254,7 +254,10 @@
             }
         }
         let mut app = FilmcraftApp::new(session);
-        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);
         app.graphics_notice = notice;
         if recover == Some(false) {
             app.dialog = None;
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 @@
 use crate::FilmcraftApp;

 #[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"))]
@@ -85,13 +85,10 @@
 pub(crate) fn show(app: &mut FilmcraftApp, 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.is_dirty();
-        match app.updates_rt.updater.show_if(ctx, clean) {
-            Action::OpenUrl(url) => crate::links::open(app, ctx, &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/filmcraft/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.filmcraft.new.1255/vendor.tar.zst differ: char 7, 
line 1

Reply via email to