From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7192512605249863680 X-Received: by 2002:a5d:4089:0:b0:2bf:ac96:934e with SMTP id o9-20020a5d4089000000b002bfac96934emr342646wrp.368.1674637339898; Wed, 25 Jan 2023 01:02:19 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:e48f:0:b0:2bf:ae0c:669b with SMTP id i15-20020adfe48f000000b002bfae0c669bls489361wrm.2.-pod-prod-gmail; Wed, 25 Jan 2023 01:02:18 -0800 (PST) X-Google-Smtp-Source: AMrXdXt15zYedn/bI1FSHKZXJtE8PmaZpdsztClb0Vyt1v+RxDgKciMn2PUHEKO3eiw3eF7EenaP X-Received: by 2002:adf:dc81:0:b0:2bc:7f99:f2a with SMTP id r1-20020adfdc81000000b002bc7f990f2amr26824220wrj.54.1674637338404; Wed, 25 Jan 2023 01:02:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1674637338; cv=pass; d=google.com; s=arc-20160816; b=Xmaer4OZOzqPi7+pQMvnO1ADKHSU3v6wMW3QFaa8PfI5xW01ycZwiVcKzSFjlp6gJQ GUQJy5vQSblUE8MPVGxcjlOLM4BgCJ/z7/Q9kAlNXXqNjse2jmB4Jc1XkZVWlU0P2/NT 2zz8YTmAwYcWBW/23E6yaRqlT/VhIJ813kXAA9aQ6jcejc7meXGvlmA3l/zBdS8nPjdh ZWHDjUn+d/utZ88x5HaFfZq/qrdd57MTIw5D4owq+8Teok5EsAypSXuq5NJU8ek9+6m9 qKr+d0UjJwnTz44iAwyjM7XSRu0jcKutYYERRbwVekbbH4cJkezjHNCKDELlvdLJkaOR zlFQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=zlcJiwL4kQCti9farWdGVLeFVXHG283M0FJ+nP5X/Kw=; b=wiQ2jSuJHesKSoBBNtCbGyBJmAghsBshCM8MhmhKE3SPrHBiNJf5a/6EUAbHjZZuTF dV2h/PiMbWRHkunbXkd69T/UKG/hdrTEH8MmiNXfgLA+0VQvkbdqNBgbKK5PY9EzmMas Qlknl7rp3sIuXhfqo7VMcrs7SWfWnPWpdQC+fA+0Hk66oVesFoPWj+mRrGcGp9T27eKX iETUthlQiQ+N5wOrUJGLpA25goaQg93bdfSHuQ0Rli7hLBIDDGHrRqtmN+ezynyqxM5s 4gHS0Ti84FqokcPGASGRTzRnfkVET6RlxlnV39lbaa4LJhEs12APc/KgJkv15lRaWOvB YXjg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ExWIPFq0; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.241.77 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2077.outbound.protection.outlook.com. [40.107.241.77]) by gmr-mx.google.com with ESMTPS id bn18-20020a056000061200b002bf9650b759si206119wrb.2.2023.01.25.01.02.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jan 2023 01:02:18 -0800 (PST) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.241.77 as permitted sender) client-ip=40.107.241.77; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ExWIPFq0; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.241.77 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BgSo7+AFYOLEgvPar/nbBPpKzvzZbsawZnjXGsBx01U/suWcPWCpaATuQKoB+TP83dR2nM1DiUTndh/NEf6jDPptQSCSzQFDqCcQ8D/2fFr1/Ryi+jhI3a6w4pZI2MhotDVrBKxi50AQbtNVij0R3tzLiV/csuhiA6PnK/p6Sue8XrqLoFu73D+YlTVBfsTzemWsrh6vhGqqRpJLz5m2D2XPdvXPUD63N0MJCca5Jp7Uxfi71kr1e/F5x9QxvuWIOnohPbdVGYbwrZpW+FzT72jJNCtJcoGD/HCVPFCKgYSc1Duz8RdBmo8j1kRCJosn2bcS/jBvlKYGigZftEYlBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zlcJiwL4kQCti9farWdGVLeFVXHG283M0FJ+nP5X/Kw=; b=V1Ey8db+M9Ika7rgmQRkDq2EOpDzfyiq9cMK84Ehk0nGnnQYAqDflJ5aSmBkXnyJ/HQJmaYYj4ga6U3hOZqRnkxTTenC4Mi8DnytQoG7vHIy8bBwq2KQz3riCrlIyYVSinvjr36/WRmbP+MTwQaZHHkswI41CnjcODMvDjjgpMWOtitUg+Anf1xvsPSMV/cY1BSeNJk00XpTiqmrF/vwhd06fz2p7aOQannYVyGTAhzcpg65Gr6cWapYqpBpvQ93P29SKuQtcFcGWHk6vpQF0iA0fHIff99ltDCyYzN6u4FhSyhZFxTPP62dt4hJfHQrT++kIe6zLwEIeSF8F7GRrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.76) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zlcJiwL4kQCti9farWdGVLeFVXHG283M0FJ+nP5X/Kw=; b=ExWIPFq0VuyujhyY3a/X0vxxVWhjarpsCmokOv0je6Nhf+pXNBIX24eMGbX7hUxDIjg/TQDl7HgPngY8gwe2JRb6oVVV4CU5gqEovck4JNwH13keLGZzc2XXQA3AtMqsS0CeieKK7JYT2Hk3/6zyS4bWxtrBU47P0ZMucLYoJADBuysqfko8xfdAcb9QG+9iCZHpgssos/WeUetsOOsncmtfGOpuhvzMVuwQ372xh1sknCVL66IQX2TAUypeOtb4vVk8X7zMYM1rWWiz6I+vu7NBJCzx5P5ydtTZo5QAnHoAggr/GBhxgl2jM8opQhrHGv3JH75sxrBEz4hWiWGvLg== Received: from DU2PR04CA0033.eurprd04.prod.outlook.com (2603:10a6:10:234::8) by PAXPR10MB7629.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:277::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Wed, 25 Jan 2023 09:02:17 +0000 Received: from DB5EUR01FT048.eop-EUR01.prod.protection.outlook.com (2603:10a6:10:234:cafe::42) by DU2PR04CA0033.outlook.office365.com (2603:10a6:10:234::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.20 via Frontend Transport; Wed, 25 Jan 2023 09:02:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.76) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.76 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.76; helo=hybrid.siemens.com; pr=C Received: from hybrid.siemens.com (194.138.21.76) by DB5EUR01FT048.mail.protection.outlook.com (10.152.5.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6023.16 via Frontend Transport; Wed, 25 Jan 2023 09:02:16 +0000 Received: from DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) by DEMCHDC8VSA.ad011.siemens.net (194.138.21.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.20; Wed, 25 Jan 2023 10:02:15 +0100 Received: from L15-Gen2.fritz.box (139.21.146.184) by DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.20; Wed, 25 Jan 2023 10:02:15 +0100 From: "T. Schaffner" To: CC: , , "Tobias Schaffner" Subject: [PATCH 0/5] allow creation of users/groups before rootfs creation Date: Wed, 25 Jan 2023 10:01:51 +0100 Message-ID: <20230125090156.284309-1-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: tobias.schaffner@siemens.com X-Originating-IP: [139.21.146.184] X-ClientProxiedBy: DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) To DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB5EUR01FT048:EE_|PAXPR10MB7629:EE_ X-MS-Office365-Filtering-Correlation-Id: 4f7a9f5f-f44f-43ed-ff02-08dafeb2db76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WJRPgM5O3p35CymK1sqp+LjOuKj0KtnOQzSMJBwuNmfFx1oTatQFRwGIawoKOTPLCDA6b8Iaf7qfnpVFx9TJCh191rmv1nj9cZa0yWjbhCfLkCnB+BA2vofgEF0zLJWlIS84HUjtSpK9LFZrtJKLUBZYnqaaMWKiGvtW4lgVL2qQgZRd+rCXSrExHHARPSifRGqK1czUmcwDQ9EdjMvlo2ANNUCyiyDSVRql9K7PgoDw6EoC3hN8+cloL7+50Fhc/sy+uOnHHKZWVeOyvqAiFwObqLHti50L8J/GOMeMANxgum0NAV9Y6ehxADRiP3lTGIlbt7n1ZhcBNR+xeyE4zSNhUSaABshzBwHN9qIDrzvroZE3k6OsRj4ZJ11feJK7rIEq5hU5RxPZ0OvCy14GORU+DMHRJHDfnTrJv42NRkuLZA9kHH74aD2mkSN7Wpvz3tN/bt0ru18bSWJW5MZNjNgntQQ5RazFIE+AgKD8UDNGFUeFDNRx1JMqFHewfVZGMK/znjewHgQx/sioNZjDJw9H0/JZ08NoHjzQDrzHy2pDYq8UZh4eZbekfdKnxof4CaUYegx+XewijC9zV8RATiINYeT122xA5e7erv5uAyur8LVHJCa8fRbHIv6pmiFggVd79y203aH+BRz4P4TLXnaGrhAqK8NJoqzgsX37gWLsuTS4ra8w1xgDxcRpWLbcmJp1mNndLJ163t0ERJZi1qbrCnCXKLR5c/9SEQBdR14= X-Forefront-Antispam-Report: CIP:194.138.21.76;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(136003)(39860400002)(346002)(451199018)(40470700004)(36840700001)(46966006)(82740400003)(356005)(40480700001)(40460700003)(81166007)(82960400001)(186003)(2906002)(1076003)(82310400005)(86362001)(5660300002)(26005)(107886003)(8936002)(36860700001)(16526019)(83380400001)(6666004)(336012)(478600001)(70206006)(6916009)(316002)(54906003)(36756003)(4326008)(8676002)(70586007)(956004)(41300700001)(2616005)(47076005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2023 09:02:16.5207 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4f7a9f5f-f44f-43ed-ff02-08dafeb2db76 X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;Ip=[194.138.21.76];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT048.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR10MB7629 X-TUID: paHn/dzXlLgo From: Tobias Schaffner This patch series will allow to specify a `pre` flag for the USER_ and GROUP_ bitbake variables. If this flag is set to `true` the given user or group will be created in the rootfs configuration step instead of on rootfs postprocessing. This is helpful when a specific id should be used which would otherwise be picked by a user or group created by one of the installed packages. A rewrite of the image-account-extension in python was done on the way. This allows us to drop a lot of encoding and parsing code that was used to transition to shell and therefore made it easier to read and maintain. Using python functions for more complex tasks allows us the usage of unittests. A very basic infrastructure for unittesting using the build in python unittest and the bb.parse module was added. This was used to test the re-implementation of the image-account-extension as a first showcase. Tobias Schaffner (5): simplify image-account-extension allow creation of users/groups before rootfs creation create a minimal python unittest infrastructure add unittests for the image-account-extension set minimal python version in user_manual to 3.5 doc/user_manual.md | 4 +- meta/classes/image-account-extension.bbclass | 391 +++++++----------- testsuite/unittests/README.md | 28 ++ testsuite/unittests/bitbake.py | 37 ++ testsuite/unittests/rootfs.py | 45 ++ .../unittests/test_image_account_extension.py | 175 ++++++++ 6 files changed, 434 insertions(+), 246 deletions(-) create mode 100644 testsuite/unittests/README.md create mode 100644 testsuite/unittests/bitbake.py create mode 100644 testsuite/unittests/rootfs.py create mode 100644 testsuite/unittests/test_image_account_extension.py -- 2.34.1