| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
GSpawn/Win32: Provide thread-safe wrappers for _wspawn*e functions
Closes #2509
See merge request GNOME/glib!2843
|
| |
| |
| |
| |
| | |
_wspawn*e functions are not thread safe on the MSVCRT.dll and
the pre-2015 MSVC runtime DLLs (msvcrXXX.dll).
|
|\ \
| |/
|/|
| |
| |
| |
| | |
gmain: close pidfd when finalizing GChildWatchSource
Closes #2708
See merge request GNOME/glib!2847
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
A file-descriptor was created with the introduction of pidfd_getfd() but
nothing is closing it when the source finalizes. The GChildWatchSource is
the creator and consumer of this FD and therefore responsible for closing
it on finalization.
The pidfd leak was introduced in !2408.
This fixes issues with Builder where anon_inode:[pidfd] exhaust the
available FD limit for the process.
Fixes #2708
|
|\
| |
| |
| |
| | |
GWin32AppInfo: Fix PID reporting in launched signal
See merge request GNOME/glib!2299
|
| |
| |
| |
| |
| |
| |
| | |
signal
We need to pass the G_SPAWN_DO_NOT_REAP_CHILD flag to g_spawn_async,
otherwise the returned child_pid will always be 0.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Implement GFileIface.set_display_name() for resource files
Closes #2705
See merge request GNOME/glib!2844
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Resource files cannot be renamed, and GFileIface.set_display_name() is
mandatory.
Fixes: #2705
|
| | | |
|
|/ / |
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
gregex: use correct size for pcre2_pattern_info
Closes #2699
See merge request GNOME/glib!2840
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
man pcre2_pattern_info says that the 3rd argument must
point to uint32_t variable (except for some 2nd argument value),
so correctly use it. Especially using wrong size can cause
unexpected result on big endian.
closes: #2699
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Implement xattr attribute removal
Closes #1187
See merge request GNOME/glib!2831
|
|/
|
|
| |
Fixes: #1187
|
|\
| |
| |
| |
| | |
Introduce G_APPLICATION_DEFAULT_FLAGS
See merge request GNOME/glib!2835
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The prefix for GMarkupParseFlags enumeration members is G_MARKUP; this
means that G_MARKUP_PARSE_FLAGS_NONE gets split into
GLib.MarkupParseFlags.PARSE_FLAGS_NONE by the introspection scanner.
The `/*< nick=none >*/` trigraph attribute is a glib-mkenum thing, and
does not affect the introspection scanner; it would also only affect the
GEnumValue nickname, which is not used by language bindings to resolve
the name of the enumeration member. Plus, GMarkupParseFlags does not
have a corresponding GType anyway.
|
| |
| |
| |
| |
| |
| | |
The prefix is G_TLS_CERTIFICATE, not G_TLS_CERTIFICATE_FLAGS. Having
G_TLS_CERTIFICATE_FLAGS_NONE leads to a FLAGS_NONE nick in the GType,
and a FLAGS_NONE member name in the introspection data.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enumeration members should either have the name of the type as their
prefix, or they should all have the same prefix.
The "default flags" enumeration member for GApplicationFlags is
unfortunately named G_APPLICATION_FLAGS_NONE, while every other member
of the same type has a G_APPLICATION prefix. The result is that the nick
name of the enumeration member is "flags-none", and that language
bindings will have to use something like
Gio.ApplicationFlags.FLAGS_NONE.
To fix this API wart, we can deprecate the FLAGS_NONE member, and add a
new DEFAULT_FLAGS.
|
|\
| |
| |
| |
| |
| |
| | |
gregex: do not set match and recursion limits on match context
Closes #2700
See merge request GNOME/glib!2838
|
| | |
|
|/
|
|
|
|
|
| |
These are not really necessary, and cause breakages (e.g. #2700).
pcre2_set_recursion_limit is also deprecated.
Fixes: #2700
|
| |
|
| |
|
|\
| |
| |
| |
| | |
gio-launch-desktop: Only replace fds that point to the Journal
See merge request GNOME/glib!2836
|
|/
|
|
|
|
|
| |
If stdout is the Journal but stderr is not, then we probably only want
to redirect stdout, or vice versa.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|\
| |
| |
| |
| |
| |
| | |
Bring back gio-launch-desktop, use it to redirect stdout/stderr to the Journal
Closes #2682
See merge request GNOME/glib!2819
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| | |
I want to use this in gio-launch-desktop, but gio-launch-desktop
doesn't depend on GLib, so I can't just call g_log_writer_is_journald().
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents a launched process's output from being mixed up with the
output of the parent process, which can lead to the wrong program being
blamed for warning messages.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an internal helper executable, which users shouldn't invoke
directly (see glib#1633).
When building for a single-architecture distribution, we can install
it as ${libexecdir}/gio-launch-desktop.
When building for a multiarch distribution, installing it into an
architecture-specific location and packaging it alongside the GLib
library avoids the problem discussed in glib#1633 where it would either
cause a circular dependency between the GLib library and a common
cross-architecture package (libglib2.0-bin in Debian), or require a
separate package just to contain gio-launch-desktop, or cause different
architectures' copies to overwrite each other.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
gio-launch-desktop was removed before checking GIO for potentially
unsafe environment variable references, so reverting its removal brought
this one back. If a setuid program is using GAppInfo then something is
probably already horribly wrong, but let's be careful anyway.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A shell one-liner was enough to set GIO_LAUNCHED_DESKTOP_FILE_PID,
but ideally we also want to do the equivalent of sd_journal_stream_fd()
to set up its standard output and standard error streams.
Ideally we would call sd_journal_stream_fd() in a process that will
exec the real program, otherwise it will report the wrong process ID
in the Journal, but we can't easily do that in a forked child when
using posix_spawn() for subprocesses.
This reverts commit 2b533ca99ad07090d7090ad7389d1e85230aa618.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|\ \
| |/
|/|
| |
| |
| |
| | |
gio-tool: Flatten the outputed string
Closes #2542
See merge request GNOME/glib!2834
|
| |
| |
| |
| |
| |
| | |
Replacing new line in outputed atributes with " ↵ "
closes: #2542
|
|\ \
| | |
| | |
| | |
| | | |
gio: Optionally install trigger executables to architecture-specific paths
See merge request GNOME/glib!2818
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Debian-style multiarch (libdir = lib/x86_64-linux-gnu or similar),
Red-Hat-style multilib (libdir = lib64 or lib) and Arch-style multilib
(libdir = lib or lib32), we have to run a separate version of
gio-querymodules to discover 32- or 64-bit modules on x86. Installing
modules in the directory used for each word size needs to trigger
recompilation of the correct modules list.
Debian, Fedora and Arch currently all have patches to facilitate this:
Debian moves gio-querymodules into ${libdir}/glib-2.0 and provides a
compat symlink in ${bindir}, while Fedora and Arch rename one or both
of the gio-querymodules executables to give it a -32 or -64 suffix.
We can avoid the need for these patches by making this a build option.
Doing this upstream has the advantage that the pkg-config metadata for
each architecture points to the correct executable and is in sync with
reality.
I'm using Debian's installation scheme with a separate directory here,
because the word-size suffix used in Fedora and Arch only works for the
common case of 32- and 64-bit multilib, and does not cover scenarios
where there can be more than one ABI with the same word size, such as
multiarch cross-compilation or alternative ABIs like x32.
Now that we have this infrastructure, it's also convenient to use it for
glib-compile-schemas. This works with /usr/share, so it only needs to
be run for one architecture (typically the system's primary
architecture), but using /usr/bin/glib-compile-schemas for the trigger
would result in either primary and secondary architectures trying to
overwrite each other's /usr/bin/glib-compile-schemas binaries, or a
circular dependency (the GLib library would have to depend on a
common package that contains glib-compile-schemas, but
glib-compile-schemas depends on the GLib library). Installing a
glib-compile-schemas binary in an architecture-specific location
alongside each GLib library bypasses this problem.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|\ \
| | |
| | |
| | |
| | | |
GDBus: Use namespace-friendly protocol for Linux message buses, and optionally other connections
See merge request GNOME/glib!2832
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The dominant implementations of the well-known session and system
message buses are the reference implementation from the dbus project
(dbus-daemon) and the sd-bus-based reimplementation dbus-broker, both
of which have correct implementations for EXTERNAL authentication with
an unspecified authorization identity.
This makes it reasonably safe to assume that the well-known message
buses can cope with the unspecified authorization identity, even if we
cannot make the same assumption for custom servers such as the ones
used in ibus and gvfs (which might have been started with an older
GLib version before upgrading GLib in-place).
Signed-off-by: Simon McVittie <smcv@collabora.com>
|