A patch, cleanup and updates
cover A patch, cleanup and updates
Richard, Ross:
Here is a tested set of updates along with the pseudo cleanup. I also finally tackled an ages old resolvconf bug, I guess no one really uses it since it was so badly broken (tested with both busybox's udhcpc and dhcp-client).
Sau!
The following changes since commit 4a888b2ab61662c7f749b5d1e64af92ed613d8eb:
gtk+: drop part of patch adding useless file (2014-11-20 14:08:57 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/updates
Saul Wold (7):
curl: Ugrade to 7.38
babeltrace: Upgrade to 1.2.3
npth: Upgrade to 1.1
boost: Upgrade to 1.57
libaio: Upgrade to 3.110
pseudo: remove older version and patches
resolvconf: add fixes for busybox and make it work
meta/conf/distro/include/security_flags.inc | 1 +
.../resolvconf/resolvconf/99_resolvconf | 4 +
.../resolvconf/fix-path-for-busybox.patch | 20 +
.../resolvconf/resolvconf_1.76.bb | 13 +-
.../0001-pseudo_has_unload-add-function.patch | 190 ----------
.../pseudo-1.5.1-install-directory-mode.patch | 18 -
.../pseudo/files/pseudo-fchmodat-permissions.patch | 264 -------------
.../pseudo/files/shutdownping.patch | 53 ---
meta/recipes-devtools/pseudo/files/symver.patch | 26 --
meta/recipes-devtools/pseudo/pseudo_1.5.1.bb | 20 -
.../recipes-extended/libaio/libaio/00_arches.patch | 208 +----------
.../libaio/libaio/libaio-aarch64.patch | 28 --
.../libaio/libaio/libaio_fix_for_mips64.patch | 68 ++--
.../recipes-extended/libaio/libaio/toolchain.patch | 27 --
.../{libaio_0.3.109.bb => libaio_0.3.110.bb} | 9 +-
...-Support-out-of-tree-builds-in-babeltrace.patch | 17 -
...uffers-from-objstack_alloc-on-sizeof-void.patch | 54 ---
.../{babeltrace_1.2.1.bb => babeltrace_1.2.3.bb} | 9 +-
...bjam-native_1.56.0.bb => bjam-native_1.57.0.bb} | 0
.../boost/{boost-1.56.0.inc => boost-1.57.0.inc} | 4 +-
...rt-for-extending-operations-to-GCC-atomic.patch | 412 ---------------------
.../boost/{boost_1.56.0.bb => boost_1.57.0.bb} | 1 -
meta/recipes-support/curl/curl/CVE-2014-3613.patch | 269 --------------
meta/recipes-support/curl/curl/CVE-2014-3620.patch | 69 ----
.../curl/{curl_7.37.1.bb => curl_7.38.0.bb} | 8 +-
meta/recipes-support/npth/npth/pkgconfig.patch | 48 +++
.../npth/{npth_1.0.bb => npth_1.1.bb} | 5 +-
27 files changed, 156 insertions(+), 1689 deletions(-)
create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
delete mode 100644 meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch
delete mode 100644 meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch
delete mode 100644 meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch
delete mode 100644 meta/recipes-devtools/pseudo/files/shutdownping.patch
delete mode 100644 meta/recipes-devtools/pseudo/files/symver.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
delete mode 100644 meta/recipes-extended/libaio/libaio/libaio-aarch64.patch
delete mode 100644 meta/recipes-extended/libaio/libaio/toolchain.patch
rename meta/recipes-extended/libaio/{libaio_0.3.109.bb => libaio_0.3.110.bb} (74%)
delete mode 100644 meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch
delete mode 100644 meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch
rename meta/recipes-kernel/lttng/{babeltrace_1.2.1.bb => babeltrace_1.2.3.bb} (73%)
rename meta/recipes-support/boost/{bjam-native_1.56.0.bb => bjam-native_1.57.0.bb} (100%)
rename meta/recipes-support/boost/{boost-1.56.0.inc => boost-1.57.0.inc} (83%)
delete mode 100644 meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch
rename meta/recipes-support/boost/{boost_1.56.0.bb => boost_1.57.0.bb} (50%)
delete mode 100644 meta/recipes-support/curl/curl/CVE-2014-3613.patch
delete mode 100644 meta/recipes-support/curl/curl/CVE-2014-3620.patch
rename meta/recipes-support/curl/{curl_7.37.1.bb => curl_7.38.0.bb} (90%)
create mode 100644 meta/recipes-support/npth/npth/pkgconfig.patch
rename meta/recipes-support/npth/{npth_1.0.bb => npth_1.1.bb} (74%)Signature · 1 line
1.8.3.1
PATCH 1/7 curl: Ugrade to 7.38
Remove backported CVE patches
---
meta/recipes-support/curl/curl/CVE-2014-3613.patch | 269 ---------------------
meta/recipes-support/curl/curl/CVE-2014-3620.patch | 69 ------
.../curl/{curl_7.37.1.bb => curl_7.38.0.bb} | 8 +-
3 files changed, 3 insertions(+), 343 deletions(-)
delete mode 100644 meta/recipes-support/curl/curl/CVE-2014-3613.patch
delete mode 100644 meta/recipes-support/curl/curl/CVE-2014-3620.patch
rename meta/recipes-support/curl/{curl_7.37.1.bb => curl_7.38.0.bb} (90%)meta/recipes-support/curl/curl/CVE-2014-3613.patch deleted +0 -269
@@ -1,269 +0,0 @@ -From 545e322cc8c383ccdfb4ad85a1634c2b719a1adf Mon Sep 17 00:00:00 2001 -From: Tim Ruehsen <[email protected]> -Date: Tue, 19 Aug 2014 21:01:28 +0200 -Subject: [PATCH] cookies: only use full host matches for hosts used as IP - address - -By not detecting and rejecting domain names for partial literal IP -addresses properly when parsing received HTTP cookies, libcurl can be -fooled to both send cookies to wrong sites and to allow arbitrary sites -to set cookies for others. - -CVE-2014-3613 - -Bug: http://curl.haxx.se/docs/adv_20140910A.html - -Upstream-Status: Backport - -Signed-off-by: Chong Lu <[email protected]> ---- - lib/cookie.c | 50 ++++++++++++++++++++++++++++++++++++++---------- - tests/data/test1105 | 3 +-- - tests/data/test31 | 55 +++++++++++++++++++++++++++-------------------------- - tests/data/test8 | 3 ++- - 4 files changed, 71 insertions(+), 40 deletions(-) - -diff --git a/lib/cookie.c b/lib/cookie.c -index 0590643..46904ac 100644 ---- a/lib/cookie.c -+++ b/lib/cookie.c -@@ -93,10 +93,11 @@ Example set of cookies: - #include "curl_memory.h" - #include "share.h" - #include "strtoofft.h" - #include "rawstr.h" - #include "curl_memrchr.h" -+#include "inet_pton.h" - - /* The last #include file should be: */ - #include "memdebug.h" - - static void freecookie(struct Cookie *co) -@@ -317,10 +318,32 @@ static void remove_expired(struct CookieInfo *cookies) - } - co = nx; - } - } - -+/* -+ * Return true if the given string is an IP(v4|v6) address. -+ */ -+static bool isip(const char *domain) -+{ -+ struct in_addr addr; -+#ifdef ENABLE_IPV6 -+ struct in6_addr addr6; -+#endif -+ -+ if(Curl_inet_pton(AF_INET, domain, &addr) -+#ifdef ENABLE_IPV6 -+ || Curl_inet_pton(AF_INET6, domain, &addr6) -+#endif -+ ) { -+ /* domain name given as IP address */ -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ - /**************************************************************************** - * - * Curl_cookie_add() - * - * Add a single cookie line to the cookie keeping object. -@@ -437,28 +460,31 @@ Curl_cookie_add(struct SessionHandle *data, - badcookie = TRUE; /* out of memory bad */ - break; - } - } - else if(Curl_raw_equal("domain", name)) { -+ bool is_ip; -+ - /* Now, we make sure that our host is within the given domain, - or the given domain is not valid and thus cannot be set. */ - - if('.' == whatptr[0]) - whatptr++; /* ignore preceding dot */ - -- if(!domain || tailmatch(whatptr, domain)) { -- const char *tailptr=whatptr; -- if(tailptr[0] == '.') -- tailptr++; -- strstore(&co->domain, tailptr); /* don't prefix w/dots -- internally */ -+ is_ip = isip(domain ? domain : whatptr); -+ -+ if(!domain -+ || (is_ip && !strcmp(whatptr, domain)) -+ || (!is_ip && tailmatch(whatptr, domain))) { -+ strstore(&co->domain, whatptr); - if(!co->domain) { - badcookie = TRUE; - break; - } -- co->tailmatch=TRUE; /* we always do that if the domain name was -- given */ -+ if(!is_ip) -+ co->tailmatch=TRUE; /* we always do that if the domain name was -+ given */ - } - else { - /* we did not get a tailmatch and then the attempted set domain - is not a domain to which the current host belongs. Mark as - bad. */ -@@ -966,17 +992,21 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c, - struct Cookie *newco; - struct Cookie *co; - time_t now = time(NULL); - struct Cookie *mainco=NULL; - size_t matches = 0; -+ bool is_ip; - - if(!c || !c->cookies) - return NULL; /* no cookie struct or no cookies in the struct */ - - /* at first, remove expired cookies */ - remove_expired(c); - -+ /* check if host is an IP(v4|v6) address */ -+ is_ip = isip(host); -+ - co = c->cookies; - - while(co) { - /* only process this cookie if it is not expired or had no expire - date AND that if the cookie requires we're secure we must only -@@ -984,12 +1014,12 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c, - if((!co->expires || (co->expires > now)) && - (co->secure?secure:TRUE)) { - - /* now check if the domain is correct */ - if(!co->domain || -- (co->tailmatch && tailmatch(co->domain, host)) || -- (!co->tailmatch && Curl_raw_equal(host, co->domain)) ) { -+ (co->tailmatch && !is_ip && tailmatch(co->domain, host)) || -+ ((!co->tailmatch || is_ip) && Curl_raw_equal(host, co->domain)) ) { - /* the right part of the host matches the domain stuff in the - cookie data */ - - /* now check the left part of the path with the cookies path - requirement */ -diff --git a/tests/data/test1105 b/tests/data/test1105 -index 25f194c..9564775 100644 ---- a/tests/data/test1105 -+++ b/tests/data/test1105 -@@ -57,10 +57,9 @@ userid=myname&password=mypassword - # Netscape HTTP Cookie File - # http://curl.haxx.se/docs/http-cookies.html - # This file was generated by libcurl! Edit at your own risk. - - 127.0.0.1 FALSE /we/want/ FALSE 0 foobar name --.127.0.0.1 TRUE "/silly/" FALSE 0 mismatch this --.0.0.1 TRUE / FALSE 0 partmatch present -+127.0.0.1 FALSE "/silly/" FALSE 0 mismatch this - </file> - </verify> - </testcase> -diff --git a/tests/data/test31 b/tests/data/test31 -index 38af83b..dfcac04 100644 ---- a/tests/data/test31 -+++ b/tests/data/test31 -@@ -49,11 +49,12 @@ Set-Cookie: nodomainnovalue - Set-Cookie: nodomain=value; expires=Fri Feb 2 11:56:27 GMT 2035 - Set-Cookie: novalue; domain=reallysilly - Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 - Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030 - Set-Cookie: magic=yessir; path=/silly/; HttpOnly --Set-Cookie: blexp=yesyes; domain=.0.0.1; domain=.0.0.1; expiry=totally bad; -+Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad; -+Set-Cookie: partialip=nono; domain=.0.0.1; - - boo - </data> - </reply> - -@@ -93,36 +94,36 @@ Accept: */* - <file name="log/jar31.txt" mode="text"> - # Netscape HTTP Cookie File - # http://curl.haxx.se/docs/http-cookies.html - # This file was generated by libcurl! Edit at your own risk. - --.127.0.0.1 TRUE /silly/ FALSE 0 ismatch this --.127.0.0.1 TRUE /overwrite FALSE 0 overwrite this2 --.127.0.0.1 TRUE /secure1/ TRUE 0 sec1value secure1 --.127.0.0.1 TRUE /secure2/ TRUE 0 sec2value secure2 --.127.0.0.1 TRUE /secure3/ TRUE 0 sec3value secure3 --.127.0.0.1 TRUE /secure4/ TRUE 0 sec4value secure4 --.127.0.0.1 TRUE /secure5/ TRUE 0 sec5value secure5 --.127.0.0.1 TRUE /secure6/ TRUE 0 sec6value secure6 --.127.0.0.1 TRUE /secure7/ TRUE 0 sec7value secure7 --.127.0.0.1 TRUE /secure8/ TRUE 0 sec8value secure8 --.127.0.0.1 TRUE /secure9/ TRUE 0 secure very1 --#HttpOnly_.127.0.0.1 TRUE /p1/ FALSE 0 httpo1 value1 --#HttpOnly_.127.0.0.1 TRUE /p2/ FALSE 0 httpo2 value2 --#HttpOnly_.127.0.0.1 TRUE /p3/ FALSE 0 httpo3 value3 --#HttpOnly_.127.0.0.1 TRUE /p4/ FALSE 0 httpo4 value4 --#HttpOnly_.127.0.0.1 TRUE /p4/ FALSE 0 httponly myvalue1 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec myvalue2 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec2 myvalue3 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec3 myvalue4 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec4 myvalue5 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec5 myvalue6 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec6 myvalue7 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec7 myvalue8 --#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec8 myvalue9 --.127.0.0.1 TRUE / FALSE 0 partmatch present -+127.0.0.1 FALSE /silly/ FALSE 0 ismatch this -+127.0.0.1 FALSE /overwrite FALSE 0 overwrite this2 -+127.0.0.1 FALSE /secure1/ TRUE 0 sec1value secure1 -+127.0.0.1 FALSE /secure2/ TRUE 0 sec2value secure2 -+127.0.0.1 FALSE /secure3/ TRUE 0 sec3value secure3 -+127.0.0.1 FALSE /secure4/ TRUE 0 sec4value secure4 -+127.0.0.1 FALSE /secure5/ TRUE 0 sec5value secure5 -+127.0.0.1 FALSE /secure6/ TRUE 0 sec6value secure6 -+127.0.0.1 FALSE /secure7/ TRUE 0 sec7value secure7 -+127.0.0.1 FALSE /secure8/ TRUE 0 sec8value secure8 -+127.0.0.1 FALSE /secure9/ TRUE 0 secure very1 -+#HttpOnly_127.0.0.1 FALSE /p1/ FALSE 0 httpo1 value1 -+#HttpOnly_127.0.0.1 FALSE /p2/ FALSE 0 httpo2 value2 -+#HttpOnly_127.0.0.1 FALSE /p3/ FALSE 0 httpo3 value3 -+#HttpOnly_127.0.0.1 FALSE /p4/ FALSE 0 httpo4 value4 -+#HttpOnly_127.0.0.1 FALSE /p4/ FALSE 0 httponly myvalue1 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec myvalue2 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec2 myvalue3 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec3 myvalue4 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec4 myvalue5 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec5 myvalue6 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec6 myvalue7 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec7 myvalue8 -+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec8 myvalue9 -+127.0.0.1 FALSE / FALSE 0 partmatch present - 127.0.0.1 FALSE /we/want/ FALSE 2054030187 nodomain value - #HttpOnly_127.0.0.1 FALSE /silly/ FALSE 0 magic yessir --.0.0.1 TRUE /we/want/ FALSE 0 blexp yesyes -+127.0.0.1 FALSE /we/want/ FALSE 0 blexp yesyes - </file> - </verify> - </testcase> -diff --git a/tests/data/test8 b/tests/data/test8 -index 4d54541..030fd55 100644 ---- a/tests/data/test8 -+++ b/tests/data/test8 -@@ -40,11 +40,12 @@ Set-Cookie: mismatch=this; domain=%HOSTIP; path="/silly/"; - Set-Cookie: partmatch=present; domain=.0.0.1; path=/w; - Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey; - Set-Cookie: cookie=yes; path=/we; - Set-Cookie: cookie=perhaps; path=/we/want; - Set-Cookie: nocookie=yes; path=/WE; --Set-Cookie: blexp=yesyes; domain=.0.0.1; domain=.0.0.1; expiry=totally bad; -+Set-Cookie: blexp=yesyes; domain=%HOSTIP; domain=%HOSTIP; expiry=totally bad; -+Set-Cookie: partialip=nono; domain=.0.0.1; - - </file> - <precheck> - perl -e 'if ("%HOSTIP" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' - </precheck> --- -2.1.0 -
meta/recipes-support/curl/curl/CVE-2014-3620.patch deleted +0 -69
69 lines not on this page · raw message
meta/recipes-support/curl/curl_7.38.0.bb renamed from meta/recipes-support/curl/curl_7.37.1.bb +3 -5
@@ -7,17 +7,15 @@ LIC_FILES_CHKSUM = "file://COPYING;beginline=7;md5=3a34942f4ae3fbf1a303160714e66 SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://pkgconfig_fix.patch \ - file://CVE-2014-3613.patch \ - file://CVE-2014-3620.patch \ -" + " # curl likes to set -g0 in CFLAGS, so we stop it # from mucking around with debug options # SRC_URI += " file://configure_ac.patch" -SRC_URI[md5sum] = "95c627abcf6494f5abe55effe7cd6a57" -SRC_URI[sha256sum] = "c3ef3cd148f3778ddbefb344117d7829db60656efe1031f9e3065fc0faa25136" +SRC_URI[md5sum] = "af6b3c299bd891f43cb5f76c4091b7b4" +SRC_URI[sha256sum] = "035bd41e99aa1a4e64713f4cea5ccdf366ca8199e9be1b53d5a043d5165f9eba" inherit autotools pkgconfig binconfig multilib_header
Signature · 1 line
1.8.3.1
PATCH 2/7 babeltrace: Upgrade to 1.2.3
In reply to Saul WoldRemove backported patches
---
...-Support-out-of-tree-builds-in-babeltrace.patch | 17 -------
...uffers-from-objstack_alloc-on-sizeof-void.patch | 54 ----------------------
.../{babeltrace_1.2.1.bb => babeltrace_1.2.3.bb} | 9 ++--
3 files changed, 3 insertions(+), 77 deletions(-)
delete mode 100644 meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch
delete mode 100644 meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch
rename meta/recipes-kernel/lttng/{babeltrace_1.2.1.bb => babeltrace_1.2.3.bb} (73%)meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch deleted +0 -17
@@ -1,17 +0,0 @@ -Upstream-Status: backport - -babeltrace: Fix support out of tree builds in babeltrace - -Signed-off-by: Lars Persson <[email protected]> - -diff --git a/formats/lttng-live/Makefile.am b/formats/lttng-live/Makefile.am -index c834699..2c6b0bd 100644 ---- a/formats/lttng-live/Makefile.am -+++ b/formats/lttng-live/Makefile.am -@@ -1,4 +1,4 @@ --AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include -I$(top_builddir)/include -+AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) - - lib_LTLIBRARIES = libbabeltrace-lttng-live.la - -
meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch deleted +0 -54
54 lines not on this page · raw message
meta/recipes-kernel/lttng/babeltrace_1.2.3.bb renamed from meta/recipes-kernel/lttng/babeltrace_1.2.1.bb +3 -6
@@ -10,13 +10,10 @@ inherit autotools pkgconfig DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" -SRCREV = "66c2a20b4391fb5c7f870aeb0dde854f0ae1fc79" -PV = "1.2.1+git${SRCPV}" +SRCREV = "753a40ead9fa4f6bd5e29d5765e2021122df9c1c" +PV = "1.2.3+git${SRCPV}" -SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.2 \ - file://0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch \ - file://Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch \ -" +SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.2" S = "${WORKDIR}/git"
Signature · 1 line
1.8.3.1
PATCH 3/7 npth: Upgrade to 1.1
In reply to Saul WoldAdd patch for adding pkgconfig file.
---
meta/recipes-support/npth/npth/pkgconfig.patch | 48 ++++++++++++++++++++++
.../npth/{npth_1.0.bb => npth_1.1.bb} | 5 ++-
2 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-support/npth/npth/pkgconfig.patch
rename meta/recipes-support/npth/{npth_1.0.bb => npth_1.1.bb} (74%)meta/recipes-support/npth/npth/pkgconfig.patch new file +48 -0
@@ -0,0 +1,48 @@ +Added npth pkgconfig file + +Upstream-Status: Incompatible [oe-core specific] + +Signed-off-by: Saul Wold <[email protected]> +Index: npth-1.1/src/npth.pc.in +=================================================================== +--- /dev/null ++++ npth-1.1/src/npth.pc.in +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: npth ++Description: a new portable posix threading library ++Version: @VERSION@ ++Libs: -L${libdir} -lnpth ++Cflags: -I${includedir} +Index: npth-1.1/src/Makefile.am +=================================================================== +--- npth-1.1.orig/src/Makefile.am ++++ npth-1.1/src/Makefile.am +@@ -27,8 +27,10 @@ + # License along with this program; if not, see <http://www.gnu.org/licenses/>. + + ## Process this file with automake to produce Makefile.in ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = npth.pc + +-EXTRA_DIST = libnpth.vers ++EXTRA_DIST = libnpth.vers npth.pc + # versioninfo.rc.in + nodist_include_HEADERS = npth.h + +Index: npth-1.1/configure.ac +=================================================================== +--- npth-1.1.orig/configure.ac ++++ npth-1.1/configure.ac +@@ -337,6 +337,7 @@ src/Makefile + w32/Makefile + tests/Makefile]) + AC_CONFIG_FILES(npth-config, chmod +x npth-config) ++AC_CONFIG_FILES([src/npth.pc]) + AC_OUTPUT + + echo "
meta/recipes-support/npth/npth_1.1.bb renamed from meta/recipes-support/npth/npth_1.0.bb +3 -2
@@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "\ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6\ " SRC_URI = "ftp://ftp.gnupg.org/gcrypt/npth/npth-${PV}.tar.bz2 \ + file://pkgconfig.patch \ " -SRC_URI[md5sum] = "36869bf10378ea08c155cd5c3580a1dd" -SRC_URI[sha256sum] = "9ad49de376310effab7fdad69581054b0fa9023d062032d06e73058146c8f76e" +SRC_URI[md5sum] = "aaffc8ef3e955ab50a1905809f268a23" +SRC_URI[sha256sum] = "896c561eb2ec8da35f11828fb04a3fbff12d41ff657c799056d7dc4a66e5df7f" BINCONFIG = "${bindir}/npth-config"
Signature · 1 line
1.8.3.1
PATCH 4/7 boost: Upgrade to 1.57
In reply to Saul Wold---
...bjam-native_1.56.0.bb => bjam-native_1.57.0.bb} | 0
.../boost/{boost-1.56.0.inc => boost-1.57.0.inc} | 4 +-
...rt-for-extending-operations-to-GCC-atomic.patch | 412 ---------------------
.../boost/{boost_1.56.0.bb => boost_1.57.0.bb} | 1 -
4 files changed, 2 insertions(+), 415 deletions(-)
rename meta/recipes-support/boost/{bjam-native_1.56.0.bb => bjam-native_1.57.0.bb} (100%)
rename meta/recipes-support/boost/{boost-1.56.0.inc => boost-1.57.0.inc} (83%)
delete mode 100644 meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch
rename meta/recipes-support/boost/{boost_1.56.0.bb => boost_1.57.0.bb} (50%)meta/recipes-support/boost/bjam-native_1.57.0.bb renamed from meta/recipes-support/boost/bjam-native_1.56.0.bb +0 -0
meta/recipes-support/boost/boost-1.57.0.inc renamed from meta/recipes-support/boost/boost-1.56.0.inc +2 -2
@@ -13,7 +13,7 @@ BOOST_P = "boost_${BOOST_VER}" SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2" -SRC_URI[md5sum] = "a744cf167b05d72335f27c88115f211d" -SRC_URI[sha256sum] = "134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d" +SRC_URI[md5sum] = "1be49befbdd9a5ce9def2983ba3e7b76" +SRC_URI[sha256sum] = "910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967" S = "${WORKDIR}/${BOOST_P}"
meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch deleted +0 -412
412 lines not on this page · raw message
meta/recipes-support/boost/boost_1.57.0.bb renamed from meta/recipes-support/boost/boost_1.56.0.bb +0 -1
@@ -3,5 +3,4 @@ include boost.inc SRC_URI += "\ file://arm-intrinsics.patch \ - file://0001-Added-support-for-extending-operations-to-GCC-atomic.patch;striplevel=2 \ "
Signature · 1 line
1.8.3.1
PATCH 5/7 libaio: Upgrade to 3.110
In reply to Saul Wold---
meta/conf/distro/include/security_flags.inc | 1 +
.../recipes-extended/libaio/libaio/00_arches.patch | 208 ++-------------------
.../libaio/libaio/libaio-aarch64.patch | 28 ---
.../libaio/libaio/libaio_fix_for_mips64.patch | 68 ++++---
.../recipes-extended/libaio/libaio/toolchain.patch | 27 ---
.../{libaio_0.3.109.bb => libaio_0.3.110.bb} | 9 +-
6 files changed, 63 insertions(+), 278 deletions(-)
delete mode 100644 meta/recipes-extended/libaio/libaio/libaio-aarch64.patch
delete mode 100644 meta/recipes-extended/libaio/libaio/toolchain.patch
rename meta/recipes-extended/libaio/{libaio_0.3.109.bb => libaio_0.3.110.bb} (74%)meta/conf/distro/include/security_flags.inc +1 -0
@@ -43,6 +43,7 @@ SECURITY_CFLAGS_pn-gst-plugins-gl = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gstreamer1.0-plugins-good = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-harfbuzz = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS_pn-libaio = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libid3tag = "${SECURITY_NO_PIE_CFLAGS}"
meta/recipes-extended/libaio/libaio/00_arches.patch +18 -190
247 lines not on this page · raw message
meta/recipes-extended/libaio/libaio/libaio-aarch64.patch deleted +0 -28
@@ -1,28 +0,0 @@ -Upstream-Status: Submitted - -Signed-off-by: Riku Voipio <[email protected]> - ---- - harness/cases/16.t | 2 ++ - src/libaio.h | 10 ++++++++++ - 2 files changed, 12 insertions(+) - ---- a/src/libaio.h -+++ b/src/libaio.h -@@ -107,6 +107,16 @@ - # else - # error "neither mipseb nor mipsel?" - # endif -+#elif defined(__aarch64__) -+# if defined (__AARCH64EB__) /* big endian, 64 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x,y) x -+#define PADDEDul(x, y) unsigned long x -+# elif defined(__AARCH64EL__) /* little endian, 64 bits */ -+#define PADDED(x, y) x, y -+#define PADDEDptr(x, y) x -+#define PADDEDul(x, y) unsigned long x -+# endif - #else - #error endian? - #endif
meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch +42 -26
71 lines not on this page · raw message
meta/recipes-extended/libaio/libaio/toolchain.patch deleted +0 -27
@@ -1,27 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -8/27/2010 - created by Qing He <[email protected]> - -diff --git a/src/Makefile b/src/Makefile -index 8d134cc..df8e5b6 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -2,7 +2,6 @@ prefix=/usr - includedir=$(prefix)/include - libdir=$(prefix)/lib - --ARCH := $(shell uname -m | sed -e s/i.86/i386/) - CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC - SO_CFLAGS=-shared $(CFLAGS) - L_CFLAGS=$(CFLAGS) -@@ -44,8 +43,8 @@ $(libaio_objs) $(libaio_sobjs): libaio.h vsys_def.h - - libaio.a: $(libaio_objs) - rm -f libaio.a -- ar r libaio.a $^ -- ranlib libaio.a -+ $(AR) r libaio.a $^ -+ $(RANLIB) libaio.a - - $(libname): $(libaio_sobjs) libaio.map - $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
meta/recipes-extended/libaio/libaio_0.3.110.bb renamed from meta/recipes-extended/libaio/libaio_0.3.109.bb +2 -7
@@ -5,21 +5,16 @@ HOMEPAGE = "http://lse.sourceforge.net/io/aio.html" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" -PR = "r2" - SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \ file://00_arches.patch \ - file://toolchain.patch \ file://destdir.patch \ file://libaio_fix_for_x32.patch \ - file://libaio-generic.patch \ - file://libaio-aarch64.patch \ file://libaio_fix_for_mips_syscalls.patch \ file://libaio_fix_for_mips64.patch \ " -SRC_URI[md5sum] = "435a5b16ca6198eaf01155263d855756" -SRC_URI[sha256sum] = "bf4a457253cbaab215aea75cb6e18dc8d95bbd507e9920661ff9bdd288c8778d" +SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8" +SRC_URI[sha256sum] = "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e" EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
Signature · 1 line
1.8.3.1
PATCH 6/7 pseudo: remove older version and patches
In reply to Saul Wold--- .../0001-pseudo_has_unload-add-function.patch | 190 --------------- .../pseudo-1.5.1-install-directory-mode.patch | 18 -- .../pseudo/files/pseudo-fchmodat-permissions.patch | 264 --------------------- .../pseudo/files/shutdownping.patch | 53 ----- meta/recipes-devtools/pseudo/files/symver.patch | 26 -- meta/recipes-devtools/pseudo/pseudo_1.5.1.bb | 20 -- 6 files changed, 571 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch delete mode 100644 meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch delete mode 100644 meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch delete mode 100644 meta/recipes-devtools/pseudo/files/shutdownping.patch delete mode 100644 meta/recipes-devtools/pseudo/files/symver.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch deleted +0 -190
@@ -1,190 +0,0 @@ -From be97cb958f2934fa398fc8e344b25b84ebd4e90c Mon Sep 17 00:00:00 2001 -From: "Peter A. Bigot" <[email protected]> -Date: Sun, 25 Aug 2013 19:22:09 -0500 -Subject: [PATCH] pseudo_has_unload: add function - -Various wrappers checked for a non-null pseudo_get_value("PSEUDO_UNLOAD") to -determine whether the environment should include the pseudo variables. None -of those checks freed the returned value when it was not null. The new -check function does. - -The new check function also sees whether PSEUDO_UNLOAD was defined in the -environment that should be used in the wrapped system call. This allows -pkg_postinst scripts to strip out the LD_PRELOAD setting, for example before -invoking qemu to execute commands in an environment that does not have -libpseudo.so. - -[YOCTO #4843] - -Upstream-Status: Pending -Signed-off-by: Peter A. Bigot <[email protected]> ---- - ports/common/guts/execv.c | 2 +- - ports/common/guts/execve.c | 2 +- - ports/common/guts/execvp.c | 2 +- - ports/common/guts/fork.c | 2 +- - ports/linux/newclone/pseudo_wrappers.c | 2 +- - ports/linux/oldclone/pseudo_wrappers.c | 2 +- - ports/unix/guts/popen.c | 2 +- - ports/unix/guts/system.c | 2 +- - pseudo.h | 1 + - pseudo_util.c | 27 +++++++++++++++++++++++++++ - 10 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/ports/common/guts/execv.c b/ports/common/guts/execv.c -index 763e1f9..3e1f820 100644 ---- a/ports/common/guts/execv.c -+++ b/ports/common/guts/execv.c -@@ -19,7 +19,7 @@ - } - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/execve.c b/ports/common/guts/execve.c -index a003657..ff6a44e 100644 ---- a/ports/common/guts/execve.c -+++ b/ports/common/guts/execve.c -@@ -20,7 +20,7 @@ - } - - new_environ = pseudo_setupenvp(envp); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(new_environ)) - new_environ = pseudo_dropenvp(new_environ); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/execvp.c b/ports/common/guts/execvp.c -index 5e75be7..04253c3 100644 ---- a/ports/common/guts/execvp.c -+++ b/ports/common/guts/execvp.c -@@ -20,7 +20,7 @@ - } - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/fork.c b/ports/common/guts/fork.c -index df8abd7..bebe3b0 100644 ---- a/ports/common/guts/fork.c -+++ b/ports/common/guts/fork.c -@@ -12,7 +12,7 @@ - */ - if (rc == 0) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/linux/newclone/pseudo_wrappers.c b/ports/linux/newclone/pseudo_wrappers.c -index 9dbac42..257e8bb 100644 ---- a/ports/linux/newclone/pseudo_wrappers.c -+++ b/ports/linux/newclone/pseudo_wrappers.c -@@ -28,7 +28,7 @@ int wrap_clone_child(void *args) { - - if (!(flags & CLONE_VM)) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/linux/oldclone/pseudo_wrappers.c b/ports/linux/oldclone/pseudo_wrappers.c -index c0ce5dd..598d966 100644 ---- a/ports/linux/oldclone/pseudo_wrappers.c -+++ b/ports/linux/oldclone/pseudo_wrappers.c -@@ -22,7 +22,7 @@ int wrap_clone_child(void *args) { - - if (!(flags & CLONE_VM)) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/unix/guts/popen.c b/ports/unix/guts/popen.c -index 0ca16b0..5d44c0e 100644 ---- a/ports/unix/guts/popen.c -+++ b/ports/unix/guts/popen.c -@@ -9,7 +9,7 @@ - * in ways that avoid our usual enforcement of the environment. - */ - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - rc = real_popen(command, mode); -diff --git a/ports/unix/guts/system.c b/ports/unix/guts/system.c -index 028b372..6351592 100644 ---- a/ports/unix/guts/system.c -+++ b/ports/unix/guts/system.c -@@ -9,7 +9,7 @@ - return 1; - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - rc = real_system(command); -diff --git a/pseudo.h b/pseudo.h -index 56760a4..f600793 100644 ---- a/pseudo.h -+++ b/pseudo.h -@@ -28,6 +28,7 @@ extern void pseudo_init_client(void); - void pseudo_dump_env(char **envp); - int pseudo_set_value(const char *key, const char *value); - char *pseudo_get_value(const char *key); -+int pseudo_has_unload(char * const *envp); - - #include "pseudo_tables.h" - -diff --git a/pseudo_util.c b/pseudo_util.c -index 8d0969e..16c70e0 100644 ---- a/pseudo_util.c -+++ b/pseudo_util.c -@@ -95,6 +95,33 @@ dump_env(char **envp) { - } - #endif - -+int -+pseudo_has_unload(char * const *envp) { -+ static const char unload[] = "PSEUDO_UNLOAD"; -+ static size_t unload_len = strlen(unload); -+ size_t i = 0; -+ -+ /* Is it in the caller environment? */ -+ if (NULL != getenv(unload)) -+ return 1; -+ -+ /* Is it in the environment cache? */ -+ if (pseudo_util_initted == -1) -+ pseudo_init_util(); -+ while (pseudo_env[i].key && strcmp(pseudo_env[i].key, unload)) -+ ++i; -+ if (pseudo_env[i].key && pseudo_env[i].value) -+ return 1; -+ -+ /* Is it in the operational environment? */ -+ while (envp && *envp) { -+ if ((!strncmp(*envp, unload, unload_len)) && ('=' == (*envp)[unload_len])) -+ return 1; -+ ++envp; -+ } -+ return 0; -+} -+ - /* Caller must free memory! */ - char * - pseudo_get_value(const char *key) { --- -1.7.9.5 -
meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch deleted +0 -18
@@ -1,18 +0,0 @@ -Upstream-Status: Backport - -when install command sets the created directory mode, pseudo will change -the mode of the directory to 0700 incorrectly. - -Signed-off-by: yanjun.zhu <[email protected]> -Signed-off-by: Kai Kang <[email protected]> - ---- a/ports/unix/guts/mkdirat.c -+++ b/ports/unix/guts/mkdirat.c -@@ -25,6 +25,7 @@ - stat_rc = base_fstatat(dirfd, path, &buf, AT_SYMLINK_NOFOLLOW); - #endif - if (stat_rc != -1) { -+ buf.st_mode = PSEUDO_DB_MODE(buf.st_mode, mode); - pseudo_client_op(OP_MKDIR, 0, -1, dirfd, path, &buf); - } else { - pseudo_debug(1, "mkdir of %s succeeded, but stat failed: %s\n",
meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch deleted +0 -264
264 lines not on this page · raw message
meta/recipes-devtools/pseudo/files/shutdownping.patch deleted +0 -53
53 lines not on this page · raw message
meta/recipes-devtools/pseudo/files/symver.patch deleted +0 -26
@@ -1,26 +0,0 @@ -When running as pseudo-nativesdk, we might need to run host binaries -linked against the host libc. Having a 2.14 libc dependency from memcpy is -problematic so instruct the linker to use older symbols. - -Upstream-Status: Pending - -RP 2012/4/22 - -Index: pseudo-1.3/pseudo.h -=================================================================== ---- pseudo-1.3.orig/pseudo.h 2012-04-22 12:17:59.078909060 +0000 -+++ pseudo-1.3/pseudo.h 2012-04-22 12:32:42.954888587 +0000 -@@ -29,6 +29,13 @@ - int pseudo_set_value(const char *key, const char *value); - char *pseudo_get_value(const char *key); - -+#ifdef __amd64__ -+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.2.5") -+#else -+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.0") -+#endif -+GLIBC_COMPAT_SYMBOL(memcpy); -+ - #include "pseudo_tables.h" - - extern void pseudo_debug_verbose(void);
meta/recipes-devtools/pseudo/pseudo_1.5.1.bb deleted +0 -20
@@ -1,20 +0,0 @@ -require pseudo.inc - -PR = "r5" - -SRC_URI = " \ - http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-pseudo_has_unload-add-function.patch \ - file://shutdownping.patch \ - file://pseudo-1.5.1-install-directory-mode.patch \ - file://pseudo-fchmodat-permissions.patch \ -" - -SRC_URI_append_class-nativesdk = " file://symver.patch" - -SRC_URI_append_class-native = " file://symver.patch" - -SRC_URI[md5sum] = "5ec67c7bff5fe68c56de500859c19172" -SRC_URI[sha256sum] = "3b896f592f4d568569bd02323fad2d6b8c398e16ca36ee5a8947d2ff6c1d3d52" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async"
Signature · 1 line
1.8.3.1
Re: [PATCH 6/7] pseudo: remove older version and patches
Armin
This is also ready for backport to dizzy, as it's been merged in master
The resolvconf and lzo (still pending) should be back ported as well.
Thanks
Sau!
Quoted 624 lines · Saul Wold
Signed-off-by Saul Wold <[email protected]>--- .../0001-pseudo_has_unload-add-function.patch | 190 --------------- .../pseudo-1.5.1-install-directory-mode.patch | 18 -- .../pseudo/files/pseudo-fchmodat-permissions.patch | 264 --------------------- .../pseudo/files/shutdownping.patch | 53 ----- meta/recipes-devtools/pseudo/files/symver.patch | 26 -- meta/recipes-devtools/pseudo/pseudo_1.5.1.bb | 20 -- 6 files changed, 571 deletions(-)delete mode 100644
meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patchdelete mode 100644meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patchdelete mode 100644meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patchdelete mode 100644meta/recipes-devtools/pseudo/files/shutdownping.patch
delete mode 100644meta/recipes-devtools/pseudo/files/symver.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.5.1.bbmeta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch deleted +0
-190@@ -1,190 +0,0 @@ -From be97cb958f2934fa398fc8e344b25b84ebd4e90c Mon Sep 17 00:00:00 2001 -From: "Peter A. Bigot" <[email protected]> -Date: Sun, 25 Aug 2013 19:22:09 -0500 -Subject: [PATCH] pseudo_has_unload: add function - -Various wrappers checked for a non-null pseudo_get_value("PSEUDO_UNLOAD") to -determine whether the environment should include the pseudo variables. None -of those checks freed the returned value when it was not null. The new -check function does. - -The new check function also sees whether PSEUDO_UNLOAD was defined in the -environment that should be used in the wrapped system call. This allows -pkg_postinst scripts to strip out the LD_PRELOAD setting, for example before -invoking qemu to execute commands in an environment that does not have -libpseudo.so. - -[YOCTO #4843] - -Upstream-Status: Pending -Signed-off-by: Peter A. Bigot <[email protected]> ---- - ports/common/guts/execv.c | 2 +- - ports/common/guts/execve.c | 2 +- - ports/common/guts/execvp.c | 2 +- - ports/common/guts/fork.c | 2 +- - ports/linux/newclone/pseudo_wrappers.c | 2 +- - ports/linux/oldclone/pseudo_wrappers.c | 2 +- - ports/unix/guts/popen.c | 2 +- - ports/unix/guts/system.c | 2 +- - pseudo.h | 1 + - pseudo_util.c | 27 +++++++++++++++++++++++++++ - 10 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/ports/common/guts/execv.c b/ports/common/guts/execv.c -index 763e1f9..3e1f820 100644 ---- a/ports/common/guts/execv.c -+++ b/ports/common/guts/execv.c -@@ -19,7 +19,7 @@ - } - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/execve.c b/ports/common/guts/execve.c -index a003657..ff6a44e 100644 ---- a/ports/common/guts/execve.c -+++ b/ports/common/guts/execve.c -@@ -20,7 +20,7 @@ - } - - new_environ = pseudo_setupenvp(envp); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(new_environ)) - new_environ = pseudo_dropenvp(new_environ); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/execvp.c b/ports/common/guts/execvp.c -index 5e75be7..04253c3 100644 ---- a/ports/common/guts/execvp.c -+++ b/ports/common/guts/execvp.c -@@ -20,7 +20,7 @@ - } - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - /* if exec() fails, we may end up taking signals unexpectedly... -diff --git a/ports/common/guts/fork.c b/ports/common/guts/fork.c -index df8abd7..bebe3b0 100644 ---- a/ports/common/guts/fork.c -+++ b/ports/common/guts/fork.c -@@ -12,7 +12,7 @@ - */ - if (rc == 0) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/linux/newclone/pseudo_wrappers.c b/ports/linux/newclone/pseudo_wrappers.c -index 9dbac42..257e8bb 100644 ---- a/ports/linux/newclone/pseudo_wrappers.c -+++ b/ports/linux/newclone/pseudo_wrappers.c -@@ -28,7 +28,7 @@ int wrap_clone_child(void *args) { - - if (!(flags & CLONE_VM)) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/linux/oldclone/pseudo_wrappers.c b/ports/linux/oldclone/pseudo_wrappers.c -index c0ce5dd..598d966 100644 ---- a/ports/linux/oldclone/pseudo_wrappers.c -+++ b/ports/linux/oldclone/pseudo_wrappers.c -@@ -22,7 +22,7 @@ int wrap_clone_child(void *args) { - - if (!(flags & CLONE_VM)) { - pseudo_setupenv(); -- if (!pseudo_get_value("PSEUDO_UNLOAD")) { -+ if (!pseudo_has_unload(NULL)) { - pseudo_reinit_libpseudo(); - } else { - pseudo_dropenv(); -diff --git a/ports/unix/guts/popen.c b/ports/unix/guts/popen.c -index 0ca16b0..5d44c0e 100644 ---- a/ports/unix/guts/popen.c -+++ b/ports/unix/guts/popen.c -@@ -9,7 +9,7 @@ - * in ways that avoid our usual enforcement of the environment. - */ - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - rc = real_popen(command, mode); -diff --git a/ports/unix/guts/system.c b/ports/unix/guts/system.c -index 028b372..6351592 100644 ---- a/ports/unix/guts/system.c -+++ b/ports/unix/guts/system.c -@@ -9,7 +9,7 @@ - return 1; - - pseudo_setupenv(); -- if (pseudo_get_value("PSEUDO_UNLOAD")) -+ if (pseudo_has_unload(NULL)) - pseudo_dropenv(); - - rc = real_system(command); -diff --git a/pseudo.h b/pseudo.h -index 56760a4..f600793 100644 ---- a/pseudo.h -+++ b/pseudo.h -@@ -28,6 +28,7 @@ extern void pseudo_init_client(void); - void pseudo_dump_env(char **envp); - int pseudo_set_value(const char *key, const char *value); - char *pseudo_get_value(const char *key); -+int pseudo_has_unload(char * const *envp); - - #include "pseudo_tables.h" - -diff --git a/pseudo_util.c b/pseudo_util.c -index 8d0969e..16c70e0 100644 ---- a/pseudo_util.c -+++ b/pseudo_util.c -@@ -95,6 +95,33 @@ dump_env(char **envp) { - } - #endif - -+int -+pseudo_has_unload(char * const *envp) { -+ static const char unload[] = "PSEUDO_UNLOAD"; -+ static size_t unload_len = strlen(unload); -+ size_t i = 0; -+ -+ /* Is it in the caller environment? */ -+ if (NULL != getenv(unload)) -+ return 1; -+ -+ /* Is it in the environment cache? */ -+ if (pseudo_util_initted == -1) -+ pseudo_init_util(); -+ while (pseudo_env[i].key && strcmp(pseudo_env[i].key, unload)) -+ ++i; -+ if (pseudo_env[i].key && pseudo_env[i].value) -+ return 1; -+ -+ /* Is it in the operational environment? */ -+ while (envp && *envp) { -+ if ((!strncmp(*envp, unload, unload_len)) && ('=' == (*envp)[unload_len])) -+ return 1; -+ ++envp; -+ } -+ return 0; -+} -+ - /* Caller must free memory! */ - char * - pseudo_get_value(const char *key) { --- -1.7.9.5 -meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch deleted +0
-18@@ -1,18 +0,0 @@ -Upstream-Status: Backport - -when install command sets the created directory mode, pseudo will change -the mode of the directory to 0700 incorrectly. - -Signed-off-by: yanjun.zhu <[email protected]> -Signed-off-by: Kai Kang <[email protected]> - ---- a/ports/unix/guts/mkdirat.c -+++ b/ports/unix/guts/mkdirat.c -@@ -25,6 +25,7 @@ - stat_rc = base_fstatat(dirfd, path, &buf, AT_SYMLINK_NOFOLLOW); - #endif - if (stat_rc != -1) { -+ buf.st_mode = PSEUDO_DB_MODE(buf.st_mode, mode); - pseudo_client_op(OP_MKDIR, 0, -1, dirfd, path, &buf); - } else { - pseudo_debug(1, "mkdir of %s succeeded, but stat failed: %s\n",meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch deleted +0
-264@@ -1,264 +0,0 @@ -commit 7e67d082737b3df4788caf85fedd607b3acd9786 -Author: Peter Seebach <[email protected]> -Date: Fri May 16 15:53:06 2014 -0500 - - permissions updates: improve fchmodat, mask out write bits - - Upstream-Status: Backport of several patches from 1.6 branch, - combined. - - Backport from pseudo 1.6 of improvements to fchmodat (handle - AT_SYMLINK_NOFOLLOW by rejecting it if the host system does, - to make GNU tar happier), also mask out write bits from filesystem - modes to avoid security problems. - - Also start tracking umask so we can use the right modes for - open, mkdir, and mknod. - - The 1.6 patches are: - - 87c53ea58befef48677846693aab445df1850e16 - 3c716e0bab4f0cfe4be84caa9ce5fd5e3f5e2a23 - c98e4f43b5d6499748a5057134408f4ba4854fb4 - 2f71a021b725c1aa415439209a89327f0b997d02 - 14925786b55202d8147b0af719038e8a23ef73c0 - -diff --git a/ChangeLog.txt b/ChangeLog.txt -index 113f675..cc966ce 100644 ---- a/ChangeLog.txt -+++ b/ChangeLog.txt -@@ -1,3 +1,18 @@ -+2014-05-27: -+ * (seebs) start noticing umask, mask it out from open or mkdir -+ calls rather than relying on underlying open/mkdir to do it. -+ -+2014-05-16: -+ * (seebs) fchmodat: don't drop flags, report failures, to improve -+ compatibility/consistency. Cache the knowledge that -+ AT_SYMLINK_NOFOLLOW gets ENOTSUP. -+ * (seebs) mask out group/other write bits in real filesystem to -+ reduce risks when assembling a rootfs including world-writeable -+ directories. -+ -+2014-05-15: -+ * (seebs) drop flags when calling fchmodat() to appease GNU tar. -+ - 2013-02-27: - * (seebs) Oh, hey, what if I took out my debug messages? - * (seebs) update docs a bit to reduce bitrot -diff --git a/makewrappers b/makewrappers -index e87cc56..0127766 100755 ---- a/makewrappers -+++ b/makewrappers -@@ -204,6 +204,7 @@ class Function: - 'uid_t': '0', - 'int': '-1', - 'long': '-1', -+ 'mode_t': '0', - 'ssize_t': '-1' - } - -diff --git a/ports/darwin/guts/open.c b/ports/darwin/guts/open.c -index c66cc15..520bb70 100644 ---- a/ports/darwin/guts/open.c -+++ b/ports/darwin/guts/open.c -@@ -9,6 +9,9 @@ - struct stat buf = { }; - int existed = 1; - int save_errno; -+ -+ /* mask out mode bits appropriately */ -+ mode = mode & ~pseudo_umask; - #ifdef PSEUDO_FORCE_ASYNCH - flags &= ~O_SYNC; - #endif -diff --git a/ports/linux/guts/__xmknodat.c b/ports/linux/guts/__xmknodat.c -index 59b4f2f..0888b8a 100644 ---- a/ports/linux/guts/__xmknodat.c -+++ b/ports/linux/guts/__xmknodat.c -@@ -9,6 +9,9 @@ - pseudo_msg_t *msg; - struct stat64 buf; - -+ /* mask out mode bits appropriately */ -+ mode = mode & ~pseudo_umask; -+ - /* we don't use underlying call, so _ver is irrelevant to us */ - (void) ver; - -diff --git a/ports/linux/guts/openat.c b/ports/linux/guts/openat.c -index 8460073..4053549 100644 ---- a/ports/linux/guts/openat.c -+++ b/ports/linux/guts/openat.c -@@ -10,6 +10,9 @@ - int existed = 1; - int save_errno; - -+ /* mask out mode bits appropriately */ -+ mode = mode & ~pseudo_umask; -+ - #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS - if (dirfd != AT_FDCWD) { - errno = ENOSYS; -diff --git a/ports/unix/guts/fchmodat.c b/ports/unix/guts/fchmodat.c -index 59a92ce..69a953c 100644 ---- a/ports/unix/guts/fchmodat.c -+++ b/ports/unix/guts/fchmodat.c -@@ -8,6 +8,7 @@ - */ - PSEUDO_STATBUF buf; - int save_errno = errno; -+ static int picky_fchmodat = 0; - - #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS - if (dirfd != AT_FDCWD) { -@@ -15,6 +16,16 @@ - return -1; - } - if (flags & AT_SYMLINK_NOFOLLOW) { -+ /* Linux, as of this writing, will always reject this. -+ * GNU tar relies on getting the rejection. To cut down -+ * on traffic, we check for the failure, and if we saw -+ * a failure previously, we reject it right away and tell -+ * the caller to retry. -+ */ -+ if (picky_fchmodat) { -+ errno = ENOTSUP; -+ return -1; -+ } - rc = base_lstat(path, &buf); - } else { - rc = base_stat(path, &buf); -@@ -50,13 +61,22 @@ - - /* user bits added so "root" can always access files. */ - #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS -- /* note: if path was a symlink, and AT_NOFOLLOW_SYMLINKS was -+ /* note: if path was a symlink, and AT_SYMLINK_NOFOLLOW was - * specified, we already bailed previously. */ - real_chmod(path, PSEUDO_FS_MODE(mode, S_ISDIR(buf.st_mode))); - #else -- real_fchmodat(dirfd, path, PSEUDO_FS_MODE(mode, S_ISDIR(buf.st_mode)), flags); -+ rc = real_fchmodat(dirfd, path, PSEUDO_FS_MODE(mode, S_ISDIR(buf.st_mode)), flags); -+ /* AT_SYMLINK_NOFOLLOW isn't supported by fchmodat. GNU tar -+ * tries to use it anyway, figuring it can just retry if that -+ * fails. So we want to report that *particular* failure instead -+ * of doing the fallback. -+ */ -+ if (rc == -1 && errno == ENOTSUP && (flags & AT_SYMLINK_NOFOLLOW)) { -+ picky_fchmodat = 1; -+ return -1; -+ } - #endif -- /* we ignore a failure from underlying fchmod, because pseudo -+ /* we otherwise ignore failures from underlying fchmod, because pseudo - * may believe you are permitted to change modes that the filesystem - * doesn't. Note that we also don't need to know whether the - * file might be a (pseudo) block device or some such; pseudo -diff --git a/ports/unix/guts/mkdirat.c b/ports/unix/guts/mkdirat.c -index e846b70..e0b6af9 100644 ---- a/ports/unix/guts/mkdirat.c -+++ b/ports/unix/guts/mkdirat.c -@@ -6,11 +6,14 @@ - * wrap_mkdirat(int dirfd, const char *path, mode_t mode) { - * int rc = -1; - */ -+ /* mask out mode bits appropriately */ -+ mode = mode & ~pseudo_umask; - #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS - if (dirfd != AT_FDCWD) { - errno = ENOSYS; - return -1; - } -+ - rc = real_mkdir(path, PSEUDO_FS_MODE(mode, 1)); - #else - rc = real_mkdirat(dirfd, path, PSEUDO_FS_MODE(mode, 1)); -diff --git a/ports/unix/guts/mknodat.c b/ports/unix/guts/mknodat.c -index 6fd5b42..5d8d47c 100644 ---- a/ports/unix/guts/mknodat.c -+++ b/ports/unix/guts/mknodat.c -@@ -10,6 +10,9 @@ - PSEUDO_STATBUF buf; - int save_errno = errno; - -+ /* mask out mode bits appropriately */ -+ mode = mode & ~pseudo_umask; -+ - #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS - if (dirfd != AT_FDCWD) { - errno = ENOSYS; -diff --git a/ports/unix/guts/umask.c b/ports/unix/guts/umask.c -new file mode 100644 -index 0000000..6b060d3 ---- /dev/null -+++ b/ports/unix/guts/umask.c -@@ -0,0 +1,14 @@ -+/* -+ * Copyright (c) 2014 Wind River Systems; see -+ * guts/COPYRIGHT for information. -+ * -+ * mode_t umask(mode_t mask) -+ * mode_t rc = 0; -+ */ -+ -+ pseudo_umask = mask; -+ rc = real_umask(mask); -+ -+/* return rc; -+ * } -+ */ -diff --git a/ports/unix/wrapfuncs.in b/ports/unix/wrapfuncs.in -index 8460a65..e0e9739 100644 ---- a/ports/unix/wrapfuncs.in -+++ b/ports/unix/wrapfuncs.in -@@ -67,3 +67,4 @@ void sync(void); /* async_skip= */ - int syncfs(int fd); /* async_skip=0 */ - int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int flags); /* async_skip=0 */ - int msync(void *addr, size_t length, int flags); /* async_skip=0 */ -+mode_t umask(mode_t mask); -diff --git a/pseudo_client.c b/pseudo_client.c -index b6d11a6..535c810 100644 ---- a/pseudo_client.c -+++ b/pseudo_client.c -@@ -71,6 +71,8 @@ int pseudo_disabled = 0; - int pseudo_allow_fsync = 0; - static int pseudo_local_only = 0; - -+int pseudo_umask = 022; -+ - static char **fd_paths = NULL; - static int nfds = 0; - static int messages = 0; -@@ -219,6 +221,9 @@ pseudo_init_client(void) { - if (!pseudo_disabled && !pseudo_inited) { - char *pseudo_path = 0; - -+ pseudo_umask = umask(022); -+ umask(pseudo_umask); -+ - pseudo_path = pseudo_prefix_path(NULL); - if (pseudo_prefix_dir_fd == -1) { - if (pseudo_path) { -diff --git a/pseudo_client.h b/pseudo_client.h -index f36a772..5bf820e 100644 ---- a/pseudo_client.h -+++ b/pseudo_client.h -@@ -72,6 +72,8 @@ extern char *pseudo_passwd; - extern size_t pseudo_chroot_len; - extern int pseudo_nosymlinkexp; - -+extern int pseudo_umask; -+ - /* Root can read and write files, and enter directories which have no - * read, write, or execute permissions. (But can't execute files without - * execute permissions!) -@@ -85,6 +87,6 @@ extern int pseudo_nosymlinkexp; - * None of this will behave very sensibly if umask has 0700 bits in it; - * this is a known limitation. - */ --#define PSEUDO_FS_MODE(mode, isdir) ((mode) | S_IRUSR | S_IWUSR | ((isdir) ? S_IXUSR : 0)) --#define PSEUDO_DB_MODE(fs_mode, user_mode) (((fs_mode) & ~0700) | ((user_mode & 0700))) -+#define PSEUDO_FS_MODE(mode, isdir) (((mode) | S_IRUSR | S_IWUSR | ((isdir) ? S_IXUSR : 0)) & ~(S_IWGRP | S_IWOTH)) -+#define PSEUDO_DB_MODE(fs_mode, user_mode) (((fs_mode) & ~0722) | ((user_mode & 0722))) -meta/recipes-devtools/pseudo/files/shutdownping.patch deleted +0
-53@@ -1,53 +0,0 @@ -There is a potential issue with the fastop code in pseudo since a process may -exit and allow some other function to run before the server has processed -the commands run by the process. Issues have been see with unpredictable -file permissions. - -To avoid this, we ping the server before exitting which guarantees it has -processed the current command queue. - -Debugged-by: RP -Fix written by [email protected] - -Upstream-Status: Submitted - -[YOCTO #5132] - -diff --git a/pseudo_client.c b/pseudo_client.c -index f58ce4c..20943b6 100644 ---- a/pseudo_client.c -+++ b/pseudo_client.c -@@ -75,6 +75,9 @@ static int nfds = 0; - static int messages = 0; - static struct timeval message_time = { .tv_sec = 0 }; - static int pseudo_inited = 0; -+ -+static int sent_messages = 0; -+ - int pseudo_nosymlinkexp = 0; - - /* note: these are int, not uid_t/gid_t, so I can use 'em with scanf */ -@@ -711,6 +714,11 @@ client_ping(void) { - return 0; - } - -+static void -+void_client_ping(void) { -+ client_ping(); -+} -+ - int - pseudo_fd(int fd, int how) { - int newfd; -@@ -1043,6 +1051,11 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path - /* disable wrappers */ - pseudo_antimagic(); - -+ if (!sent_messages) { -+ sent_messages = 1; -+ atexit(void_client_ping); -+ } -+ - if (op == OP_RENAME) { - va_list ap; - va_start(ap, buf);meta/recipes-devtools/pseudo/files/symver.patch deleted +0
-26@@ -1,26 +0,0 @@ -When running as pseudo-nativesdk, we might need to run host binaries -linked against the host libc. Having a 2.14 libc dependency from memcpy is -problematic so instruct the linker to use older symbols. - -Upstream-Status: Pending - -RP 2012/4/22 - -Index: pseudo-1.3/pseudo.h -=================================================================== ---- pseudo-1.3.orig/pseudo.h 2012-04-22 12:17:59.078909060 +0000 -+++ pseudo-1.3/pseudo.h 2012-04-22 12:32:42.954888587 +0000 -@@ -29,6 +29,13 @@ - int pseudo_set_value(const char *key, const char *value); - char *pseudo_get_value(const char *key); - -+#ifdef __amd64__ -+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.2.5") -+#else -+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.0") -+#endif -+GLIBC_COMPAT_SYMBOL(memcpy); -+ - #include "pseudo_tables.h" - - extern void pseudo_debug_verbose(void);meta/recipes-devtools/pseudo/pseudo_1.5.1.bb deleted +0
-20@@ -1,20 +0,0 @@ -require pseudo.inc - -PR = "r5" - -SRC_URI = " \ - http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-pseudo_has_unload-add-function.patch \ - file://shutdownping.patch \ - file://pseudo-1.5.1-install-directory-mode.patch \ - file://pseudo-fchmodat-permissions.patch \ -" - -SRC_URI_append_class-nativesdk = " file://symver.patch" - -SRC_URI_append_class-native = " file://symver.patch" - -SRC_URI[md5sum] = "5ec67c7bff5fe68c56de500859c19172" -SRC_URI[sha256sum] = "3b896f592f4d568569bd02323fad2d6b8c398e16ca36ee5a8947d2ff6c1d3d52" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async"
PATCH 7/7 resolvconf: add fixes for busybox and make it work
In reply to Saul Woldresolvconf was missing a script and needed readlink which was in /usr/bin. Also the /etc/resolv.conf was not being correctly linked to /etc/resolvconf/run/resolv.conf, which is fixed by the volaties change which is now a file as opposed to created in do_install.
Since we are installing and using resolvconf, make sure it's enabled.
[YOCTO #5361]
--- .../resolvconf/resolvconf/99_resolvconf | 4 ++++ .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20 ++++++++++++++++++++ .../resolvconf/resolvconf_1.76.bb | 13 ++++++++++--- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4 -0
@@ -0,0 +1,4 @@ +d root root 0755 /var/run/resolvconf/interface none +f root root 0644 /etc/resolvconf/run/resolv.conf none +f root root 0644 /etc/resolvconf/run/enable-updates none +l root root 0644 /etc/resolv.conf /etc/resolvconf/run/resolv.conf
meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch new file +20 -0
@@ -0,0 +1,20 @@ + +busybox installs readlink into /usr/bin, so ensure /usr/bin +is in the path. + +Upstream-Status: Submitted +Signed-off-by: Saul Wold <[email protected]> + +Index: resolvconf-1.76/etc/resolvconf/update.d/libc +=================================================================== +--- resolvconf-1.76.orig/etc/resolvconf/update.d/libc ++++ resolvconf-1.76/etc/resolvconf/update.d/libc +@@ -16,7 +16,7 @@ + # + + set -e +-PATH=/sbin:/bin ++PATH=/sbin:/bin:/usr/bin + + [ -x /lib/resolvconf/list-records ] || exit 1 +
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +10 -3
@@ -11,7 +11,11 @@ AUTHOR = "Thomas Hood" HOMEPAGE = "http://packages.debian.org/resolvconf" RDEPENDS_${PN} = "bash" -SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz" +SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \ + file://fix-path-for-busybox.patch \ + file://99_resolvconf \ + " + SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255" SRC_URI[sha256sum] = "c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"
@@ -24,13 +28,13 @@ do_compile () { do_install () { install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/run/${BPN}/interface none" \ - > ${D}${sysconfdir}/default/volatiles/99_resolvconf + install -m 0644 ${WORKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "d /run/${BPN}/interface - - - -" \ > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf fi + install -d ${D}${base_libdir}/${BPN} install -d ${D}${sysconfdir}/${BPN} ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run install -d ${D}${sysconfdir} ${D}${base_sbindir}
@@ -38,6 +42,7 @@ do_install () { cp -pPR etc/* ${D}${sysconfdir}/ chown -R root:root ${D}${sysconfdir}/ install -m 0755 bin/resolvconf ${D}${base_sbindir}/ + install -m 0755 bin/list-records ${D}${base_libdir}/${BPN} install -m 0644 README ${D}${docdir}/${P}/ install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/ }
@@ -51,3 +56,5 @@ pkg_postinst_${PN} () { fi fi } + +FILES_${PN} += "${base_libdir}/${BPN}"
Signature · 1 line
1.8.3.1
Re: [PATCH 7/7] resolvconf: add fixes for busybox and make it work
Quoted 7 lines · Saul Wold
resolvconf was missing a script and needed readlink which was in
/usr/bin. Also the/etc/resolv.confwas not being correctly linked to/etc/resolvconf/run/resolv.conf, which is fixed by the volaties change which is now a file as opposed to created indo_install.Since we are installing and using resolvconf, make sure it's enabled.
Well I found another issue with static (no dhcp), I will send a v2 of this patch the other stuff should be fine.
Sau!
Quoted 95 lines
[YOCTO #5361]
Signed-off-by Saul Wold <[email protected]>--- .../resolvconf/resolvconf/99_resolvconf | 4 ++++ .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20 ++++++++++++++++++++ .../resolvconf/resolvconf_1.76.bb | 13 ++++++++++--- 3 files changed, 34 insertions(+), 3 deletions(-)create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf create mode 100644
meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patchmeta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4
-0@@ -0,0 +1,4 @@ +d root root 0755 /var/run/resolvconf/interface none +f root root 0644 /etc/resolvconf/run/resolv.conf none +f root root 0644 /etc/resolvconf/run/enable-updates none +l root root 0644 /etc/resolv.conf /etc/resolvconf/run/resolv.confmeta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch new file +20
-0@@ -0,0 +1,20 @@ + +busybox installs readlink into /usr/bin, so ensure /usr/bin +is in the path. + +Upstream-Status: Submitted +Signed-off-by: Saul Wold <[email protected]> + +Index: resolvconf-1.76/etc/resolvconf/update.d/libc +=================================================================== +--- resolvconf-1.76.orig/etc/resolvconf/update.d/libc ++++ resolvconf-1.76/etc/resolvconf/update.d/libc +@@ -16,7 +16,7 @@ + # + + set -e +-PATH=/sbin:/bin ++PATH=/sbin:/bin:/usr/bin + + [ -x /lib/resolvconf/list-records ] || exit 1 +meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +10
-3@@ -11,7 +11,11 @@ AUTHOR = "Thomas Hood" HOMEPAGE = "http://packages.debian.org/resolvconf" RDEPENDS_${PN} = "bash" -SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz" +SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \ + file://fix-path-for-busybox.patch \ + file://99_resolvconf \ + " + SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255" SRC_URI[sha256sum] = "c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"@@ -24,13 +28,13 @@ do_compile () { do_install () { install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/run/${BPN}/interface none" \ - > ${D}${sysconfdir}/default/volatiles/99_resolvconf + install -m 0644 ${WORKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "d /run/${BPN}/interface - - - -" \ > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf fi + install -d ${D}${base_libdir}/${BPN} install -d ${D}${sysconfdir}/${BPN} ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run install -d ${D}${sysconfdir} ${D}${base_sbindir}@@ -38,6 +42,7 @@ do_install () { cp -pPR etc/* ${D}${sysconfdir}/ chown -R root:root ${D}${sysconfdir}/ install -m 0755 bin/resolvconf ${D}${base_sbindir}/ + install -m 0755 bin/list-records ${D}${base_libdir}/${BPN} install -m 0644 README ${D}${docdir}/${P}/ install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/ }@@ -51,3 +56,5 @@ pkg_postinst_${PN} () { fi fi } + +FILES_${PN} += "${base_libdir}/${BPN}"