Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package flatpak-builder for openSUSE:Factory 
checked in at 2025-11-11 19:21:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/flatpak-builder (Old)
 and      /work/SRC/openSUSE:Factory/.flatpak-builder.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "flatpak-builder"

Tue Nov 11 19:21:10 2025 rev:31 rq:1317056 version:1.4.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/flatpak-builder/flatpak-builder.changes  
2025-09-24 15:25:43.287987816 +0200
+++ 
/work/SRC/openSUSE:Factory/.flatpak-builder.new.1980/flatpak-builder.changes    
    2025-11-11 19:21:42.696415046 +0100
@@ -1,0 +2,18 @@
+Fri Nov  7 19:44:20 UTC 2025 - Bjørn Lie <[email protected]>
+
+- Update to version 1.4.7:
+  + Pass --wrap-mode=nodownload to meson setup if building without
+    network for the meson buildsystem
+  + Install debug extension by default when using the --install
+    argument
+  + Support setting environment buildflags for the qmake
+    buildsystem
+  + Create a fixed alias for builddir of current module at
+    /run/active-build
+  + Set LANGUAGE to avoid AppStream output localisation
+  + Fix a compiler warning
+  + Improvements to docs and CI
+  + Start new branching policy, document maintainance and
+    versioning docs
+
+-------------------------------------------------------------------

Old:
----
  flatpak-builder-1.4.6.tar.xz

New:
----
  flatpak-builder-1.4.7.tar.xz

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

Other differences:
------------------
++++++ flatpak-builder.spec ++++++
--- /var/tmp/diff_new_pack.wZY1JH/_old  2025-11-11 19:21:43.236437664 +0100
+++ /var/tmp/diff_new_pack.wZY1JH/_new  2025-11-11 19:21:43.236437664 +0100
@@ -22,7 +22,7 @@
 %bcond_without system_debugedit
 %endif
 Name:           flatpak-builder
-Version:        1.4.6
+Version:        1.4.7
 Release:        0
 Summary:        Tool to build flatpaks from source
 License:        LGPL-2.1-or-later

++++++ flatpak-builder-1.4.6.tar.xz -> flatpak-builder-1.4.7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/Makefile.in 
new/flatpak-builder-1.4.7/Makefile.in
--- old/flatpak-builder-1.4.6/Makefile.in       2025-09-20 07:10:45.000000000 
+0200
+++ new/flatpak-builder-1.4.7/Makefile.in       2025-10-20 16:33:59.000000000 
+0200
@@ -1134,6 +1134,7 @@
        tests/org.flatpak_builder.gui.metainfo.xml \
        tests/org.flatpak.appstream_media.json \
        tests/org.test.Hello-256.png \
+       tests/org.flatpak.install_test.json \
        $(NULL)
 
 installed_test_keyringdir = $(installed_testdir)/test-keyring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/NEWS 
new/flatpak-builder-1.4.7/NEWS
--- old/flatpak-builder-1.4.6/NEWS      2025-09-20 07:09:19.000000000 +0200
+++ new/flatpak-builder-1.4.7/NEWS      2025-10-20 16:33:40.000000000 +0200
@@ -1,3 +1,15 @@
+Changes in 1.4.7
+================
+
+* Pass `--wrap-mode=nodownload` to `meson setup` if building without network 
for the meson buildsystem
+* Install debug extension by default when using the `--install` argument
+* Support setting environment buildflags for the qmake buildsystem
+* Create a fixed alias for builddir of current module at `/run/active-build`
+* Set LANGUAGE to avoid AppStream output localisation
+* Fix a compiler warning
+* Improvements to docs and CI
+* Start new branching policy, document maintainance and versioning docs
+
 Changes in 1.4.6
 ================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/README.md 
new/flatpak-builder-1.4.7/README.md
--- old/flatpak-builder-1.4.6/README.md 2025-09-20 07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/README.md 2025-10-20 16:33:17.000000000 +0200
@@ -8,7 +8,7 @@
 
 For information on the manifest format see `man flatpak-manifest`. A JSON 
