From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7192512605249863680 X-Received: by 2002:a05:6512:318e:b0:4ce:7fa4:1f3 with SMTP id i14-20020a056512318e00b004ce7fa401f3mr3939065lfe.638.1674654286482; Wed, 25 Jan 2023 05:44:46 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:2082:b0:4d1:8575:2d31 with SMTP id t2-20020a056512208200b004d185752d31ls9507154lfr.0.-pod-prod-gmail; Wed, 25 Jan 2023 05:44:45 -0800 (PST) X-Google-Smtp-Source: AMrXdXvQvxKRhHgZVPICN2YOSUdLqcZ0qTJ8+UHYNWjqxBZRC6+5F839WMRDbkMoLFrd735ikgqm X-Received: by 2002:ac2:5143:0:b0:4a4:68b7:deab with SMTP id q3-20020ac25143000000b004a468b7deabmr10638615lfd.7.1674654285133; Wed, 25 Jan 2023 05:44:45 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1674654285; cv=pass; d=google.com; s=arc-20160816; b=DP46s2OTJwQT3B9+8FF4csZ1xwOEKhLvYW+3rVZeFRIU6XZTpxPlSfG+J7HDR33+NO gjyCFXQA17HyBG38Qwa54tvaFe+yLGZnDOHCj8xLEI8EZnL6f6ztGcef/8oLVm1vUawD QatGfnVxn2htW815EjulRyowjYNqU04EtCfQlacz4zCRnsVTHEHywof+IQ6b2hCHRPeX /NpnzI+Zsq1bwaz6a+mj9MTDPmEFsL2olwL+1GkruR30XJMMVDTFlYGYmxTiTCGXyRwS fglK+5Syn3vsFX3HcbWkYWmsSQIjqAYneKrvSKD1tHEZQrwZxcZMyIwW5R6RpfwljKnZ R//A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:in-reply-to:organization :from:references:cc:to:content-language:subject:user-agent:date :message-id:dkim-signature; bh=pdvNvAeeQULJHXwXd8V4Aevu3dqnhLzJribPlD3hJoA=; b=cY5yBytbmXOx5pjVKrZ8XjEqHj20WmH9em17fBa49heyeJQgUSVo2gKyhDof0uszKQ A6aNCPPFmp8Pd14N07KetCGHdNGy1VyhVPuWZrAp17OlzoWI2aFAfcCZo5uKL3DLmu8s K+aIwZbEUk7CVAQJzWelFGGHm1o/XRCrkpq0RQGws9jYSmCEP6QjpHuPg3d65oJzS8iZ GCuWhd2TjdMrxKujOVVRHlGZPyE2KyxoZwYMjNDKG5hEZb+6UKuf/ZxdkyQ95pYLPc6Q vq89psy/m+2uNjeq3QNZvwg1Tg6nfvLorBw4WMyO/pECDwzaR5Zi3HeQ8+G1OPiqI2Rr NQkg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=TJ4p03xF; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of quirin.gylstorff@siemens.com designates 40.107.21.89 as permitted sender) smtp.mailfrom=quirin.gylstorff@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2089.outbound.protection.outlook.com. [40.107.21.89]) by gmr-mx.google.com with ESMTPS id m3-20020ac24283000000b004d579451cc2si257931lfh.12.2023.01.25.05.44.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jan 2023 05:44:45 -0800 (PST) Received-SPF: pass (google.com: domain of quirin.gylstorff@siemens.com designates 40.107.21.89 as permitted sender) client-ip=40.107.21.89; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=TJ4p03xF; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of quirin.gylstorff@siemens.com designates 40.107.21.89 as permitted sender) smtp.mailfrom=quirin.gylstorff@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=mtFgZTpcNkiT6yr/MpHpQurlemiYrCaM5TICequkt+NlkMuz6+f0fgz3sAYMNnJOcT6T0lnc/hvbYG8nHP5FKmkOEi+SGgr4OgAFq2s8NgdEXpZPkHaiKBlFKvogoq7cU2gQyodpGUvf7wLoOIU13anYs1w5antbf54fiGvSt5bCFg23sMTL6zYVJFVjDtIW63dVfuf7zWinDpnGVRqX3w38OQvxNO5ryEG51eq4oWPg2lis024NY7v2j7dBgGPdKAWkXt0cZAr9Mktc0b6tMFDoF5SmZ8Uh3Tk8+/ofLeB88x2gIry0IlbIWwGyre/cLAfVe+YWOGJpAX5kQjVGuA== 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=pdvNvAeeQULJHXwXd8V4Aevu3dqnhLzJribPlD3hJoA=; b=Qd83rHscfn5ig8a/USA7S94R1dWHI5XJG0vxFIuuicwom8r2y5cYuBTgezBTPBCEav0cJboTLS0MVOd0fpZAXHi+mGgtlQvyaAvkkXb+gRbMoY1tkfPB6i3HQH3u0M89Njs/IeWOIJuROGkWFPYdwc8ZCyIxAXlMvrcGTECrrlMMcODE1M9r7ifjgIqjoaNFTYM8AuBZWvfVwP77d62MI9mUIKbzaDxzqQpRM1Xn+93lip5uW8D4/0vJ7H5qXcb94LTvM6aREIo4u8EL31ALbX3t0FFVfYy04qg4vfqodTCERLKs0e0FQ5NZI9DkI+E6VdcnO8mRYJy9GtfsnEPotQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; 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=pdvNvAeeQULJHXwXd8V4Aevu3dqnhLzJribPlD3hJoA=; b=TJ4p03xFexRdSxwpbM9VseK41+v2sbyavl2QJsCWpfYZ6rHtwvJYVlrLvq5wIkGX2gFWmOK/oz72gq1ZzMKrvV1N1ix3fvPq4h6uw/leUo5n0j4t9qZsTCeNOapTBiSzs/Sv4mGJ6AzzKRlhRYq2BYqtNFgmVai2/pIaMUaCr61XEqIt8xDD6BiwsEYVkPT6b8fAtQtgHnjhgg4Vilsr3ewhqJYe/pDOXxpU8/QgBmZbDsdbQHetuzoQ30MIFF9J8ksYDQ0TKQEkYXZOzYBSqmZDGJNPzkDstQ3lLuRYwqxDwAf/a4QW6pqpDRh+TH8JZGSBu/8DhO7XBjMmo1HHtQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:1f9::22) by AS4PR10MB7616.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4bb::12) 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 13:44:43 +0000 Received: from AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM ([fe80::793f:57e:21e9:3741]) by AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM ([fe80::793f:57e:21e9:3741%3]) with mapi id 15.20.6002.033; Wed, 25 Jan 2023 13:44:43 +0000 Message-ID: Date: Wed, 25 Jan 2023 14:44:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH 0/5] allow creation of users/groups before rootfs creation Content-Language: en-US, de-DE To: Henning Schild , "T. Schaffner" Cc: isar-users@googlegroups.com, michael.adler@siemens.com References: <20230125090156.284309-1-tobias.schaffner@siemens.com> <20230125142901.597613d7@md1za8fc.ad001.siemens.net> From: Gylstorff Quirin Organization: Siemens In-Reply-To: <20230125142901.597613d7@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0176.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9f::14) To AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:1f9::22) Return-Path: quirin.gylstorff@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4085:EE_|AS4PR10MB7616:EE_ X-MS-Office365-Filtering-Correlation-Id: ad45e71e-0a37-4c1e-897b-08dafeda5067 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UdTYVYGV+k0F+htr/lWAmWC2cRHxo51bCu2Q9O5Gf7GDQuwzF08Nq+mt7HeQGxy9ksACDFhQ5Ohu7hMh9dsg54XjaYqGiZ94gcvGW0P4hulX/IQv4jaMIN24UigcgFxYnuK6peD8fQeVqjJ4DRiuX3AL1BGaRNH3TAqvep0qUUdF15VTewWN6Jl25qGIXSCQrd536cM0XJNEtgVYDTQhASCOXJm1Yo+h4CblU0Cl/ywjOH35Um/vjvvs3DJijJnl89gJazT7Uf+dDr7JsFNzmgGJ2yJQUp88gvJInUQt0umER0Y/xjF26DHyNuStvBVe4RTTxOp/o5UfnUGu2yM67Gnj54KEWlgSniNtuxPv/wvJfhpIUXLoPgQKOxYwrFK3ZgVyfhMznUMTyacot7gq+n6AcRaqer7qjy9HeqN8A/YSWy30MoerT/mhXUCowvtuI6X8bGNMn65Jw8Uf0/Cb/HQvxeJCjbk2PdC1swJ6vmLcqMgNen9EUR47tVD05VWJlrmaeIVz7pyi7kCfCKzd6vWmeRwtSnG+b4XFOFsSoOV+fDQiZml08KD+PWf1fPW9Rs8CqhwVJkYSG076ge+itfFU/0sI+k9Sf1YQB+LN7qYewQfyGSgOOonzBhCNK6GBPfuDvWUltBy2fHxZ6LgznRA3IK4pvz26W+dc24c+0Rbaef+DDPhGsdpOlo2w0G+nJcIi06lzkL1hni+SYHuBJZR5iXwVJ6JaieY0vR2cePk8a1/Iw+/ir4R0tPHiNcl//ysUatLPb2hOjaVxoHphog== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(136003)(346002)(396003)(39860400002)(366004)(451199018)(110136005)(53546011)(26005)(186003)(6506007)(36756003)(2906002)(38100700002)(82960400001)(31696002)(966005)(6486002)(36916002)(8936002)(5660300002)(86362001)(41300700001)(31686004)(6512007)(316002)(6636002)(2616005)(478600001)(107886003)(4326008)(66946007)(66476007)(66556008)(8676002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S0NXUS92ejB6eWJGZE1ZUGh5bjNWVVlHRUhTSnVEOTdNd0hXK1lxUVg5UWNE?= =?utf-8?B?QmYrbWVKSGdaZFMySUV2QXJSZFFKWkdBRXJ5RHRUazkyZmhta3lMajhCTUMy?= =?utf-8?B?Smx5MTdmTDBGa1ZmQUVWVXFrRmN1TjJaaC9NdTFqYXN5dGhLSmJoY0syRjRm?= =?utf-8?B?cDBrbXFoNWlFY3FtT3FLVUwxdHlhcVNtd051UTMxTWdzRkdJajRqNHZjYjNk?= =?utf-8?B?UVZPZWgrY3ZDWlc4QldDeU5QNWF1VkdMMVcwZXBhMHhoRERHL2w4TGYwQXM1?= =?utf-8?B?UElaZEIzSjFWMTVDMWh6UVhWdmkyWUVDWFRiZ2c1REVlKzdDS0ZnbE5HQ3d2?= =?utf-8?B?WWVlRnZ1RW5CSGwzcHJ1MFlpamkwUHliTHozeCthUStEN0cvd3JJMURsdGdY?= =?utf-8?B?cGVvcXBodlFoR2M0V09RVlJMblJFQU1MbHVLeC9PNU9CUUVHQUZnbjZZUHFj?= =?utf-8?B?UFhLQ1l2eWdBUExDMUZkamV0RHFvZUcxYjNxcnpuMng4eU5FTkQ3dCtDanBD?= =?utf-8?B?WHJBOWM1bytNTWVld2hwNkFodDlvZFZNRkthcFk1cjJPcnpmL1M3MW9McXN4?= =?utf-8?B?ZDU5Rzd5TUtEclgrY0JCVFdBSjZyVzllRmRiZ2VwZTc4VG5FdDBOMUU2V3BB?= =?utf-8?B?YjBSdnZPQzB0U0VZVzRHRHpVbnUvT1FFR00xTGpEQ05YTzdQNjFnLzdYc1pp?= =?utf-8?B?RVVjU3ZNRWJhTzFuTG5PdHpYeFVoTjQzbDRvUHhuSWtIRCt5UDVXUktaeW5z?= =?utf-8?B?cHg5enBRMktUeEZlanpCZTVNcHVwdWIzNDlQTXQvNWFVellMZmlHOStCN2Zy?= =?utf-8?B?K1ByalUyZDk0ZHNjK2Rad3hxSkhSZHRCUFltMmhmRzFHMEtMVDRDYlZtR2xM?= =?utf-8?B?L0pXb1lQaDJObkFySUF2bnhFK1Z1QktxdEVZdVByUUYwYTVKMnJYOFltSXpF?= =?utf-8?B?aFg3OHpBalprS25aZmxoTEU4ZkpOcXE3WitUZlphWGg2RXBXa3Y5YzA4b0NL?= =?utf-8?B?WkkyZVdGT0pJTFVlQzNXY3pJMUFTcXdNeUJiVTVFK0JQcG9yc2F1SnFYek5n?= =?utf-8?B?bk5KU2xzbW1XVDMwYzZvQkRkdmQzbDdMdUxqcXZ5OFVTOC95MVMyL0hyY3Ez?= =?utf-8?B?RElES0tiTmdyaHhEUmNwUTZ1WmVrd05nSVJ0cXBwb1BqU1dzNmVyWXc0Vzkz?= =?utf-8?B?WDB2WTFiS1R1eStSR1A0Q2N5Unhnb0JWNWR1S2lRREduendXY2JNOW1VVXhB?= =?utf-8?B?eGU1d09zanFjcTkxd0p4Wjc0Q3Z3ZWVRSFhsWG9jWit4d1ZGWFJtZnhTVUd3?= =?utf-8?B?YVk0dE01NkpqTUpSY0lYaXZZT0hsVjl0a2psM1VQazBEa3hhc2ozcmRxbFNn?= =?utf-8?B?UlJJNXdTL1c1RmdkUUdLcWNiZEoxT0c2TkxqME9SQlo0eThnb0FmT2JBUndG?= =?utf-8?B?R0VHMzhMMExMSDgxSitkbFZmTjg3K01QNWhkNTA1aWQzdDloUWNZejl5Vnlz?= =?utf-8?B?TEdXR3F6T2hmUVdoWXJURDRPUG5FR1k1dEQyQUJIZXVBZUY2cGNLeDVUL0sr?= =?utf-8?B?Skw3aGF2VG5VVFhWMjlPM0NaZ21kRFVobkVFV2ZKQWgvUEt5aStCbG1YbE9s?= =?utf-8?B?RS9NYW1hUksxR0dmdVNYaVhIUklsMWtFblljK3FVdFJXM3F4RFpSOXdWbUVY?= =?utf-8?B?ajlGbzkrWXZKSHY2OVNzczdISlBKUHA0UG1VL3pwZURJRlgwK2dIVCtsWFh4?= =?utf-8?B?eFFGL1dLOTc3STNTaVB4VG9rMkxjVCtlY2EySTYvMGR4ODQ4czMrVzd3bFhX?= =?utf-8?B?eHNqMEFlQjVTQzVTS21vTTZSZ05aS3Mwa0VCbm15QnB0ZThlSnVkWDR4bTVC?= =?utf-8?B?TnBUNDk0ZmY3eUNuOEtadmx3bXBRNDZlYndKb0tFY3JwMG1zenAvMzV0c3N2?= =?utf-8?B?Wk9RSGlDSlZjL1JZdjQ2dFE1Ync4TUVMeXNwYmdFajBkVWRRVWkwSnZyYVpZ?= =?utf-8?B?ZFQzREpLalZ5SCtoVzJUWlNmZWdWbkNkMnFkNkdSUmtpZXFpWjNsYXFVS3lJ?= =?utf-8?B?ajlNNzRqMGh5QXYvelFmakwwS0lVSkZ3cjM0Z3lyWG1PZ0ZBcEZMWkg1cjF3?= =?utf-8?B?SnFpTTluVEJZY1RRUWZ0MWpZZ2gvTDF5aEg5VnNBRTdaV0pyS1V1YitPSFZi?= =?utf-8?Q?emYIJv3fFu1dJDfOLlyf7jY=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad45e71e-0a37-4c1e-897b-08dafeda5067 X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4085.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2023 13:44:43.7571 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fKG92n46XtQYf3b4sQULumxMPbq+ZqUGOFS6anpU+nugUJ7deWJV7qgnF1PlNDNmTWi3Uq3/1fO4nlaJfOcV9OYxswgd3jAMHZTwsepoV5U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB7616 X-TUID: BMG6c4C+4kwB On 1/25/23 14:29, Henning Schild wrote: > Am Wed, 25 Jan 2023 10:01:51 +0100 > schrieb "T. Schaffner" : > >> 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. > > While i do understand the reason i am not sure how relevant that is. > Why would anything only function with a fixed ID? Whoever provided that > thing should maybe fix it. Specific IDs are necessary for Updating an A/B rootfs system with a persistent partition. In this case you do not want to change any IDs as this can lead to wrong file permissions. > > So i am willing to say that this is super-niche! And it deserves a > niche-solution in its layer, not a feature in Isar. > > You could hook in a task between bootstrap and image_install. Or you > could rebuild a bootstrap package to have reserved ids. You could run > "the thing" in namespaces ... > > So is that really relevant? Please go into detail. > > Whatever happens i think the python rewrite is cool. But the code may > have been coming/inspired from OE ... in which case it would not be > cool, because it would fork away further. OE uses a complete different implementation than to original: https://git.openembedded.org/openembedded-core/tree/meta/classes/useradd.bbclass see also: https://git.openembedded.org/openembedded-core/tree/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb Quirin > > Henning > >> 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 >> >