All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] A patch, cleanup and updates
@ 2014-11-21 17:20 Saul Wold
  2014-11-21 17:20 ` [PATCH 1/7] curl: Ugrade to 7.38 Saul Wold
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

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%)

-- 
1.8.3.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/7] curl: Ugrade to 7.38
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 17:20 ` [PATCH 2/7] babeltrace: Upgrade to 1.2.3 Saul Wold
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Remove backported CVE patches

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 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%)

diff --git a/meta/recipes-support/curl/curl/CVE-2014-3613.patch b/meta/recipes-support/curl/curl/CVE-2014-3613.patch
deleted file mode 100644
index 3e2fee0..0000000
--- a/meta/recipes-support/curl/curl/CVE-2014-3613.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-From 545e322cc8c383ccdfb4ad85a1634c2b719a1adf Mon Sep 17 00:00:00 2001
-From: Tim Ruehsen <tim.ruehsen@gmx.de>
-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 <Chong.Lu@windriver.com>
----
- 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
-
diff --git a/meta/recipes-support/curl/curl/CVE-2014-3620.patch b/meta/recipes-support/curl/curl/CVE-2014-3620.patch
deleted file mode 100644
index d11f190..0000000
--- a/meta/recipes-support/curl/curl/CVE-2014-3620.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From fd7ae600adf23a9a1ed619165c5058bdec216e9c Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Tue, 19 Aug 2014 21:11:20 +0200
-Subject: [PATCH] cookies: reject incoming cookies set for TLDs
-
-Test 61 was modified to verify this.
-
-CVE-2014-3620
-
-Reported-by: Tim Ruehsen
-URL: http://curl.haxx.se/docs/adv_20140910B.html
-
-Upstream-Status: Backport
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- lib/cookie.c      | 6 ++++++
- tests/data/test61 | 1 +
- 2 files changed, 7 insertions(+)
-
-diff --git a/lib/cookie.c b/lib/cookie.c
-index 46904ac..375485f 100644
---- a/lib/cookie.c
-+++ b/lib/cookie.c
-@@ -461,19 +461,25 @@ Curl_cookie_add(struct SessionHandle *data,
-             break;
-           }
-         }
-         else if(Curl_raw_equal("domain", name)) {
-           bool is_ip;
-+          const char *dotp;
- 
-           /* 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 */
- 
-           is_ip = isip(domain ? domain : whatptr);
- 
-+          /* check for more dots */
-+          dotp = strchr(whatptr, '.');
-+          if(!dotp)
-+            domain=":";
-+
-           if(!domain
-              || (is_ip && !strcmp(whatptr, domain))
-              || (!is_ip && tailmatch(whatptr, domain))) {
-             strstore(&co->domain, whatptr);
-             if(!co->domain) {
-diff --git a/tests/data/test61 b/tests/data/test61
-index d2de279..e6dbbb9 100644
---- a/tests/data/test61
-+++ b/tests/data/test61
-@@ -21,10 +21,11 @@ Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 2 11:56:27 GMT 2
- SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 2 11:56:27 GMT 2035
- Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure
- Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure
- Set-Cookie: test5=name; domain=anything.com; path=/ ; secure
- Set-Cookie: fake=fooledyou; domain=..com; path=/;
-+Set-Cookie: supercookie=fooledyou; domain=.com; path=/;^M
- Content-Length: 4
- 
- boo
- </data>
- </reply>
--- 
-2.1.0
-
diff --git a/meta/recipes-support/curl/curl_7.37.1.bb b/meta/recipes-support/curl/curl_7.38.0.bb
similarity index 90%
rename from meta/recipes-support/curl/curl_7.37.1.bb
rename to meta/recipes-support/curl/curl_7.38.0.bb
index 8b854d7..85bd3be 100644
--- a/meta/recipes-support/curl/curl_7.37.1.bb
+++ b/meta/recipes-support/curl/curl_7.38.0.bb
@@ -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
 
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/7] babeltrace: Upgrade to 1.2.3
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
  2014-11-21 17:20 ` [PATCH 1/7] curl: Ugrade to 7.38 Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 17:20 ` [PATCH 3/7] npth: Upgrade to 1.1 Saul Wold
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Remove backported patches

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 ...-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%)

diff --git a/meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch b/meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch
deleted file mode 100644
index 258eedd..0000000
--- a/meta/recipes-kernel/lttng/babeltrace/0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: backport
-
-babeltrace: Fix support out of tree builds in babeltrace
-
-Signed-off-by: Lars Persson <larper@axis.com>
-
-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
- 
-
diff --git a/meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch b/meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch
deleted file mode 100644
index 8e81d2d..0000000
--- a/meta/recipes-kernel/lttng/babeltrace/Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From cae67efbd9ddf2cee6bbefec076dc8933ababc43 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fredrik=20Markstr=C3=B6m?= <fredrik.markstrom@gmail.com>
-Date: Fri, 16 May 2014 10:10:38 +0800
-Subject: [PATCH] Fix: Align buffers from objstack_alloc on sizeof(void *)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport
-
-The buffers from objstack_alloc will store pointers, so they must
-be aligned on a pointer's size, or else it will cause issues on the
-CPUs which do not support unaligned addresses access.
-
-Signed-off-by: Fredrik Markstrom <fredrik.markstrom@gmail.com>
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
----
- formats/ctf/metadata/objstack.c |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/formats/ctf/metadata/objstack.c b/formats/ctf/metadata/objstack.c
-index 9e264a4..14d9252 100644
---- a/formats/ctf/metadata/objstack.c
-+++ b/formats/ctf/metadata/objstack.c
-@@ -27,6 +27,7 @@
- #include <stdlib.h>
- #include <babeltrace/list.h>
- #include <babeltrace/babeltrace-internal.h>
-+#include <babeltrace/align.h>
- 
- #define OBJSTACK_INIT_LEN		128
- #define OBJSTACK_POISON			0xcc
-@@ -39,7 +40,7 @@ struct objstack_node {
- 	struct bt_list_head node;
- 	size_t len;
- 	size_t used_len;
--	char data[];
-+	char __attribute__ ((aligned (sizeof(void *)))) data[];
- };
- 
- BT_HIDDEN
-@@ -118,6 +119,8 @@ void *objstack_alloc(struct objstack *objstack, size_t len)
- 	struct objstack_node *last_node;
- 	void *p;
- 
-+	len = ALIGN(len, sizeof(void *));
-+
- 	/* Get last node */
- 	last_node = bt_list_entry(objstack->head.prev,
- 			struct objstack_node, node);
--- 
-1.7.10.4
-
diff --git a/meta/recipes-kernel/lttng/babeltrace_1.2.1.bb b/meta/recipes-kernel/lttng/babeltrace_1.2.3.bb
similarity index 73%
rename from meta/recipes-kernel/lttng/babeltrace_1.2.1.bb
rename to meta/recipes-kernel/lttng/babeltrace_1.2.3.bb
index dd9961c..c62589c 100644
--- a/meta/recipes-kernel/lttng/babeltrace_1.2.1.bb
+++ b/meta/recipes-kernel/lttng/babeltrace_1.2.3.bb
@@ -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"
 
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/7] npth: Upgrade to 1.1
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
  2014-11-21 17:20 ` [PATCH 1/7] curl: Ugrade to 7.38 Saul Wold
  2014-11-21 17:20 ` [PATCH 2/7] babeltrace: Upgrade to 1.2.3 Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 17:20 ` [PATCH 4/7] boost: Upgrade to 1.57 Saul Wold
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Add patch for adding pkgconfig file.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 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%)

diff --git a/meta/recipes-support/npth/npth/pkgconfig.patch b/meta/recipes-support/npth/npth/pkgconfig.patch
new file mode 100644
index 0000000..55d12c2
--- /dev/null
+++ b/meta/recipes-support/npth/npth/pkgconfig.patch
@@ -0,0 +1,48 @@
+Added npth pkgconfig file
+
+Upstream-Status: Incompatible [oe-core specific]
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+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 "
diff --git a/meta/recipes-support/npth/npth_1.0.bb b/meta/recipes-support/npth/npth_1.1.bb
similarity index 74%
rename from meta/recipes-support/npth/npth_1.0.bb
rename to meta/recipes-support/npth/npth_1.1.bb
index 3356ba0..72a194e 100644
--- a/meta/recipes-support/npth/npth_1.0.bb
+++ b/meta/recipes-support/npth/npth_1.1.bb
@@ -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"
 
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/7] boost: Upgrade to 1.57
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
                   ` (2 preceding siblings ...)
  2014-11-21 17:20 ` [PATCH 3/7] npth: Upgrade to 1.1 Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 17:20 ` [PATCH 5/7] libaio: Upgrade to 3.110 Saul Wold
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 ...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%)

