From fda8f26625ee0e36d89e8c54fa6ca6bd75a47aa5 Mon Sep 17 00:00:00 2001 From: Colin Walters <walters@verbum.org> Date: Mon, 4 May 2015 16:10:28 -0400 Subject: [PATCH] README.md: Some more rationale --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 5627c6afa..b1f492f26 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,32 @@ libglnx is the successor to libgsystem: https://git.gnome.org/browse/libgsystem It is for modules which depend on both GLib and Linux, intended to be used as a git submodule. +Features: + + - File APIs which use `openat()` like APIs, but also take a `GCancellable` + to support dynamic cancellation + - APIs also have a `GError` parameter + - High level "shutil", somewhat inspired by Python's + - A "console" API for tty output + - Some basic container utility functions + - A backport of the GLib cleanup macros for projects which can't yet take + a dependency on 2.40. + +Why? +---- + +There are multiple projects which have a hard dependency on Linux and +GLib, such as NetworkManager, ostree, xdg-app, etc. It makes sense +for them to be able to share Linux-specific APIs. + +This module also contains some code taken from systemd, which has very +high quality LGPLv2+ shared library code, but most of the internal +shared library is private, and not namespaced. + +One could also compare this project to gnulib; the salient differences +there are that at least some of this module is eventually destined for +inclusion in GLib. + Porting from libgsystem ----------------------- -- GitLab