| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
I was curious.
|
|\
| |
| |
| |
| | |
Build successfully on GLib 2.32
See merge request GNOME/libglnx!7
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you're building on a really old GLib, you might not have GTask,
GSubprocess or g_markup_parse_context_unref(), among others. This gets
libglnx compiling (and apparently working) on GLib versions as old
as 2.32.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|/
|
|
|
|
|
| |
This will be necessary if targeting GLib versions older than 2.34,
such as GLib 2.32 in Ubuntu 12.04 and the Steam Runtime.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|\
| |
| |
| |
| | |
build-sys: Add libglnx-testlib.c to Automake
See merge request GNOME/libglnx!12
|
|/
|
|
| |
It was introduced in a previous commit but only added to `meson.build`.
|
|\
| |
| |
| |
| | |
fdio: Add glnx_tmpfile_reopen_rdonly()
See merge request GNOME/libglnx!11
|
|/
|
|
| |
For fs-verity.
|
|\
| |
| |
| |
| | |
Add Meson build system and Gitlab-CI
See merge request GNOME/libglnx!8
|
| |
| |
| |
| |
| |
| | |
As suggested by @jlebon on libglnx!8.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| | |
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| |
| |
| | |
This matches what Autotools would do, and what our header is expecting.
It silences -Wundef.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| |
| |
| |
| |
| | |
This only uses Meson because it's not straightforward to do a standalone
build with the Autotools goop.
|
| |
| |
| |
| |
| |
| |
| | |
The temporary directory will be deleted on success, but will remain
intact on failure.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Add glnx_open_anonymous_tmpfile_full() allowing you to specify the directory
See merge request GNOME/libglnx!10
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This is useful if you need the file to be on a particular filesystem.
In particular, flatpak wants this to make tempfiles on /tmp for things
we need to write during flatpak run, such as the libseccomp output fd.
We've had "flatpak run" stop working in low disk situations without this,
so its nice to be able to fix it.
|
|\ \
| | |
| | |
| | |
| | | |
macros: Add TEMP_FAILURE_RETRY for musl
See merge request GNOME/libglnx!9
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
TEMP_FAILURE_RETRY is glibc specific, add a definition for musl.
See https://github.com/ostreedev/ostree/issues/731
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
|\ \
| |/
|/|
| |
| | |
missing: Remove unused <uchar.h>
See merge request GNOME/libglnx!6
|
|/
|
|
|
|
|
| |
This doesn't exist on some very old platforms. In the original file
in systemd, it was here for char32_t and char16_t, which we don't use.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|\
| |
| |
| |
| | |
shutil: Prefix error with path in rm_rf()
See merge request GNOME/libglnx!4
|
|/
|
|
|
|
|
|
| |
First, let's ensure the filename is prefixed consistently.
Second, add the entrypoint as a prefix when recursing.
This is best practice to help debugging. Motivated by
https://discussion.fedoraproject.org/t/boot-partition-of-silverblue-is-without-space/771/9
|
| |
|
|\
| |
| |
| |
| | |
Fix docs for glnx_file_replace_contents()
See merge request GNOME/libglnx!3
|
|/
|
|
|
|
|
| |
The docs for `glnx_file_replace_contents[_with_perms]` say that the default mode
is 0666 - umask, but it's actually 0644. Because there's no thread-safe way of
finding out the current umask without grubbing around in /proc/self/status,
simply make the docs reflect reality.
|
|\
| |
| |
| |
| | |
libglnx.m4: Include stdio.h for renameat2
See merge request GNOME/libglnx!2
|
|/
|
|
|
|
|
|
| |
glibc added it upstream:
https://sourceware.org/git/?p=glibc.git;a=commit;h=d6da5cb6a8e0e8a9ce92b7d951a254cf325248d7
But we need the right header.
Ref: https://github.com/flatpak/flatpak/issues/1890
|
|\
| |
| |
| |
| | |
Add g_autoptr support for GAsyncResult,GMount,GVolumeMonitor
See merge request GNOME/libglnx!1
|
|/ |
|
|
|
|
|
|
| |
This was inherited from some other code; perhaps the idea
was to ensure the console is in a consistent state before starting
a progress bar, but it causes extra newlines which is distracting.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In glibc 2.27, a wrapper for `copy_file_range` was added[1]. The
function is now always defined, either using a userspace fallback or
just returning `ENOSYS` if the kernel doesn't support it. This throws
off our preprocessor conditionals. Work around this by just renaming our
implementation differently. This is similar to what systemd did[2].
Hit this when trying to build on F28, which rebased to glibc 2.27.
[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f
[2] https://github.com/systemd/systemd/commit/5187dd2c403caf92d09f3491e41f1ceb3f10491f
|
|
|
|
|
|
|
|
|
|
| |
glibc 2.27 added support for memfd_create. Unfortunately flatpak-builder,
or rather the included libglnx library, also has such a function to
wrap the corresponding syscall. It correctly tries to detect it in
the configure script to disabled the wrapper in case glibc provides
it. However it doesn't work due to a missing include.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890722
|
|
|
|
|
|
|
| |
Share its static var goodness with clients. This will be used in
rpm-ostree from various places which sometimes do use a `GLnxConsole`
and sometimes don't, so it's more convenient to make it its own
function.
|
|
|
|
|
| |
For TTYs, it slows things down pointlessly. For non-TTYs like Jenkins jobs, it
creates a ton of output that obscures useful information.
|
|
|
|
|
|
| |
The idea was clearly to avoid useless updates, but we never actually *set* these
values. Drop the code for now to avoid confusion, I'll reimplement this in a
better way.
|
|
|
|
|
| |
IMO, it looks bad to have a really big progress bar. I personally usually work
on a 27" monitor with maximized terminals.
|
|
|
|
| |
It's often really useful to see the counts, not just the percentage.
|
|
|
|
|
| |
rpm-ostree at least uses `dirname()` and relied on the `#include <libgen.h>`
that we had previously.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the top of glnx-fdio.h there's this comment:
/* When we include libgen.h because we need
* dirname() we immediately undefine
* basename() since libgen.h defines it as
* a macro to the XDG version which is really
* broken. */
and then it does #undef basename to try to
gain access to non-default basename implementation.
The problem is that this trick doesn't work on
some systems:
./libglnx/glnx-fdio.h: In function 'glnx_basename':
./libglnx/glnx-fdio.h:46:11: error: 'basename'
undeclared (first use in this function)
return (basename) (path);
Anyway, basename() is like 3 lines of code to
implement, so this commit just does that instead
of relying on glibc for it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This caused GCC 6.3.0 -Winline to complain:
../../../ext/libglnx/glnx-errors.h:169:1: warning: function
‘glnx_throw_errno_prefix’ can never be inlined because it uses
variable argument lists [-Winline]
glnx_throw_errno_prefix (GError **error, const char *fmt, ...)
^~~~~~~~~~~~~~~~~~~~~~~
../../../ext/libglnx/glnx-errors.h:169:1: warning: inlining failed
in call to ‘glnx_throw_errno_prefix’: function not inlinable
[-Winline]
|
|
|
|
|
| |
Followup to previous commit; this helps me build libostree
with `-Werror=undef`.
|
|
|
|
|
|
|
|
| |
Without this, including glnx-missing-syscall.h raises this warning:
../ext/libglnx/glnx-missing-syscall.h:121:6: warning: "HAVE_DECL_COPY_FILE_RANGE" is not defined [-Wundef]
#if !HAVE_DECL_COPY_FILE_RANGE
^~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
| |
Use decl-after-stmt where applicable.
|
|
|
|
|
| |
Port to `glnx_autofd` tree wide, and add one missed `glnx_close_fd()` use in the
tmpfile code.
|
|
|
|
|
|
|
|
|
|
|
|
| |
`g-ir-scanner` is unaware of this GNUC extension and complains.
Saw that while building ostree.
While we're here, fix up a few other things:
- Tell the compiler the stat buffer is unused (I didn't see
a warning, just doing this on general principle)
- Return from `glnx_throw_errno_prefix()` directly; we do
preserve errno there, let's feel free to rely on it.
|
| |
|
|
|
|
|
|
|
|
| |
Often, the caller doesn't actually care about the details of the stat
struct itself, but just whether the entry exists or not. It does work
to just pass `NULL` directly to glibc in a quick test, but given that
the argument is tagged as `__nonnull` and that the documentation does
not explicitly specify this is supported, let's do this safely.
|