diff --git a/meta/recipes-support/boost/bjam-native_1.56.0.bb b/meta/recipes-support/boost/bjam-native_1.57.0.bb
similarity index 100%
rename from meta/recipes-support/boost/bjam-native_1.56.0.bb
rename to meta/recipes-support/boost/bjam-native_1.57.0.bb
diff --git a/meta/recipes-support/boost/boost-1.56.0.inc b/meta/recipes-support/boost/boost-1.57.0.inc
similarity index 83%
rename from meta/recipes-support/boost/boost-1.56.0.inc
rename to meta/recipes-support/boost/boost-1.57.0.inc
index 24c32b4..809419d 100644
--- a/meta/recipes-support/boost/boost-1.56.0.inc
+++ b/meta/recipes-support/boost/boost-1.57.0.inc
@@ -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}"
diff --git a/meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch b/meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch
deleted file mode 100644
index feece81..0000000
--- a/meta/recipes-support/boost/boost/0001-Added-support-for-extending-operations-to-GCC-atomic.patch
+++ /dev/null
@@ -1,412 +0,0 @@
-From 415db7054723291042e4ff1ffa8fdd5bc8b07163 Mon Sep 17 00:00:00 2001
-From: Andrey Semashev <andrey.semashev@gmail.com>
-Date: Sat, 27 Sep 2014 20:40:09 +0400
-Subject: [PATCH] Added support for extending operations to GCC atomic backend.
-
-Fix for #10446. Some platforms (e.g. Raspberry Pi) only support atomic ops of some particular size but not less. Use extending arithmetic operations for these platforms. Also, make sure bools are always treated as 8-bit values, even if the actual type is larger. This makes its use in atomic<>, atomic_flag and lock pool more consistent.
-
-Upstream-Status: Backport [https://svn.boost.org/trac/boost/ticket/10446]
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-
----
- include/boost/atomic/capabilities.hpp           |   1 +
- include/boost/atomic/detail/atomic_template.hpp |   2 +-
- include/boost/atomic/detail/caps_gcc_atomic.hpp |  82 +++++------
- include/boost/atomic/detail/ops_gcc_atomic.hpp  | 184 +++++++++++++++++++++---
- 4 files changed, 206 insertions(+), 63 deletions(-)
-
-diff --git a/include/boost/atomic/capabilities.hpp b/include/boost/atomic/capabilities.hpp
-index 658dd22..05bbb0f 100644
---- a/include/boost/atomic/capabilities.hpp
-+++ b/include/boost/atomic/capabilities.hpp
-@@ -142,6 +142,7 @@
- #define BOOST_ATOMIC_ADDRESS_LOCK_FREE BOOST_ATOMIC_POINTER_LOCK_FREE
- 
- #ifndef BOOST_ATOMIC_BOOL_LOCK_FREE
-+// We store bools in 1-byte storage in all backends
- #define BOOST_ATOMIC_BOOL_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
- #endif
- 
-diff --git a/include/boost/atomic/detail/atomic_template.hpp b/include/boost/atomic/detail/atomic_template.hpp
-index 4fd6d79..bc3922a 100644
---- a/include/boost/atomic/detail/atomic_template.hpp
-+++ b/include/boost/atomic/detail/atomic_template.hpp
-@@ -234,7 +234,7 @@ class base_atomic< bool, int >
- {
- private:
-     typedef bool value_type;
--    typedef atomics::detail::operations< storage_size_of< value_type >::value, false > operations;
-+    typedef atomics::detail::operations< 1u, false > operations;
- 
- protected:
-     typedef value_type value_arg_type;
-diff --git a/include/boost/atomic/detail/caps_gcc_atomic.hpp b/include/boost/atomic/detail/caps_gcc_atomic.hpp
-index 8299ad0..f4e7a70 100644
---- a/include/boost/atomic/detail/caps_gcc_atomic.hpp
-+++ b/include/boost/atomic/detail/caps_gcc_atomic.hpp
-@@ -29,66 +29,48 @@
- #define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1
- #endif
- 
--#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
--#define BOOST_ATOMIC_FLAG_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_FLAG_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_CHAR_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR16_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR32_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 2
-+#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
-+#define BOOST_ATOMIC_INT128_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 0
-+#define BOOST_ATOMIC_INT128_LOCK_FREE 0
- #endif
--#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
-+#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
-+#define BOOST_ATOMIC_LLONG_LOCK_FREE BOOST_ATOMIC_INT128_LOCK_FREE
- #endif
--#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
--#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
-+#define BOOST_ATOMIC_LONG_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_SHORT_LOCK_FREE 0
-+#define BOOST_ATOMIC_LONG_LOCK_FREE BOOST_ATOMIC_LLONG_LOCK_FREE
- #endif
-+
- #if __GCC_ATOMIC_INT_LOCK_FREE == 2
- #define BOOST_ATOMIC_INT_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_INT_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
--#define BOOST_ATOMIC_LONG_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_LONG_LOCK_FREE 0
-+#define BOOST_ATOMIC_INT_LOCK_FREE BOOST_ATOMIC_LONG_LOCK_FREE
- #endif
--#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
--#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
-+#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_LLONG_LOCK_FREE 0
-+#define BOOST_ATOMIC_SHORT_LOCK_FREE BOOST_ATOMIC_INT_LOCK_FREE
- #endif
--#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
--#define BOOST_ATOMIC_INT128_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
-+#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_INT128_LOCK_FREE 0
-+#define BOOST_ATOMIC_CHAR_LOCK_FREE BOOST_ATOMIC_SHORT_LOCK_FREE
- #endif
-+
- #if __GCC_ATOMIC_POINTER_LOCK_FREE == 2
- #define BOOST_ATOMIC_POINTER_LOCK_FREE 2
- #else
- #define BOOST_ATOMIC_POINTER_LOCK_FREE 0
- #endif
--#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
--#define BOOST_ATOMIC_BOOL_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_BOOL_LOCK_FREE 0
--#endif
-+
- 
- #define BOOST_ATOMIC_INT8_LOCK_FREE BOOST_ATOMIC_CHAR_LOCK_FREE
- 
-@@ -128,6 +110,24 @@
- #define BOOST_ATOMIC_INT64_LOCK_FREE 0
- #endif
- 
-+
-+#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT64_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
-+#else
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
-+#endif
-+
-+#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
-+#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
-+
- #define BOOST_ATOMIC_THREAD_FENCE 2
- #define BOOST_ATOMIC_SIGNAL_FENCE 2
- 
-diff --git a/include/boost/atomic/detail/ops_gcc_atomic.hpp b/include/boost/atomic/detail/ops_gcc_atomic.hpp
-index 2297791..2e4c37b 100644
---- a/include/boost/atomic/detail/ops_gcc_atomic.hpp
-+++ b/include/boost/atomic/detail/ops_gcc_atomic.hpp
-@@ -24,6 +24,15 @@
- #include <boost/atomic/detail/ops_cas_based.hpp>
- #endif
- 
-+#if __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE || __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE ||\
-+    __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE || __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE ||\
-+    __GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE || __GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE ||\
-+    __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE
-+// There are platforms where we need to use larger storage types
-+#include <boost/atomic/detail/int_sizes.hpp>
-+#include <boost/atomic/detail/ops_extending_cas_based.hpp>
-+#endif
-+
- #ifdef BOOST_HAS_PRAGMA_ONCE
- #pragma once
- #endif
-@@ -154,73 +163,206 @@ struct gcc_atomic_operations
-     }
- };
- 
--#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
-+#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
-+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
-+
-+// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
-+// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
- template< bool Signed >
--struct operations< 1u, Signed > :
--    public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
-+struct operations< 16u, Signed > :
-+    public cas_based_operations< gcc_dcas_x86_64< Signed > >
- {
- };
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 16u, Signed > :
-+    public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
-+{
-+};
-+
-+#endif
- #endif
- 
--#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
-+
-+#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
-+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
-+
-+// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
- template< bool Signed >
--struct operations< 2u, Signed > :
--    public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
-+struct operations< 8u, Signed > :
-+    public cas_based_operations< gcc_dcas_x86< Signed > >
-+{
-+};
-+
-+#elif (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT64_EXTENDED
-+
-+template< bool Signed >
-+struct operations< 8u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 8u, Signed >
- {
- };
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 8u, Signed > :
-+    public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
-+{
-+};
-+
-+#endif
- #endif
- 
- #if BOOST_ATOMIC_INT32_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT32_EXTENDED
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 4u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 4u, Signed >
-+{
-+};
-+
-+#else // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 4u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 4u, Signed >
-+{
-+};
-+
-+#endif // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+#else
-+
- template< bool Signed >
- struct operations< 4u, Signed > :
-     public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >
- {
- };
-+
-+#endif
- #endif
- 
--#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
--#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
-+#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT16_EXTENDED
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
- 
--// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
- template< bool Signed >
--struct operations< 8u, Signed > :
--    public cas_based_operations< gcc_dcas_x86< Signed > >
-+struct operations< 2u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 2u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 2u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 2u, Signed >
- {
- };
- 
- #else
- 
- template< bool Signed >
--struct operations< 8u, Signed > :
--    public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
-+struct operations< 2u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 2u, Signed >
-+{
-+};
-+
-+#endif
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 2u, Signed > :
-+    public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
- {
- };
- 
- #endif
- #endif
- 
--#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
--#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
-+#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+    (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) ||\
-+    (__GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE) ||\
-+    (__GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE)
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT16_EXTENDED)
- 
--// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
--// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
- template< bool Signed >
--struct operations< 16u, Signed > :
--    public cas_based_operations< gcc_dcas_x86_64< Signed > >
-+struct operations< 1u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 1u, Signed >
- {
- };
- 
- #else
- 
- template< bool Signed >
--struct operations< 16u, Signed > :
--    public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
-+struct operations< 1u, Signed > :
-+    public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#endif
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+    public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
- {
- };
- 
- #endif
- #endif
- 
-+#undef BOOST_ATOMIC_DETAIL_INT16_EXTENDED
-+#undef BOOST_ATOMIC_DETAIL_INT32_EXTENDED
-+#undef BOOST_ATOMIC_DETAIL_INT64_EXTENDED
-+
- BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT
- {
-     __atomic_thread_fence(atomics::detail::convert_memory_order_to_gcc(order));
--- 
-1.8.5.5
-
diff --git a/meta/recipes-support/boost/boost_1.56.0.bb b/meta/recipes-support/boost/boost_1.57.0.bb
similarity index 50%
rename from meta/recipes-support/boost/boost_1.56.0.bb
rename to meta/recipes-support/boost/boost_1.57.0.bb
index dcc77bb..c09d5f4 100644
--- a/meta/recipes-support/boost/boost_1.56.0.bb
+++ b/meta/recipes-support/boost/boost_1.57.0.bb
@@ -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 \
 "
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/7] libaio: Upgrade to 3.110
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
                   ` (3 preceding siblings ...)
  2014-11-21 17:20 ` [PATCH 4/7] boost: Upgrade to 1.57 Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 17:20 ` [PATCH 6/7] pseudo: remove older version and patches Saul Wold
  2014-11-21 17:20 ` [PATCH 7/7] resolvconf: add fixes for busybox and make it work Saul Wold
  6 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 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%)

diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc
index 60156c0..bc8a577 100644
--- a/meta/conf/distro/include/security_flags.inc
+++ b/meta/conf/distro/include/security_flags.inc
@@ -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}"
diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch
index 91f4588..9d6447d 100644
--- a/meta/recipes-extended/libaio/libaio/00_arches.patch
+++ b/meta/recipes-extended/libaio/libaio/00_arches.patch
@@ -2,10 +2,10 @@ Upstream-Status: Inappropriate [embedded specific]
 
 from openembedded, added by Qing He <qing.he@intel.com>
 
-Index: libaio-0.3.109/src/syscall-m68k.h
+Index: libaio-0.3.110/src/syscall-m68k.h
 ===================================================================
 --- /dev/null
-+++ libaio-0.3.109/src/syscall-m68k.h
++++ libaio-0.3.110/src/syscall-m68k.h
 @@ -0,0 +1,78 @@
 +#define __NR_io_setup		241
 +#define __NR_io_destroy		242
@@ -85,164 +85,27 @@ Index: libaio-0.3.109/src/syscall-m68k.h
 +return (type) __res; \
 +}
 +
-Index: libaio-0.3.109/src/syscall-sparc.h
+Index: libaio-0.3.110/src/syscall.h
 ===================================================================
---- /dev/null
-+++ libaio-0.3.109/src/syscall-sparc.h
-@@ -0,0 +1,130 @@
-+/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */
-+
-+/*
-+ * System calls under the Sparc.
-+ *
-+ * Don't be scared by the ugly clobbers, it is the only way I can
-+ * think of right now to force the arguments into fixed registers
-+ * before the trap into the system call with gcc 'asm' statements.
-+ *
-+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
-+ *
-+ * SunOS compatibility based upon preliminary work which is:
-+ *
-+ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
-+ */
-+
-+
-+#define __NR_io_setup		268
-+#define __NR_io_destroy		269
-+#define __NR_io_submit		270
-+#define __NR_io_cancel		271
-+#define __NR_io_getevents	272
-+
-+
-+#define io_syscall1(type,fname,sname,type1,arg1) \
-+type fname(type1 arg1) \
-+{ \
-+long __res; \
-+register long __g1 __asm__ ("g1") = __NR_##sname; \
-+register long __o0 __asm__ ("o0") = (long)(arg1); \
-+__asm__ __volatile__ ("t 0x10\n\t" \
-+		      "bcc 1f\n\t" \
-+		      "mov %%o0, %0\n\t" \
-+		      "sub %%g0, %%o0, %0\n\t" \
-+		      "1:\n\t" \
-+		      : "=r" (__res), "=&r" (__o0) \
-+		      : "1" (__o0), "r" (__g1) \
-+		      : "cc"); \
-+if (__res < -255 || __res >= 0) \
-+	return (type) __res; \
-+return -1; \
-+}
-+
-+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
-+type fname(type1 arg1,type2 arg2) \
-+{ \
-+long __res; \
-+register long __g1 __asm__ ("g1") = __NR_##sname; \
-+register long __o0 __asm__ ("o0") = (long)(arg1); \
-+register long __o1 __asm__ ("o1") = (long)(arg2); \
-+__asm__ __volatile__ ("t 0x10\n\t" \
-+		      "bcc 1f\n\t" \
-+		      "mov %%o0, %0\n\t" \
-+		      "sub %%g0, %%o0, %0\n\t" \
-+		      "1:\n\t" \
-+		      : "=r" (__res), "=&r" (__o0) \
-+		      : "1" (__o0), "r" (__o1), "r" (__g1) \
-+		      : "cc"); \
-+if (__res < -255 || __res >= 0) \
-+	return (type) __res; \
-+return -1; \
-+}
-+
-+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
-+type fname(type1 arg1,type2 arg2,type3 arg3) \
-+{ \
-+long __res; \
-+register long __g1 __asm__ ("g1") = __NR_##sname; \
-+register long __o0 __asm__ ("o0") = (long)(arg1); \
-+register long __o1 __asm__ ("o1") = (long)(arg2); \
-+register long __o2 __asm__ ("o2") = (long)(arg3); \
-+__asm__ __volatile__ ("t 0x10\n\t" \
-+		      "bcc 1f\n\t" \
-+		      "mov %%o0, %0\n\t" \
-+		      "sub %%g0, %%o0, %0\n\t" \
-+		      "1:\n\t" \
-+		      : "=r" (__res), "=&r" (__o0) \
-+		      : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \
-+		      : "cc"); \
-+if (__res < -255 || __res>=0) \
-+	return (type) __res; \
-+return -1; \
-+}
-+
-+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-+{ \
-+long __res; \
-+register long __g1 __asm__ ("g1") = __NR_##sname; \
-+register long __o0 __asm__ ("o0") = (long)(arg1); \
-+register long __o1 __asm__ ("o1") = (long)(arg2); \
-+register long __o2 __asm__ ("o2") = (long)(arg3); \
-+register long __o3 __asm__ ("o3") = (long)(arg4); \
-+__asm__ __volatile__ ("t 0x10\n\t" \
-+		      "bcc 1f\n\t" \
-+		      "mov %%o0, %0\n\t" \
-+		      "sub %%g0, %%o0, %0\n\t" \
-+		      "1:\n\t" \
-+		      : "=r" (__res), "=&r" (__o0) \
-+		      : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \
-+		      : "cc"); \
-+if (__res < -255 || __res>=0) \
-+	return (type) __res; \
-+return -1; \
-+}
-+
-+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-+	  type5,arg5) \
-+type fname(type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-+{ \
-+long __res; \
-+register long __g1 __asm__ ("g1") = __NR_##sname; \
-+register long __o0 __asm__ ("o0") = (long)(arg1); \
-+register long __o1 __asm__ ("o1") = (long)(arg2); \
-+register long __o2 __asm__ ("o2") = (long)(arg3); \
-+register long __o3 __asm__ ("o3") = (long)(arg4); \
-+register long __o4 __asm__ ("o4") = (long)(arg5); \
-+__asm__ __volatile__ ("t 0x10\n\t" \
-+		      "bcc 1f\n\t" \
-+		      "mov %%o0, %0\n\t" \
-+		      "sub %%g0, %%o0, %0\n\t" \
-+		      "1:\n\t" \
-+		      : "=r" (__res), "=&r" (__o0) \
-+		      : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \
-+		      : "cc"); \
-+if (__res < -255 || __res>=0) \
-+	return (type) __res; \
-+return -1; \
-+}
-+
-Index: libaio-0.3.109/src/syscall.h
-===================================================================
---- libaio-0.3.109.orig/src/syscall.h
-+++ libaio-0.3.109/src/syscall.h
-@@ -24,6 +24,14 @@
- #include "syscall-alpha.h"
- #elif defined(__arm__)
- #include "syscall-arm.h"
+--- libaio-0.3.110.orig/src/syscall.h
++++ libaio-0.3.110/src/syscall.h
+@@ -28,6 +28,12 @@
+ #include "syscall-sparc.h"
+ #elif defined(__aarch64__)
+ #include "syscall-arm64.h"
 +#elif defined(__m68k__)
 +#include "syscall-m68k.h"
-+#elif defined(__sparc__)
-+#include "syscall-sparc.h"
 +#elif defined(__hppa__)
 +#include "syscall-parisc.h"
 +#elif defined(__mips__)
 +#include "syscall-mips.h"
  #else
- #error "add syscall-arch.h"
- #endif
-Index: libaio-0.3.109/src/syscall-mips.h
+ #warning "using generic syscall method"
+ #include "syscall-generic.h"
+Index: libaio-0.3.110/src/syscall-mips.h
 ===================================================================
 --- /dev/null
-+++ libaio-0.3.109/src/syscall-mips.h
++++ libaio-0.3.110/src/syscall-mips.h
 @@ -0,0 +1,223 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
@@ -467,45 +330,10 @@ Index: libaio-0.3.109/src/syscall-mips.h
 +
 +#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
 +
-Index: libaio-0.3.109/src/libaio.h
-===================================================================
---- libaio-0.3.109.orig/src/libaio.h
-+++ libaio-0.3.109/src/libaio.h
-@@ -83,6 +83,30 @@ typedef enum io_iocb_cmd {
- #define PADDEDptr(x, y)	x; unsigned y
- #define PADDEDul(x, y)	unsigned long x; unsigned y
- #  endif
-+#elif defined(__m68k__) /* big endian, 32 bits */
-+#define PADDED(x, y)   unsigned y; x
-+#define PADDEDptr(x, y)        unsigned y; x
-+#define PADDEDul(x, y) unsigned y; unsigned long x
-+#elif defined(__sparc__) /* big endian, 32 bits */
-+#define PADDED(x, y)   unsigned y; x
-+#define PADDEDptr(x, y)        unsigned y; x
-+#define PADDEDul(x, y) unsigned y; unsigned long x
-+#elif defined(__hppa__) /* big endian, 32 bits */
-+#define PADDED(x, y)   unsigned y; x
-+#define PADDEDptr(x, y)        unsigned y; x
-+#define PADDEDul(x, y) unsigned y; unsigned long x
-+#elif defined(__mips__)
-+#  if defined (__MIPSEB__) /* big endian, 32 bits */
-+#define PADDED(x, y)   unsigned y; x
-+#define PADDEDptr(x, y)        unsigned y; x
-+#define PADDEDul(x, y) unsigned y; unsigned long x
-+#  elif defined(__MIPSEL__) /* little endian, 32 bits */
-+#define PADDED(x, y)   x; unsigned y
-+#define PADDEDptr(x, y)        x; unsigned y
-+#define PADDEDul(x, y) unsigned long x; unsigned y
-+#  else
-+#    error "neither mipseb nor mipsel?"
-+#  endif
- #else
- #error	endian?
- #endif
-Index: libaio-0.3.109/src/syscall-parisc.h
+Index: libaio-0.3.110/src/syscall-parisc.h
 ===================================================================
 --- /dev/null
-+++ libaio-0.3.109/src/syscall-parisc.h
++++ libaio-0.3.110/src/syscall-parisc.h
 @@ -0,0 +1,146 @@
 +/*
 + * Linux system call numbers.
@@ -653,10 +481,10 @@ Index: libaio-0.3.109/src/syscall-parisc.h
 +    return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5);	\
 +}
 +
-Index: libaio-0.3.109/src/syscall-arm.h
+Index: libaio-0.3.110/src/syscall-arm.h
 ===================================================================
---- libaio-0.3.109.orig/src/syscall-arm.h
-+++ libaio-0.3.109/src/syscall-arm.h
+--- libaio-0.3.110.orig/src/syscall-arm.h
++++ libaio-0.3.110/src/syscall-arm.h
 @@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3
    return (type) __res_r0;						\
  }
diff --git a/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch b/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch
deleted file mode 100644
index e3d1058..0000000
--- a/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Submitted
-
-Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
-
----
- 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
diff --git a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch b/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch
index 0ef9f14..9d4bb46 100644
--- a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch
+++ b/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips64.patch
@@ -14,29 +14,45 @@ Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
  src/libaio.h | 12 ++++++++++++
  1 file changed, 12 insertions(+)
 
-diff --git a/src/libaio.h b/src/libaio.h
-index ff99188..64ea8f3 100644
---- a/src/libaio.h
-+++ b/src/libaio.h
-@@ -95,6 +95,18 @@ typedef enum io_iocb_cmd {
- #define PADDED(x, y)   unsigned y; x
- #define PADDEDptr(x, y)        unsigned y; x
- #define PADDEDul(x, y) unsigned y; unsigned long x
-+#elif defined(__mips64)
-+#  if defined (__MIPSEB__) /* 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(__MIPSEL__) /* little endian, 64 bits */
-+#define PADDED(x, y)	x, y
-+#define PADDEDptr(x, y)	x
-+#define PADDEDul(x, y)	unsigned long x
-+#  else
-+#    error "mips64: neither mipseb nor mipsel?"
-+#  endif
- #elif defined(__mips__)
- #  if defined (__MIPSEB__) /* big endian, 32 bits */
- #define PADDED(x, y)   unsigned y; x
--- 
-1.8.2.1
-
+Index: libaio-0.3.110/src/libaio.h
+===================================================================
+--- libaio-0.3.110.orig/src/libaio.h
++++ libaio-0.3.110/src/libaio.h
+@@ -51,7 +51,7 @@ typedef enum io_iocb_cmd {
+ 
+ /* little endian, 32 bits */
+ #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \
+-    defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \
++    defined(__sh__) || defined(__bfin__) || (defined(__mips__) && defined(__MIPSEL__)) || \
+     defined(__cris__)
+ #define PADDED(x, y)	x; unsigned y
+ #define PADDEDptr(x, y)	x; unsigned y
+@@ -59,7 +59,8 @@ typedef enum io_iocb_cmd {
+ 
+ /* little endian, 64 bits */
+ #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \
+-      (defined(__aarch64__) && defined(__AARCH64EL__))
++      (defined(__aarch64__) && defined(__AARCH64EL__)) || \
++      (defined(__mips64) && defined(__MIPSEL__))
+ #define PADDED(x, y)	x, y
+ #define PADDEDptr(x, y)	x
+ #define PADDEDul(x, y)	unsigned long x
+@@ -67,7 +68,8 @@ typedef enum io_iocb_cmd {
+ /* big endian, 64 bits */
+ #elif defined(__powerpc64__) || defined(__s390x__) || \
+       (defined(__sparc__) && defined(__arch64__)) || \
+-      (defined(__aarch64__) && defined(__AARCH64EB__))
++      (defined(__aarch64__) && defined(__AARCH64EB__)) || \
++      (defined(__mips64) && defined(__MIPSEL__))
+ #define PADDED(x, y)	unsigned y; x
+ #define PADDEDptr(x,y)	x
+ #define PADDEDul(x, y)	unsigned long x
+@@ -75,7 +77,7 @@ typedef enum io_iocb_cmd {
+ /* big endian, 32 bits */
+ #elif defined(__PPC__) || defined(__s390__) || \
+       (defined(__arm__) && defined(__ARMEB__)) || \
+-      defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \
++      defined(__sparc__) || (defined(__mips__) && defined(__MIPSEB__)) || defined(__m68k__) || \
+       defined(__hppa__) || defined(__frv__) || defined(__avr32__)
+ #define PADDED(x, y)	unsigned y; x
+ #define PADDEDptr(x, y)	unsigned y; x
diff --git a/meta/recipes-extended/libaio/libaio/toolchain.patch b/meta/recipes-extended/libaio/libaio/toolchain.patch
deleted file mode 100644
index 4d88ec1..0000000
--- a/meta/recipes-extended/libaio/libaio/toolchain.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-8/27/2010 - created by Qing He <qing.he@intel.com>
-
-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)
diff --git a/meta/recipes-extended/libaio/libaio_0.3.109.bb b/meta/recipes-extended/libaio/libaio_0.3.110.bb
similarity index 74%
rename from meta/recipes-extended/libaio/libaio_0.3.109.bb
rename to meta/recipes-extended/libaio/libaio_0.3.110.bb
index 0483c71..5d69282 100644
--- a/meta/recipes-extended/libaio/libaio_0.3.109.bb
+++ b/meta/recipes-extended/libaio/libaio_0.3.110.bb
@@ -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}"
 
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/7] pseudo: remove older version and patches
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
                   ` (4 preceding siblings ...)
  2014-11-21 17:20 ` [PATCH 5/7] libaio: Upgrade to 3.110 Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-12-03 22:06   ` Saul Wold
  2014-11-21 17:20 ` [PATCH 7/7] resolvconf: add fixes for busybox and make it work Saul Wold
  6 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 .../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

diff --git a/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch b/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch
deleted file mode 100644
index b5c81c9..0000000
--- a/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-From be97cb958f2934fa398fc8e344b25b84ebd4e90c Mon Sep 17 00:00:00 2001
-From: "Peter A. Bigot" <pab@pabigot.com>
-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 <pab@pabigot.com>
----
- 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
-
diff --git a/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch b/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch
deleted file mode 100644
index e8eaf13..0000000
--- a/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch
+++ /dev/null
@@ -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 <yanjun.zhu@windriver.com>
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
---- 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",
diff --git a/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch b/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch
deleted file mode 100644
index 7b1f82d..0000000
--- a/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-commit 7e67d082737b3df4788caf85fedd607b3acd9786
-Author: Peter Seebach <peter.seebach@windriver.com>
-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)))
- 
diff --git a/meta/recipes-devtools/pseudo/files/shutdownping.patch b/meta/recipes-devtools/pseudo/files/shutdownping.patch
deleted file mode 100644
index 8af8e0b..0000000
--- a/meta/recipes-devtools/pseudo/files/shutdownping.patch
+++ /dev/null
@@ -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 peter.seebach@windriver.com
-
-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);
diff --git a/meta/recipes-devtools/pseudo/files/symver.patch b/meta/recipes-devtools/pseudo/files/symver.patch
deleted file mode 100644
index 8d1b377..0000000
--- a/meta/recipes-devtools/pseudo/files/symver.patch
+++ /dev/null
@@ -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);
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb b/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
deleted file mode 100644
index 8d562ec..0000000
--- a/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
+++ /dev/null
@@ -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"
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/7] resolvconf: add fixes for busybox and make it work
  2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
                   ` (5 preceding siblings ...)
  2014-11-21 17:20 ` [PATCH 6/7] pseudo: remove older version and patches Saul Wold
