diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2018-05-08 10:51:40 +0800 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2018-05-17 08:20:47 -0700 |
commit | 92337bcbdde59a9d1cc7f50b5caa58d589811bdd (patch) | |
tree | 405ac230a64435ad5b01f76618a2895f84c1e070 | |
parent | 1dfd225c6097a97bad2b779d663cbfd5b2ac581f (diff) | |
download | meta-openembedded-92337bcbdde59a9d1cc7f50b5caa58d589811bdd.tar.gz |
meta-gnome: add libuser 0.62
Since oe-core removed libuser, add it which required by usermode
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
4 files changed, 158 insertions, 0 deletions
diff --git a/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch b/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch new file mode 100644 index 000000000..79756b9a0 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 7 Jan 2016 02:22:51 +0000 | ||
4 | Subject: [PATCH 1/2] Check for issetugid() | ||
5 | |||
6 | If secure version of getenv is not there then we can use | ||
7 | issetugid() as aid to call getenv() | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | Upstream-Status: Pending | ||
12 | |||
13 | configure.ac | 1 + | ||
14 | lib/config.c | 12 +++++++++++- | ||
15 | 2 files changed, 12 insertions(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/configure.ac b/configure.ac | ||
18 | index 1ded1a2..ee19e1f 100644 | ||
19 | --- a/configure.ac | ||
20 | +++ b/configure.ac | ||
21 | @@ -125,6 +125,7 @@ AC_TYPE_OFF_T | ||
22 | AC_TYPE_SIZE_T | ||
23 | |||
24 | AC_CHECK_FUNCS([__secure_getenv secure_getenv]) | ||
25 | +AC_CHECK_FUNCS([issetugid]) | ||
26 | |||
27 | # Modify CFLAGS after all tests are run (some of them could fail because | ||
28 | # of the -Werror). | ||
29 | diff --git a/lib/config.c b/lib/config.c | ||
30 | index 29e7120..30f9daf 100644 | ||
31 | --- a/lib/config.c | ||
32 | +++ b/lib/config.c | ||
33 | @@ -44,8 +44,10 @@ | ||
34 | # define safe_getenv(string) secure_getenv(string) | ||
35 | #elif defined(HAVE___SECURE_GETENV) | ||
36 | # define safe_getenv(string) __secure_getenv(string) | ||
37 | +#elif defined(HAVE_ISSETUGID) | ||
38 | +# define safe_getenv(string) safe_getenv_issetugid(string) | ||
39 | #else | ||
40 | -# error Neither secure_getenv not __secure_getenv are available | ||
41 | +# error None of secure_getenv, __secure_getenv, or issetugid is available | ||
42 | #endif | ||
43 | |||
44 | struct config_config { | ||
45 | @@ -59,6 +61,14 @@ struct config_key { | ||
46 | GList *values; | ||
47 | }; | ||
48 | |||
49 | +static const char* | ||
50 | +safe_getenv_issetugid(const char* name) | ||
51 | +{ | ||
52 | + if (issetugid ()) | ||
53 | + return 0; | ||
54 | + return getenv (name); | ||
55 | +} | ||
56 | + | ||
57 | /* Compare two section names */ | ||
58 | static int | ||
59 | compare_section_names(gconstpointer a, gconstpointer b) | ||
60 | -- | ||
61 | 2.7.0 | ||
62 | |||
diff --git a/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch b/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch new file mode 100644 index 000000000..7c47df22e --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser/0001-modules-files.c-parse_field-fix-string-formating-in-.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From a4857911ece5ebfcdef42aee4c070eb216f39597 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> | ||
3 | Date: Fri, 13 May 2016 11:40:13 -0500 | ||
4 | Subject: [PATCH] modules/files.c: parse_field fix string formating in | ||
5 | g_warnings | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | [YOCTO #9547] | ||
11 | |||
12 | Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | --- | ||
16 | modules/files.c | 2 +- | ||
17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/modules/files.c b/modules/files.c | ||
20 | index 4ef0a57..35eafc9 100644 | ||
21 | --- a/modules/files.c | ||
22 | +++ b/modules/files.c | ||
23 | @@ -534,7 +534,7 @@ parse_field(const struct format_specifier *format, GValue *value, | ||
24 | string, &err); | ||
25 | if (ret == FALSE) { | ||
26 | g_assert(err != NULL); | ||
27 | - g_warning(lu_strerror(err)); | ||
28 | + g_warning(lu_strerror(err), NULL); | ||
29 | lu_error_free(&err); | ||
30 | } | ||
31 | return ret; | ||
32 | -- | ||
33 | 2.1.4 | ||
34 | |||
diff --git a/meta-gnome/recipes-support/libuser/libuser/0002-remove-unused-execinfo.h.patch b/meta-gnome/recipes-support/libuser/libuser/0002-remove-unused-execinfo.h.patch new file mode 100644 index 000000000..4bc0219f1 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser/0002-remove-unused-execinfo.h.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 4b2f81f307ffeac12956e5c16e894e5ebb937ea5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 7 Jan 2016 02:26:00 +0000 | ||
4 | Subject: [PATCH 2/2] remove unused execinfo.h | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | --- | ||
8 | Upstream-Status: Pending | ||
9 | |||
10 | lib/error.c | 1 - | ||
11 | 1 file changed, 1 deletion(-) | ||
12 | |||
13 | diff --git a/lib/error.c b/lib/error.c | ||
14 | index a5ec30a..443e601 100644 | ||
15 | --- a/lib/error.c | ||
16 | +++ b/lib/error.c | ||
17 | @@ -18,7 +18,6 @@ | ||
18 | #include <config.h> | ||
19 | #include <sys/types.h> | ||
20 | #include <errno.h> | ||
21 | -#include <execinfo.h> | ||
22 | #include <libintl.h> | ||
23 | #include <stdarg.h> | ||
24 | #include <stdlib.h> | ||
25 | -- | ||
26 | 2.7.0 | ||
27 | |||
diff --git a/meta-gnome/recipes-support/libuser/libuser_0.62.bb b/meta-gnome/recipes-support/libuser/libuser_0.62.bb new file mode 100644 index 000000000..7ec54eb16 --- /dev/null +++ b/meta-gnome/recipes-support/libuser/libuser_0.62.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "user and group account administration library" | ||
2 | DESCRIPTION = "The libuser library implements a standardized interface for manipulating and administering user \ | ||
3 | and group accounts" | ||
4 | HOMEPAGE = "https://pagure.io/libuser" | ||
5 | BUGTRACKER = "https://pagure.io/libuser/issues" | ||
6 | |||
7 | LICENSE = "LGPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ | ||
9 | file://lib/user.h;endline=19;md5=76b301f63c39fa992062395efbdc9558 \ | ||
10 | file://samples/testuser.c;endline=19;md5=3b87fa660fa3f4a6bb31d624afe30ba1" | ||
11 | |||
12 | SECTION = "base" | ||
13 | |||
14 | SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \ | ||
15 | file://0001-Check-for-issetugid.patch \ | ||
16 | file://0002-remove-unused-execinfo.h.patch \ | ||
17 | file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI[md5sum] = "63e5e5c551e99dc5302b40b80bd6d4f2" | ||
21 | SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3cace20b" | ||
22 | |||
23 | DEPENDS = "popt libpam glib-2.0 python3" | ||
24 | |||
25 | inherit distro_features_check | ||
26 | REQUIRED_DISTRO_FEATURES = "pam" | ||
27 | |||
28 | inherit autotools gettext python3native python3-dir pkgconfig gtk-doc | ||
29 | |||
30 | EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" | ||
31 | |||
32 | PACKAGES += "${PN}-python " | ||
33 | |||
34 | FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" | ||
35 | |||