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/<sha256>/</filename></para>
+ </listitem>
+ <listitem>
+ <para>
+ Sources of type <literal>git</literal>,
<literal>bzr</literal> and <literal>svn</literal>
+ must be inside the folder:
<filename><type>/<converted-uri>/</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/<converted-uri>__r<revision>/</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"