Initial commit
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
From 4a41bf7b050168726cc4fad4c1c72fc7c18ab779 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 15 Feb 2019 11:17:27 +0100
|
||||
Subject: [PATCH] Do not write $bindir into pkg-config files
|
||||
|
||||
This would otherwise break when using the files to build other target
|
||||
components (we need to rely on PATH containing the paths to utilities,
|
||||
rather than use target paths).
|
||||
|
||||
Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/meson.build | 16 ++++++++--------
|
||||
glib/meson.build | 6 +++---
|
||||
2 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/gio/meson.build b/gio/meson.build
|
||||
index 36b5bad..137e75a 100644
|
||||
--- a/gio/meson.build
|
||||
+++ b/gio/meson.build
|
||||
@@ -862,14 +862,14 @@ pkg.generate(libgio,
|
||||
'schemasdir=' + join_paths('${datadir}', schemas_subdir),
|
||||
'bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
'giomoduledir=' + pkgconfig_giomodulesdir,
|
||||
- 'gio=' + join_paths('${bindir}', 'gio'),
|
||||
- 'gio_querymodules=@0@'.format(pkgconfig_multiarch_bindir / 'gio-querymodules'),
|
||||
- 'glib_compile_schemas=@0@'.format(pkgconfig_multiarch_bindir / 'glib-compile-schemas'),
|
||||
- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
|
||||
- 'gdbus=' + join_paths('${bindir}', 'gdbus'),
|
||||
- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
|
||||
- 'gresource=' + join_paths('${bindir}', 'gresource'),
|
||||
- 'gsettings=' + join_paths('${bindir}', 'gsettings')],
|
||||
+ 'gio=gio',
|
||||
+ 'gio_querymodules=gio-querymodules',
|
||||
+ 'glib_compile_schemas=glib-compile-schemas',
|
||||
+ 'glib_compile_resources=glib-compile-resources',
|
||||
+ 'gdbus=gdbus',
|
||||
+ 'gdbus_codegen=gdbus-codegen',
|
||||
+ 'gresource=gresource',
|
||||
+ 'gsettings=gsettings'],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'gio-2.0',
|
||||
diff --git a/glib/meson.build b/glib/meson.build
|
||||
index c365901..c3d6601 100644
|
||||
--- a/glib/meson.build
|
||||
+++ b/glib/meson.build
|
||||
@@ -397,9 +397,9 @@ pkg.generate(libglib,
|
||||
subdirs : ['glib-2.0'],
|
||||
extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
|
||||
variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
|
||||
- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
|
||||
- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
|
||||
+ 'glib_genmarshal=glib-genmarshal',
|
||||
+ 'gobject_query=gobject-query',
|
||||
+ 'glib_mkenums=glib-mkenums'],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'glib-2.0',
|
||||
@@ -0,0 +1,31 @@
|
||||
From c94e669de98a3892c699bd8d0d2b5164b2de747e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 15 Mar 2014 22:42:29 -0700
|
||||
Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux
|
||||
|
||||
translation files are always installed under PREFIX/share/locale in uclibc
|
||||
based systems therefore lets set DATADIRNAME to "share".
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Pending
|
||||
|
||||
|
||||
---
|
||||
m4macros/glib-gettext.m4 | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4
|
||||
index df6fbf0..47db864 100644
|
||||
--- a/m4macros/glib-gettext.m4
|
||||
+++ b/m4macros/glib-gettext.m4
|
||||
@@ -293,6 +293,10 @@ msgstr ""
|
||||
CATOBJEXT=.mo
|
||||
DATADIRNAME=share
|
||||
;;
|
||||
+ *-*-musl* | *-*-linux-uclibc*)
|
||||
+ CATOBJEXT=.gmo
|
||||
+ DATADIRNAME=share
|
||||
+ ;;
|
||||
*)
|
||||
CATOBJEXT=.mo
|
||||
DATADIRNAME=lib
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
From 0015db45cd1bfefc04959dffab5dabeead93136f Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Tue, 22 Mar 2016 15:14:58 +0200
|
||||
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
|
||||
|
||||
We want to install this binary with the gio library, and debian
|
||||
renamer does not cope with library packages with files in ${bindir}
|
||||
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
---
|
||||
gio/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gio/meson.build b/gio/meson.build
|
||||
index 2ef60ed..532b086 100644
|
||||
--- a/gio/meson.build
|
||||
+++ b/gio/meson.build
|
||||
@@ -936,6 +936,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
|
||||
c_args : gio_c_args,
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
+ install_dir: glib_libexecdir,
|
||||
dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
|
||||
|
||||
glib_compile_schemas = executable('glib-compile-schemas',
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
From 4f47b8a8d650d185aa61aec2f56a283522a723c4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 12 Jun 2015 17:08:46 +0300
|
||||
Subject: [PATCH] Remove the warning about deprecated paths in schemas
|
||||
|
||||
Some schemas in gsettings-desktop-schemas (such as proxy and locale)
|
||||
are still using deprecated paths, as of 3.16.1. This causes warning
|
||||
messages, and meta/lib/oe/rootfs.py complaints about them.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/glib-compile-schemas.c | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
|
||||
index 7888120..7acbd5b 100644
|
||||
--- a/gio/glib-compile-schemas.c
|
||||
+++ b/gio/glib-compile-schemas.c
|
||||
@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state,
|
||||
return;
|
||||
}
|
||||
|
||||
- if (path && (g_str_has_prefix (path, "/apps/") ||
|
||||
- g_str_has_prefix (path, "/desktop/") ||
|
||||
- g_str_has_prefix (path, "/system/")))
|
||||
- {
|
||||
- gchar *message = NULL;
|
||||
- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. "
|
||||
- "Paths starting with "
|
||||
- "“/apps/”, “/desktop/” or “/system/” are deprecated."),
|
||||
- id, path);
|
||||
- g_printerr ("%s\n", message);
|
||||
- g_free (message);
|
||||
- }
|
||||
-
|
||||
state->schema_state = schema_state_new (path, gettext_domain,
|
||||
extends, extends_name, list_of);
|
||||
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
From ba1728bc27c88597164957d000b70ec4be6edf28 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 13 Feb 2019 15:32:05 +0100
|
||||
Subject: [PATCH] Set host_machine correctly when building with mingw32
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/tests/meson.build | 8 ++++----
|
||||
glib/tests/meson.build | 2 +-
|
||||
meson.build | 3 +++
|
||||
3 files changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
|
||||
index f644aa2..64a8684 100644
|
||||
--- a/gio/tests/meson.build
|
||||
+++ b/gio/tests/meson.build
|
||||
@@ -29,7 +29,7 @@ endif
|
||||
|
||||
test_cpp_args = test_c_args
|
||||
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
|
||||
endif
|
||||
|
||||
@@ -210,7 +210,7 @@ if have_dbus_daemon
|
||||
endif
|
||||
|
||||
# Test programs buildable on UNIX only
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_system != 'windows'
|
||||
gio_tests += {
|
||||
'file' : {},
|
||||
'gdbus-peer-object-manager' : {},
|
||||
@@ -462,7 +462,7 @@ if host_machine.system() != 'windows'
|
||||
endif # unix
|
||||
|
||||
# Test programs buildable on Windows only
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
gio_tests += {'win32-streams' : {}}
|
||||
endif
|
||||
|
||||
@@ -532,7 +532,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
|
||||
}
|
||||
endif
|
||||
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_system != 'windows'
|
||||
test_extra_programs += {
|
||||
'gdbus-example-unix-fd-client' : {
|
||||
'install' : false,
|
||||
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
|
||||
index db01b54..6950817 100644
|
||||
--- a/glib/tests/meson.build
|
||||
+++ b/glib/tests/meson.build
|
||||
@@ -188,7 +188,7 @@ if glib_conf.has('HAVE_EVENTFD')
|
||||
}
|
||||
endif
|
||||
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
if winsock2.found()
|
||||
glib_tests += {
|
||||
'gpoll' : {
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 43bb468..5f9b59c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -43,6 +43,9 @@ else
|
||||
endif
|
||||
|
||||
host_system = host_machine.system()
|
||||
+if host_system == 'mingw32'
|
||||
+ host_system = 'windows'
|
||||
+endif
|
||||
|
||||
if host_system == 'darwin'
|
||||
ios_test_code = '''#include <TargetConditionals.h>
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
From f47503cc5ae10de6dee319ba6cff257eddabf33e Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Tue, 30 May 2023 11:52:38 +0100
|
||||
Subject: [PATCH] gio/tests/portal-support: Fix snap test ordering race
|
||||
|
||||
When the gnome test runner executes the tests, the test appear to execute in disk
|
||||
order. This means it sometimes works and sometimes we see breakage in portal-support-snap
|
||||
and portal-support-snap-classic.
|
||||
|
||||
The issue is that some tests create config files but some don't. If they run
|
||||
in the wrong order, tests see config files they shouldn't and break.
|
||||
|
||||
Fix this by deleting the files after each test run, properly cleaning up after
|
||||
themselves. The cleanup code is based upon gtestutils.c:rm_rf().
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/c63cf19d9a8a6ae315a7f9a3fe4ea60c8cf5dece]
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
---
|
||||
gio/tests/portal-support-snap-classic.c | 3 +++
|
||||
gio/tests/portal-support-snap.c | 3 +++
|
||||
gio/tests/portal-support-utils.c | 27 +++++++++++++++++++++++++
|
||||
gio/tests/portal-support-utils.h | 2 ++
|
||||
4 files changed, 35 insertions(+)
|
||||
|
||||
diff --git a/gio/tests/portal-support-snap-classic.c b/gio/tests/portal-support-snap-classic.c
|
||||
index 8c0ed90c2..5b67865e7 100644
|
||||
--- a/gio/tests/portal-support-snap-classic.c
|
||||
+++ b/gio/tests/portal-support-snap-classic.c
|
||||
@@ -66,6 +66,9 @@ tests_teardown (SetupData *setup_data,
|
||||
else
|
||||
g_unsetenv ("SNAP");
|
||||
|
||||
+ cleanup_snapfiles (setup_data->snap_path);
|
||||
+ cleanup_snapfiles (setup_data->bin_path);
|
||||
+
|
||||
g_clear_pointer (&setup_data->old_path, g_free);
|
||||
g_clear_pointer (&setup_data->old_snap, g_free);
|
||||
}
|
||||
diff --git a/gio/tests/portal-support-snap.c b/gio/tests/portal-support-snap.c
|
||||
index 7dd14d82f..cd904678f 100644
|
||||
--- a/gio/tests/portal-support-snap.c
|
||||
+++ b/gio/tests/portal-support-snap.c
|
||||
@@ -67,6 +67,9 @@ tests_teardown (SetupData *setup_data,
|
||||
else
|
||||
g_unsetenv ("SNAP");
|
||||
|
||||
+ cleanup_snapfiles (setup_data->snap_path);
|
||||
+ cleanup_snapfiles (setup_data->bin_path);
|
||||
+
|
||||
g_clear_pointer (&setup_data->old_path, g_free);
|
||||
g_clear_pointer (&setup_data->old_snap, g_free);
|
||||
}
|
||||
diff --git a/gio/tests/portal-support-utils.c b/gio/tests/portal-support-utils.c
|
||||
index ae7073a3a..b7ee22630 100644
|
||||
--- a/gio/tests/portal-support-utils.c
|
||||
+++ b/gio/tests/portal-support-utils.c
|
||||
@@ -26,6 +26,33 @@
|
||||
#include <glib.h>
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
+
|
||||
+void
|
||||
+cleanup_snapfiles (const gchar *path)
|
||||
+{
|
||||
+ GDir *dir = NULL;
|
||||
+ const gchar *entry;
|
||||
+
|
||||
+ dir = g_dir_open (path, 0, NULL);
|
||||
+ if (dir == NULL)
|
||||
+ {
|
||||
+ /* Assume it’s a file. Ignore failure. */
|
||||
+ (void) g_remove (path);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ while ((entry = g_dir_read_name (dir)) != NULL)
|
||||
+ {
|
||||
+ gchar *sub_path = g_build_filename (path, entry, NULL);
|
||||
+ cleanup_snapfiles (sub_path);
|
||||
+ g_free (sub_path);
|
||||
+ }
|
||||
+
|
||||
+ g_dir_close (dir);
|
||||
+
|
||||
+ g_rmdir (path);
|
||||
+}
|
||||
+
|
||||
void
|
||||
create_fake_snapctl (const char *path,
|
||||
const char *supported_op)
|
||||
diff --git a/gio/tests/portal-support-utils.h b/gio/tests/portal-support-utils.h
|
||||
index 40c035b43..defbdcd4e 100644
|
||||
--- a/gio/tests/portal-support-utils.h
|
||||
+++ b/gio/tests/portal-support-utils.h
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
+void cleanup_snapfiles (const gchar *path);
|
||||
+
|
||||
void create_fake_snap_yaml (const char *snap_path,
|
||||
gboolean is_classic);
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
From 92de6c7eb30b961b24a2dce812d5276487b7d23d Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 8 Jan 2020 18:22:46 +0100
|
||||
Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test
|
||||
|
||||
This test requires building resources in a way that is
|
||||
not cross-compatible (hardcodes ld and objcopy).
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/tests/resources.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gio/tests/resources.c b/gio/tests/resources.c
|
||||
index c44d214..e289a01 100644
|
||||
--- a/gio/tests/resources.c
|
||||
+++ b/gio/tests/resources.c
|
||||
@@ -993,7 +993,7 @@ main (int argc,
|
||||
g_test_add_func ("/resource/automatic", test_resource_automatic);
|
||||
/* This only uses automatic resources too, so it tests the constructors and destructors */
|
||||
g_test_add_func ("/resource/module", test_resource_module);
|
||||
- g_test_add_func ("/resource/binary-linked", test_resource_binary_linked);
|
||||
+ /* g_test_add_func ("/resource/binary-linked", test_resource_binary_linked); */
|
||||
#endif
|
||||
g_test_add_func ("/resource/uri/query-info", test_uri_query_info);
|
||||
g_test_add_func ("/resource/uri/file", test_uri_file);
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
From d1a2117dc18dbcf87685891de7e2898108b66fc9 Mon Sep 17 00:00:00 2001
|
||||
From: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
Date: Thu, 23 Mar 2023 02:24:30 +0000
|
||||
Subject: [PATCH] glocalfile: Sum apparent size only for files and symlinks
|
||||
|
||||
Since GNU Coreutils 9.2 (commit 110bcd28386b1f47a4cd876098acb708fdcbbb25),
|
||||
`du --apparent-size` (including `du --bytes`) no longer counts all kinds of
|
||||
files (directories, FIFOs, etc.), but only those for which `st_size` in
|
||||
`struct stat` is defined by POSIX, namely regular files and symlinks
|
||||
(and also rarely supported memory objects).
|
||||
|
||||
This aligns the behaviour of GLib's `G_FILE_MEASURE_APPARENT_SIZE` flag
|
||||
with the new GNU Coreutils `du` and correct POSIX use.
|
||||
|
||||
Note that this may be a breaking change for some uses.
|
||||
|
||||
Link: https://lists.gnu.org/archive/html/bug-coreutils/2023-03/msg00007.html
|
||||
Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2965
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
---
|
||||
gio/gioenums.h | 3 +++
|
||||
gio/glocalfile.c | 37 +++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 40 insertions(+)
|
||||
|
||||
diff --git a/gio/gioenums.h b/gio/gioenums.h
|
||||
index 7fd74a43e..c820cd36d 100644
|
||||
--- a/gio/gioenums.h
|
||||
+++ b/gio/gioenums.h
|
||||
@@ -224,6 +224,9 @@ typedef enum {
|
||||
* sizes. Normally, the block-size is used, if available, as this is a
|
||||
* more accurate representation of disk space used.
|
||||
* Compare with `du --apparent-size`.
|
||||
+ * Since GLib 2.78. and similarly to `du` since GNU Coreutils 9.2, this will
|
||||
+ * ignore the sizes of file types other than regular files and links, as the
|
||||
+ * sizes of other file types are not specified in a standard way.
|
||||
* @G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries.
|
||||
* Compare with `du -x`.
|
||||
*
|
||||
diff --git a/gio/glocalfile.c b/gio/glocalfile.c
|
||||
index 67d4b99fb..dbb56902d 100644
|
||||
--- a/gio/glocalfile.c
|
||||
+++ b/gio/glocalfile.c
|
||||
@@ -86,6 +86,9 @@
|
||||
#define FILE_READ_ONLY_VOLUME 0x00080000
|
||||
#endif
|
||||
|
||||
+#ifndef S_ISREG
|
||||
+#define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
|
||||
+#endif
|
||||
#ifndef S_ISDIR
|
||||
#define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
|
||||
#endif
|
||||
@@ -2777,6 +2780,39 @@ g_local_file_measure_size_of_contents (gint fd,
|
||||
MeasureState *state,
|
||||
GError **error);
|
||||
|
||||
+/*
|
||||
+ * _g_stat_is_size_usable:
|
||||
+ * @buf: a #GLocalFileStat.
|
||||
+ *
|
||||
+ * Checks if the file type is such that the `st_size` field of `struct stat` is
|
||||
+ * well-defined by POSIX.
|
||||
+ * (see https://pubs.opengroup.org/onlinepubs/009696799/basedefs/sys/stat.h.html)
|
||||
+ *
|
||||
+ * This behaviour is aligned with `du` from GNU Coreutils 9.2+
|
||||
+ * (see https://lists.gnu.org/archive/html/bug-coreutils/2023-03/msg00007.html)
|
||||
+ * and makes apparent size sums well-defined; formerly, they depended on the
|
||||
+ * implementation, and could differ across filesystems.
|
||||
+ *
|
||||
+ * Returns: %TRUE if the size field is well-defined, %FALSE otherwise.
|
||||
+ **/
|
||||
+inline static gboolean
|
||||
+_g_stat_is_size_usable (const GLocalFileStat *buf)
|
||||
+{
|
||||
+#ifndef HAVE_STATX
|
||||
+ /* Memory objects are defined by POSIX, but are not supported by statx nor Windows */
|
||||
+#ifdef S_TYPEISSHM
|
||||
+ if (S_TYPEISSHM (buf))
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+#ifdef S_TYPEISTMO
|
||||
+ if (S_TYPEISTMO (buf))
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
+ return S_ISREG (_g_stat_mode (buf)) || S_ISLNK (_g_stat_mode (buf));
|
||||
+}
|
||||
+
|
||||
static gboolean
|
||||
g_local_file_measure_size_of_file (gint parent_fd,
|
||||
GSList *name,
|
||||
@@ -2836,6 +2872,7 @@ g_local_file_measure_size_of_file (gint parent_fd,
|
||||
state->disk_usage += _g_stat_blocks (&buf) * G_GUINT64_CONSTANT (512);
|
||||
else
|
||||
#endif
|
||||
+ if (_g_stat_is_size_usable (&buf))
|
||||
state->disk_usage += _g_stat_size (&buf);
|
||||
|
||||
if (S_ISDIR (_g_stat_mode (&buf)))
|
||||
--
|
||||
2.39.2
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
From 4b97f457b7b44117e27d2a218c4b68e7fe3fe4ce Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 12 Oct 2019 17:46:26 -0700
|
||||
Subject: [PATCH] meson: Run atomics test on clang as well
|
||||
|
||||
Fixes
|
||||
./glib-2.62.1/glib/gatomic.c:675:2: error: G_ATOMIC_LOCK_FREE defined, but incapable of lock-free atomics.
|
||||
^
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index afb6eaa..6aa70f5 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1692,7 +1692,7 @@ atomicdefine = '''
|
||||
# We know that we can always use real ("lock free") atomic operations with MSVC
|
||||
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops')
|
||||
have_atomic_lock_free = true
|
||||
- if cc.get_id() == 'gcc' and not cc.compiles(atomicdefine, name : 'atomic ops define')
|
||||
+ if (cc.get_id() == 'gcc' or cc.get_id() == 'clang') and not cc.compiles(atomicdefine, name : 'atomic ops define')
|
||||
# Old gcc release may provide
|
||||
# __sync_bool_compare_and_swap but doesn't define
|
||||
# __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
From 79ce7e545dd3a93f77d2146d50b6fa061fbceed9 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Tue, 3 Oct 2017 10:45:55 +0300
|
||||
Subject: [PATCH] Do not hardcode python path into various tools
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +-
|
||||
gobject/glib-genmarshal.in | 2 +-
|
||||
gobject/glib-mkenums.in | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
index 67d3675..4e92a7a 100755
|
||||
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# GDBus - GLib D-Bus Library
|
||||
#
|
||||
diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in
|
||||
index 7380f24..c8abeaa 100755
|
||||
--- a/gobject/glib-genmarshal.in
|
||||
+++ b/gobject/glib-genmarshal.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# pylint: disable=too-many-lines, missing-docstring, invalid-name
|
||||
|
||||
diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in
|
||||
index 91ad779..3ebef62 100755
|
||||
--- a/gobject/glib-mkenums.in
|
||||
+++ b/gobject/glib-mkenums.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# If the code below looks horrible and unpythonic, do not panic.
|
||||
#
|
||||
@@ -0,0 +1,3 @@
|
||||
[properties]
|
||||
# On all known supported architectures the stack grows down
|
||||
growing_stack = false
|
||||
@@ -0,0 +1,5 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = true
|
||||
have_c99_snprintf = true
|
||||
have_unix98_printf = true
|
||||
va_val_copy = true
|
||||
@@ -0,0 +1,5 @@
|
||||
[properties]
|
||||
have_proc_self_cmdline = true
|
||||
|
||||
[binaries]
|
||||
env = '/usr/bin/env'
|
||||
@@ -0,0 +1,6 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = false
|
||||
have_c99_snprintf = false
|
||||
have_unix98_printf = false
|
||||
va_val_copy = true
|
||||
have_proc_self_cmdline = false
|
||||
@@ -0,0 +1,6 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = true
|
||||
have_c99_snprintf = true
|
||||
have_unix98_printf = true
|
||||
va_val_copy = true
|
||||
have_strlcpy = true
|
||||
@@ -0,0 +1,45 @@
|
||||
From 38e401969a2ff8269919cbeacec733a67f041735 Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@intel.com>
|
||||
Date: Fri, 11 Mar 2016 15:35:55 +0000
|
||||
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
|
||||
|
||||
Instead of hard-coding GIO_MODULE_PATH when glib is built, use dladdr() to
|
||||
determine where libglib.so is and use that path to calculate GIO_MODULES_DIR.
|
||||
|
||||
This solves relocation problems with GIOModule for native builds of glib.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
Port patch to 2.48
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
---
|
||||
gio/giomodule.c | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/gio/giomodule.c b/gio/giomodule.c
|
||||
index 11ce7d8..cc27ecd 100644
|
||||
--- a/gio/giomodule.c
|
||||
+++ b/gio/giomodule.c
|
||||
@@ -1271,9 +1271,6 @@ get_gio_module_dir (void)
|
||||
g_free (install_dir);
|
||||
#else
|
||||
module_dir = g_strdup (GIO_MODULE_DIR);
|
||||
-#ifdef __APPLE__
|
||||
-#include "TargetConditionals.h"
|
||||
-#if TARGET_OS_OSX
|
||||
#include <dlfcn.h>
|
||||
{
|
||||
g_autofree gchar *path = NULL;
|
||||
@@ -1292,8 +1289,6 @@ get_gio_module_dir (void)
|
||||
}
|
||||
}
|
||||
}
|
||||
-#endif
|
||||
-#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -eux
|
||||
if id -u glib2-test; then
|
||||
userdel glib2-test
|
||||
fi
|
||||
useradd glib2-test
|
||||
cd /tmp
|
||||
su glib2-test -c 'G_TEST_TMPDIR=`readlink -f /tmp` gnome-desktop-testing-runner glib'
|
||||
userdel glib2-test
|
||||
@@ -0,0 +1,53 @@
|
||||
require glib.inc
|
||||
|
||||
PE = "1"
|
||||
|
||||
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
||||
|
||||
SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
|
||||
file://run-ptest \
|
||||
file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \
|
||||
file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
|
||||
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
|
||||
file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
|
||||
file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
|
||||
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
|
||||
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
|
||||
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
|
||||
file://0001-gio-tests-portal-support-Fix-snap-test-ordering-race.patch \
|
||||
file://0001-glocalfile-Sum-apparent-size-only-for-files-and-syml.patch \
|
||||
"
|
||||
SRC_URI:append:class-native = " file://relocate-modules.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "5a5a191c96836e166a7771f7ea6ca2b0069c603c7da3cba1cd38d1694a395dda"
|
||||
|
||||
# Find any meson cross files in FILESPATH that are relevant for the current
|
||||
# build (using siteinfo) and add them to EXTRA_OEMESON.
|
||||
inherit siteinfo
|
||||
def find_meson_cross_files(d):
|
||||
if bb.data.inherits_class('native', d):
|
||||
return ""
|
||||
|
||||
thisdir = os.path.normpath(d.getVar("THISDIR"))
|
||||
import collections
|
||||
sitedata = siteinfo_data(d)
|
||||
# filename -> found
|
||||
files = collections.OrderedDict()
|
||||
for path in d.getVar("FILESPATH").split(":"):
|
||||
for element in sitedata:
|
||||
filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
|
||||
sanitized_path = filename.replace(thisdir, "${THISDIR}")
|
||||
if sanitized_path == filename:
|
||||
if os.path.exists(filename):
|
||||
bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
|
||||
continue
|
||||
files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
|
||||
|
||||
items = ["--cross-file=" + k for k,v in files.items() if v]
|
||||
d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
|
||||
items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()]
|
||||
d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items))
|
||||
|
||||
python () {
|
||||
find_meson_cross_files(d)
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
SUMMARY = "A general-purpose utility library"
|
||||
DESCRIPTION = "GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on."
|
||||
HOMEPAGE = "https://developer.gnome.org/glib/"
|
||||
|
||||
# pcre is under BSD;
|
||||
# docs/reference/COPYING is with a 'public domain'-like license!
|
||||
LICENSE = "LGPL-2.1-or-later & BSD-3-Clause & PD"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=41890f71f740302b785c27661123bff5 \
|
||||
file://glib/glib.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \
|
||||
file://LICENSES/LGPL-2.1-or-later.txt;md5=41890f71f740302b785c27661123bff5 \
|
||||
file://gmodule/gmodule.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \
|
||||
file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
|
||||
BUGTRACKER = "http://bugzilla.gnome.org"
|
||||
SECTION = "libs"
|
||||
|
||||
CVE_PRODUCT = "glib"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
DEPENDS = "glib-2.0-native \
|
||||
virtual/libintl \
|
||||
virtual/libiconv \
|
||||
libffi \
|
||||
libpcre2 \
|
||||
zlib"
|
||||
|
||||
PACKAGES += "${PN}-codegen ${PN}-utils"
|
||||
|
||||
LEAD_SONAME = "libglib-2.0.*"
|
||||
|
||||
inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
|
||||
|
||||
DEPENDS:append:class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
|
||||
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
|
||||
S = "${WORKDIR}/glib-${PV}"
|
||||
|
||||
PACKAGECONFIG ??= "libmount \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
|
||||
PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
|
||||
PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
|
||||
# libelf is auto-detected without a configuration option
|
||||
PACKAGECONFIG[libelf] = ",,elfutils"
|
||||
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
|
||||
PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
|
||||
|
||||
EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false"
|
||||
|
||||
do_configure:prepend() {
|
||||
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
}
|
||||
|
||||
FILES:${PN} = "${libdir}/lib*${SOLIBS} \
|
||||
${libdir}/gio \
|
||||
${libexecdir}/*gio-querymodules \
|
||||
${libexecdir}/*gio-launch-desktop \
|
||||
${datadir}/glib-2.0/schemas"
|
||||
|
||||
FILES:${PN}-utils += "${bindir}/glib-genmarshal \
|
||||
${bindir}/glib-gettextize \
|
||||
${bindir}/glib-mkenums \
|
||||
${bindir}/glib-compile-resources"
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/glib-2.0/include \
|
||||
${libdir}/gio/modules/lib*${SOLIBSDEV} \
|
||||
${libdir}/gio/modules/*.la \
|
||||
${datadir}/glib-2.0/gettext/po/Makefile.in.in \
|
||||
${datadir}/glib-2.0/schemas/gschema.dtd \
|
||||
${datadir}/glib-2.0/valgrind/glib.supp \
|
||||
${datadir}/gettext/its"
|
||||
FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
|
||||
FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
|
||||
${bindir}/gdbus-codegen"
|
||||
FILES:${PN}-utils = "${bindir}/*"
|
||||
|
||||
SHAREDMIMEDEP = "shared-mime-info"
|
||||
SHAREDMIMEDEP:class-native = ""
|
||||
# When cross compiling for Windows we don't want to include this
|
||||
SHAREDMIMEDEP:mingw32 = ""
|
||||
|
||||
RRECOMMENDS:${PN} += "${SHAREDMIMEDEP}"
|
||||
|
||||
ARM_INSTRUCTION_SET:armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET:armv5 = "arm"
|
||||
# Valgrind runtime detection works using hand-written assembly, which
|
||||
# doesn't support mips16e
|
||||
CPPFLAGS:append:class-target:mips16e = " -DNVALGRIND=1"
|
||||
|
||||
# GLib generally requires gettext to be present so for USE_NLS to yes. For
|
||||
# native builds as i18n is disabled globally we have to add a gettext-native dependency.
|
||||
USE_NLS:class-target = "yes"
|
||||
USE_NLS:class-nativesdk = "yes"
|
||||
DEPENDS:append:class-native = " gettext-native"
|
||||
|
||||
EXEEXT = ""
|
||||
EXEEXT:mingw32 = ".exe"
|
||||
|
||||
do_install:append () {
|
||||
if [ -f ${D}${bindir}/gtester-report ]; then
|
||||
sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|'
|
||||
fi
|
||||
|
||||
# Remove some unpackaged files
|
||||
rm -rf ${D}${datadir}/glib-2.0/codegen/__pycache__
|
||||
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc
|
||||
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo
|
||||
|
||||
if [ -e ${D}${libdir}/charset.alias ]; then
|
||||
rm -f ${D}${libdir}/charset.alias
|
||||
fi
|
||||
|
||||
# Make sure gio-querymodules is unique among multilibs
|
||||
if test "x${MLPREFIX}" != "x"; then
|
||||
mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT}
|
||||
fi
|
||||
# Autotools does this, meson does not
|
||||
mkdir -p ${D}${libdir}/gio/modules
|
||||
}
|
||||
|
||||
do_install:append:class-target () {
|
||||
# Tests are only installed on targets, not native builds. Separating this out
|
||||
# keeps glib-2.0-native from depending on DISTRO_FEATURES
|
||||
if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then
|
||||
if ${@bb.utils.contains("DISTRO_FEATURES", "x11", "false", "true", d)}; then
|
||||
rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test
|
||||
fi
|
||||
fi
|
||||
if [ -f ${D}${datadir}/installed-tests/glib/static-link.test ]; then
|
||||
if test "x${MLPREFIX}" != "x"; then
|
||||
mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test
|
||||
fi
|
||||
fi
|
||||
# https://gitlab.gnome.org/GNOME/glib/-/issues/2810
|
||||
rm -f ${D}${datadir}/installed-tests/glib/thread-pool-slow.test
|
||||
}
|
||||
|
||||
# As we do not build python3 for windows, makes no sense to ship the script that's using it
|
||||
do_install:append:mingw32() {
|
||||
rm -f ${D}${bindir}/gtester-report
|
||||
}
|
||||
|
||||
CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
|
||||
CODEGEN_PYTHON_RDEPENDS:mingw32 = ""
|
||||
|
||||
RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
|
||||
|
||||
RDEPENDS:${PN}-ptest += "${PN}-utils"
|
||||
|
||||
RDEPENDS:${PN}-ptest += "\
|
||||
coreutils \
|
||||
libgcc \
|
||||
dbus \
|
||||
desktop-file-utils \
|
||||
gnome-desktop-testing \
|
||||
tzdata \
|
||||
tzdata-americas \
|
||||
tzdata-asia \
|
||||
tzdata-europe \
|
||||
tzdata-posix \
|
||||
shared-mime-info \
|
||||
${PN}-locale-ja \
|
||||
${PN}-locale-fr \
|
||||
${PN}-locale-el \
|
||||
${PN}-locale-hr \
|
||||
${PN}-locale-lt \
|
||||
${PN}-locale-pl \
|
||||
${PN}-locale-ru \
|
||||
${PN}-locale-th \
|
||||
python3-core \
|
||||
python3-modules \
|
||||
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \
|
||||
${PN}-codegen \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}-ptest:append:libc-glibc = "\
|
||||
glibc-gconv-utf-16 \
|
||||
glibc-charmap-utf-8 \
|
||||
glibc-gconv-cp1255 \
|
||||
glibc-charmap-cp1255 \
|
||||
glibc-gconv-utf-32 \
|
||||
glibc-gconv-utf-7 \
|
||||
glibc-gconv-euc-jp \
|
||||
glibc-gconv-iso8859-1 \
|
||||
glibc-gconv-iso8859-15 \
|
||||
glibc-charmap-invariant \
|
||||
glibc-localedata-translit-cjk-variants \
|
||||
locale-base-tr-tr \
|
||||
locale-base-lt-lt \
|
||||
locale-base-ja-jp.euc-jp \
|
||||
locale-base-fa-ir \
|
||||
locale-base-ru-ru \
|
||||
locale-base-de-de \
|
||||
locale-base-hr-hr \
|
||||
locale-base-el-gr \
|
||||
locale-base-fr-fr \
|
||||
locale-base-es-es \
|
||||
locale-base-en-gb \
|
||||
locale-base-en-us \
|
||||
locale-base-pl-pl \
|
||||
locale-base-pl-pl.iso-8859-2 \
|
||||
"
|
||||
Reference in New Issue
Block a user