@ 2014-11-21 17:20 ` Saul Wold
  2014-11-21 19:13   ` Saul Wold
  6 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2014-11-21 17:20 UTC (permalink / raw)
  To: openembedded-core

resolvconf 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]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 .../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

diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
new file mode 100644
index 0000000..3790d77
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
@@ -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
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
new file mode 100644
index 0000000..1aead07
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
@@ -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 <sgw@linux.intel.com>
+
+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
+ 
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
index eb29a2a..4dd4a30 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
@@ -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}"
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 7/7] resolvconf: add fixes for busybox and make it work
  2014-11-21 17:20 ` [PATCH 7/7] resolvconf: add fixes for busybox and make it work Saul Wold
@ 2014-11-21 19:13   ` Saul Wold
  0 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-11-21 19:13 UTC (permalink / raw)
  To: openembedded-core

On 11/21/2014 09:20 AM, Saul Wold wrote:
> resolvconf 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.
>
Well I found another issue with static (no dhcp), I will send a v2 of 
this patch the other stuff should be fine.

Sau!

> [YOCTO #5361]
>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>   .../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
>
> diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
> new file mode 100644
> index 0000000..3790d77
> --- /dev/null
> +++ b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
> @@ -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
> diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
> new file mode 100644
> index 0000000..1aead07
> --- /dev/null
> +++ b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
> @@ -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 <sgw@linux.intel.com>
> +
> +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
> +
> diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
> index eb29a2a..4dd4a30 100644
> --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
> +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb
> @@ -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}"
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 6/7] pseudo: remove older version and patches
  2014-11-21 17:20 ` [PATCH 6/7] pseudo: remove older version and patches Saul Wold
@ 2014-12-03 22:06   ` Saul Wold
  0 siblings, 0 replies; 10+ messages in thread
