From patchwork Tue Sep 13 14:17:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12777 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 4574FC6FA8A for ; Tue, 13 Sep 2022 14:18:20 +0000 (UTC) Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mx.groups.io with SMTP id smtpd.web11.5123.1663078692097271625 for ; Tue, 13 Sep 2022 07:18:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=CktspqrT; spf=softfail (domain: sakoman.com, ip: 209.85.216.51, mailfrom: steve@sakoman.com) Received: by mail-pj1-f51.google.com with SMTP id i15-20020a17090a4b8f00b0020073b4ac27so11492094pjh.3 for ; Tue, 13 Sep 2022 07:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=03h+yj3EdUMa3ldbuaB6ohdTzpaQp46lRrfv1t95tWs=; b=CktspqrT9GLQbjzq9ag0QRsRldTB0NfzztlA1FB2L5nOZjT9uGn71/1RMC00TNmWaf 6leOKkvhpxdegQt9wn3DkwaHMuBXHM9Oe6B9MSv5oIrrCfe2yAjVO+BqWfpa9DtuurzO HKAf0ekbLnUCL3VHA0VVBQGMSDqpx416MtvzU7oJEpa67wRar68fKTlkGGPmQ502//HI frcMr98dlVBqQEX3mLWayK53bcxAPdi2vq28Lv5OyuUVJxxez03qMcb4CygoqRS4HqUw w0jdswDhXjBVvb3oalMm7+FP/Zt6d64Hb8M/1UmBXzhehqTqm7QSIlRHTsIEqwNjyvM7 nlPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=03h+yj3EdUMa3ldbuaB6ohdTzpaQp46lRrfv1t95tWs=; b=qnmp1CcukgLJRYVOdz/hpu1jnHXObUTsJ0b4/uEvNsnB+g7jCaAlylEQ9BsiUWmTK7 OQ+v3jFzICG9nXVzzLEXvdjuah3Cb5apsXpYADeb7I3/s6EjFJdUPVXdA+v6ZZBi8E1f BcKN089TmBQPtmY05bp9X3Z6fR1MP51gNB9LhpLlcNVsjVo7Oaeem8rEArNRy3REgUEf G4P8CaUozOZrNQsp8AhGKYnrqZiTbQUCn7jkkKOj8BoC3qiYZq/FQrqLAKzfo67hgX9z ItsSa4PI19YA0JVeGw5fI5Ts+aG01I7IhKoOXa6wHu1x1WrIT2QQhnpe7kShOvQy1TNL EEww== X-Gm-Message-State: ACgBeo0KvYcYuiHnWlOJYWyqy0FmGHvGxGUoe38sLbiZnXpZq7jGMqLE LWi/9VWmmiUYJw4PHfsV6GjZHXL83D3ewVAG X-Google-Smtp-Source: AA6agR4h59YN3p1KM72Amwu+tkbonW5UAkmyL6GDZu9c71hY1Jtn1runkqtjY3/y1t8MIDr7V7IkOg== X-Received: by 2002:a17:902:d2c2:b0:177:ed66:798 with SMTP id n2-20020a170902d2c200b00177ed660798mr28083232plc.76.1663078695093; Tue, 13 Sep 2022 07:18:15 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:14 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 01/16] cracklib: upgrade 2.9.7 -> 2.9.8 Date: Tue, 13 Sep 2022 04:17:42 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170580 From: wangmy v2.9.8 Correct parameter types to Debug() calls rules: Drop using register keyword remove needless use of %defattr per fedora project add exec perms translation updates Use what's in the build environment and use a current autoconf util/Makefile.am: fix link with lintl Force grep to treat the input as text when formatting word files 0001-rules-Drop-using-register-keyword.patch 0002-rules-Correct-parameter-types-to-Debug-calls.patch removed since they're included in 2.9.8 Signed-off-by: Wang Mingyu Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 7477178a4c60c02c2d1638746148dd3d2941dc28) Signed-off-by: Steve Sakoman --- ...01-rules-Drop-using-register-keyword.patch | 278 ------------------ ...rrect-parameter-types-to-Debug-calls.patch | 40 --- .../{cracklib_2.9.7.bb => cracklib_2.9.8.bb} | 4 +- 3 files changed, 1 insertion(+), 321 deletions(-) delete mode 100644 meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch delete mode 100644 meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch rename meta/recipes-extended/cracklib/{cracklib_2.9.7.bb => cracklib_2.9.8.bb} (83%) diff --git a/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch b/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch deleted file mode 100644 index a8446653eb..0000000000 --- a/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch +++ /dev/null @@ -1,278 +0,0 @@ -From fe49471cfa7fe0618615c065f4c0ad04e888bf92 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 7 Aug 2022 12:24:39 -0700 -Subject: [PATCH 1/2] rules: Drop using register keyword - -This is a deprecated keyword - -Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48] -Signed-off-by: Khem Raj ---- - src/lib/rules.c | 94 ++++++++++++++++++++++++------------------------- - 1 file changed, 47 insertions(+), 47 deletions(-) - -diff --git a/lib/rules.c b/lib/rules.c -index 3a2aa46..6e7a12a 100644 ---- a/lib/rules.c -+++ b/lib/rules.c -@@ -67,8 +67,8 @@ Suffix(myword, suffix) - char *myword; - char *suffix; - { -- register int i; -- register int j; -+ int i; -+ int j; - i = strlen(myword); - j = strlen(suffix); - -@@ -83,10 +83,10 @@ Suffix(myword, suffix) - - char * - Reverse(str) /* return a pointer to a reversal */ -- register char *str; -+ char *str; - { -- register int i; -- register int j; -+ int i; -+ int j; - static char area[STRINGSIZE]; - j = i = strlen(str); - while (*str) -@@ -99,9 +99,9 @@ Reverse(str) /* return a pointer to a reversal */ - - char * - Uppercase(str) /* return a pointer to an uppercase */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*str) -@@ -116,9 +116,9 @@ Uppercase(str) /* return a pointer to an uppercase */ - - char * - Lowercase(str) /* return a pointer to an lowercase */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*str) -@@ -133,9 +133,9 @@ Lowercase(str) /* return a pointer to an lowercase */ - - char * - Capitalise(str) /* return a pointer to an capitalised */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - -@@ -152,9 +152,9 @@ Capitalise(str) /* return a pointer to an capitalised */ - - char * - Pluralise(string) /* returns a pointer to a plural */ -- register char *string; -+ char *string; - { -- register int length; -+ int length; - static char area[STRINGSIZE]; - length = strlen(string); - strcpy(area, string); -@@ -193,11 +193,11 @@ Pluralise(string) /* returns a pointer to a plural */ - - char * - Substitute(string, old, new) /* returns pointer to a swapped about copy */ -- register char *string; -- register char old; -- register char new; -+ char *string; -+ char old; -+ char new; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -211,11 +211,11 @@ Substitute(string, old, new) /* returns pointer to a swapped about copy */ - - char * - Purge(string, target) /* returns pointer to a purged copy */ -- register char *string; -- register char target; -+ char *string; -+ char target; - { -- register char *ptr; -- static char area[STRINGSIZE]; -+ char *ptr; -+ char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -238,11 +238,11 @@ Purge(string, target) /* returns pointer to a purged copy */ - - int - MatchClass(class, input) -- register char class; -- register char input; -+ char class; -+ char input; - { -- register char c; -- register int retval; -+ char c; -+ int retval; - retval = 0; - - switch (class) -@@ -357,8 +357,8 @@ MatchClass(class, input) - - char * - PolyStrchr(string, class) -- register char *string; -- register char class; -+ char *string; -+ char class; - { - while (*string) - { -@@ -373,11 +373,11 @@ PolyStrchr(string, class) - - char * - PolySubst(string, class, new) /* returns pointer to a swapped about copy */ -- register char *string; -- register char class; -- register char new; -+ char *string; -+ char class; -+ char new; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -391,10 +391,10 @@ PolySubst(string, class, new) /* returns pointer to a swapped about copy */ - - char * - PolyPurge(string, class) /* returns pointer to a purged copy */ -- register char *string; -- register char class; -+ char *string; -+ char class; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -433,7 +433,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - char *control; - { - int limit; -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE * 2] = {0}; - char area2[STRINGSIZE * 2] = {0}; - strcpy(area, input); -@@ -523,7 +523,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register char *string; -+ char *string; - string = area; - while (*(string++)); - string[-1] = *(++ptr); -@@ -537,7 +537,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - int start; - int length; - start = Char2Int(*(++ptr)); -@@ -563,7 +563,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - i = Char2Int(*(++ptr)); - if (i < 0) - { -@@ -587,9 +587,9 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -- register char *p1; -- register char *p2; -+ int i; -+ char *p1; -+ char *p2; - i = Char2Int(*(++ptr)); - if (i < 0) - { -@@ -696,7 +696,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - if ((i = Char2Int(ptr[1])) < 0) - { - Debug(1, "Mangle: '=' weird argument in '%s'\n", control); -@@ -723,7 +723,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - case RULE_DFIRST: - if (area[0]) - { -- register int i; -+ int i; - for (i = 1; area[i]; i++) - { - area[i - 1] = area[i]; -@@ -735,7 +735,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - case RULE_DLAST: - if (area[0]) - { -- register int i; -+ int i; - for (i = 1; area[i]; i++); - area[i - 1] = '\0'; - } -@@ -771,7 +771,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - - for (i = 0; area[i]; i++); - -@@ -815,8 +815,8 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - - int - PMatch(control, string) --register char *control; --register char *string; -+char *control; -+char *string; - { - while (*string && *control) - { --- -2.37.1 - diff --git a/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch b/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch deleted file mode 100644 index a8692b0cca..0000000000 --- a/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 793921a8ee4ae7f20e1fd2bbec5196bc83176b01 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 7 Aug 2022 12:25:24 -0700 -Subject: [PATCH 2/2] rules: Correct parameter types to Debug() calls - -Fixes -src/lib/rules.c:346:45: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; take the address with & [-Wint-conversion] -src/lib/rules.c:804:53: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; remove * [-Wint-conversion] Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); - ^~~~ -Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48] -Signed-off-by: Khem Raj ---- - src/lib/rules.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/rules.c b/lib/rules.c -index 6e7a12a..4a34f91 100644 ---- a/lib/rules.c -+++ b/lib/rules.c -@@ -343,7 +343,7 @@ MatchClass(class, input) - break; - - default: -- Debug(1, "MatchClass: unknown class %c\n", class); -+ Debug(1, "MatchClass: unknown class %c\n", &class); - return (0); - break; - } -@@ -801,7 +801,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - } - - default: -- Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); -+ Debug(1, "Mangle: unknown command %c in %s\n", ptr, control); - return NULL; - break; - } --- -2.37.1 - diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.7.bb b/meta/recipes-extended/cracklib/cracklib_2.9.8.bb similarity index 83% rename from meta/recipes-extended/cracklib/cracklib_2.9.7.bb rename to meta/recipes-extended/cracklib/cracklib_2.9.8.bb index ffed88ed01..786940a7e0 100644 --- a/meta/recipes-extended/cracklib/cracklib_2.9.7.bb +++ b/meta/recipes-extended/cracklib/cracklib_2.9.8.bb @@ -12,11 +12,9 @@ EXTRA_OECONF = "--without-python --libdir=${base_libdir}" SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=master \ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \ file://0002-craklib-fix-testnum-and-teststr-failed.patch \ - file://0001-rules-Drop-using-register-keyword.patch \ - file://0002-rules-Correct-parameter-types-to-Debug-calls.patch \ " -SRCREV = "f83934cf3cced0c9600c7d81332f4169f122a2cf" +SRCREV = "d9e8f9f47718539aeba80f90f4e072549926dc9c" S = "${WORKDIR}/git/src" inherit autotools gettext From patchwork Tue Sep 13 14:17:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12776 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 5703AC6FA89 for ; Tue, 13 Sep 2022 14:18:20 +0000 (UTC) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by mx.groups.io with SMTP id smtpd.web09.5355.1663078698434906878 for ; Tue, 13 Sep 2022 07:18:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=0A83M3Cu; spf=softfail (domain: sakoman.com, ip: 209.85.214.171, mailfrom: steve@sakoman.com) Received: by mail-pl1-f171.google.com with SMTP id jm11so11937895plb.13 for ; Tue, 13 Sep 2022 07:18:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=qJ3upSDBw+DjNQv5MvwKJgt54tVehWia6d6emsTpIY8=; b=0A83M3CuikbdPJdCTxyAu3ycPxlmoz8cDhhzz1ZnACpToibPqxsEdaUT+VzXQX01/B BTctazoAaSwmq/ci0xsPCTqLVOl9Y4WuXcih6RAmSU4hF85EoIo5UsDgG1LjT0a9BZHj X/4xElIn6Tz1glVQOk5cwWaMRxclWi7dpeemKpG+g9pgL2Ij9/IQBZoz6yt0zxzdC3gy hAkjMK3BzhrKGQrLEFP4SEDebzaDWcqyoKa93XeStmLTCbzkC/LZtlFzMgaktctlIREu LmA+OiZQxUSlS09VQDNH6q5JE9YC2/41dFMKJecMdzKsn8mt4S39MY1tXUV0Zp/ndAnB YXAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=qJ3upSDBw+DjNQv5MvwKJgt54tVehWia6d6emsTpIY8=; b=2TD0T3IXoBWnqwJjb/mDMwbp3b88GxWtg1UNff8CvAwxNqkzIGkjkuID/5iC6tTmm/ QJoSh1SL3G2RCYWHpAft0bPRZC1CL2zKAOMxZ7oz5dwxf/66GXi9GZzQgYxiaFxWgRXN nwOB/6Vo3TTGA1hlH104+Bowsfu0nCg8kYlxSkzF2jL7rbL6MULRssd4umUlXSD+zVnB Vi7KJzQJ0EAoTCUAJ0uzyjQEOc4AoNGyVAgm2CJ/QSCl+GcNepUWDC0WQ2Luqy/ys1gd CzkNaVi+nul0S0erRH2QwErJoTGWNLnP+RywN+nGgAGBZmxoZgMKagOQ1yz2IP0Ady1j +hyA== X-Gm-Message-State: ACgBeo1UcQs6b3BwbrOu7VhqCTjoelmv52MmJkLwpVImwnwxvbi2ZA/H XEQXDNCX9EUZSgEtwE4o6THaO9McO7mb3ydY X-Google-Smtp-Source: AA6agR6hWQ7CCDG22J3qpu7M/o8hdC+GFedJ6/vKK4WkL+cYgGLn/fdtf6g9m98wzapMTIuvpR9NVQ== X-Received: by 2002:a17:90a:4805:b0:1f5:39ab:29a9 with SMTP id a5-20020a17090a480500b001f539ab29a9mr4217245pjh.202.1663078697438; Tue, 13 Sep 2022 07:18:17 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:16 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 02/16] vala: upgrade 0.56.2 -> 0.56.3 Date: Tue, 13 Sep 2022 04:17:43 -1000 Message-Id: <90b0762aff8b11e781f2d492fd7af7707bc623a1.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170581 From: wangmy Changelog: ========== * Various improvements and bug fixes: - vala: Don't unconditionally expect ObjectType of Class [#1341] - vala: Make try-statement parsing more resilient [#1304] - vala: Avoid problems with '\' in #line directives on Windows [#1353] - gidlparser: Set source reference of parameters * Bindings: - atspi-2: Fix a few binding errors - glib-2.0: Use g_abort for GLib.Process.abort() beginning with 2.50 [#1350] - gtk+-3.0: Correctly unhide BindingSet.by_class to avoid Version attribute Signed-off-by: Wang Mingyu Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 29d2f8241312a7f0bda39805d41cd6789d369ce9) Signed-off-by: Steve Sakoman --- meta/recipes-devtools/vala/vala_0.56.2.bb | 3 --- meta/recipes-devtools/vala/vala_0.56.3.bb | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 meta/recipes-devtools/vala/vala_0.56.2.bb create mode 100644 meta/recipes-devtools/vala/vala_0.56.3.bb diff --git a/meta/recipes-devtools/vala/vala_0.56.2.bb b/meta/recipes-devtools/vala/vala_0.56.2.bb deleted file mode 100644 index 08c8ccca1d..0000000000 --- a/meta/recipes-devtools/vala/vala_0.56.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ${BPN}.inc - -SRC_URI[sha256sum] = "66c9619bb17859fd1ac3aba0a57970613e38fd2a1ee30541174260c9fb90124c" diff --git a/meta/recipes-devtools/vala/vala_0.56.3.bb b/meta/recipes-devtools/vala/vala_0.56.3.bb new file mode 100644 index 0000000000..83f61e5b2f --- /dev/null +++ b/meta/recipes-devtools/vala/vala_0.56.3.bb @@ -0,0 +1,3 @@ +require ${BPN}.inc + +SRC_URI[sha256sum] = "e1066221bf7b89cb1fa7327a3888645cb33b604de3bf45aa81132fd040b699bf" From patchwork Tue Sep 13 14:17:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12781 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 2FC9DC6FA89 for ; Tue, 13 Sep 2022 14:18:30 +0000 (UTC) Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by mx.groups.io with SMTP id smtpd.web12.5276.1663078700685426541 for ; Tue, 13 Sep 2022 07:18:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=qAQQwrvc; spf=softfail (domain: sakoman.com, ip: 209.85.210.176, mailfrom: steve@sakoman.com) Received: by mail-pf1-f176.google.com with SMTP id d82so11892072pfd.10 for ; Tue, 13 Sep 2022 07:18:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=TIwC8s6hSovcoczmtLwdjXevcATp821BSacZEnE25p0=; b=qAQQwrvceZuNbTleyKqFMgfijt8hFirk0dp4I/zHWDbTMIceMIRnDR58SlBfAuOdFY MseA4gg+jGugO0if159/Vp9L1E4tgFY/NOcwGxD5cU1r62PYIVk8Cd7932KJbqN7vLoR v4r13LVmN9V79tAoBHulVS0EbL/G64urXdtqFjpWfSSaw2juVXL8Bd6j5wRuwJZes3HQ 7IeBXEqwsEXB7FJrE7/I1x4juA6DuAxRuK7aDFsbHt3DXLhaRogoXH+VXITxTpQTQ4gA KbeoYsou21rjJHVR6nwGF3NfiRFDiSCjJwK9tc4+kaSxTq+Ou7ifSebI13Xjt9FzTBtk 8VMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=TIwC8s6hSovcoczmtLwdjXevcATp821BSacZEnE25p0=; b=azPnH3JJJGOW7kU7rbtrvvvMKucR1cIn+csFaLLy+Co/FXGPmizJPl9AQTmZRnAmGA vQupQbAT0mh2kWokzHWHMuZ/S6Bp0r3Z3OzTXomW84oJq58I4fI2blvNpIkLD7M2v7iV mgPTKosE6ImHzBKGRIHROshrGl/hAI0s63cW4ReQubakUvJK4ugHCVnqm/Ag2NCkVZq/ /Mr4rT34X2UP78l5bhYSztlcCrZPGdY5NO3YYN+lPXlzuPHcZO/HBGE+97nFXUfuDcY0 SvxnpADn6gPmFI/E/esciFCDP6pO4xX3PHmqVGz+5AFL91QAv2/uXO+e84Vz2jQaPg8E JqBQ== X-Gm-Message-State: ACgBeo3gNvzMuAV+B4QSrTkGQhWp4+Fuclvig/yVfU7JBEN6jqPwHUDg KxOSEbPAbAU7Gd5g/b6nhNckAIFdpO1dlZbZ X-Google-Smtp-Source: AA6agR7QsU1gZSZYLJVnenCicNENxW7nH4lh4wLuWXZWap3+YEKqQTjSzzsKurDTrkr0dvM8YGWMQg== X-Received: by 2002:a63:231c:0:b0:434:9c3b:546e with SMTP id j28-20020a63231c000000b004349c3b546emr28614512pgj.593.1663078699544; Tue, 13 Sep 2022 07:18:19 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:19 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 03/16] ruby: drop capstone support Date: Tue, 13 Sep 2022 04:17:44 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170582 From: Alexandre Belloni Upstream dropped capstone support and this also causing us reproducibility issues. Signed-off-by: Alexandre Belloni (cherry picked from commit d2496a904a7099ef0de818180820ad7b40843a08) Signed-off-by: Steve Sakoman --- ...001-Remove-dependency-on-libcapstone.patch | 36 +++++++++++++++++++ meta/recipes-devtools/ruby/ruby_3.1.2.bb | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch diff --git a/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch b/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch new file mode 100644 index 0000000000..5d0f8fcc09 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch @@ -0,0 +1,36 @@ +From 222203297966f312109e8eaa2520f2cf2f59c09d Mon Sep 17 00:00:00 2001 +From: Alan Wu +Date: Thu, 31 Mar 2022 17:26:28 -0400 +Subject: [PATCH] Remove dependency on libcapstone + +We have received reports of build failures due to this configuration +check modifying compile flags. Since only YJIT devs use this library +we can remove it to make Ruby easier to build for users. + +See: https://github.com/rbenv/ruby-build/discussions/1933 + +Upstream-Status: Backport +--- + configure.ac | 9 --------- + 1 file changed, 9 deletions(-) + +Index: ruby-3.1.2/configure.ac +=================================================================== +--- ruby-3.1.2.orig/configure.ac ++++ ruby-3.1.2/configure.ac +@@ -1244,15 +1244,6 @@ AC_CHECK_LIB(dl, dlopen) # Dynamic linki + AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX + AC_CHECK_LIB(socket, shutdown) # SunOS/Solaris + +-if pkg-config --exists capstone; then +- CAPSTONE_CFLAGS=`pkg-config --cflags capstone` +- CAPSTONE_LIB_L=`pkg-config --libs-only-L capstone` +- LDFLAGS="$LDFLAGS $CAPSTONE_LIB_L" +- CFLAGS="$CFLAGS $CAPSTONE_CFLAGS" +-fi +- +-AC_CHECK_LIB(capstone, cs_open) # Capstone disassembler for debugging YJIT +- + dnl Checks for header files. + AC_HEADER_DIRENT + dnl AC_HEADER_STDC has been checked in AC_USE_SYSTEM_EXTENSIONS diff --git a/meta/recipes-devtools/ruby/ruby_3.1.2.bb b/meta/recipes-devtools/ruby/ruby_3.1.2.bb index 6fc1f53b18..387bfa9b44 100644 --- a/meta/recipes-devtools/ruby/ruby_3.1.2.bb +++ b/meta/recipes-devtools/ruby/ruby_3.1.2.bb @@ -12,6 +12,7 @@ SRC_URI += " \ file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \ file://0006-Make-gemspecs-reproducible.patch \ file://0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch \ + file://0001-Remove-dependency-on-libcapstone.patch \ " SRC_URI[sha256sum] = "61843112389f02b735428b53bb64cf988ad9fb81858b8248e22e57336f24a83e" @@ -25,7 +26,6 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," # rdoc is off by default due to non-reproducibility reported in # https://bugs.ruby-lang.org/issues/18456 PACKAGECONFIG[rdoc] = "--enable-install-rdoc,--disable-install-rdoc," -PACKAGECONFIG[capstone] = "--with-capstone=yes, --with-capstone=no" EXTRA_OECONF = "\ --disable-versioned-paths \ From patchwork Tue Sep 13 14:17:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12779 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 3E456C6FA90 for ; Tue, 13 Sep 2022 14:18:30 +0000 (UTC) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by mx.groups.io with SMTP id smtpd.web11.5125.1663078703456983887 for ; Tue, 13 Sep 2022 07:18:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=dVbhGvy4; spf=softfail (domain: sakoman.com, ip: 209.85.215.177, mailfrom: steve@sakoman.com) Received: by mail-pg1-f177.google.com with SMTP id v4so11430653pgi.10 for ; Tue, 13 Sep 2022 07:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=eu+F+Qk9VUvkhOUNJ/2OLpqYYlivFLy2nOatA512D7s=; b=dVbhGvy47UjwGluTpcdFhtVENPt2xuyG+KCVRN5gce+/JJnHr8r6JsvRfhbbU4ZHTN KA3c+Dc5arEvIIeLEM89q8WgbTcP4Oaj2ZzKg8oVtQbqp4p9iWqFT1hyi5tpsjQTj0xt y6UXvrg71iFASWNpx26LE1KwTuXeznSplrMhKNkv6+cby3phMpq32D7HtdYzB+z3PxU5 scB/taCRORuXq5yVIN7qTZAhc/UzwZcOkswPG9D4QSzrzPNrOyxHsnX0L2brwrCUWbPn oaPplsfdE+sdK0JmLrYgvb1bep+qY9n+x40es6qD9AUC6Mlgo0f6qQQ07RzGV53o16vj iHaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=eu+F+Qk9VUvkhOUNJ/2OLpqYYlivFLy2nOatA512D7s=; b=ec+mcc5PGlmwvPf39Xqwln/XKLocLaQJnx577KyoqE0w0wLhfBf+zIXkmSOpuorhPf RkBRypuCuvdEfUti3koDJBZMK+hRGiB6DLrYgJPPrjVdH5JCzXmYCuBJzd6qC+es22pl iosnf4JAHx3ToXxW6p841qFTbgxpz1I7Isy1xYG14+khG/2yC/caWnMT9SDS5eBbru78 cnAbxIsEs5JCdsrBKwGDOzEcFnDn45/jmmGXH4bsPyctI71HFir79nUub4Iq/8GqrF1d h2TWSI/BBbMWra6HI/IE7OiztbJGboL7u2Joup9cdXmIAdRQA8Sjz82Pmqtw7493t4RU 3Rrg== X-Gm-Message-State: ACgBeo2+HetZYVs//8RfQIuLdRM5E4ydTTbuAn1tiQSRH8cElb2fdHGy pilPxVmfXtl1b/chw54FYl3JnPoE+PEIERoq X-Google-Smtp-Source: AA6agR6yXgGlq5skVcA20nTVpYsgC/Fii2IDowBLtsAwprCAd4KdHfdNgEzjPoLM7jdF0pmTbv4dyQ== X-Received: by 2002:a63:6909:0:b0:41c:9f4f:a63c with SMTP id e9-20020a636909000000b0041c9f4fa63cmr29178401pgc.76.1663078702379; Tue, 13 Sep 2022 07:18:22 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:21 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 04/16] gcc-multilib-config: Fix i686 toolchain relocation issues Date: Tue, 13 Sep 2022 04:17:45 -1000 Message-Id: <47f6d0da703a9d25fa7dd36793ba332ae8d7ee9e.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170583 From: Richard Purdie This code wasn't changing the linux.h on i686. Make the entry match that for i586 which was correct. This fixes problems where the wrong dynamic loader path was used by nativesdk-gcc on i686 SDK targets by ensuring SYSTEMLIBS_DIR is replaced by %r in the correct header files. Signed-off-by: Richard Purdie (cherry picked from commit d30eb681f41bf9e921f7f0d42747fff7a4be9229) Signed-off-by: Steve Sakoman --- meta/recipes-devtools/gcc/gcc-multilib-config.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc index 26bfed9507..2dbbc23c94 100644 --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc @@ -154,7 +154,7 @@ python gcc_multilib_setup() { gcc_header_config_files = { 'x86_64' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], 'i586' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], - 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux64.h'], + 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'], 'mips' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], 'mips64' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], 'powerpc' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'], From patchwork Tue Sep 13 14:17:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12778 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 30C71C6FA8E for ; Tue, 13 Sep 2022 14:18:30 +0000 (UTC) Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by mx.groups.io with SMTP id smtpd.web12.5277.1663078705730959658 for ; Tue, 13 Sep 2022 07:18:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=soF/gx6j; spf=softfail (domain: sakoman.com, ip: 209.85.216.41, mailfrom: steve@sakoman.com) Received: by mail-pj1-f41.google.com with SMTP id fv3so11487541pjb.0 for ; Tue, 13 Sep 2022 07:18:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=xmRnbGkiOzdpVVAOyHmQKPeNWWf+T5f3/Hx5q9VKKOo=; b=soF/gx6jag6gY2TxaYj5vz9mVkDwqNTkmbKI4NpalEisQB10CL4MNXTUYCwd4hMl8V 0uOKtJRKmNK4+2jWjQiwVqWwNuGqBJz0Td7Jvjlzslp4kERJR8zaDILWsVrF603VTq9w /gH77XzDf+P0mgGJolep1fWvQtT7J5tG04BLS6WOB5u5deA8ql3zpThBzkISsDGPytWC 9yTGyB+w4s6VgQIB1Xn7L4fXR/SYRjNUqXFSyX3Nb0iav/VhENQYVj9IBYCa4bx3HHRU p0tLPfBPZuhUt1j5hTuW/oSy7DeuHR/dS9JRRRu8lWScqkxarosCLEL920jr2L6sJbvk mezA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=xmRnbGkiOzdpVVAOyHmQKPeNWWf+T5f3/Hx5q9VKKOo=; b=6VKBRxcAeXsU00gkxG3qiyn5QoIspzgWTez9g4iTmyXDyps+l0tPuDlRiExNu6R1N6 Wr3g8M4LoZ6Ct79zmX+1i4CN84/gRPPaTTl2E3Vd9Y6nZVMwl079RoZCSSxUa8RAtlGF JiGR58GMwmM1l6xzRjLsNrJFRcS2ACQbQjaOQXA2i2dRHgcs/jW4mXr+tdKZO94B4C3H QJdshC3FCbm/UC1cHd2hYaKtgL0TTnD1byMQARZ2j6EYZRi1cQCOsaTIEW1YzvhfHLby a1Dcainr+e7lxkwJHim7RTDMB1IZqjLHFS7omBkcShxMV3HtlYVQjed8zylFzqyDj+Gm gJmA== X-Gm-Message-State: ACgBeo3+3uuDBgvgcZxEdkdgDDs8H30N3u2Q6s1Hm4IVlu+dEb8YJZQ7 ZObACVRD2E9BE80bunMZ+A71IwJ55HGaIynd X-Google-Smtp-Source: AA6agR6QMXrv2PBqt7/g1K3WSE/ZpMn7BwtAI7L+h55kqkilOdazA5al6kXy3Vdpe2P5gK7+2se0ww== X-Received: by 2002:a17:903:2410:b0:171:4bbc:2526 with SMTP id e16-20020a170903241000b001714bbc2526mr31998002plo.62.1663078704666; Tue, 13 Sep 2022 07:18:24 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:24 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 05/16] kernel: Always set CC and LD for the kernel build Date: Tue, 13 Sep 2022 04:17:46 -1000 Message-Id: <0872e11ede2469a7d176c791395b139158bd22a3.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170584 From: Richard Purdie It as been bothering me a bit that we don't set CC and LD consistently for the kernel make calls and this can lead to interesting bugs as the kernel increases in complexity. Add them to EXTRA_OEMAKE so they're always passed in. This makes everything slightly more consistent and less likely to break in future. Signed-off-by: Richard Purdie (cherry picked from commit afe8c318843e4033dcc07e4f10198df241d8e4f6) Signed-off-by: Steve Sakoman --- meta/classes/kernel.bbclass | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index c29bd3d5f3..aca03fc071 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -231,8 +231,9 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}" # Some Linux kernel configurations need additional parameters on the command line KERNEL_EXTRA_ARGS ?= "" -EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" -EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false" +EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"' +EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"' +EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false' KERNEL_ALT_IMAGETYPE ??= "" @@ -375,7 +376,7 @@ kernel_do_compile() { use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio fi for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do - oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd + oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd done } @@ -407,7 +408,7 @@ do_compile_kernelmodules() { bbnote "KBUILD_BUILD_TIMESTAMP: $ts" fi if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then - oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} + oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS} # Module.symvers gets updated during the # building of the kernel modules. We need to @@ -591,7 +592,7 @@ sysroot_stage_all () { : } -KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" LD="${KERNEL_LD}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" LD="${KERNEL_LD}" oldnoconfig" +KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig" python check_oldest_kernel() { oldest_kernel = d.getVar('OLDEST_KERNEL') @@ -629,7 +630,7 @@ kernel_do_configure() { do_savedefconfig() { bbplain "Saving defconfig to:\n${B}/defconfig" - oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig + oe_runmake -C ${B} savedefconfig } do_savedefconfig[nostamp] = "1" addtask savedefconfig after do_configure From patchwork Tue Sep 13 14:17:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12780 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 30832C6FA8D for ; Tue, 13 Sep 2022 14:18:30 +0000 (UTC) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by mx.groups.io with SMTP id smtpd.web09.5359.1663078707858202802 for ; Tue, 13 Sep 2022 07:18:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=exKuuPc7; spf=softfail (domain: sakoman.com, ip: 209.85.210.180, mailfrom: steve@sakoman.com) Received: by mail-pf1-f180.google.com with SMTP id y127so11908836pfy.5 for ; Tue, 13 Sep 2022 07:18:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=G1J61YBQ/0d+wUxUrsu+nNt6tOD2S9swLe7hxv0jGLk=; b=exKuuPc7GEHQyPpBV0VTxJgR93R7L3Y4tkzMJniqS3DGo78RnsFwDVUOurcRo3xqea 6tLo+U4t1C52NRGfnSTblSlplfI4fpQdlTHYZ5PH+USi/5Jfr2NwTH+JbggRaXmVihiI vWtiAV4dN2GLFlY+E8iqDCsRCSOxlqRFGd8SncrmRsxGgYZrw0NwPKjzgaV8SUef8WaF BskI5v90weQIgl4SVPJyX1fG5jwfOdCap3d7ILSKddJ43OoU0wYnIhUPBc+UdU4cw+jb UjU3c0EnFxMMpGeXhSXjW+BX4T6tM/MOEnj8BvXPSZcCTsJEU+QSSoTuO1YUrBVJtBbP 4lgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=G1J61YBQ/0d+wUxUrsu+nNt6tOD2S9swLe7hxv0jGLk=; b=7l48fg8lUyQDdFE07nzGsrb1TDa+t1skVn6w9YIIo2MsnB00epFXz2ewap5qTw6t/U qm7NgP1biHXODGm8MUs7isyL5oCZHXRJFE0gBjANwXKoqqGO4XU5X16rxF9FOUoC3eTq mhcSKDC6QD4+0wN480GU3AkI8d/5bzV3yw4+NGVWSV9o44EB7zBahkjIhhCfulcvBsS/ jHOK63oGr94XdgUA7H6nv8UkyCwv6aBCLUJQdjOL9d6Wjk/wz/R1ErAlhfaEa8m9woLt a33LScUzcYbGW42wnfxa5zrg6saInKrbxu9Q/t2gQ3AddTMI+XRm3i70F34+snGymcUL cz1Q== X-Gm-Message-State: ACgBeo0AiTUNu1Bbxc8XIOgP27Rhdsr6TdHCLk22qVIaNtph2HqlQ249 vwpzfMx7+EjYQ8P8Y5rnFrtzfBlYdFIkvufa X-Google-Smtp-Source: AA6agR5YGAXNZqPlNjgSgzphwAfA0+NjKUn4kzVngvKWt/kfGOIqV7UbItCvm+qCDd1In1sdRnXz2w== X-Received: by 2002:a62:6347:0:b0:531:c5a7:b209 with SMTP id x68-20020a626347000000b00531c5a7b209mr33009029pfb.60.1663078706892; Tue, 13 Sep 2022 07:18:26 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:26 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 06/16] kernel: Use consistent make flags for menuconfig Date: Tue, 13 Sep 2022 04:17:47 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170585 From: Richard Purdie We're currently only passing in a subset of the kernel make flags to menuconfig. Fix this to be consistent with all the other kernel operations since these are becomming increasingly reliant on host compilers and flags and target toolchains as well. Signed-off-by: Richard Purdie (cherry picked from commit 8c616bc090d1834a21073a33209323220c05d2e5) Signed-off-by: Steve Sakoman --- meta/classes/kernel.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index aca03fc071..8dff68612d 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -637,7 +637,8 @@ addtask savedefconfig after do_configure inherit cml1 -KCONFIG_CONFIG_COMMAND:append = " PAHOLE=false LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'" +# Need LD, HOSTLDFLAGS and more for config operations +KCONFIG_CONFIG_COMMAND:append = " ${EXTRA_OEMAKE}" EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure From patchwork Tue Sep 13 14:17:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12783 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 2FD1AC6FA82 for ; Tue, 13 Sep 2022 14:18:40 +0000 (UTC) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mx.groups.io with SMTP id smtpd.web12.5278.1663078710036554503 for ; Tue, 13 Sep 2022 07:18:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=3Yp7+xEN; spf=softfail (domain: sakoman.com, ip: 209.85.214.180, mailfrom: steve@sakoman.com) Received: by mail-pl1-f180.google.com with SMTP id b21so11971605plz.7 for ; Tue, 13 Sep 2022 07:18:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=BVemcmZRxNCWoBiM7hbQ5TJR9ko4A5+Yu1skZwzBCvw=; b=3Yp7+xENqB6ooBLiIUl2gbcGsqiBESyXLB3Whj/f5IjLteIlIv/QYgyu3Mn7fGUN1+ wUWxguN2IeHAZ9G98UBQthudEDzO3YUu6ab0OpOSYU8dKS/Wi4qVK86s/Chyyqk8k0D4 oAh+6DMolkAqz4WLpxSI+xqfpLCS1gd2uObRGJbLrPuVISkydSSmbLc9C4KUspTLdEYZ vSdIg7OmcIiNKJWjT2bSxj2ArmcBiRi58slZ1oMse70lntMiX1BuuhrPvpBeVd8GWqJ3 O3qgU9luWd1TbCDKwG/6XMdHnXkR0bqwArMzH7NWXca5DExIEIHMsi43qSPWaB/++H8L ipdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=BVemcmZRxNCWoBiM7hbQ5TJR9ko4A5+Yu1skZwzBCvw=; b=mlzfWfJpP9ZrHLVU5isakF6YB2REvm9l8JGpEcZY6E+mOC33YoGp4oGx5Osag9u93H 7cQYnS82GHs8iLfkpKDbYKIyPAx9LiqbtBCYJRSXzRzBOs93UOxH0EENkddQ5N47qiH0 AHYz7t3EOfZA+UsJf79R2E81ek9Jt/Fo+6NMi9y7Eb6ST25XnN08GvzNYpFYh5SLN1vI 4ucnnwyvfdpae+ZTp8HQLK2dj3iMpc0f9ef0TCQ6RAjW1D8Dl9d2xNpUXAHmulOccmbj t7A2IHD1EezTRn7ZsQj+RWd5oJlJNGu4GyCcDoRt+4Y14cbVMRpVA9Mm8N6Vr7k+8ajQ SDLg== X-Gm-Message-State: ACgBeo0LFUYwbIknpw/IIMU2kNWpJ4SRtIdR4aq2E4Ti5sG3ohU+1sJ0 IjeKQ+P5pp3vTNM3VA8EYXuj4K6u53C44ILa X-Google-Smtp-Source: AA6agR6TIlCP6FEScmWQcxRBsxuPLfYWPFzkwVzMg7T0dHsN79F6/AC4lZ13LaYfkpMKyvltpfmyeg== X-Received: by 2002:a17:902:b286:b0:176:979b:9f73 with SMTP id u6-20020a170902b28600b00176979b9f73mr32886135plr.126.1663078709041; Tue, 13 Sep 2022 07:18:29 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:28 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 07/16] autoconf: Fix strict prototype errors in generated tests Date: Tue, 13 Sep 2022 04:17:48 -1000 Message-Id: <7863774e4f436a5aefa86f7fe0d4dec6c336e8db.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170586 From: Khem Raj This will fix issues with autoconf tests which fail due to lacking prototypes Signed-off-by: Khem Raj Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit eb477854ba230d8a8370f24880bd421607399e5a) Signed-off-by: Steve Sakoman --- ...totype-for-functions-with-no-paramet.patch | 64 +++++++++++++++++++ .../autoconf/autoconf_2.71.bb | 1 + 2 files changed, 65 insertions(+) create mode 100644 meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch b/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch new file mode 100644 index 0000000000..4d8aa296cd --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch @@ -0,0 +1,64 @@ +From 7ccfea413216bddd988823acf4e93421ea0f7f9f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 16 Aug 2022 18:35:45 -0700 +Subject: [PATCH] specify void prototype for functions with no parameters + +Compilers defaulting to C99 flag such functions as warning which fails +to compile when using -Werror + +Fixes +error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/autoconf-patches/2022-08/msg00003.html] +Signed-off-by: Khem Raj +--- + lib/autoconf/c.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -127,7 +127,7 @@ m4_if([$2], [main], , + [/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +-char $2 ();])], [return $2 ();])]) ++char $2 (void);])], [return $2 ();])]) + + + # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) +@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #define $1 innocuous_$1 + + /* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $1 (); below. */ ++ which can conflict with char $1 (void); below. */ + + #include + #undef $1 +@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #ifdef __cplusplus + extern "C" + #endif +-char $1 (); ++char $1 (void); + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +@@ -252,7 +252,7 @@ dnl other built-in extern "C" functions, + dnl when it actually happens. + [AC_LANG_PROGRAM([[$1 + namespace conftest { +- extern "C" int $2 (); ++ extern "C" int $2 (void); + }]], + [[return conftest::$2 ();]])]) + +@@ -2457,7 +2457,7 @@ using std::strcmp; + + namespace { + +-void test_exception_syntax() ++void test_exception_syntax(void) + { + try { + throw "test"; diff --git a/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/meta/recipes-devtools/autoconf/autoconf_2.71.bb index 799191e2ca..239b268119 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.71.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.71.bb @@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ + file://0001-specify-void-prototype-for-functions-with-no-paramet.patch \ " SRC_URI:append:class-native = " file://no-man.patch" From patchwork Tue Sep 13 14:17:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 14290 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org From: "Steve Sakoman" Subject: [OE-core][kirkstone 08/16] autoconf: Update K & R stype functions Date: Tue, 13 Sep 2022 04:17:49 -1000 Message-Id: <0edeb22a8d4f77ece938b1f0e4cc8f06c6265e6c.1663078051.git.steve@sakoman.com> In-Reply-To: References: MIME-Version: 1.0 List-id: To: openembedded-core@lists.openembedded.org From: Khem Raj This replaces the proposed patch with a backport of what got accepted upstream Signed-off-by: Khem Raj Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit f3e92b7cb5833f61ff13a66f03be513d97a69894) Signed-off-by: Steve Sakoman --- ...ilers-that-moan-about-K-R-func-decls.patch | 138 ++++++++++++++++++ ...totype-for-functions-with-no-paramet.patch | 64 -------- .../autoconf/autoconf_2.71.bb | 2 +- 3 files changed, 139 insertions(+), 65 deletions(-) create mode 100644 meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch delete mode 100644 meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch b/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch new file mode 100644 index 0000000000..4f15bf96c3 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch @@ -0,0 +1,138 @@ +From 7a3bbca81b803ba116b83c82de378e840cc35f81 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 1 Sep 2022 16:19:50 -0500 +Subject: [PATCH] Port to compilers that moan about K&R func decls +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* lib/autoconf/c.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY): +Use '(void)' rather than '()' in function prototypes, as the latter +provokes fatal errors in some compilers nowadays. +* lib/autoconf/functions.m4 (AC_FUNC_STRTOD): +* tests/fortran.at (AC_F77_DUMMY_MAIN usage): +* tests/semantics.at (AC_CHECK_DECLS): +Don’t use () in a function decl. + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b] +Signed-off-by: Khem Raj +--- + doc/autoconf.texi | 7 +++---- + lib/autoconf/c.m4 | 6 +++--- + lib/autoconf/functions.m4 | 3 --- + tests/fortran.at | 8 ++++---- + tests/semantics.at | 2 +- + 5 files changed, 11 insertions(+), 15 deletions(-) + +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -5465,9 +5465,7 @@ the @samp{#undef malloc}): + #include + #undef malloc + +-#include +- +-void *malloc (); ++#include + + /* Allocate an N-byte block of memory from the heap. + If N is zero, allocate a 1-byte block. */ +@@ -8295,7 +8293,7 @@ needed: + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () @{ return 1; @} ++ int F77_DUMMY_MAIN (void) @{ return 1; @} + #endif + @end example + +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -127,7 +127,7 @@ m4_if([$2], [main], , + [/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +-char $2 ();])], [return $2 ();])]) ++char $2 (void);])], [return $2 ();])]) + + + # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) +@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #define $1 innocuous_$1 + + /* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $1 (); below. */ ++ which can conflict with char $1 (void); below. */ + + #include + #undef $1 +@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #ifdef __cplusplus + extern "C" + #endif +-char $1 (); ++char $1 (void); + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -1601,9 +1601,6 @@ AC_DEFUN([AC_FUNC_STRTOD], + AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + ]AC_INCLUDES_DEFAULT[ +-#ifndef strtod +-double strtod (); +-#endif + int + main (void) + { +--- a/tests/fortran.at ++++ b/tests/fortran.at +@@ -233,7 +233,7 @@ void FOOBAR_F77 (double *x, double *y); + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () { return 1; } ++ int F77_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +@@ -315,7 +315,7 @@ void FOOBAR_FC(double *x, double *y); + # ifdef __cplusplus + extern "C" + # endif +- int FC_DUMMY_MAIN () { return 1; } ++ int FC_DUMMY_MAIN (void) { return 1; } + #endif + + int main (int argc, char *argv[]) +@@ -561,7 +561,7 @@ void @foobar@ (int *x); + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () { return 1; } ++ int F77_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +@@ -637,7 +637,7 @@ void @foobar@ (int *x); + # ifdef __cplusplus + extern "C" + # endif +- int FC_DUMMY_MAIN () { return 1; } ++ int FC_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +--- a/tests/semantics.at ++++ b/tests/semantics.at +@@ -207,7 +207,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS], + [[extern int yes; + enum { myenum }; + extern struct mystruct_s { int x[20]; } mystruct; +- extern int myfunc(); ++ extern int myfunc (int); + #define mymacro1(arg) arg + #define mymacro2]]) + # Ensure we can detect missing declarations of functions whose diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch b/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch deleted file mode 100644 index 4d8aa296cd..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7ccfea413216bddd988823acf4e93421ea0f7f9f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 16 Aug 2022 18:35:45 -0700 -Subject: [PATCH] specify void prototype for functions with no parameters - -Compilers defaulting to C99 flag such functions as warning which fails -to compile when using -Werror - -Fixes -error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] - -Upstream-Status: Submitted [https://lists.gnu.org/archive/html/autoconf-patches/2022-08/msg00003.html] -Signed-off-by: Khem Raj ---- - lib/autoconf/c.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/lib/autoconf/c.m4 -+++ b/lib/autoconf/c.m4 -@@ -127,7 +127,7 @@ m4_if([$2], [main], , - [/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ --char $2 ();])], [return $2 ();])]) -+char $2 (void);])], [return $2 ();])]) - - - # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) -@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #define $1 innocuous_$1 - - /* System header to define __stub macros and hopefully few prototypes, -- which can conflict with char $1 (); below. */ -+ which can conflict with char $1 (void); below. */ - - #include - #undef $1 -@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #ifdef __cplusplus - extern "C" - #endif --char $1 (); -+char $1 (void); - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -@@ -252,7 +252,7 @@ dnl other built-in extern "C" functions, - dnl when it actually happens. - [AC_LANG_PROGRAM([[$1 - namespace conftest { -- extern "C" int $2 (); -+ extern "C" int $2 (void); - }]], - [[return conftest::$2 ();]])]) - -@@ -2457,7 +2457,7 @@ using std::strcmp; - - namespace { - --void test_exception_syntax() -+void test_exception_syntax(void) - { - try { - throw "test"; diff --git a/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/meta/recipes-devtools/autoconf/autoconf_2.71.bb index 239b268119..97c241a3f5 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.71.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.71.bb @@ -18,7 +18,7 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ - file://0001-specify-void-prototype-for-functions-with-no-paramet.patch \ + file://0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch \ " SRC_URI:append:class-native = " file://no-man.patch" From patchwork Tue Sep 13 14:17:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12785 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 423A9C6FA8A for ; Tue, 13 Sep 2022 14:18:40 +0000 (UTC) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by mx.groups.io with SMTP id smtpd.web11.5125.1663078703456983887 for ; Tue, 13 Sep 2022 07:18:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=XcNDKJjg; spf=softfail (domain: sakoman.com, ip: 209.85.215.177, mailfrom: steve@sakoman.com) Received: by mail-pg1-f177.google.com with SMTP id v4so11431233pgi.10 for ; Tue, 13 Sep 2022 07:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=0JV8ZI8fnWj6CP7vPUu8Tf3TpW0PkEpB7KxmcRa82y4=; b=XcNDKJjgaGL0YMHlowhv76mZk3b/L9O/cd4osMj68uqiXsLC2IjSy3EXdFdgHVXDve R7qYaECwtTPGm3Ihw9DOHRckbh1lClkUSzP6er2DSwc39ubLKnjyqPBViJ643URxdO6R gdJFgr4Jiymvm0df8VKg1kAoqSaZyWs1G2VERrNIHEuvgKKZtqZ3LoLmMkCdp7eBHRS4 KkeN6PrfnedoOKOzD49su1iu3D2ATtr9FjhqbP8n757db6dMxOS8YaBqsJ6thqPrRzYc L/9K0A1wAF1o11kph8nwm+EeCattdvAZhdjy7mzfD0Wg9W7XkkWfhwmY3OpZ22zrKlVp 8CIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=0JV8ZI8fnWj6CP7vPUu8Tf3TpW0PkEpB7KxmcRa82y4=; b=IDRXesRq5r6O3KRmHP1pUGcnLS3f1EbTbwsNC6iRQgyLODmc5kWHespL8QsrufkYfE M5XJsg7kVpoGg5jvE8aMpSVx3yPX1fohWaqHXpnPrlx34S7S1Chmbk9lJtDh2kWZnkpS cdOYIT8turgPKFEjrqCnl6Bmd4tBAOXpAgHi57E/iPWpytCxSFzEwPwUe+JN7fvToxzi nYMxSpDFwVi70lT7nNIe00Ga4vFzPGBXF+u8UF3e8Xuf5YJGKEOUO9uvvC1TQsNPmk1A p7xg3zOmcw9PjtTXZoeEhWerYoeIqRSkQW4tC9SiFjFMdiqZswhBH22t6QicSsQ4W/P+ gSqw== X-Gm-Message-State: ACgBeo39HBBgSdFbc3yD7HA2A113nCfj/jFitJwSh+bDVOlAJ1FRD/e3 2ZlV5AkbaiddkyTX4Pp3toCnSHOUGXCVOJ+t X-Google-Smtp-Source: AA6agR4zHIKjgW3O5691CYF9OYNnSwYdD5AYfrTYqVtMjq6nwqv0IM2lhIXhc33XpVkgR2KY5P2GjA== X-Received: by 2002:aa7:888d:0:b0:538:328b:2ffb with SMTP id z13-20020aa7888d000000b00538328b2ffbmr33110369pfe.82.1663078713650; Tue, 13 Sep 2022 07:18:33 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:32 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 09/16] libxml2: Port gentest.py to Python-3 Date: Tue, 13 Sep 2022 04:17:50 -1000 Message-Id: <8bf4356b1dbaf68f0e6bba3440c9fcf59a525063.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170588 From: Martin Jansa * but it still won't work well on hosts without libxml2, make sure to use pre-generated testapi.c in do_compile_ptest * this is reproducible with SOURCE_DATE_EPOCH set to 0 which e.g. meta-updater still sets by default for DISTROs which use it :(, see https://github.com/uptane/meta-updater/pull/35 Signed-off-by: Steve Sakoman Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie (cherry picked from commit 178cea1593dc6e9a7eb74842615356d90d79f78f) Signed-off-by: Steve Sakoman --- .../0001-Port-gentest.py-to-Python-3.patch | 814 ++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.14.bb | 11 + 2 files changed, 825 insertions(+) create mode 100644 meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch diff --git a/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch b/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch new file mode 100644 index 0000000000..c6567ac878 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch @@ -0,0 +1,814 @@ +From 2c20198b1ddb1bfb47269b8caf929ffb83748f78 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Thu, 21 Apr 2022 00:45:58 +0200 +Subject: [PATCH] Port gentest.py to Python 3 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/343fc1421cdae097fa6c4cffeb1a065a40be6bbb] + +* fixes: + +make[1]: 'testReader' is up to date. + File "../libxml2-2.9.10/gentest.py", line 11 + print "libxml2 python bindings not available, skipping testapi.c generation" + ^ +SyntaxError: Missing parentheses in call to 'print'. Did you mean print("libxml2 python bindings not available, skipping testapi.c generation")? +make[1]: [Makefile:2078: testapi.c] Error 1 (ignored) + +... + +make[1]: 'testReader' is up to date. + File "../libxml2-2.9.10/gentest.py", line 271 + return 1 + ^ +TabError: inconsistent use of tabs and spaces in indentation +make[1]: [Makefile:2078: testapi.c] Error 1 (ignored) + +... + +aarch64-oe-linux-gcc: error: testapi.c: No such file or directory +aarch64-oe-linux-gcc: fatal error: no input files +compilation terminated. +make[1]: *** [Makefile:1275: testapi.o] Error 1 + +But there is still a bit mystery why it worked before, because check-am +calls gentest.py with $(PYTHON), so it ignores the shebang in the script +and libxml2 is using python3native (through python3targetconfig.bbclass) +so something like: + +libxml2/2.9.10-r0/recipe-sysroot-native/usr/bin/python3-native/python3 gentest.py + +But that still fails (now without SyntaxError) with: +libxml2 python bindings not available, skipping testapi.c generation + +because we don't have dependency on libxml2-native (to provide libxml2 +python bindings form python3native) and exported PYTHON_SITE_PACKAGES +might be useless (e.g. /usr/lib/python3.8/site-packages on Ubuntu-22.10 +which uses python 3.10 and there is no site-packages with libxml2) + +Signed-off-by: Martin Jansa + +--- + gentest.py | 421 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 209 insertions(+), 212 deletions(-) + +diff --git a/gentest.py b/gentest.py +index b6cd866..af15a4f 100755 +--- a/gentest.py ++++ b/gentest.py +@@ -8,7 +8,7 @@ import string + try: + import libxml2 + except: +- print "libxml2 python bindings not available, skipping testapi.c generation" ++ print("libxml2 python bindings not available, skipping testapi.c generation") + sys.exit(0) + + if len(sys.argv) > 1: +@@ -227,7 +227,7 @@ extra_post_call = { + if (old != NULL) { + xmlUnlinkNode(old); + xmlFreeNode(old) ; old = NULL ; } +- ret_val = NULL;""", ++\t ret_val = NULL;""", + "xmlTextMerge": + """if ((first != NULL) && (first->type != XML_TEXT_NODE)) { + xmlUnlinkNode(second); +@@ -236,7 +236,7 @@ extra_post_call = { + """if ((ret_val != NULL) && (ret_val != ncname) && + (ret_val != prefix) && (ret_val != memory)) + xmlFree(ret_val); +- ret_val = NULL;""", ++\t ret_val = NULL;""", + "xmlNewDocElementContent": + """xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;""", + "xmlDictReference": "xmlDictFree(dict);", +@@ -268,29 +268,29 @@ modules = [] + def is_skipped_module(name): + for mod in skipped_modules: + if mod == name: +- return 1 ++ return 1 + return 0 + + def is_skipped_function(name): + for fun in skipped_functions: + if fun == name: +- return 1 ++ return 1 + # Do not test destructors +- if string.find(name, 'Free') != -1: ++ if name.find('Free') != -1: + return 1 + return 0 + + def is_skipped_memcheck(name): + for fun in skipped_memcheck: + if fun == name: +- return 1 ++ return 1 + return 0 + + missing_types = {} + def add_missing_type(name, func): + try: + list = missing_types[name] +- list.append(func) ++ list.append(func) + except: + missing_types[name] = [func] + +@@ -310,7 +310,7 @@ def add_missing_functions(name, module): + missing_functions_nr = missing_functions_nr + 1 + try: + list = missing_functions[module] +- list.append(name) ++ list.append(name) + except: + missing_functions[module] = [name] + +@@ -319,45 +319,45 @@ def add_missing_functions(name, module): + # + + def type_convert(str, name, info, module, function, pos): +-# res = string.replace(str, " ", " ") +-# res = string.replace(str, " ", " ") +-# res = string.replace(str, " ", " ") +- res = string.replace(str, " *", "_ptr") +-# res = string.replace(str, "*", "_ptr") +- res = string.replace(res, " ", "_") ++# res = str.replace(" ", " ") ++# res = str.replace(" ", " ") ++# res = str.replace(" ", " ") ++ res = str.replace(" *", "_ptr") ++# res = str.replace("*", "_ptr") ++ res = res.replace(" ", "_") + if res == 'const_char_ptr': +- if string.find(name, "file") != -1 or \ +- string.find(name, "uri") != -1 or \ +- string.find(name, "URI") != -1 or \ +- string.find(info, "filename") != -1 or \ +- string.find(info, "URI") != -1 or \ +- string.find(info, "URL") != -1: +- if string.find(function, "Save") != -1 or \ +- string.find(function, "Create") != -1 or \ +- string.find(function, "Write") != -1 or \ +- string.find(function, "Fetch") != -1: +- return('fileoutput') +- return('filepath') ++ if name.find("file") != -1 or \ ++ name.find("uri") != -1 or \ ++ name.find("URI") != -1 or \ ++ info.find("filename") != -1 or \ ++ info.find("URI") != -1 or \ ++ info.find("URL") != -1: ++ if function.find("Save") != -1 or \ ++ function.find("Create") != -1 or \ ++ function.find("Write") != -1 or \ ++ function.find("Fetch") != -1: ++ return('fileoutput') ++ return('filepath') + if res == 'void_ptr': + if module == 'nanoftp' and name == 'ctx': +- return('xmlNanoFTPCtxtPtr') ++ return('xmlNanoFTPCtxtPtr') + if function == 'xmlNanoFTPNewCtxt' or \ +- function == 'xmlNanoFTPConnectTo' or \ +- function == 'xmlNanoFTPOpen': +- return('xmlNanoFTPCtxtPtr') ++ function == 'xmlNanoFTPConnectTo' or \ ++ function == 'xmlNanoFTPOpen': ++ return('xmlNanoFTPCtxtPtr') + if module == 'nanohttp' and name == 'ctx': +- return('xmlNanoHTTPCtxtPtr') +- if function == 'xmlNanoHTTPMethod' or \ +- function == 'xmlNanoHTTPMethodRedir' or \ +- function == 'xmlNanoHTTPOpen' or \ +- function == 'xmlNanoHTTPOpenRedir': +- return('xmlNanoHTTPCtxtPtr'); ++ return('xmlNanoHTTPCtxtPtr') ++ if function == 'xmlNanoHTTPMethod' or \ ++ function == 'xmlNanoHTTPMethodRedir' or \ ++ function == 'xmlNanoHTTPOpen' or \ ++ function == 'xmlNanoHTTPOpenRedir': ++ return('xmlNanoHTTPCtxtPtr'); + if function == 'xmlIOHTTPOpen': +- return('xmlNanoHTTPCtxtPtr') +- if string.find(name, "data") != -1: +- return('userdata') +- if string.find(name, "user") != -1: +- return('userdata') ++ return('xmlNanoHTTPCtxtPtr') ++ if name.find("data") != -1: ++ return('userdata') ++ if name.find("user") != -1: ++ return('userdata') + if res == 'xmlDoc_ptr': + res = 'xmlDocPtr' + if res == 'xmlNode_ptr': +@@ -366,18 +366,18 @@ def type_convert(str, name, info, module, function, pos): + res = 'xmlDictPtr' + if res == 'xmlNodePtr' and pos != 0: + if (function == 'xmlAddChild' and pos == 2) or \ +- (function == 'xmlAddChildList' and pos == 2) or \ ++ (function == 'xmlAddChildList' and pos == 2) or \ + (function == 'xmlAddNextSibling' and pos == 2) or \ + (function == 'xmlAddSibling' and pos == 2) or \ + (function == 'xmlDocSetRootElement' and pos == 2) or \ + (function == 'xmlReplaceNode' and pos == 2) or \ + (function == 'xmlTextMerge') or \ +- (function == 'xmlAddPrevSibling' and pos == 2): +- return('xmlNodePtr_in'); ++ (function == 'xmlAddPrevSibling' and pos == 2): ++ return('xmlNodePtr_in'); + if res == 'const xmlBufferPtr': + res = 'xmlBufferPtr' + if res == 'xmlChar_ptr' and name == 'name' and \ +- string.find(function, "EatName") != -1: ++ function.find("EatName") != -1: + return('eaten_name') + if res == 'void_ptr*': + res = 'void_ptr_ptr' +@@ -393,7 +393,7 @@ def type_convert(str, name, info, module, function, pos): + res = 'debug_FILE_ptr'; + if res == 'int' and name == 'options': + if module == 'parser' or module == 'xmlreader': +- res = 'parseroptions' ++ res = 'parseroptions' + + return res + +@@ -402,28 +402,28 @@ known_param_types = [] + def is_known_param_type(name): + for type in known_param_types: + if type == name: +- return 1 ++ return 1 + return name[-3:] == 'Ptr' or name[-4:] == '_ptr' + + def generate_param_type(name, rtype): + global test + for type in known_param_types: + if type == name: +- return ++ return + for type in generated_param_types: + if type == name: +- return ++ return + + if name[-3:] == 'Ptr' or name[-4:] == '_ptr': + if rtype[0:6] == 'const ': +- crtype = rtype[6:] +- else: +- crtype = rtype ++ crtype = rtype[6:] ++ else: ++ crtype = rtype + + define = 0 +- if modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 ++ if module in modules_defines: ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 + test.write(""" + #define gen_nb_%s 1 + static %s gen_%s(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +@@ -433,7 +433,7 @@ static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTR + } + """ % (name, crtype, name, name, rtype)) + if define == 1: +- test.write("#endif\n\n") ++ test.write("#endif\n\n") + add_generated_param_type(name) + + # +@@ -445,7 +445,7 @@ known_return_types = [] + def is_known_return_type(name): + for type in known_return_types: + if type == name: +- return 1 ++ return 1 + return 0 + + # +@@ -471,7 +471,7 @@ def compare_and_save(): + try: + os.system("rm testapi.c; mv testapi.c.new testapi.c") + except: +- os.system("mv testapi.c.new testapi.c") ++ os.system("mv testapi.c.new testapi.c") + print("Updated testapi.c") + else: + print("Generated testapi.c is identical") +@@ -481,17 +481,17 @@ while line != "": + if line == "/* CUT HERE: everything below that line is generated */\n": + break; + if line[0:15] == "#define gen_nb_": +- type = string.split(line[15:])[0] +- known_param_types.append(type) ++ type = line[15:].split()[0] ++ known_param_types.append(type) + if line[0:19] == "static void desret_": +- type = string.split(line[19:], '(')[0] +- known_return_types.append(type) ++ type = line[19:].split('(')[0] ++ known_return_types.append(type) + test.write(line) + line = input.readline() + input.close() + + if line == "": +- print "Could not find the CUT marker in testapi.c skipping generation" ++ print("Could not find the CUT marker in testapi.c skipping generation") + test.close() + sys.exit(0) + +@@ -505,7 +505,7 @@ test.write("/* CUT HERE: everything below that line is generated */\n") + # + doc = libxml2.readFile(srcPref + 'doc/libxml2-api.xml', None, 0) + if doc == None: +- print "Failed to load doc/libxml2-api.xml" ++ print("Failed to load doc/libxml2-api.xml") + sys.exit(1) + ctxt = doc.xpathNewContext() + +@@ -519,9 +519,9 @@ for arg in args: + mod = arg.xpathEval('string(../@file)') + func = arg.xpathEval('string(../@name)') + if (mod not in skipped_modules) and (func not in skipped_functions): +- type = arg.xpathEval('string(@type)') +- if not argtypes.has_key(type): +- argtypes[type] = func ++ type = arg.xpathEval('string(@type)') ++ if type not in argtypes: ++ argtypes[type] = func + + # similarly for return types + rettypes = {} +@@ -531,8 +531,8 @@ for ret in rets: + func = ret.xpathEval('string(../@name)') + if (mod not in skipped_modules) and (func not in skipped_functions): + type = ret.xpathEval('string(@type)') +- if not rettypes.has_key(type): +- rettypes[type] = func ++ if type not in rettypes: ++ rettypes[type] = func + + # + # Generate constructors and return type handling for all enums +@@ -549,49 +549,49 @@ for enum in enums: + continue; + define = 0 + +- if argtypes.has_key(name) and is_known_param_type(name) == 0: +- values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name) +- i = 0 +- vals = [] +- for value in values: +- vname = value.xpathEval('string(@name)') +- if vname == None: +- continue; +- i = i + 1 +- if i >= 5: +- break; +- vals.append(vname) +- if vals == []: +- print "Didn't find any value for enum %s" % (name) +- continue +- if modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 +- test.write("#define gen_nb_%s %d\n" % (name, len(vals))) +- test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" % +- (name, name)) +- i = 1 +- for value in vals: +- test.write(" if (no == %d) return(%s);\n" % (i, value)) +- i = i + 1 +- test.write(""" return(0); ++ if (name in argtypes) and is_known_param_type(name) == 0: ++ values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name) ++ i = 0 ++ vals = [] ++ for value in values: ++ vname = value.xpathEval('string(@name)') ++ if vname == None: ++ continue; ++ i = i + 1 ++ if i >= 5: ++ break; ++ vals.append(vname) ++ if vals == []: ++ print("Didn't find any value for enum %s" % (name)) ++ continue ++ if module in modules_defines: ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 ++ test.write("#define gen_nb_%s %d\n" % (name, len(vals))) ++ test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" % ++ (name, name)) ++ i = 1 ++ for value in vals: ++ test.write(" if (no == %d) return(%s);\n" % (i, value)) ++ i = i + 1 ++ test.write(""" return(0); + } + + static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + } + + """ % (name, name)); +- known_param_types.append(name) ++ known_param_types.append(name) + + if (is_known_return_type(name) == 0) and (name in rettypes): +- if define == 0 and modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 ++ if define == 0 and (module in modules_defines): ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 + test.write("""static void desret_%s(%s val ATTRIBUTE_UNUSED) { + } + + """ % (name, name)) +- known_return_types.append(name) ++ known_return_types.append(name) + if define == 1: + test.write("#endif\n\n") + +@@ -615,9 +615,9 @@ for file in headers: + # do not test deprecated APIs + # + desc = file.xpathEval('string(description)') +- if string.find(desc, 'DEPRECATED') != -1: +- print "Skipping deprecated interface %s" % name +- continue; ++ if desc.find('DEPRECATED') != -1: ++ print("Skipping deprecated interface %s" % name) ++ continue; + + test.write("#include \n" % name) + modules.append(name) +@@ -679,7 +679,7 @@ def generate_test(module, node): + # and store the information for the generation + # + try: +- args = node.xpathEval("arg") ++ args = node.xpathEval("arg") + except: + args = [] + t_args = [] +@@ -687,37 +687,37 @@ def generate_test(module, node): + for arg in args: + n = n + 1 + rtype = arg.xpathEval("string(@type)") +- if rtype == 'void': +- break; +- info = arg.xpathEval("string(@info)") +- nam = arg.xpathEval("string(@name)") ++ if rtype == 'void': ++ break; ++ info = arg.xpathEval("string(@info)") ++ nam = arg.xpathEval("string(@name)") + type = type_convert(rtype, nam, info, module, name, n) +- if is_known_param_type(type) == 0: +- add_missing_type(type, name); +- no_gen = 1 ++ if is_known_param_type(type) == 0: ++ add_missing_type(type, name); ++ no_gen = 1 + if (type[-3:] == 'Ptr' or type[-4:] == '_ptr') and \ +- rtype[0:6] == 'const ': +- crtype = rtype[6:] +- else: +- crtype = rtype +- t_args.append((nam, type, rtype, crtype, info)) ++ rtype[0:6] == 'const ': ++ crtype = rtype[6:] ++ else: ++ crtype = rtype ++ t_args.append((nam, type, rtype, crtype, info)) + + try: +- rets = node.xpathEval("return") ++ rets = node.xpathEval("return") + except: + rets = [] + t_ret = None + for ret in rets: + rtype = ret.xpathEval("string(@type)") +- info = ret.xpathEval("string(@info)") ++ info = ret.xpathEval("string(@info)") + type = type_convert(rtype, 'return', info, module, name, 0) +- if rtype == 'void': +- break +- if is_known_return_type(type) == 0: +- add_missing_type(type, name); +- no_gen = 1 +- t_ret = (type, rtype, info) +- break ++ if rtype == 'void': ++ break ++ if is_known_return_type(type) == 0: ++ add_missing_type(type, name); ++ no_gen = 1 ++ t_ret = (type, rtype, info) ++ break + + if no_gen == 0: + for t_arg in t_args: +@@ -733,7 +733,7 @@ test_%s(void) { + + if no_gen == 1: + add_missing_functions(name, module) +- test.write(""" ++ test.write(""" + /* missing type support */ + return(test_ret); + } +@@ -742,22 +742,22 @@ test_%s(void) { + return + + try: +- conds = node.xpathEval("cond") +- for cond in conds: +- test.write("#if %s\n" % (cond.get_content())) +- nb_cond = nb_cond + 1 ++ conds = node.xpathEval("cond") ++ for cond in conds: ++ test.write("#if %s\n" % (cond.get_content())) ++ nb_cond = nb_cond + 1 + except: + pass + + define = 0 +- if function_defines.has_key(name): ++ if name in function_defines: + test.write("#ifdef %s\n" % (function_defines[name])) +- define = 1 ++ define = 1 + + # Declare the memory usage counter + no_mem = is_skipped_memcheck(name) + if no_mem == 0: +- test.write(" int mem_base;\n"); ++ test.write(" int mem_base;\n"); + + # Declare the return value + if t_ret != None: +@@ -766,29 +766,29 @@ test_%s(void) { + # Declare the arguments + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # add declaration +- test.write(" %s %s; /* %s */\n" % (crtype, nam, info)) +- test.write(" int n_%s;\n" % (nam)) ++ # add declaration ++ test.write(" %s %s; /* %s */\n" % (crtype, nam, info)) ++ test.write(" int n_%s;\n" % (nam)) + test.write("\n") + + # Cascade loop on of each argument list of values + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # +- test.write(" for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % ( +- nam, nam, type, nam)) ++ # ++ test.write(" for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % ( ++ nam, nam, type, nam)) + + # log the memory usage + if no_mem == 0: +- test.write(" mem_base = xmlMemBlocks();\n"); ++ test.write(" mem_base = xmlMemBlocks();\n"); + + # prepare the call + i = 0; + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # +- test.write(" %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i)) +- i = i + 1; ++ # ++ test.write(" %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i)) ++ i = i + 1; + + # add checks to avoid out-of-bounds array access + i = 0; +@@ -797,7 +797,7 @@ test_%s(void) { + # assume that "size", "len", and "start" parameters apply to either + # the nearest preceding or following char pointer + if type == "int" and (nam == "size" or nam == "len" or nam == "start"): +- for j in range(i - 1, -1, -1) + range(i + 1, len(t_args)): ++ for j in (*range(i - 1, -1, -1), *range(i + 1, len(t_args))): + (bnam, btype) = t_args[j][:2] + if btype == "const_char_ptr" or btype == "const_xmlChar_ptr": + test.write( +@@ -806,42 +806,42 @@ test_%s(void) { + " continue;\n" + % (bnam, nam, bnam)) + break +- i = i + 1; ++ i = i + 1; + + # do the call, and clanup the result +- if extra_pre_call.has_key(name): +- test.write(" %s\n"% (extra_pre_call[name])) ++ if name in extra_pre_call: ++ test.write(" %s\n"% (extra_pre_call[name])) + if t_ret != None: +- test.write("\n ret_val = %s(" % (name)) +- need = 0 +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg +- if need: +- test.write(", ") +- else: +- need = 1 +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s" % nam); +- test.write(");\n") +- if extra_post_call.has_key(name): +- test.write(" %s\n"% (extra_post_call[name])) +- test.write(" desret_%s(ret_val);\n" % t_ret[0]) ++ test.write("\n ret_val = %s(" % (name)) ++ need = 0 ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg ++ if need: ++ test.write(", ") ++ else: ++ need = 1 ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s" % nam); ++ test.write(");\n") ++ if name in extra_post_call: ++ test.write(" %s\n"% (extra_post_call[name])) ++ test.write(" desret_%s(ret_val);\n" % t_ret[0]) + else: +- test.write("\n %s(" % (name)); +- need = 0; +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg; +- if need: +- test.write(", ") +- else: +- need = 1 +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s" % nam) +- test.write(");\n") +- if extra_post_call.has_key(name): +- test.write(" %s\n"% (extra_post_call[name])) ++ test.write("\n %s(" % (name)); ++ need = 0; ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg; ++ if need: ++ test.write(", ") ++ else: ++ need = 1 ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s" % nam) ++ test.write(");\n") ++ if name in extra_post_call: ++ test.write(" %s\n"% (extra_post_call[name])) + + test.write(" call_tests++;\n"); + +@@ -849,32 +849,32 @@ test_%s(void) { + i = 0; + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # This is a hack to prevent generating a destructor for the +- # 'input' argument in xmlTextReaderSetup. There should be +- # a better, more generic way to do this! +- if string.find(info, 'destroy') == -1: +- test.write(" des_%s(n_%s, " % (type, nam)) +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s, %d);\n" % (nam, i)) +- i = i + 1; ++ # This is a hack to prevent generating a destructor for the ++ # 'input' argument in xmlTextReaderSetup. There should be ++ # a better, more generic way to do this! ++ if info.find('destroy') == -1: ++ test.write(" des_%s(n_%s, " % (type, nam)) ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s, %d);\n" % (nam, i)) ++ i = i + 1; + + test.write(" xmlResetLastError();\n"); + # Check the memory usage + if no_mem == 0: +- test.write(""" if (mem_base != xmlMemBlocks()) { ++ test.write(""" if (mem_base != xmlMemBlocks()) { + printf("Leak of %%d blocks found in %s", +- xmlMemBlocks() - mem_base); +- test_ret++; ++\t xmlMemBlocks() - mem_base); ++\t test_ret++; + """ % (name)); +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg; +- test.write(""" printf(" %%d", n_%s);\n""" % (nam)) +- test.write(""" printf("\\n");\n""") +- test.write(" }\n") ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg; ++ test.write(""" printf(" %%d", n_%s);\n""" % (nam)) ++ test.write(""" printf("\\n");\n""") ++ test.write(" }\n") + + for arg in t_args: +- test.write(" }\n") ++ test.write(" }\n") + + test.write(" function_tests++;\n") + # +@@ -882,7 +882,7 @@ test_%s(void) { + # + while nb_cond > 0: + test.write("#endif\n") +- nb_cond = nb_cond -1 ++ nb_cond = nb_cond -1 + if define == 1: + test.write("#endif\n") + +@@ -900,10 +900,10 @@ test_%s(void) { + for module in modules: + # gather all the functions exported by that module + try: +- functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module)) ++ functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module)) + except: +- print "Failed to gather functions from module %s" % (module) +- continue; ++ print("Failed to gather functions from module %s" % (module)) ++ continue; + + # iterate over all functions in the module generating the test + i = 0 +@@ -923,14 +923,14 @@ test_%s(void) { + # iterate over all functions in the module generating the call + for function in functions: + name = function.xpathEval('string(@name)') +- if is_skipped_function(name): +- continue +- test.write(" test_ret += test_%s();\n" % (name)) ++ if is_skipped_function(name): ++ continue ++ test.write(" test_ret += test_%s();\n" % (name)) + + # footer + test.write(""" + if (test_ret != 0) +- printf("Module %s: %%d errors\\n", test_ret); ++\tprintf("Module %s: %%d errors\\n", test_ret); + return(test_ret); + } + """ % (module)) +@@ -948,7 +948,7 @@ test.write(""" return(0); + } + """); + +-print "Generated test for %d modules and %d functions" %(len(modules), nb_tests) ++print("Generated test for %d modules and %d functions" %(len(modules), nb_tests)) + + compare_and_save() + +@@ -960,11 +960,8 @@ for missing in missing_types.keys(): + n = len(missing_types[missing]) + missing_list.append((n, missing)) + +-def compare_missing(a, b): +- return b[0] - a[0] +- +-missing_list.sort(compare_missing) +-print "Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list)) ++missing_list.sort(key=lambda a: a[0]) ++print("Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list))) + lst = open("missing.lst", "w") + lst.write("Missing support for %d types" % (len(missing_list))) + lst.write("\n") +@@ -974,9 +971,9 @@ for miss in missing_list: + for n in missing_types[miss[1]]: + i = i + 1 + if i > 5: +- lst.write(" ...") +- break +- lst.write(" %s" % (n)) ++ lst.write(" ...") ++ break ++ lst.write(" %s" % (n)) + lst.write("\n") + lst.write("\n") + lst.write("\n") diff --git a/meta/recipes-core/libxml/libxml2_2.9.14.bb b/meta/recipes-core/libxml/libxml2_2.9.14.bb index e58298d3b0..519985bbae 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.14.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.14.bb @@ -22,6 +22,7 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=te file://fix-execution-of-ptests.patch \ file://remove-fuzz-from-ptests.patch \ file://libxml-m4-use-pkgconfig.patch \ + file://0001-Port-gentest.py-to-Python-3.patch \ " SRC_URI[archive.sha256sum] = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee" @@ -82,6 +83,16 @@ do_configure:prepend () { } do_compile_ptest() { + # Make sure that testapi.c is newer than gentests.py, because + # with reproducible builds, they will both get e.g. Jan 1 1970 + # modification time from SOURCE_DATE_EPOCH and then check-am + # might try to rebuild_testapi, which will fail even with + # 0001-Port-gentest.py-to-Python-3.patch, because it needs + # libxml2 module (libxml2-native dependency and correctly + # set PYTHON_SITE_PACKAGES), it's easier to + # just rely on pre-generated testapi.c from the release + touch ${S}/testapi.c + oe_runmake check-am } From patchwork Tue Sep 13 14:17:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12784 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 3B397C54EE9 for ; Tue, 13 Sep 2022 14:18:40 +0000 (UTC) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by mx.groups.io with SMTP id smtpd.web10.5363.1663078716861945180 for ; Tue, 13 Sep 2022 07:18:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=t8px7vhM; spf=softfail (domain: sakoman.com, ip: 209.85.210.171, mailfrom: steve@sakoman.com) Received: by mail-pf1-f171.google.com with SMTP id a80so3327168pfa.4 for ; Tue, 13 Sep 2022 07:18:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=YEfK4/1AF2kQB39M7YS5gLK9lg7pJQ4+C4sfJRniFyM=; b=t8px7vhMEu6cAqPN83qhwY/MGUDOlR7Ngo8LYgmI3QwpB2UpPqXYKdQOuOvl7CUH6c V4QyD5YndWXt+qZvrbrJPE911MWUf8W+eAeHHZy2oMwzc3eBWbqaThWeukWeGQhNYPFA flR8bxwmidu0m52pzVqy33sYPshXR8+kyWH6xFO4OBrLHDWddL3QAdUUM2pYdURj2rr4 NHoEHXzV8YLQsoslUOms89V/CevhXDnuU0iMvkvT1qr2PdwAuteSNxpC1ApCWzH8HrOm KubdMy8giAH5tbHqDjJXLsznGMoMhZQjWik8Cc0onNPBszYxgFshUt48PQqGbKJcsJ/p vr8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=YEfK4/1AF2kQB39M7YS5gLK9lg7pJQ4+C4sfJRniFyM=; b=oUWFtCQL29xUJoD3LAm1kfglMxZktAI0QNM+1DJH/sAmEuMdO6x2LEOTf/G8d0ngVg Y36E1OTd7ybxh7NsiNtpztluT+yX3Imw4MlCik7oyQp+49zuRVK+B6D+ZAAWzsoKA0S4 y7OKw7CeIqbworUV0fsvCRFVF7yFy1pJ3Jxcmspp6Zgx4FNLiwOMdy9NqXexDpicre/B 50n5hPWIr66yjmMZ8D4HRM35zKmupa4SA3IPe/FIHAXuU+aTF7CZ2Qn2C5kjosxC6Jaf 696TEWRAmgPNZ9zcdeJkRWd3zzccPEKjvKKHOmU5TqCEZKndC2c/kpAfYJ53Ryd5FY8Y 8icA== X-Gm-Message-State: ACgBeo0dTMs4WNu6adEoguw0Tg2jLGZMZVIXmRa9tP/KyLI5s/fbOMJ7 m4NQKKQqiHDl1rpM6+x+UCn1o0b13zPLwTiX X-Google-Smtp-Source: AA6agR7vTIQl06h1hZYnwEr4ORvyHJeg/9vJDj0pQ8OuKwiqASNGotJ/V4GY6qdSLNdwjPN7n1gNGA== X-Received: by 2002:a05:6a00:134d:b0:545:4d30:eebf with SMTP id k13-20020a056a00134d00b005454d30eebfmr6198461pfu.32.1663078715825; Tue, 13 Sep 2022 07:18:35 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:35 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 10/16] core-image.bbclass: Exclude openssh complementary packages Date: Tue, 13 Sep 2022 04:17:51 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170589 From: Pavel Zhukov Openssh (main) package may be marked for installation via complementary packages mechanism if sftp-server is installed and this causes conflict with dropbear [Yocto #14858] [1]. Excluding openssh complementary packages if packagegroup-core-ssh-dropbear is in PACKAGE_INSTALL fixes this issue. To install openssh complementary packages in the images with ssh-server-dropbear they may be added manually into the list because they will be excluded from the installation even if corresonding class (dev-pkg or dbg-pkgs) inherited. [1] Error: Problem: problem with installed package dropbear-2020.81-r0.core2_64 - package dropbear-2020.81-r0.core2_64 conflicts with openssh provided by openssh-8.9p1-r0.core2_64 - package openssh-8.9p1-r0.core2_64 conflicts with dropbear provided by dropbear-2020.81-r0.core2_64 - package openssh-ptest-8.9p1-r0.core2_64 requires openssh, but none of the providers can be installed - conflicting requests (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages) Signed-off-by: Pavel Zhukov Signed-off-by: Pavel Zhukov Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit fa08030b32c2bf77889c23f964892f46e84994a3) Signed-off-by: Steve Sakoman --- meta/classes/core-image.bbclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass index 84fd3eeb38..740a6c1d3d 100644 --- a/meta/classes/core-image.bbclass +++ b/meta/classes/core-image.bbclass @@ -59,6 +59,10 @@ FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}" # IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2' # Including image feature foo would replace the image features bar1 and bar2 IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" +# Do not install openssh complementary packages if either packagegroup-core-ssh-dropbear or dropbear +# is installed # to avoid openssh-dropbear conflict +# see [Yocto #14858] for more information +PACKAGE_EXCLUDE_COMPLEMENTARY:append = "${@bb.utils.contains_any('PACKAGE_INSTALL', 'packagegroup-core-ssh-dropbear dropbear', 'openssh', '' , d)}" # IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2' # An error exception would be raised if both image features foo and bar1(or bar2) are included From patchwork Tue Sep 13 14:17:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12782 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 2FD4AC6FA89 for ; Tue, 13 Sep 2022 14:18:40 +0000 (UTC) Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mx.groups.io with SMTP id smtpd.web10.5365.1663078718947868124 for ; Tue, 13 Sep 2022 07:18:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=muYjSltp; spf=softfail (domain: sakoman.com, ip: 209.85.216.51, mailfrom: steve@sakoman.com) Received: by mail-pj1-f51.google.com with SMTP id o23so10187037pji.4 for ; Tue, 13 Sep 2022 07:18:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=cIFtsl5vG92zsg3L+2kKsxk/ipxoRLjd3oaRKVxX18I=; b=muYjSltpByGJ2ylK4uYr14/P/g816xuhz6C6bWb7htXYrrlkNRU+0BQ71esBAu3hUL CURrej1osE88oiONIj/KpbXbCNyY6bXyLT1g32nlAaLL1qHCTzKQwz8/4HEqnb1YQG+J y0YWzjkV5jqMyJOwn8goCsoTBHbPTv7MMrusnkz6n9CdIoz8S6nGTnSqEmah6Vvi1z4C GWaBWF8DvUEkCdx/F4PV5BvOKSrZMT5HlQOzqzjnjYyfif7hChiYO+e/vfAu1WUJCLWr +H0ueFj7lK/k5hdfH0YO3hr+ZPmeLPtrYjtqozB2Byj7KJiift7u840e9avkQ28k1WcJ SZ+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=cIFtsl5vG92zsg3L+2kKsxk/ipxoRLjd3oaRKVxX18I=; b=WkX2PMuEdufHAjwz5/Fajv0o8D+5c12nqkOs7IkM8cByKcuO7UuKFD+t8FScklkOiD YjrIq+x9TzrrKKgs7kBKB7n6O3muhZYB+/al7MoOUEBJBpsmw0KejaQB+aV4Ac3fSlHq tnbdkbXHMe9FQBnLY+pzIZmZOtv7FZpeNNlMmtgs5xGtPqvBG7R1oHd8jHQNmkotLaIP +YbiP1jC8Qo1vvjJtgVIX3UJOPzkPsZxMGEiG2sS9hdq0qLMTQ0QZ/GfjAg9Q4gKg3hi qpFndlcn9XZBxI/WORI+NphaOFHDvpiZ0V4s7mqXjKQz8I0hku3n3U8pANPzy80tLSPW BVcA== X-Gm-Message-State: ACgBeo3XHNhlGnxDPODVh9Q8lSZwlEnglr4fumdaCtK1fiYQ/3zCKiTh u2VBntHGJbpVCB0uIyZaruRi0pLI+tcapWhw X-Google-Smtp-Source: AA6agR4FnEGrX7vDXGfwKiHAmABRZaSO9hkGJKhfyrShRGVFM1TAdhpbtkSv8Qwc4Z6W072r0+6JJQ== X-Received: by 2002:a17:90a:28a5:b0:200:43bc:5728 with SMTP id f34-20020a17090a28a500b0020043bc5728mr4214177pjd.188.1663078717920; Tue, 13 Sep 2022 07:18:37 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:37 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 11/16] rootfs-postcommands.bbclass: avoid moving ssh host keys if etc is writable Date: Tue, 13 Sep 2022 04:17:52 -1000 Message-Id: <31cff4d182faed31747d00cc82c1cf0a05a81431.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170590 From: Peter Bergin When using IMAGE_FEATURE read-only-rootfs ssh host keys are moved to volatile storage. If the feature overlayfs-etc is used in addition to read-only-rootfs /etc is writable and the move is not wanted. But in the case also the IMAGE_FEATURE stateless-rootfs is used the keys will be moved as storage of keys should not be wanted in a stateless-rootfs. This change only takes effect in the case IMAGE_FEATURE contains read-only-rootfs. In adddition the following cases are handled: IMAGE_FEATURES = "read-only-rootfs" --> ssh keys/config handled as ro root IMAGE_FEATURES = "read-only-rootfs overlayfs-etc" --> ssh keys/config handled as rw root IMAGE_FEATURES = "read-only-rootfs stateless-rootfs" --> ssh keys/config handled as ro root IMAGE_FEATURES = "read-only-rootfs overlayfs-etc stateless-rootfs" --> ssh keys/config handled as ro root Signed-off-by: Peter Bergin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit d2ad7aa1f2153955adc044ea4eb11c48086a01d1) Signed-off-by: Steve Sakoman --- meta/classes/rootfs-postcommands.bbclass | 30 ++++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index a59d9b5878..5c0b3ec37c 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass @@ -14,7 +14,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb # Create /etc/timestamp during image construction to give a reasonably sane default time setting ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; " -# Tweak the mount options for rootfs in /etc/fstab if read-only-rootfs is enabled +# Tweak files in /etc if read-only-rootfs is enabled ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook; ", "",d)}' # We also need to do the same for the kernel boot parameters, @@ -103,20 +103,24 @@ read_only_rootfs_hook () { # If we're using openssh and the /etc/ssh directory has no pre-generated keys, # we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly # and the keys under /var/run/ssh. - if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then - if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then - echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh - echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh - else - echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh - echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh + # If overlayfs-etc is used this is not done as /etc is treated as writable + # If stateless-rootfs is enabled this is always done as we don't want to save keys then + if ${@ 'true' if not bb.utils.contains('IMAGE_FEATURES', 'overlayfs-etc', True, False, d) or bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 'false'}; then + if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then + if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then + echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh + echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh + else + echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh + echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh + fi fi - fi - # Also tweak the key location for dropbear in the same way. - if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then - if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then - echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear + # Also tweak the key location for dropbear in the same way. + if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then + if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then + echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear + fi fi fi From patchwork Tue Sep 13 14:17:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12788 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 31714C54EE9 for ; Tue, 13 Sep 2022 14:18:50 +0000 (UTC) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mx.groups.io with SMTP id smtpd.web11.5130.1663078721050553349 for ; Tue, 13 Sep 2022 07:18:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=jIC5Pnuf; spf=softfail (domain: sakoman.com, ip: 209.85.214.172, mailfrom: steve@sakoman.com) Received: by mail-pl1-f172.google.com with SMTP id iw17so12010420plb.0 for ; Tue, 13 Sep 2022 07:18:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=zzRfnIiypUb0BwBbbfBg+1lQ9DY5EDnQ4OLYgYe9/BA=; b=jIC5PnufCwid6UrT86QI0zYi1KiAxYh2h/OFud731awhblv41H99t2r/oOLYbi4UPP jLbftHH0hBnaJbu7WnWH7M24UCQZV/XXMncTzUEllZOiNsPHOBImlOfoZC4bWyy8sU+b QlPFUk6jds/TmQMzRnBUaQZAONqIN17P92Wz0KpcEkacHY27KVmBe3OGsjb4Dz///8LI BhfcVljekFFDiyAQeAgGH6pzlcZVnfPtvxnwwU7nwJuHHx/4cH+juFYLzaOqWf70I+3r N3YZLT0dN9OSN9dT6zHUJmN6eA2ifFSfwR+kM059OxzdbP3OJRzgGj9hSeKXRUXJQL42 zh1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=zzRfnIiypUb0BwBbbfBg+1lQ9DY5EDnQ4OLYgYe9/BA=; b=6GDrK/sg7yCPR6DS/QvxHKYSQ6e5+B+5VAIUJ4UfZXuKq12YZKz1o9FOUzLnHMsdEd gQY2jfCrPL33R4sdkx7sxM34vOpAbvEfDwOX+hXFmEYnAr7pIN2KL2KyVvwXEkbvyFK9 v39VhWN9JW9nURPdlwoR5VAOYL6/Qi+YNO7dkBUCE9j+d0W/XUplePCsdhYy3mZfb8oZ SgCCfRRNlmdJO5+EHoxmq03tSHQ61C9pCaLZRGUY3GJ+pdHRy6voXLOLGiuSlPFctnt+ gNmvzunBudn/4UHwKHDtrRTNCzZIt3udRUmQ/jFodftemb95pgr+C1tjwIDjq2unTQg9 O0ig== X-Gm-Message-State: ACgBeo0s7v6l9n+tKbUnM/SdRYSkpERzfowdyYPsHknZ5gwvoGN//wjW fVEccOEyHyuTcJIDnJRKpPdxmVYurJw/zgsq X-Google-Smtp-Source: AA6agR5AYcAnP9V9tK7say8hSyy9/VpFx5cavEEG9mOpG2LbZ5BN3HwZVBf3cd9kCM6QnfiJDHbqtQ== X-Received: by 2002:a17:902:b08b:b0:178:48b6:f5a8 with SMTP id p11-20020a170902b08b00b0017848b6f5a8mr3129865plr.3.1663078719949; Tue, 13 Sep 2022 07:18:39 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:39 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 12/16] cairo: Adapt the license information based on what is being built Date: Tue, 13 Sep 2022 04:17:53 -1000 Message-Id: <654d3542afa8082ef8ec9c34e3f27bc9f22ba2b4.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170591 From: Peter Kjellerstedt If the "trace" PACKAGECONFIG is removed to disable cairo-trace (the only part of the code licensed as GPL-3.0), we can adapt the licenses for cairo-dbg and cairo-src so that they do not include "GPL-3.0-or-later" and thus they can be used also when, e.g., GPL-3.0 is blacklisted in INCOMPATIBLE_LICENSE. Also drop the GPL-3.0 license text from LIC_FILES_CHKSUM in this case. Signed-off-by: Peter Kjellerstedt Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 4f0ea44c80f297d00349b7d3cf9438145aec8a74) Signed-off-by: Steve Sakoman --- meta/recipes-graphics/cairo/cairo_1.16.0.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/meta/recipes-graphics/cairo/cairo_1.16.0.bb index 67081bb8cb..ffb813d290 100644 --- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -17,9 +17,13 @@ LICENSE:${PN}-doc = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-gobject = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-perf-utils = "GPL-3.0-or-later" +# Adapt the licenses for cairo-dbg and cairo-src depending on whether +# cairo-trace is being built. +LICENSE:${PN}-dbg = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}" +LICENSE:${PN}-src = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \ - file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504" + ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}" DEPENDS = "fontconfig glib-2.0 libpng pixman zlib" From patchwork Tue Sep 13 14:17:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12786 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 3A8CDC6FA8A for ; Tue, 13 Sep 2022 14:18:50 +0000 (UTC) Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by mx.groups.io with SMTP id smtpd.web12.5283.1663078723323537401 for ; Tue, 13 Sep 2022 07:18:43 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=Vq2Qqb+p; spf=softfail (domain: sakoman.com, ip: 209.85.216.45, mailfrom: steve@sakoman.com) Received: by mail-pj1-f45.google.com with SMTP id s14-20020a17090a6e4e00b0020057c70943so15824188pjm.1 for ; Tue, 13 Sep 2022 07:18:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=Ih3Rn3whnFjnRJ/cjgW6fk2vx2on1/O1qRw18wGz0Co=; b=Vq2Qqb+p80WrkBG+0BgqZn+6DxhC5nosLY/nDQuVQWyKvbg8iqtK6jUMe1xZTi1+78 daLzTZaa4wdHd2XYkNXFTn8/+c61sOLh6WTDd4pxJ+Kns5bZjZvP/EluCdWzLcIm4XED s/oN/tngo2r8h4bXOsaULM4ocQCHGpyaa1vF0aM+5n/4Qp3F7hH29aP07q/7mFxcgrSA WOWMcrzKOFvwdzTod/XTw3+rIrwY4hBG8ejUO+qTaa7KQFVHgnUVZXkiuJgejLNIMShL M63P4JoqkmI/DtWnMV+xVHpyCjjJfzl/g7Odzb3IXPu4+35OriQRFY3mroDnl6WofQtb yVIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=Ih3Rn3whnFjnRJ/cjgW6fk2vx2on1/O1qRw18wGz0Co=; b=SnHk5y0nxryMqE6jSb6o2KJmGiKkylpZahduw3xuNuVG6w7G8/CIKfyO0x4B3ZP4f2 qtZHnNNGKp43K7QPg63zp4H47FqehiyytXLf4OnFDVX7ZIt8HLc0aVfEf6FWdMjVkArd PmVQ3qnReSHVwn8hju7L009pDhzRK2oOFUIkDM3i65NlIcXr93Odb0+jY/hcpUqqS/db sNDuzTas8t52Dj7nrZbLJlVtsm8XslrRJ1tDVQHPuagfUHMMF+NPyGhGlWiLN73iopTt CvYXgIUiiMqI4d6zQ31eoncP9PyKJ2dWw4V7+wxJZQctLp5JG8J28YS1p5n5Bgmat7Xc qErQ== X-Gm-Message-State: ACgBeo07gxXq4ee4euWl387cLajR8Lyw+Ts0H+2rdqDGewY0Vxw7gqH1 R6gu+WQPYbxr2dtclSMkZ0bd+S/Ud1myoQFb X-Google-Smtp-Source: AA6agR5yMYkHF3xV4e3gUBVM1VXZ32MlrRXWdeJSPjqL8aaWxCY0K5bDN5DtgDRJPM8Ac17cEyijHg== X-Received: by 2002:a17:903:2601:b0:178:a68:82ee with SMTP id jd1-20020a170903260100b001780a6882eemr20375224plb.163.1663078722228; Tue, 13 Sep 2022 07:18:42 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:41 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 13/16] rootfs.py: dont try to list installed packages for baremetal images Date: Tue, 13 Sep 2022 04:17:54 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170592 From: Alejandro Hernandez Samaniego Theres not a rootfs for baremetal images, hence we should avoid trying to list rootfs packages for them. This fixes an issue where some classes (e.g. license_image) rely on rootfs functionality when included for baremetal images even if its nonexistent Signed-off-by: Alejandro Enedino Hernandez Samaniego Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 5a7e13f46083ce3b08aa762238c1e93b7626dda4) Signed-off-by: Steve Sakoman --- meta/lib/oe/rootfs.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 9e6b411fb6..91312f8353 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -384,6 +384,10 @@ def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None) def image_list_installed_packages(d, rootfs_dir=None): + # Theres no rootfs for baremetal images + if bb.data.inherits_class('baremetal-image', d): + return "" + if not rootfs_dir: rootfs_dir = d.getVar('IMAGE_ROOTFS') From patchwork Tue Sep 13 14:17:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12789 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 2F8D5C6FA82 for ; Tue, 13 Sep 2022 14:18:50 +0000 (UTC) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by mx.groups.io with SMTP id smtpd.web12.5285.1663078725888225045 for ; Tue, 13 Sep 2022 07:18:46 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=qsOi5OHc; spf=softfail (domain: sakoman.com, ip: 209.85.216.47, mailfrom: steve@sakoman.com) Received: by mail-pj1-f47.google.com with SMTP id j6-20020a17090a694600b00200bba67dadso11479786pjm.5 for ; Tue, 13 Sep 2022 07:18:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=g5VXro3t8aFCjWjI5lvO81ceEShEBSoVL03m+Wy5buY=; b=qsOi5OHc6JYs7MHccgvFucoOG4ey867WrNdxIV8uThcHEZJzqtSTcKc2V9RvbsaapD fO0QTvXVtdl44R6+xuYrxEEpBc7tQaetXv9tWKWF/nJxWeQsjWjlZaWnrgXAFW1qw5Sb twLYISHWjahcgoftW5ymTKkSfrW1ENc3d+ndB8uD+8e2C2MuH8sIZ3ZKL6l4J65gLPBp aEGHYkKXyVL76dumKboh7fHkEBKY5iX7lDk6EUUfnUkAxOesKlr4LmWMm3ueHYcdjS6z 4KzgcxbvkrfzmLxu14oXJuUJ0I+784vv7lInO3DxJyRysO3huvFPB8alY43pcz1cux6x tgTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=g5VXro3t8aFCjWjI5lvO81ceEShEBSoVL03m+Wy5buY=; b=XLPJIMyJHwvFQeDevIBI1LgOGdKYp1CPSZf17uy8UEp1eu2idFkBU8/Gd5mE8ZkY1S Od94SlFj0JezxNG/7n8nzX+pAmEiELRdxYSU1bGZy5rY3VzbcjjFwvbapnyaA3e/j8JV DIedN9A+EFXy7ONIuH6K5SDAqXwSy3JNn4iiaLVYHgEnsPgzkiMK+5hf1B5cIsq4eXJs KU9NjF6OVbGKFEzAOQcRKqh+hyIVKAmhzucWZAEiQir0F4dXGrolMG+XLnIT0YNd4l6B sIExGACD4THNzy4A3fEgVMdhb6KczjlpSe2n8ALJbKpYq57LVwO77IMCm/AjhCprpItx 25MA== X-Gm-Message-State: ACgBeo3sXagqox0bpHbdpyZ01vGIgAlhdXxfOiUh8sN3gJkQt7ljEA5T N5yMVwSQHmgg2rmtLian6c8aMiw6NZy75VxC X-Google-Smtp-Source: AA6agR524eJnYewOXPIEnW36FHcOITsUQCBMrrqI1vTfRnFrpp7ducHfCXytVN+k7VX48n8Oi7fzKg== X-Received: by 2002:a17:903:228c:b0:178:3bc7:8a3f with SMTP id b12-20020a170903228c00b001783bc78a3fmr7200743plh.88.1663078724710; Tue, 13 Sep 2022 07:18:44 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:44 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 14/16] externalsrc: Don't wipe out src dir when EXPORT_FUNCTIONS is used. Date: Tue, 13 Sep 2022 04:17:55 -1000 Message-Id: <70f7575bfe7e3b136125b1db7ad5549074e7fd1c.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170593 From: Kristian Amlie When 73fa855f6af5ef9c3 was introduced, the "cleandirs" variable flag started applying to functions exported using EXPORT_FUNCTIONS. The externalsrc class is supposed to remove cleandirs in order to prevent wiping out an external src folder (home directory?), but doesn't take the previous point into account. The result is that cleandirs is still in effect. To fix this, apply the cleandirs manipulation to all variables, not just predefined ones. This is expensive, but since it executes inside an `if externalsrc` clause, and EXTERNALSRC is usually only set for specific single recipes, it won't affect most recipes. Richard Purdie is the original author of this patch. I just submitted it under my name for blame purposes, and also we have been testing it a lot in my company. This is the original discussion: https://lists.openembedded.org/g/openembedded-core/topic/91374926 Signed-off-by: Kristian Amlie Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 74ad497a55007960a4869905878e3ccbd11e4369) Signed-off-by: Steve Sakoman --- meta/classes/externalsrc.bbclass | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass index 90792a737b..8136d25cb1 100644 --- a/meta/classes/externalsrc.bbclass +++ b/meta/classes/externalsrc.bbclass @@ -90,16 +90,18 @@ python () { # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock") - for funcname in [task, "base_" + task, "kernel_" + task]: + for v in d.keys(): + cleandirs = d.getVarFlag(v, "cleandirs", False) + if cleandirs: # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean) - cleandirs = oe.recipeutils.split_var_value(d.getVarFlag(funcname, 'cleandirs', False) or '') + cleandirs = oe.recipeutils.split_var_value(cleandirs) setvalue = False for cleandir in cleandirs[:]: if oe.path.is_path_parent(externalsrc, d.expand(cleandir)): cleandirs.remove(cleandir) setvalue = True if setvalue: - d.setVarFlag(funcname, 'cleandirs', ' '.join(cleandirs)) + d.setVarFlag(v, 'cleandirs', ' '.join(cleandirs)) fetch_tasks = ['do_fetch', 'do_unpack'] # If we deltask do_patch, there's no dependency to ensure do_unpack gets run, so add one From patchwork Tue Sep 13 14:17:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12787 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 2F912C6FA89 for ; Tue, 13 Sep 2022 14:18:50 +0000 (UTC) Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by mx.groups.io with SMTP id smtpd.web08.5251.1663078727883313293 for ; Tue, 13 Sep 2022 07:18:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=j8l4wp9P; spf=softfail (domain: sakoman.com, ip: 209.85.214.176, mailfrom: steve@sakoman.com) Received: by mail-pl1-f176.google.com with SMTP id k21so1432839pls.11 for ; Tue, 13 Sep 2022 07:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=b38oTqDnfNeWC2NCq9IpCfOLfRp/wNlBG4j6sSFOUa4=; b=j8l4wp9P6egO4O+0Dz5qezW6KRYaiklElZ7Mkd0Yx73ge0bPOXwnMV7hYiWL3kwryw D53NtisLMiroL1uoibAbsndytAbfCgKTeC2EKnuQMdQoPD7TyyGzN7DgT0OWgV4BAQfs w23sdluZqqMT2PCiJSDmYjHmU/MFXeYnyupWS88/BpMPJch4gDUs5tnY1qqobu1sBJQI p2bzAPx/MHKrDsuXkSumHZ7laAr4slsz4srW6QIku5jNcY6kauGdh2KEfMMe06AUU74a rPN+3PXtYdJf6Wn2Lp8MckuNc9vZ99/8KVCW3f8vYjRXuVJNiLrLZ9JGHC+A2E7/nNWc y/aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=b38oTqDnfNeWC2NCq9IpCfOLfRp/wNlBG4j6sSFOUa4=; b=SKB63Aq8jO+VGFEd2GYfZgRRshE/ffv/y8K/bIy0k6eYpNXppnp+KCiRxoh5ZwekPv 49CZ31hZlaJpJ0vG2wJP/ilKcaktIcHjH+KNiT2bb+ZzM2p2RDY3NUa5swnJQFOZHIu/ OVt7et24pozIgAG4k7wU0FIC44Y5PairIqKBpUutRi+8QNuq7RZcxajZ51JqrGejFWdg seIfR9i9l9eVRFw4xp6tcjY70Ml4NaThIgIugRV0LVdpjB3A9RuCnnsX4Uzd4VQa50Nm IHXlHi31F3r2FMuHBWxyNIH8SCDvnPfjpUNb17mj98TSoNIFpF4CXPL1eo+bNvL7acvW Z+8A== X-Gm-Message-State: ACgBeo0zWFyjb2bKAlQnMmcjjY7CZrfw9KkJiPwzhY0OlpYsGh0tCSzs Wnz/4fT9j1dlaRXytKgL8ipgmMlVHYQRfCzT X-Google-Smtp-Source: AA6agR4GAK0zf3zGXXF1aYaZ8M07R5GdNwczAIr+Z1PZLmyZ0tnDEVqC3yLIqTflicCweZlfGNATQQ== X-Received: by 2002:a17:90b:164c:b0:202:a4ee:8f97 with SMTP id il12-20020a17090b164c00b00202a4ee8f97mr4223783pjb.79.1663078726964; Tue, 13 Sep 2022 07:18:46 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:46 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 15/16] oeqa: qemurunner: Report UNIX Epoch timestamp on login Date: Tue, 13 Sep 2022 04:17:56 -1000 Message-Id: <2a860de611bebae2e1100380b975b7648b8560d9.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:18:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170594 From: Joshua Watt Updates the log message printed when login banner is seen in QEMU to report the UNIX Epoch time in addition to the human readable time. This makes it much easier and accurate to correlate logs with the guest, in particular with the guest journalctl which prints log timestamps in human readable format and the oeqa SSH debug logging which prints the UNIX Epoch. Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie (cherry picked from commit 275b6f3c8d0eeafa3902c48a49655491a89c47bc) Signed-off-by: Steve Sakoman --- meta/lib/oeqa/utils/qemurunner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 4c3d2010fb..c19164e6e7 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -471,9 +471,9 @@ class QemuRunner: self.server_socket = qemusock stopread = True reachedlogin = True - self.logger.debug("Reached login banner in %s seconds (%s)" % + self.logger.debug("Reached login banner in %s seconds (%s, %s)" % (time.time() - (endtime - self.boottime), - time.strftime("%D %H:%M:%S"))) + time.strftime("%D %H:%M:%S"), time.time())) else: # no need to check if reachedlogin unless we support multiple connections self.logger.debug("QEMU socket disconnected before login banner reached. (%s)" % From patchwork Tue Sep 13 14:17:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 12790 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 2A9E6C54EE9 for ; Tue, 13 Sep 2022 14:19:00 +0000 (UTC) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mx.groups.io with SMTP id smtpd.web11.5130.1663078721050553349 for ; Tue, 13 Sep 2022 07:18:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=rGiPsQRP; spf=softfail (domain: sakoman.com, ip: 209.85.214.172, mailfrom: steve@sakoman.com) Received: by mail-pl1-f172.google.com with SMTP id iw17so12010850plb.0 for ; Tue, 13 Sep 2022 07:18:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date; bh=YqW67nW6bTkFGqHQNfcK7tWsIBnLWJR7yEiV43TxJkA=; b=rGiPsQRPXuPWvj7gOLn9Aer7mmSlugFdQDFDlKVhc1LPrQAxRcUph1FOaORmTvtH+4 zNrZsaDnkn8aMersDz4OtmmAo6tZ73hnEqUGHc1rJVIqAFtaqlUULxxQ0L6rWdOP0J8z 84k8dKTTyuqseCaBCnch7Onqd1Gq6rXT9a8IDyZntEEhNA4u+DFf2GM6ax+NiAT2/JUe 3kyysRZcmEL52tCOCcMGLw0abGwjKn1VK7sLk/+SzdsuHNW9DHjMFk2IIbLYipbsH8m6 MdSLr+q66OW+tMRe17rAC0Gx5GSCCXF8AoEbpQUoNI/xprDlH15yjrw1FSwlUZh8bo/D uwDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date; bh=YqW67nW6bTkFGqHQNfcK7tWsIBnLWJR7yEiV43TxJkA=; b=Q6MwT3VLArFxxZu94su0ECU1ZuzalwrODx1BlnHBYIkx9IxY7RFxFnlxw8LqMS5rXB 4yn64u/ki0w+1DrM4lxjNnQuKwuefi6dUAUEsw2cokRTAuynjIAhtdKKB6N1xZJg8unU 5hoCoUNUyXLO8Duw8FnC67C9W92TZAXlJpeuKOnGk+1qswHfsJ/VvrfzN2fIl78/YmXa XEoNjgreW/evalATKqOp8V6wdDBGvMFJGlUmHpHrJgHH+SJtqUe+bD3gFOVfS2ydNVpm 9HSc3yVU1x6qp+ycMDfuZZOzZTaV/DLkf/0mdsGr80PHfnuRjI0J8d0wVHZJkRMU54L4 7o6A== X-Gm-Message-State: ACgBeo3OIkjCtfV5s/D3O89cny5Jshtdpn023bVibdAQ4cUZab54Wn0e DnNsnPtW5yqzr0q8JVr/HAxULRy1psW25HNA X-Google-Smtp-Source: AA6agR7avrR7P5p2H8to/2gDFk6vVKW5zf8soDnx/2IuZ7/kErdw2YhaLgNCdRXKNQFRilch0vl9pw== X-Received: by 2002:a17:90a:e644:b0:200:2f9a:bd0a with SMTP id ep4-20020a17090ae64400b002002f9abd0amr4240541pjb.88.1663078729853; Tue, 13 Sep 2022 07:18:49 -0700 (PDT) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id g11-20020aa796ab000000b0053bf1f90188sm8086424pfk.176.2022.09.13.07.18.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Sep 2022 07:18:49 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 16/16] runqemu: display host uptime when starting Date: Tue, 13 Sep 2022 04:17:57 -1000 Message-Id: <08406e03abddc7290c0c2296aa179725a58155d3.1663078051.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 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 ; Tue, 13 Sep 2022 14:19:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170595 From: Alexandre Belloni In order to be able to debug issues on the host that have an impact on the guest, it is useful to get the uptime of the host while starting so we can match with the events in dmesg. Also include the uptime when cleaning up. Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 2d96499823f7de6e16a461426491e015ba63c1ec) Signed-off-by: Steve Sakoman --- scripts/runqemu | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/runqemu b/scripts/runqemu index 24c4a40b50..1525081ad5 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -1500,6 +1500,9 @@ class BaseConfig(object): cmd = "%s %s" % (self.qemu_opt, kernel_opts) cmds = shlex.split(cmd) logger.info('Running %s\n' % cmd) + with open('/proc/uptime', 'r') as f: + uptime_seconds = f.readline().split()[0] + logger.info('Host uptime: %s\n' % uptime_seconds) pass_fds = [] if self.taplock_descriptor: pass_fds = [self.taplock_descriptor.fileno()] @@ -1523,6 +1526,9 @@ class BaseConfig(object): signal.signal(signal.SIGTERM, signal.SIG_IGN) logger.info("Cleaning up") + with open('/proc/uptime', 'r') as f: + uptime_seconds = f.readline().split()[0] + logger.info('Host uptime: %s\n' % uptime_seconds) if self.cleantap: cmd = ('sudo', self.qemuifdown, self.tap, self.bindir_native) logger.debug('Running %s' % str(cmd))