From patchwork Wed Jan 25 09:01:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Schaffner X-Patchwork-Id: 59 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 25 Jan 2023 10:02:26 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f64.google.com (mail-wm1-f64.google.com [209.85.128.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 30P92Pe0026021 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Jan 2023 10:02:25 +0100 Received: by mail-wm1-f64.google.com with SMTP id k34-20020a05600c1ca200b003db30c3ed63sf8746612wms.2; Wed, 25 Jan 2023 01:02:25 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1674637340; cv=pass; d=google.com; s=arc-20160816; b=ZJxay3kvibbU+SEQ4R6bKIUC8In4xDK0+yf4RoZSiu08xTY2W9V12XEImLZ9A29ujP 4vHwebj+A5MvB53vz8mMGRw3ZzH/2W3/Z+AFOnKmWjN29y5JmFCZxtz3Y13qiwhPet6n abRCuDMO9VSZ6qrwOccu62Rbc7VI66IvfS03JtcXAPT3wZDdgsGCVzhyYnZyrfBBcZE4 IIgUrUgXlM3GS+0rd0o4JztUvtOgktk3zciEcnuvZ9sKglUgXNMsST50vXp5SdvD4fse h4G1mLSc4waEzCq6yv5HCdlOnoQbA9eSd7b+OiinzfDKvdDrjux8dOzCEyKmCkFli33o eX1g== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=vJsuQJfmF2fca96OmCMmcQ6aaDmafvtH5/DvbhUAsE4=; b=eGFm2+QYIqJqanhrjhfXOWyPcQTJqOwAKL7DQw65NNg5K2jiFqQH7mPj9xz3GcsfwO xdBAAIF/vJy2+GmnCExs8F23QgsTxnFl/dPE055qEUkgbsB84RBSxbPHHtVw5Mj8i76T lsUH1yrLuMDhLPaTgRCVdgtzK2f0P7MtPmpFWKyvCW6Q3Q03KpGZ1l9gRlx+QXIlMTum MGm89kAciWRkbcRfNSNgnq+PGWMsjC5BDz59JEcGChigVh+ti9S5pDABB966/Gj7jAYK KkQtxieb91OM4e0rZH/7GqoTeOWQDtjwliqOOn1djEVQlq6IT/wtda7K9D1X+r0qrRAk Uj8g== ARC-Authentication-Results: i=3; 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=vJsuQJfmF2fca96OmCMmcQ6aaDmafvtH5/DvbhUAsE4=; b=nqXDQdDo0lBkJklbaydq/5TQQSYFwfIPi6nZnnqb8OEzDw4m7CYLZ71N1rSwlD11GR eJAE27F5N2+ro4YZmIG8UgDOcuW5jtOshX4VN7ugWIgXEoqxgJRGe9TdGyxNGfrV2zyp sXW/1CKcIcBVadgd+ZxZl5F6fYxwI1xwC5PNgyxf6Lt+ii62SCPwBZIN/Hf06wUv4tW3 1Q4UUtTjsdfp+g53d2vZytPJ3kZjPz3BjlN/FZ3JY75oRCFF4bIhSWaSosqCpmboRlDm Dru+53VMFYEkmBU+7jXAIljLgsgFw8Xk7OW58mZoc4/atcflGa54f5TP/NAGo37GpjSO +b9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-gm-message-state:sender:from :to:cc:subject:date:message-id:reply-to; bh=vJsuQJfmF2fca96OmCMmcQ6aaDmafvtH5/DvbhUAsE4=; b=UoglagidjLW8UVQNLsUUVp7eh7Tqq3MX5Ul4INZJUbzc5b0Va0+tLyIRTlYXV+w8mg vaqMbqCxAk5JY38/kIpxGA6pgU2Ak3V+1/C85T/FWZLc86VJQPOgEuQysofImJkVTU3E QwH1QYj24vBepK/UmTjaR2/HZdOHUclRZ/wfObUvKsbcKDJ7ubbqYhKtRsh9yWgwLtUR p70tD6yu944TSrL9GKMw4fi91BRfGXELW911aPjVESGWFqy3cdgSISvW2l0DKHxbu9Ux Sj6IRTzilDp61HzO1UPtC4TJQzk1qr0P8VDENQd0fZjUpM1ux8RhukYi4jCUk7BIK5bQ +IxQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: AFqh2kolq5nbzGDTBuEGNCqv3ido6r1MMy4XuVFGMo4800kGHVG+akE3 58qyQfZ7rM3p2gwRzi5n/aM= X-Google-Smtp-Source: AMrXdXtBQxGbRi8Ehpvc5sEDSQlXoeOpxgaA6jg4Q7sf1mOQCx30hV1/DsmQmeMGEqQ8njgZCK0WLw== X-Received: by 2002:a05:600c:1d17:b0:3cf:a343:9a28 with SMTP id l23-20020a05600c1d1700b003cfa3439a28mr2014249wms.186.1674637339801; 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-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 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; 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 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 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-Original-Sender: tobias.schaffner@siemens.com X-Original-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 Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= 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