From: Saul Wold @ 2014-12-03 22:06 UTC (permalink / raw)
  To: openembedded-core, Armin Kuster


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!

On 11/21/2014 09:20 AM, Saul Wold wrote:
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>   .../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
>
> diff --git a/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch b/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch
> deleted file mode 100644
> index b5c81c9..0000000
> --- a/meta/recipes-devtools/pseudo/files/0001-pseudo_has_unload-add-function.patch
> +++ /dev/null
> @@ -1,190 +0,0 @@
> -From be97cb958f2934fa398fc8e344b25b84ebd4e90c Mon Sep 17 00:00:00 2001
> -From: "Peter A. Bigot" <pab@pabigot.com>
> -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 <pab@pabigot.com>
> ----
> - 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
> -
> diff --git a/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch b/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch
> deleted file mode 100644
> index e8eaf13..0000000
> --- a/meta/recipes-devtools/pseudo/files/pseudo-1.5.1-install-directory-mode.patch
> +++ /dev/null
> @@ -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 <yanjun.zhu@windriver.com>
> -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> -
> ---- 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",
> diff --git a/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch b/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch
> deleted file mode 100644
> index 7b1f82d..0000000
> --- a/meta/recipes-devtools/pseudo/files/pseudo-fchmodat-permissions.patch
> +++ /dev/null
> @@ -1,264 +0,0 @@
> -commit 7e67d082737b3df4788caf85fedd607b3acd9786
> -Author: Peter Seebach <peter.seebach@windriver.com>
> -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)))
> -
> diff --git a/meta/recipes-devtools/pseudo/files/shutdownping.patch b/meta/recipes-devtools/pseudo/files/shutdownping.patch
> deleted file mode 100644
> index 8af8e0b..0000000
> --- a/meta/recipes-devtools/pseudo/files/shutdownping.patch
> +++ /dev/null
> @@ -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 peter.seebach@windriver.com
> -
> -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);
> diff --git a/meta/recipes-devtools/pseudo/files/symver.patch b/meta/recipes-devtools/pseudo/files/symver.patch
> deleted file mode 100644
> index 8d1b377..0000000
> --- a/meta/recipes-devtools/pseudo/files/symver.patch
> +++ /dev/null
> @@ -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);
> diff --git a/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb b/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
> deleted file mode 100644
> index 8d562ec..0000000
> --- a/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb
> +++ /dev/null
> @@ -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"
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-12-03 22:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-21 17:20 [PATCH 0/7] A patch, cleanup and updates Saul Wold
2014-11-21 17:20 ` [PATCH 1/7] curl: Ugrade to 7.38 Saul Wold
2014-11-21 17:20 ` [PATCH 2/7] babeltrace: Upgrade to 1.2.3 Saul Wold
2014-11-21 17:20 ` [PATCH 3/7] npth: Upgrade to 1.1 Saul Wold
2014-11-21 17:20 ` [PATCH 4/7] boost: Upgrade to 1.57 Saul Wold
2014-11-21 17:20 ` [PATCH 5/7] libaio: Upgrade to 3.110 Saul Wold
2014-11-21 17:20 ` [PATCH 6/7] pseudo: remove older version and patches Saul Wold
2014-12-03 22:06   ` Saul Wold
2014-11-21 17:20 ` [PATCH 7/7] resolvconf: add fixes for busybox and make it work Saul Wold
2014-11-21 19:13   ` Saul Wold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.