Schema for this format is [available 
here](https://github.com/flatpak/flatpak-builder/blob/main/data/flatpak-manifest.schema.json).
 
-To use the JSON schema, in [an editor with 
support](https://code.visualstudio.com/docs/languages/json) for schemas, you 
can include this line in your manifest: 
+To use the JSON schema, in [an editor with 
support](https://code.visualstudio.com/docs/languages/json) for schemas, you 
can include this line in your manifest:
 
 ```json
   "$schema": 
"https://raw.githubusercontent.com/flatpak/flatpak-builder/main/data/flatpak-manifest.schema.json";
@@ -26,6 +26,31 @@
 
 Configure arguments are documented in `meson_options.txt`.
 
+# Versioning Policy
+
+Flatpak Builder, like Flatpak, follows the GLib-style versioning policy,
+where the version is formatted as `MAJOR.MINOR.PATCH`. The `MAJOR`
+version is currently set to `1`.
+
+- Odd `MINOR` versions indicate an unstable release.
+- Even `MINOR` versions indicate a stable release.
+
+Stable releases are limited to bug fixes and minor, non-breaking
+improvements. Each stable release line is maintained on a dedicated
+`flatpak-builder-1.MINOR.x` branch.
+
+At any given time, only one unstable release line and only one stable
+release line are supported.
+
+## Supported versions
+
+The currently supported release lines are:
+
+| Release line | Supported          | Status              |
+| -------------| ------------------ | --------------------|
+| 1.5.x        | Yes                | Development branch  |
+| 1.4.x        | Yes                | Stable branch       |
+
 ## Runtime dependencies
 
 The `flatpak-builder` tool requires `flatpak` being available on the host to
@@ -48,3 +73,7 @@
  * rpm2cpio & cpio
  * svn
  * bzr
+
+# Maintainance docs
+
+Please see the [maintainance 
docs](https://github.com/flatpak/flatpak-builder/blob/main/MAINT.md).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/configure 
new/flatpak-builder-1.4.7/configure
--- old/flatpak-builder-1.4.6/configure 2025-09-20 07:10:44.000000000 +0200
+++ new/flatpak-builder-1.4.7/configure 2025-10-20 16:33:59.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for flatpak-builder 1.4.6.
+# Generated by GNU Autoconf 2.72 for flatpak-builder 1.4.7.
 #
 # Report bugs to <https://github.com/flatpak/flatpak-builder/issues>.
 #
@@ -614,8 +614,8 @@
 # Identity of this package.
 PACKAGE_NAME='flatpak-builder'
 PACKAGE_TARNAME='flatpak-builder'
-PACKAGE_VERSION='1.4.6'
-PACKAGE_STRING='flatpak-builder 1.4.6'
+PACKAGE_VERSION='1.4.7'
+PACKAGE_STRING='flatpak-builder 1.4.7'
 PACKAGE_BUGREPORT='https://github.com/flatpak/flatpak-builder/issues'
 PACKAGE_URL='http://flatpak.org/'
 
@@ -1443,7 +1443,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-'configure' configures flatpak-builder 1.4.6 to adapt to many kinds of systems.
+'configure' configures flatpak-builder 1.4.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1514,7 +1514,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of flatpak-builder 1.4.6:";;
+     short | recursive ) echo "Configuration of flatpak-builder 1.4.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1672,7 +1672,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-flatpak-builder configure 1.4.6
+flatpak-builder configure 1.4.7
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2033,7 +2033,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by flatpak-builder $as_me 1.4.6, which was
+It was created by flatpak-builder $as_me 1.4.7, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -15154,7 +15154,7 @@
 
 # Define the identity of the package.
  PACKAGE='flatpak-builder'
- VERSION='1.4.6'
+ VERSION='1.4.7'
 
 
 # Some tools Automake needs.
@@ -19370,7 +19370,7 @@
   fi
 
 
-FLATPAK_BUILDER_VERSION=1.4.6
+FLATPAK_BUILDER_VERSION=1.4.7
 
 
 ac_config_files="$ac_config_files Makefile data/Makefile doc/Makefile 
doc/flatpak-builder-docs.xml"
@@ -19951,7 +19951,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by flatpak-builder $as_me 1.4.6, which was
+This file was extended by flatpak-builder $as_me 1.4.7, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20020,7 +20020,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-flatpak-builder config.status 1.4.6
+flatpak-builder config.status 1.4.7
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/configure.ac 
new/flatpak-builder-1.4.7/configure.ac
--- old/flatpak-builder-1.4.6/configure.ac      2025-09-20 07:09:19.000000000 
+0200
+++ new/flatpak-builder-1.4.7/configure.ac      2025-10-20 16:33:40.000000000 
+0200
@@ -2,7 +2,7 @@
 
 m4_define([flatpak_builder_major_version], [1])
 m4_define([flatpak_builder_minor_version], [4])
-m4_define([flatpak_builder_micro_version], [6])
+m4_define([flatpak_builder_micro_version], [7])
 m4_define([flatpak_builder_version],
           
[flatpak_builder_major_version.flatpak_builder_minor_version.flatpak_builder_micro_version])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/doc/flatpak-builder.xml 
new/flatpak-builder-1.4.7/doc/flatpak-builder.xml
--- old/flatpak-builder-1.4.6/doc/flatpak-builder.xml   2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/doc/flatpak-builder.xml   2025-10-20 
16:33:17.000000000 +0200
@@ -542,6 +542,26 @@
                 <listitem><para>
                   When downloading sources (archives, files, git, bzr, svn), 
look in this
                   directory for pre-existing copies and use them instead of 
downloading.
+                  The directory must match the state directory structure:
+                  <itemizedlist>
+                    <listitem>
+                        <para>Files and archives must be inside the folder: 
<filename>downloads/&lt;sha256&gt;/</filename></para>
+                    </listitem>
+                    <listitem>
+                        <para>
+                            Sources of type <literal>git</literal>, 
<literal>bzr</literal> and <literal>svn</literal>
+                            must be inside the folder: 
<filename>&lt;type&gt;/&lt;converted-uri&gt;/</filename>
+                        </para>
+                    </listitem>
+                  </itemizedlist>
+                  The <literal>converted-uri</literal> is constructed from 
<literal>path</literal> or <literal>url</literal> (in case of 
<literal>git</literal>)
+                  and from <literal>url</literal> (in case of 
<literal>bzr</literal> and <literal>svn</literal>). <literal>://</literal> is 
converted to a single
+                  underscore and every other <literal>/</literal> is replaced 
by an underscore. For example, 
<literal>https://github.com/user/repo.git</literal>
+                  becomes <literal>https_github.com_user_repo.git</literal>.
+
+                  In case of <literal>svn</literal> sources if 
<literal>revision</literal> is present, the folder name is
+                  
<filename>svn/&lt;converted-uri&gt;__r&lt;revision&gt;/</filename>. In case of 
<literal>git</literal>
+                  sources, it needs to be a mirrored clone.
                 </para></listitem>
             </varlistentry>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/doc/flatpak-manifest.xml 
new/flatpak-builder-1.4.7/doc/flatpak-manifest.xml
--- old/flatpak-builder-1.4.6/doc/flatpak-manifest.xml  2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/doc/flatpak-manifest.xml  2025-10-20 
16:33:17.000000000 +0200
@@ -61,15 +61,14 @@
                 <varlistentry>
                     <term><option>branch</option> (string)</term>
                     <listitem><para>The branch to use when exporting
-                    the application. If this is unset the defaults
-                    come from the default-branch option.</para>
+                    the application. If this is unset the default
+                    comes from the default-branch option.</para>
                     <para>This key overrides both the default-branch
                     key, and the --default-branch commandline
                     option. Unless you need a very specific branchname
                     (like for a runtime or an extension) it is
-                    recommended to use the default-branch key instead, because
-                    you can then override the default using --default-branch 
when
-                    building for instance a test build.</para></listitem>
+                    recommended to use the default-branch key instead, as
+                    that can be overridden by the --default-branch 
option.</para></listitem>
                 </varlistentry>
                 <varlistentry>
                     <term><option>default-branch</option> (string)</term>
@@ -84,7 +83,7 @@
                     <listitem><para>The collection ID of the repository,
                     defaults to being unset. Setting a globally
                     unique collection ID allows the apps in the repository to 
be shared over
-                    peer to peer systems without needing further configuration.
+                    peer-to-peer systems without needing further configuration.
                     If building in an existing repository, the collection ID
                     must match the existing configured collection ID for that
                     repository.</para></listitem>
@@ -134,7 +133,7 @@
                     <term><option>command</option> (string)</term>
                     <listitem><para>
                         The filename or path to the main binary of the 
application. Note that this
-                        is really just a single file, not a commandline. If 
you want to pass arguments,
+                        must be a single executable, not a commandline or an 
absolute path. If you want to pass arguments,
                         install a shell script wrapper and use that as the 
command.
                     </para><para>
                         Also note that the command is used when the 
application is run via
@@ -387,7 +386,7 @@
                 </varlistentry>
                 <varlistentry>
                     <term><option>secret-env</option> (array of strings)</term>
-                    <listitem><para>This is a array defining which host 
environment variables is transfered to build-commands or post-install 
environment.</para></listitem>
+                    <listitem><para>This is an array defining which host 
environment variables are transfered to the build-commands or post-install 
environment.</para></listitem>
                 </varlistentry>
                 <varlistentry>
                     <term><option>build-args</option> (array of strings)</term>
@@ -404,8 +403,8 @@
                 <varlistentry>
                     <term><option>secret-opts</option> (array of 
strings)</term>
                     <listitem><para>This is an array of options that will be 
passed to
-                    configure, meant to be used to pass secrets through host 
environment variables. Put
-                    the option with an environment variables and will be 
resolved beforehand. '-DSECRET_ID=$CI_SECRET'</para></listitem>
+                    configure. This is meant to be used to pass secrets 
through host environment variables.
+                    Environment variables in the options will be expanded. 
'-DSECRET_ID=$CI_SECRET'</para></listitem>
                 </varlistentry>
                 <varlistentry>
                     <term><option>make-args</option> (array of strings)</term>
@@ -421,24 +420,24 @@
                 </varlistentry>
                 <varlistentry>
                     <term><option>no-debuginfo</option> (boolean)</term>
-                    <listitem><para>By default (if strip is not true) 
flatpak-builder extracts all debug info in ELF files to a separate files
-                    and puts this in an extension. If you want to disable 
this, set no-debuginfo to true.</para></listitem>
+                    <listitem><para>By default (if strip is not true) 
flatpak-builder extracts all debug info in ELF files to separate files
+                    and puts them into an extension. If you want to disable 
this, set no-debuginfo to true.</para></listitem>
                 </varlistentry>
                 <varlistentry>
                     <term><option>no-debuginfo-compression</option> 
(boolean)</term>
-                    <listitem><para>By default when extracting debuginfo we 
compress the debug sections. If you want to disable this, set 
no-debuginfo-compression to true.</para></listitem>
+                    <listitem><para>By default when extracting debuginfo the 
debug sections are compressed. If you want to disable this, set 
no-debuginfo-compression to true.</para></listitem>
                 </varlistentry>
                 <varlistentry>
                     <term><option>arch</option> (object)</term>
-                    <listitem><para>This is a dictionary defining for each 
arch a separate build options object that override the main 
one.</para></listitem>
+                    <listitem><para>This is a dictionary defining a separate 
build options object for each arch, to override the main build 
options.</para></listitem>
                 </varlistentry>
             </variablelist>
         </refsect2>
         <refsect2>
             <title>Extension</title>
             <para>
-              Extension define extension points in the app/runtime that can be 
implemented by extensions, supplying extra files
-              which are available during runtime..
+              Defines extension points in the app or runtime that can be 
implemented by extensions,
+              supplying extra files which are available during runtime.
             </para>
             <para>
                 These are the properties that are accepted:
@@ -462,7 +461,7 @@
                 <varlistentry>
                     <term><option>remove-after-build</option> (boolean)</term>
                     <listitem><para>If this is true, the extension is
-                    removed during when finishing. This is only
+                    removed when finishing. This is only
                     interesting for extensions in the
                     add-build-extensions property.</para></listitem>
                 </varlistentry>
@@ -1024,7 +1023,8 @@
           <filename>build/$modulename-$count</filename> in the state dir 
(which is typically <filename>.flatpak-builder/</filename>).
           Additionally there is a symlink 
<filename>build/$modulename</filename> to the latest version.
           In order to generate reproducible builds this directory is also 
mounted as <filename>/run/build/$modulename</filename>
-          in the sandbox (or 
<filename>/run/build-runtime/$modulename</filename> when building runtimes).
+          in the sandbox (or 
<filename>/run/build-runtime/$modulename</filename> when building runtimes) and 
also as
+          <filename>/run/active-build</filename> since 1.4.7.
           This is used as current working directory for all build ops.
         </para>
         <para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/meson.build 
new/flatpak-builder-1.4.7/meson.build
--- old/flatpak-builder-1.4.6/meson.build       2025-09-20 07:09:19.000000000 
+0200
+++ new/flatpak-builder-1.4.7/meson.build       2025-10-20 16:33:40.000000000 
+0200
@@ -3,7 +3,7 @@
   'c',
   license: 'LGPL-2.1-or-later',
   meson_version: '>= 0.56.2',
-  version: '1.4.6',
+  version: '1.4.7',
   default_options: 'c_std=gnu99',
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-main.c 
new/flatpak-builder-1.4.7/src/builder-main.c
--- old/flatpak-builder-1.4.6/src/builder-main.c        2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-main.c        2025-10-20 
16:33:17.000000000 +0200
@@ -107,7 +107,7 @@
   { "disable-updates", 0, 0, G_OPTION_ARG_NONE, &opt_disable_updates, "Only 
download missing sources, never update to latest vcs version", NULL },
   { "download-only", 0, 0, G_OPTION_ARG_NONE, &opt_download_only, "Only 
download sources, don't build", NULL },
   { "bundle-sources", 0, 0, G_OPTION_ARG_NONE, &opt_bundle_sources, "Bundle 
module sources as runtime", NULL },
-  { "extra-sources", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_sources_dirs, "Add 
a directory of sources specified by SOURCE-DIR, multiple uses of this option 
possible", "SOURCE-DIR"},
+  { "extra-sources", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_sources_dirs, "Add 
an extra source directory with state directory structure. The option can be 
repeated", "SOURCE-DIR"},
   { "extra-sources-url", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_sources_urls, 
"Add a url of sources specified by SOURCE-URL multiple uses of this option 
possible", "SOURCE-URL"},
   { "build-only", 0, 0, G_OPTION_ARG_NONE, &opt_build_only, "Stop after build, 
don't run clean and finish phases", NULL },
   { "finish-only", 0, 0, G_OPTION_ARG_NONE, &opt_finish_only, "Only run clean 
and finish and export phases", NULL },
@@ -345,7 +345,7 @@
 static gboolean
 do_install (BuilderContext *build_context,
             const gchar    *repodir,
-            const gchar    *id,
+            GPtrArray      *manifest_ids,
             const gchar    *branch,
             GError        **error)
 {
@@ -369,11 +369,15 @@
     g_ptr_array_add (args, g_strdup ("--noninteractive"));
   g_ptr_array_add (args, g_strdup ("--reinstall"));
 
-  ref = flatpak_build_untyped_ref (id, branch,
-                                   builder_context_get_arch (build_context));
-
   g_ptr_array_add (args, g_strdup (repodir));
-  g_ptr_array_add (args, g_strdup (ref));
+
+  for (size_t i = 0; i < manifest_ids->len; i++)
+    {
+      const gchar *id = g_ptr_array_index (manifest_ids, i);
+      ref = flatpak_build_untyped_ref (id, branch,
+                                       builder_context_get_arch 
(build_context));
+      g_ptr_array_add (args, g_strdup (ref));
+    }
 
   g_ptr_array_add (args, NULL);
 
@@ -477,6 +481,7 @@
   gboolean is_show_manifest = FALSE;
   gboolean app_dir_is_empty = FALSE;
   gboolean prune_unused_stages = FALSE;
+  gboolean debug_exported = FALSE;
   g_autoptr(FlatpakContext) arg_context = NULL;
   g_autoptr(FlatpakTempDir) cleanup_manifest_dir = NULL;
   g_autofree char *manifest_basename = NULL;
@@ -1152,6 +1157,7 @@
               g_printerr ("Export failed: %s\n", error->message);
               return 1;
             }
+          debug_exported = TRUE;
         }
 
       for (l = builder_manifest_get_add_extensions (manifest); l != NULL; l = 
l->next)
@@ -1275,23 +1281,35 @@
         g_printerr ("NOTE: No export due to --require-changes, ignoring 
--install\n");
       else
         {
+          g_autoptr(GPtrArray) manifest_ids = g_ptr_array_new_with_free_func 
(g_free);
+          g_ptr_array_add (manifest_ids, g_strdup (builder_manifest_get_id 
(manifest)));
+
+          if (debug_exported)
+            g_ptr_array_add (manifest_ids, builder_manifest_get_debug_id 
(manifest));
+
           if (!do_install (build_context, flatpak_file_get_path_cached 
(export_repo),
-                           builder_manifest_get_id (manifest),
+                           manifest_ids,
                            builder_manifest_get_branch (manifest, 
build_context),
                            &error))
             {
               g_printerr ("Install failed: %s\n", error->message);
               return 1;
             }
-          if (builder_manifest_get_id_platform (manifest) &&
-              (!do_install (build_context, flatpak_file_get_path_cached 
(export_repo),
-                            builder_manifest_get_id_platform (manifest),
-                            builder_manifest_get_branch (manifest, 
build_context),
-                            &error)))
-              {
-                g_printerr ("Install failed: %s\n", error->message);
-                return 1;
-              }
+
+          if (builder_manifest_get_id_platform (manifest))
+            {
+              g_autoptr(GPtrArray) platform_ids = 
g_ptr_array_new_with_free_func (g_free);
+              g_ptr_array_add (platform_ids, g_strdup 
(builder_manifest_get_id_platform (manifest)));
+
+              if (!do_install (build_context, flatpak_file_get_path_cached 
(export_repo),
+                              platform_ids,
+                              builder_manifest_get_branch (manifest, 
build_context),
+                              &error))
+                {
+                  g_printerr ("Install failed: %s\n", error->message);
+                  return 1;
+                }
+            }
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-manifest.c 
new/flatpak-builder-1.4.7/src/builder-manifest.c
--- old/flatpak-builder-1.4.6/src/builder-manifest.c    2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-manifest.c    2025-10-20 
16:33:17.000000000 +0200
@@ -2343,7 +2343,7 @@
            g_str_has_prefix (source_name + strlen (self->rename_icon), 
"-symbolic.")))
         {
           const char *extension = source_name + strlen (self->rename_icon);
-          g_autofree char *new_name;
+          g_autofree char *new_name = NULL;
           int res;
           if (!prefix)
             new_name = g_strconcat (self->id, extension, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-module.c 
new/flatpak-builder-1.4.7/src/builder-module.c
--- old/flatpak-builder-1.4.6/src/builder-module.c      2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-module.c      2025-10-20 
16:33:17.000000000 +0200
@@ -1256,6 +1256,8 @@
     g_ptr_array_add (args, g_strdup_printf ("--bind-mount=%s=%s", 
source_dir_path, source_dir_path_canonical));
 
   g_ptr_array_add (args, g_strdup_printf ("--bind-mount=%s%s=%s", builddir, 
module_name, source_dir_path_canonical));
+  g_ptr_array_add (args, g_strdup_printf ("--bind-mount=/run/active-build=%s", 
source_dir_path_canonical));
+
   if (cwd_subdir)
     g_ptr_array_add (args, g_strdup_printf ("--build-dir=%s%s/%s", builddir, 
module_name, cwd_subdir));
   else
@@ -1747,8 +1749,12 @@
   g_autofree char *n_jobs = NULL;
   const char *make_cmd = NULL;
   const char *test_arg = NULL;
+  const char *cflags = NULL;
+  const char *cxxflags = NULL;
+  const char *ldflags = NULL;
 
   gboolean autotools = FALSE, cmake = FALSE, cmake_ninja = FALSE, meson = 
FALSE, simple = FALSE, qmake = FALSE;
+  gboolean build_has_network = FALSE;
   g_autoptr(GFile) configure_file = NULL;
   g_autoptr(GFile) build_dir = NULL;
   g_autofree char *build_dir_relative = NULL;
@@ -1791,7 +1797,12 @@
   if (build_args == NULL)
     return FALSE;
 
+  build_has_network = builder_options_build_has_network (build_args);
+
   env = builder_options_get_env (self->build_options, context);
+  cflags  = g_environ_getenv (env, "CFLAGS");
+  cxxflags = g_environ_getenv (env, "CXXFLAGS");
+  ldflags  = g_environ_getenv (env, "LDFLAGS");
   config_opts = builder_options_get_config_opts (self->build_options, context, 
self->config_opts);
   secret_opts = builder_options_get_secret_opts (self->build_options, context, 
self->secret_opts);
   secret_env = builder_options_get_secret_env (self->build_options, context, 
self->secret_env);
@@ -2012,6 +2023,17 @@
         {
           /* Meson's setup command is now meson setup */
           g_ptr_array_add (configure_args_arr, g_strdup ("setup"));
+         /*
+          * When project dependencies are absent, Meson by default tries
+          * to initialise fallbacks and attempts to download them over
+          * the network, returning a potentially misleading error
+          * message.
+          *
+          * Setting wrap-mode to `nodownload` instructs Meson to not try
+          * to use the network to fetch any resources
+          */
+          if (!build_has_network)
+            g_ptr_array_add (configure_args_arr, g_strdup 
("--wrap-mode=nodownload"));
         }
 
       if (cmake || cmake_ninja)
@@ -2027,6 +2049,12 @@
       else if (qmake)
         {
           g_ptr_array_add (configure_args_arr, g_strdup_printf ("PREFIX='%s'", 
prefix));
+          if (cflags)
+            g_ptr_array_add (configure_args_arr, g_strdup_printf 
("QMAKE_CFLAGS+=%s", cflags));
+          if (cxxflags)
+            g_ptr_array_add (configure_args_arr, g_strdup_printf 
("QMAKE_CXXFLAGS+=%s", cxxflags));
+          if (ldflags)
+            g_ptr_array_add (configure_args_arr, g_strdup_printf 
("QMAKE_LFLAGS+=%s", ldflags));
           /* TODO: What parameter for qmake? */
         }
       else if (meson)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-options.c 
new/flatpak-builder-1.4.7/src/builder-options.c
--- old/flatpak-builder-1.4.6/src/builder-options.c     2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-options.c     2025-10-20 
16:33:17.000000000 +0200
@@ -1236,6 +1236,36 @@
   return (char **) g_ptr_array_free (g_steal_pointer (&array), FALSE);
 }
 
+gboolean
+builder_options_build_has_network (char **build_args)
+{
+  gboolean has_network = FALSE;
+
+  if (!build_args)
+    return FALSE;
+
+  /*
+   * The last arg passed to flatpak build wins:
+   *
+   *   --unshare=network --share=network  -> network enabled
+   *   --share=network --unshare=network  -> network disabled
+   *
+   * So we iterate through the entire list
+   */
+
+  for (size_t i = 0; build_args[i]; i++)
+    {
+      const char *arg = build_args[i];
+
+      if (g_strcmp0 (arg, "--unshare=network") == 0)
+        has_network = FALSE;
+      else if (g_strcmp0 (arg, "--share=network") == 0)
+        has_network = TRUE;
+    }
+
+  return has_network;
+}
+
 char **
 builder_options_get_test_args (BuilderOptions *self,
                                BuilderContext *context,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-options.h 
new/flatpak-builder-1.4.7/src/builder-options.h
--- old/flatpak-builder-1.4.6/src/builder-options.h     2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-options.h     2025-10-20 
16:33:17.000000000 +0200
@@ -81,6 +81,7 @@
                                                          BuilderContext 
*context);
 gboolean    builder_options_get_strip (BuilderOptions *self,
                                        BuilderContext *context);
+gboolean builder_options_build_has_network (char **build_args);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC (BuilderOptions, g_object_unref)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/src/builder-utils.c 
new/flatpak-builder-1.4.7/src/builder-utils.c
--- old/flatpak-builder-1.4.6/src/builder-utils.c       2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/src/builder-utils.c       2025-10-20 
16:33:17.000000000 +0200
@@ -1852,11 +1852,14 @@
       as_micro == 0)
     {
       const char * argv[] = { "appstreamcli", "--version", NULL };
+      g_autoptr(GSubprocessLauncher) launcher = NULL;
       g_autoptr(GSubprocess) subp = NULL;
       g_autofree char *out = NULL;
       g_auto(GStrv) lines = NULL;
 
-      subp = g_subprocess_newv (argv, G_SUBPROCESS_FLAGS_STDOUT_PIPE, NULL);
+      launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE);
+      g_subprocess_launcher_setenv (launcher, "LANGUAGE", "C", TRUE);
+      subp = g_subprocess_launcher_spawnv (launcher, argv, NULL);
       g_subprocess_communicate_utf8 (subp, NULL, NULL, &out, NULL, NULL);
 
       lines = g_strsplit (out, "\n", -1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/tests/Makefile.am.inc 
new/flatpak-builder-1.4.7/tests/Makefile.am.inc
--- old/flatpak-builder-1.4.6/tests/Makefile.am.inc     2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/tests/Makefile.am.inc     2025-10-20 
16:33:17.000000000 +0200
@@ -63,6 +63,7 @@
        tests/org.flatpak_builder.gui.metainfo.xml \
        tests/org.flatpak.appstream_media.json \
        tests/org.test.Hello-256.png \
+       tests/org.flatpak.install_test.json \
        $(NULL)
 
 installed_test_keyringdir = $(installed_testdir)/test-keyring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/tests/libtest.sh 
new/flatpak-builder-1.4.7/tests/libtest.sh
--- old/flatpak-builder-1.4.6/tests/libtest.sh  2025-09-20 07:08:26.000000000 
+0200
+++ new/flatpak-builder-1.4.7/tests/libtest.sh  2025-10-20 16:33:17.000000000 
+0200
@@ -316,7 +316,7 @@
 
     maj=0; min=0; mic=0
 
-    out=$(appstreamcli --version 2>/dev/null) || return 1
+    out=$(LANGUAGE=C appstreamcli --version 2>/dev/null) || return 1
 
     while IFS= read -r line; do
         case "$line" in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/tests/meson.build 
new/flatpak-builder-1.4.7/tests/meson.build
--- old/flatpak-builder-1.4.6/tests/meson.build 2025-09-20 07:08:26.000000000 
+0200
+++ new/flatpak-builder-1.4.7/tests/meson.build 2025-10-20 16:33:17.000000000 
+0200
@@ -110,6 +110,7 @@
     'org.flatpak_builder.gui.metainfo.xml',
     'org.flatpak.appstream_media.json',
     'org.test.Hello-256.png',
+    'org.flatpak.install_test.json',
 
     install_dir: installed_testdir,
     install_mode: 'rw-r--r--',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/flatpak-builder-1.4.6/tests/org.flatpak.install_test.json 
new/flatpak-builder-1.4.7/tests/org.flatpak.install_test.json
--- old/flatpak-builder-1.4.6/tests/org.flatpak.install_test.json       
1970-01-01 01:00:00.000000000 +0100
+++ new/flatpak-builder-1.4.7/tests/org.flatpak.install_test.json       
2025-10-20 16:33:17.000000000 +0200
@@ -0,0 +1,27 @@
+{
+    "id": "org.flatpak.install_test",
+    "runtime": "org.test.Platform",
+    "sdk": "org.test.Sdk",
+    "command": "hello",
+    "modules": [
+        {
+            "name": "install_test",
+            "buildsystem": "simple",
+            "build-commands": [
+                "mkdir -p ${FLATPAK_DEST}/bin ${FLATPAK_DEST}/lib/debug 
${FLATPAK_DEST}/share/locale/es",
+                "cp -vf hello.sh ${FLATPAK_DEST}/bin/hello",
+                "echo foo > ${FLATPAK_DEST}/lib/debug/hello.debug",
+                "echo foo > ${FLATPAK_DEST}/share/locale/es/hello.mo"
+            ],
+            "sources": [
+                {
+                    "type": "script",
+                    "dest-filename": "hello.sh",
+                    "commands": [
+                        "echo \"Hello world, from a sandbox\""
+                    ]
+                }
+            ]
+        }
+    ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flatpak-builder-1.4.6/tests/test-builder.sh 
new/flatpak-builder-1.4.7/tests/test-builder.sh
--- old/flatpak-builder-1.4.6/tests/test-builder.sh     2025-09-20 
07:08:26.000000000 +0200
+++ new/flatpak-builder-1.4.7/tests/test-builder.sh     2025-10-20 
16:33:17.000000000 +0200
@@ -23,7 +23,7 @@
 
 skip_without_fuse
 
-echo "1..10"
+echo "1..11"
 
 setup_repo
 install_repo
@@ -55,6 +55,7 @@
 cp $(dirname $0)/org.test.Hello.png .
 cp $(dirname $0)/org.test.Hello-256.png .
 cp $(dirname $0)/org.flatpak.appstream_media.json .
+cp $(dirname $0)/org.flatpak.install_test.json .
 mkdir include1
 cp $(dirname $0)/module1.json include1/
 cp $(dirname $0)/module1.yaml include1/
@@ -173,3 +174,13 @@
 else
     echo "ok # Skip AppStream < 0.16.3"
 fi
+
+# test install
+${FLATPAK_BUILDER} --user --install \
+    --force-clean builddir org.flatpak.install_test.json >&2
+REFS=$(flatpak list --all --columns=ref 2>/dev/null)
+echo "$REFS" | grep -q "org\.flatpak\.install_test"
+echo "$REFS" | grep -q "org\.flatpak\.install_test\.Debug"
+echo "$REFS" | grep -q "org\.flatpak\.install_test\.Locale"
+
+echo "ok install"

Reply via email to