From patchwork Sat Jul 15 21:27:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: auh@yoctoproject.org X-Patchwork-Id: 27467 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 97346C27C53 for ; Sat, 15 Jul 2023 21:27:39 +0000 (UTC) Received: from a27-45.smtp-out.us-west-2.amazonses.com (a27-45.smtp-out.us-west-2.amazonses.com [54.240.27.45]) by mx.groups.io with SMTP id smtpd.web10.5953.1689456455570575700 for ; Sat, 15 Jul 2023 14:27:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@yoctoproject.org header.s=lvjh2tk576v2ro5mi6k4dt3mc6wpqbky header.b=S3ARXmcp; spf=pass (domain: us-west-2.amazonses.com, ip: 54.240.27.45, mailfrom: 010101895b73ac82-8030a6ae-eea8-4b56-9b90-f04d4a304f4a-000000@us-west-2.amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=lvjh2tk576v2ro5mi6k4dt3mc6wpqbky; d=yoctoproject.org; t=1689456455; h=Content-Type:MIME-Version:From:To:Cc:Subject:Message-Id:Date; bh=qbDz8BuI/x5ksYZWSUPawfSPtQ912DqAN14eigBJEUQ=; b=S3ARXmcpprYCSt+BMwMMR5nAY/y6UcF5yDJmgm8i0Jll/g+Nv6zFN4T3hlIpBUjW Y2Sou8GtTEJ6SwC95NgTOmRRGYbfgdzDO9n7YwBXitj2M47exOv4agXqmxFhjOrBygR NIfdvrRy7KemGLrcKnTsVg2TeEyJQcqbFWwfcBbE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=hsbnp7p3ensaochzwyq5wwmceodymuwv; d=amazonses.com; t=1689456455; h=Content-Type:MIME-Version:From:To:Cc:Subject:Message-Id:Date:Feedback-ID; bh=qbDz8BuI/x5ksYZWSUPawfSPtQ912DqAN14eigBJEUQ=; b=rBLfttP0L4Q2cUKJFh4607agVR0PMgs9Gw7cpjUnOwD8h0Nm3p+zeDVy+vLd4X5I QgXoKOGuJ8cI5f1aCSygsitEs3XWXumE8zo89AwmYL6vlS54NVciDFGDonUS0JjyZcb Nr4pCsR0uLsj6DxKb1SkFcMCs5qyRX1Sv9ryIspM= MIME-Version: 1.0 From: auh@yoctoproject.org To: Robert Yang Cc: openembedded-core@lists.openembedded.org Subject: [AUH] strace: upgrading to 6.4 SUCCEEDED Message-ID: <010101895b73ac82-8030a6ae-eea8-4b56-9b90-f04d4a304f4a-000000@us-west-2.amazonses.com> Date: Sat, 15 Jul 2023 21:27:34 +0000 Feedback-ID: 1.us-west-2.9np3MYPs3fEaOBysGKSlUD4KtcmPijcmS9Az2Hwf7iQ=:AmazonSES X-SES-Outgoing: 2023.07.15-54.240.27.45 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 15 Jul 2023 21:27:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/184359 Hello, this email is a notification from the Auto Upgrade Helper that the automatic attempt to upgrade the recipe *strace* to *6.4* has Succeeded. Next steps: - apply the patch: git am 0001-strace-upgrade-6.3-6.4.patch - check the changes to upstream patches and summarize them in the commit message, - compile an image that contains the package - perform some basic sanity tests - amend the patch and sign it off: git commit -s --reset-author --amend - send it to the appropriate mailing list Alternatively, if you believe the recipe should not be upgraded at this time, you can fill RECIPE_NO_UPDATE_REASON in respective recipe file so that automatic upgrades would no longer be attempted. Please review the attached files for further information and build/update failures. Any problem please file a bug at https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Automated%20Update%20Handler Regards, The Upgrade Helper -- >8 -- From cb5d26c942fed2888b34577bc62273e5a795b6f8 Mon Sep 17 00:00:00 2001 From: Upgrade Helper Date: Sat, 15 Jul 2023 14:42:13 +0000 Subject: [PATCH] strace: upgrade 6.3 -> 6.4 --- ...e1392f5bd289239b755458dcdeeed69af1da.patch | 303 ------------------ ...b541b258baec9eba674b5d8dc30007a61542.patch | 50 --- ...2f4494779e5c5f170ad10539bfc2dfafe967.patch | 50 --- .../strace/{strace_6.3.bb => strace_6.4.bb} | 5 +- 4 files changed, 1 insertion(+), 407 deletions(-) delete mode 100644 meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch delete mode 100644 meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch delete mode 100644 meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch rename meta/recipes-devtools/strace/{strace_6.3.bb => strace_6.4.bb} (88%) diff --git a/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch b/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch deleted file mode 100644 index bdf815e55e..0000000000 --- a/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch +++ /dev/null @@ -1,303 +0,0 @@ -From 00ace1392f5bd289239b755458dcdeeed69af1da Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Mon, 26 Jun 2023 10:00:00 +0000 -Subject: [PATCH] tests: avoid accept() libc function when tracing accept() - syscall - -The libc function is allowed to implement accept() using accept4() -syscall, so migrate to accept4() those tests that trace accept() syscall -but do not test accept() specifically, and change the test of accept() -syscall to invoke either __NR_accept or __NR_socketcall(SYS_ACCEPT) -directly. - -* tests/accept_compat.h: Remove. -* tests/Makefile.am (EXTRA_DIST): Remove accept_compat.h. -* tests/accept.c [TEST_SYSCALL_NAME]: Do not invoke accept(), -call __NR_accept or __NR_socketcall if available, or skip the test. -* tests/net-y-unix.c: Do not include "accept_compat.h". -(main): Invoke accept4() instead of accept(). -* tests/net-yy-inet.c: Likewise. -* tests/net-yy-unix.c: Likewise. - -Resolves: https://github.com/strace/strace/issues/260 - -Upstream-Status: Backport ---- - tests/Makefile.am | 1 - - tests/accept.c | 36 ++++++++++++++++++++---------------- - tests/accept_compat.h | 32 -------------------------------- - tests/net-y-unix.c | 16 ++++++++-------- - tests/net-yy-inet.c | 12 ++++++------ - tests/net-yy-unix.c | 16 ++++++++-------- - 6 files changed, 42 insertions(+), 71 deletions(-) - delete mode 100644 tests/accept_compat.h - -Index: strace-6.3/tests/Makefile.am -=================================================================== ---- strace-6.3.orig/tests/Makefile.am -+++ strace-6.3/tests/Makefile.am -@@ -776,7 +776,6 @@ check_DATA = \ - # end of check_DATA - - EXTRA_DIST = \ -- accept_compat.h \ - attach-p-cmd.h \ - clock_adjtime-common.c \ - clock_xettime-common.c \ -Index: strace-6.3/tests/accept.c -=================================================================== ---- strace-6.3.orig/tests/accept.c -+++ strace-6.3/tests/accept.c -@@ -9,38 +9,36 @@ - */ - - #include "tests.h" -- -+#include "scno.h" - #include - --#include "scno.h" -+#ifndef TEST_SYSCALL_NAME - --#if defined __NR_accept -+# if defined __NR_accept || defined __NR_socketcall - --# ifndef TEST_SYSCALL_NAME - # define TEST_SYSCALL_NAME do_accept -- --# ifndef TEST_SYSCALL_STR --# define TEST_SYSCALL_STR "accept" --# endif -+# define TEST_SYSCALL_STR "accept" - - static int - do_accept(int sockfd, void *addr, void *addrlen) - { -+# ifdef __NR_accept - return syscall(__NR_accept, sockfd, addr, addrlen); -+# else /* __NR_socketcall */ -+ const long args[] = { sockfd, (long) addr, (long) addrlen }; -+ return syscall(__NR_socketcall, 5, args); -+# endif - } --# endif /* !TEST_SYSCALL_NAME */ - --#else /* !__NR_accept */ -+# endif /* __NR_accept || __NR_socketcall */ - --# ifndef TEST_SYSCALL_NAME --# define TEST_SYSCALL_NAME accept --# endif -+#endif /* !TEST_SYSCALL_NAME */ - --#endif /* __NR_accept */ -+#ifdef TEST_SYSCALL_NAME - --#define TEST_SYSCALL_PREPARE connect_un() -+# define TEST_SYSCALL_PREPARE connect_un() - static void connect_un(void); --#include "sockname.c" -+# include "sockname.c" - - static void - connect_un(void) -@@ -90,3 +88,9 @@ main(void) - puts("+++ exited with 0 +++"); - return 0; - } -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_accept || __NR_socketcall") -+ -+#endif -Index: strace-6.3/tests/accept_compat.h -=================================================================== ---- strace-6.3.orig/tests/accept_compat.h -+++ /dev/null -@@ -1,32 +0,0 @@ --/* -- * Copyright (c) 2018-2019 The strace developers. -- * All rights reserved. -- * -- * SPDX-License-Identifier: GPL-2.0-or-later -- */ -- --#ifndef _STRACE_TESTS_ACCEPT_COMPAT_H_ --# define _STRACE_TESTS_ACCEPT_COMPAT_H_ -- --# include --# include --# include "scno.h" -- --# if defined __NR_socketcall && defined __sparc__ --/* -- * Work around the fact that -- * - glibc >= 2.26 uses accept4 syscall to implement accept() call on sparc; -- * - accept syscall had not been wired up on sparc until v4.4-rc8~4^2~1. -- */ --static inline int --do_accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) --{ -- const long args[] = { sockfd, (long) addr, (long) addrlen }; -- -- return syscall(__NR_socketcall, 5, args); --} --# else --# define do_accept accept --# endif -- --#endif /* !_STRACE_TESTS_ACCEPT_COMPAT_H_ */ -Index: strace-6.3/tests/net-y-unix.c -=================================================================== ---- strace-6.3.orig/tests/net-y-unix.c -+++ strace-6.3/tests/net-y-unix.c -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include -+#include - #include - #include - #include -@@ -18,8 +19,6 @@ - #include - #include - --#include "accept_compat.h" -- - #define TEST_SOCKET "net-y-unix.socket" - - int -@@ -88,12 +87,12 @@ main(void) - struct sockaddr * const accept_sa = tail_alloc(sizeof(addr)); - memset(accept_sa, 0, sizeof(addr)); - *len = sizeof(addr); -- int accept_fd = do_accept(listen_fd, accept_sa, len); -+ int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC); - if (accept_fd < 0) - perror_msg_and_fail("accept"); - unsigned long accept_inode = inode_of_sockfd(accept_fd); -- printf("accept(%d, {sa_family=AF_UNIX}" -- ", [%d => %d]) = %d\n", -+ printf("accept4(%d, {sa_family=AF_UNIX}" -+ ", [%d => %d], SOCK_CLOEXEC) = %d\n", - listen_fd, listen_inode, - (int) sizeof(addr), (int) *len, - accept_fd, accept_inode); -@@ -160,14 +159,15 @@ main(void) - - memset(accept_sa, 0, sizeof(addr)); - *len = sizeof(addr); -- accept_fd = do_accept(listen_fd, accept_sa, len); -+ accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC); - if (accept_fd < 0) - perror_msg_and_fail("accept"); - accept_inode = inode_of_sockfd(accept_fd); - const char * const sun_path1 = - ((struct sockaddr_un *) accept_sa)->sun_path + 1; -- printf("accept(%d, {sa_family=AF_UNIX" -- ", sun_path=@\"%s\"}, [%d => %d]) = %d\n", -+ printf("accept4(%d, {sa_family=AF_UNIX" -+ ", sun_path=@\"%s\"}, [%d => %d], SOCK_CLOEXEC)" -+ " = %d\n", - listen_fd, listen_inode, sun_path1, - (int) sizeof(addr), (int) *len, - accept_fd, accept_inode); -Index: strace-6.3/tests/net-yy-inet.c -=================================================================== ---- strace-6.3.orig/tests/net-yy-inet.c -+++ strace-6.3/tests/net-yy-inet.c -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include -+#include - #include - #include - #include -@@ -19,8 +20,6 @@ - #include - #include - --#include "accept_compat.h" -- - #ifndef ADDR_FAMILY - # define ADDR_FAMILY_FIELD sin_family - # define ADDR_FAMILY AF_INET -@@ -104,14 +103,15 @@ main(void) - struct sockaddr * const accept_sa = tail_alloc(sizeof(addr)); - memset(accept_sa, 0, sizeof(addr)); - *len = sizeof(addr); -- const int accept_fd = do_accept(listen_fd, accept_sa, len); -+ const int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC); - if (accept_fd < 0) - perror_msg_and_fail("accept"); - const unsigned int connect_port = - ntohs(((struct SOCKADDR_TYPE *) accept_sa)->INPORT); -- printf("accept(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR -- ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}" -- ", [%u]) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>\n", -+ printf("accept4(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR -+ ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}, [%u]" -+ ", SOCK_CLOEXEC) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK -+ ":%u]>\n", - listen_fd, listen_port, connect_port, (unsigned) *len, - accept_fd, listen_port, connect_port); - -Index: strace-6.3/tests/net-yy-unix.c -=================================================================== ---- strace-6.3.orig/tests/net-yy-unix.c -+++ strace-6.3/tests/net-yy-unix.c -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include -+#include - #include - #include - #include -@@ -22,8 +23,6 @@ - # include "xmalloc.h" - #endif - --#include "accept_compat.h" -- - #define TEST_SOCKET "net-yy-unix.socket" - - int -@@ -112,12 +111,12 @@ main(void) - struct sockaddr * const accept_sa = tail_alloc(sizeof(addr)); - memset(accept_sa, 0, sizeof(addr)); - *len = sizeof(addr); -- int accept_fd = do_accept(listen_fd, accept_sa, len); -+ int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC); - if (accept_fd < 0) - perror_msg_and_fail("accept"); - unsigned long accept_inode = inode_of_sockfd(accept_fd); -- printf("accept(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX}" -- ", [%d => %d]) = %d<%s:[%lu->%lu,\"%s\"]>\n", -+ printf("accept4(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX}" -+ ", [%d => %d], SOCK_CLOEXEC) = %d<%s:[%lu->%lu,\"%s\"]>\n", - listen_fd, sock_proto_name, listen_inode, TEST_SOCKET, - (int) sizeof(addr), (int) *len, - accept_fd, sock_proto_name, accept_inode, connect_inode, -@@ -191,14 +190,15 @@ main(void) - - memset(accept_sa, 0, sizeof(addr)); - *len = sizeof(addr); -- accept_fd = do_accept(listen_fd, accept_sa, len); -+ accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC); - if (accept_fd < 0) - perror_msg_and_fail("accept"); - accept_inode = inode_of_sockfd(accept_fd); - const char * const sun_path1 = - ((struct sockaddr_un *) accept_sa)->sun_path + 1; -- printf("accept(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX" -- ", sun_path=@\"%s\"}, [%d => %d]) = %d<%s:[%lu->%lu,\"%s\"]>\n", -+ printf("accept4(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX" -+ ", sun_path=@\"%s\"}, [%d => %d], SOCK_CLOEXEC)" -+ " = %d<%s:[%lu->%lu,\"%s\"]>\n", - listen_fd, sock_proto_name, listen_inode, TEST_SOCKET, - sun_path1, (int) sizeof(addr), (int) *len, - accept_fd, sock_proto_name, accept_inode, connect_inode, diff --git a/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch b/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch deleted file mode 100644 index b4c6ff99de..0000000000 --- a/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 3bbfb541b258baec9eba674b5d8dc30007a61542 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Wed, 21 Jun 2023 08:00:00 +0000 -Subject: [PATCH] net: enhance getsockopt decoding - -When getsockopt syscall fails the kernel sometimes updates the optlen -argument, for example, NETLINK_LIST_MEMBERSHIPS updates it even if -optval is not writable. - -* src/net.c (SYS_FUNC(getsockopt)): Try to fetch and print optlen -argument on exiting syscall regardless of getsockopt exit status. - -Upstream-Status: Backport ---- - src/net.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/src/net.c b/src/net.c -index f68ccb947..7244b5e57 100644 ---- a/src/net.c -+++ b/src/net.c -@@ -1038,7 +1038,7 @@ SYS_FUNC(getsockopt) - } else { - ulen = get_tcb_priv_ulong(tcp); - -- if (syserror(tcp) || umove(tcp, tcp->u_arg[4], &rlen) < 0) { -+ if (umove(tcp, tcp->u_arg[4], &rlen) < 0) { - /* optval */ - printaddr(tcp->u_arg[3]); - tprint_arg_next(); -@@ -1047,6 +1047,19 @@ SYS_FUNC(getsockopt) - tprint_indirect_begin(); - PRINT_VAL_D(ulen); - tprint_indirect_end(); -+ } else if (syserror(tcp)) { -+ /* optval */ -+ printaddr(tcp->u_arg[3]); -+ tprint_arg_next(); -+ -+ /* optlen */ -+ tprint_indirect_begin(); -+ if (ulen != rlen) { -+ PRINT_VAL_D(ulen); -+ tprint_value_changed(); -+ } -+ PRINT_VAL_D(rlen); -+ tprint_indirect_end(); - } else { - /* optval */ - print_getsockopt(tcp, tcp->u_arg[1], tcp->u_arg[2], diff --git a/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch b/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch deleted file mode 100644 index a0843836c2..0000000000 --- a/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f31c2f4494779e5c5f170ad10539bfc2dfafe967 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 24 Jun 2023 08:00:00 +0000 -Subject: [PATCH] tests: update sockopt-sol_netlink test - -Update sockopt-sol_netlink test that started to fail, likely -due to recent linux kernel commit f4e4534850a9 ("net/netlink: fix -NETLINK_LIST_MEMBERSHIPS length report"). - -* tests/sockopt-sol_netlink.c (main): Always print changing optlen value -on exiting syscall. - -Reported-by: Alexander Gordeev ---- - tests/sockopt-sol_netlink.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -Upstream-Status: Backport - -diff --git a/tests/sockopt-sol_netlink.c b/tests/sockopt-sol_netlink.c -index 82b98adc23..1c33219ac5 100644 ---- a/tests/sockopt-sol_netlink.c -+++ b/tests/sockopt-sol_netlink.c -@@ -94,7 +94,10 @@ main(void) - printf("%p", val); - else - printf("[%d]", *val); -- printf(", [%d]) = %s\n", *len, errstr); -+ printf(", [%d", (int) sizeof(*val)); -+ if ((int) sizeof(*val) != *len) -+ printf(" => %d", *len); -+ printf("]) = %s\n", errstr); - - /* optlen larger than necessary - shortened */ - *len = sizeof(*val) + 1; -@@ -150,8 +153,12 @@ main(void) - /* optval EFAULT - print address */ - *len = sizeof(*val); - get_sockopt(fd, names[i].val, efault, len); -- printf("getsockopt(%d, SOL_NETLINK, %s, %p, [%d]) = %s\n", -- fd, names[i].str, efault, *len, errstr); -+ printf("getsockopt(%d, SOL_NETLINK, %s, %p", -+ fd, names[i].str, efault); -+ printf(", [%d", (int) sizeof(*val)); -+ if ((int) sizeof(*val) != *len) -+ printf(" => %d", *len); -+ printf("]) = %s\n", errstr); - - /* optlen EFAULT - print address */ - get_sockopt(fd, names[i].val, val, len + 1); diff --git a/meta/recipes-devtools/strace/strace_6.3.bb b/meta/recipes-devtools/strace/strace_6.4.bb similarity index 88% rename from meta/recipes-devtools/strace/strace_6.3.bb rename to meta/recipes-devtools/strace/strace_6.4.bb index a47cc71724..2174790fbe 100644 --- a/meta/recipes-devtools/strace/strace_6.3.bb +++ b/meta/recipes-devtools/strace/strace_6.4.bb @@ -14,11 +14,8 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://skip-load.patch \ file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \ file://0002-tests-Replace-off64_t-with-off_t.patch \ - file://00ace1392f5bd289239b755458dcdeeed69af1da.patch \ - file://f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch \ - file://3bbfb541b258baec9eba674b5d8dc30007a61542.patch \ " -SRC_URI[sha256sum] = "e17878e301506c1cc301611118ad14efee7f8bcef63b27ace5d290acce7bb731" +SRC_URI[sha256sum] = "27987dbac57fdfd260c6db4dc8328df35c95c6867c8a3d4371d59cdcf4eb9238" inherit autotools ptest