From patchwork Fri Nov 24 14:10:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joakim Tjernlund X-Patchwork-Id: 35174 X-Patchwork-Delegate: steve@sakoman.com 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 023ACC61D97 for ; Fri, 24 Nov 2023 14:11:18 +0000 (UTC) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (NAM04-DM6-obe.outbound.protection.outlook.com [40.107.102.60]) by mx.groups.io with SMTP id smtpd.web11.137919.1700835075557546388 for ; Fri, 24 Nov 2023 06:11:15 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@infinera.com header.s=selector1 header.b=EpCFVBTt; spf=pass (domain: infinera.com, ip: 40.107.102.60, mailfrom: joakim.tjernlund@infinera.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g46R6O3JJTJeM1BEwwz9AyhFEiWFg7NPapIwABAG2CqXKlIjMlGOo1+ZXWPHIzratSQJn6h93VlbwVipR1YUwKeKOQrTvvzR1nJp9v6DGG4OdDWLF+bcuasqLrMwc5AbPOpTwqvfzeHMEXpsVuRVbT9MeFuy9fWbmBTzkLJybjYozx7mCAPJUwmGhM7ofOewFsfbClLvb+ARnkvBmO1ZL32kXYejwdxJ752bcT542K69MgMMgQksEszfh7y93np4LOWhmrmf23JK07qqoO7I/zgwEZ65Zs805l+rvtQIF/o6pJvRPiDaFtvHzBhLHjGL1U1NZtR1R3RVsA5EKhR4Xg== 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=PwknF0Mh52+30C3/xH+86OSdTsE8LHsdSTnGkzE/Q4Y=; b=EeWIBZ19TulThtBfz4qmKhKmDLhoPLJeBr6xsWfqvRzmnZ4fmc2NVLcMZCVCpl2GU+9Wc2KdP6c+EuUuDfIY5YNK86mkRLXuFquaCjYL+npjhy+AXXUkvkuNmfJqndYUaK41QM4AA6Fn4vvOVk017nNXoxL/Ud/mW2IfXiFjhH5Dn3CT4d3wKTl42heI4pTbQ9p0ESVTk3qYh5UTKczDMHCriGGsDgT52TxeaeA6NPrVqe7iupPEf7qaCycDsPWUGIlDPkDeWoLz9yNcM1z6mTXLNR6IdJTXwJkzliGm0MuSOH7X0qaG2fe/1MAnK0Uc+mmwgJQXoGwYmCanDm2nIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 8.4.225.30) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=infinera.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=infinera.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infinera.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PwknF0Mh52+30C3/xH+86OSdTsE8LHsdSTnGkzE/Q4Y=; b=EpCFVBTtNhUCif2pZLPwsl++dHuSRQIuTgSpbe7pkhSddtILRC/73AHGQZG3hmBKY243mgH/dYEv1DldktgEs+slT1XAIqrhIc85bB/yma4+Pz92nVU66JFfYL/kE098sU9CEtEO3ry49QZ9z5VfR2Js9ZpHZ7Rcs1VvIYVhRmf6KiZ0w/5ap/zEAdqF1EcOuWX8cfvoB1LdUbuaLjf9ILF1mSxZz3w2ln04NIhs4piOCrgYFzulCXqDjicYcaP8b60yu3bOS/pbGt0k8JeMD7/dPZ2EEEcdaQuoT2OWndPSbIK7ruqFr6t31KW6wyTWShmTJ3GWNOVuR3iB8M/FDw== Received: from SN7PR04CA0099.namprd04.prod.outlook.com (2603:10b6:806:122::14) by DM8PR10MB5398.namprd10.prod.outlook.com (2603:10b6:8:38::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov 2023 14:11:13 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:806:122:cafe::75) by SN7PR04CA0099.outlook.office365.com (2603:10b6:806:122::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend Transport; Fri, 24 Nov 2023 14:11:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 8.4.225.30) smtp.mailfrom=infinera.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=infinera.com; Received-SPF: Pass (protection.outlook.com: domain of infinera.com designates 8.4.225.30 as permitted sender) receiver=protection.outlook.com; client-ip=8.4.225.30; helo=owa.infinera.com; pr=C Received: from owa.infinera.com (8.4.225.30) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 14:11:13 +0000 Received: from sv-ex16-prd.infinera.com (10.100.96.229) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 24 Nov 2023 06:11:12 -0800 Received: from sv-smtp-prod3.infinera.com (10.100.98.58) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server id 15.1.2507.6 via Frontend Transport; Fri, 24 Nov 2023 06:11:12 -0800 Received: from se-metroit-prd1.infinera.com ([10.210.32.58]) by sv-smtp-prod3.infinera.com with Microsoft SMTPSVC(8.5.9600.16384); Fri, 24 Nov 2023 06:11:12 -0800 Received: from gentoo-jocke.infinera.com (gentoo-jocke.infinera.com [10.210.71.73]) by se-metroit-prd1.infinera.com (Postfix) with ESMTP id CF5A32C06D80 for ; Fri, 24 Nov 2023 15:11:11 +0100 (CET) Received: by gentoo-jocke.infinera.com (Postfix, from userid 1001) id CDCED41DEBD0; Fri, 24 Nov 2023 15:11:11 +0100 (CET) From: Joakim Tjernlund To: CC: Joakim Tjernlund Subject: [kirkstone][PATCH 1/4] [meta classes] sed -i destroys symlinks Date: Fri, 24 Nov 2023 15:10:50 +0100 Message-ID: <20231124141108.1397342-2-joakim.tjernlund@infinera.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> References: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> MIME-Version: 1.0 X-OriginalArrivalTime: 24 Nov 2023 14:11:12.0711 (UTC) FILETIME=[148C7D70:01DA1EE0] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|DM8PR10MB5398:EE_ X-MS-Office365-Filtering-Correlation-Id: ef90b1d4-baed-4b68-999c-08dbecf73754 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L9ivcJLWtby0uA3R9q6aMj/bbXZ866MIVEY2Fi1RJqvO/Cp4ONsj9gaicwbBIAMuF/ljUO5xgkUua93E4iFgE3VfiqJiga8CbDpZfzKKEh61y51s7TruJ0vPy9isUP73CueXO9q7CgR/EpVK4dRmP1OvC6RFbROjLpEe63JrwlDYp1t1M1jltTi2VjlUQSKHftganNszq5UpA2uW6gR3mEXwMiUeOXNDGeUIb/A+kCgIJdEJNF1Ju+D6FQfsF85NwKUfLOkJ3e/IYSV0BSPwO3l/oOAg1Wg3NU3+s4WDw73scAuiaed5qU0ytLOD4ml1P92rO/2fKkrlAcjvdO3v8JsTNkMAGzskL2EQTOnGymkQW6Yg0s23akZSC6dqpVIiyuAU65Akno4Xzt//kesgtV65LM13LxoMYh2lxspIK0gqh4nrw3MZgxTEu0GZ4EWIfR1t3fYelpK3h42G4hOffkXMe7XoTRP+RsIhW/+SlLeX74I8Acb7B9L7BhOpU8DFcj6kXQ6uBpJPtjvw48zP5aPUtP9DDJSh4nvKJNKruBXvppv0SkxOQDFBLzfoeD/FuxSU/SWU9O7eHOuKklQ38yjq4dD7qh1t28xTPwPeTOfobzXC+OQlPQ8fd6VBe7WZQ0skwiducfaREnAMf46HP3DsGXruHH9vqWXrTnVFuu2sLWRCgD+bh0t5mo68vRic61I/GSU83KhiP7wYikj7mOHrUddQDdJ7g+4N/06A48jRXnj7fuZoUSgV5ShD/VlF X-Forefront-Antispam-Report: CIP:8.4.225.30;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:owa.infinera.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(376002)(39850400004)(396003)(346002)(230922051799003)(186009)(82310400011)(451199024)(64100799003)(1800799012)(36840700001)(46966006)(316002)(6916009)(42186006)(83380400001)(44832011)(47076005)(36860700001)(4326008)(8676002)(8936002)(5660300002)(478600001)(82740400003)(36756003)(41300700001)(40480700001)(2616005)(356005)(81166007)(6666004)(107886003)(86362001)(1076003)(26005)(6266002)(70586007)(70206006)(336012)(426003)(2906002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: infinera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 14:11:13.1488 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef90b1d4-baed-4b68-999c-08dbecf73754 X-MS-Exchange-CrossTenant-Id: 285643de-5f5b-4b03-a153-0ae2dc8aaf77 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=285643de-5f5b-4b03-a153-0ae2dc8aaf77;Ip=[8.4.225.30];Helo=[owa.infinera.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR10MB5398 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 ; Fri, 24 Nov 2023 14:11:18 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191197 If /etc/passwd is a symlink, sed -i on same file will replace the symlink with a new file. Prevent that by adding --follow-symlinks option to sed Signed-off-by: Joakim Tjernlund --- meta/classes/rootfs-postcommands.bbclass | 4 ++-- meta/classes/useradd_base.bbclass | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index 5c0b3ec37c..993262dd0c 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass @@ -148,10 +148,10 @@ read_only_rootfs_hook () { # zap_empty_root_password () { if [ -e ${IMAGE_ROOTFS}/etc/shadow ]; then - sed -i 's%^root::%root:*:%' ${IMAGE_ROOTFS}/etc/shadow + sed --follow-symlinks -i 's%^root::%root:*:%' ${IMAGE_ROOTFS}/etc/shadow fi if [ -e ${IMAGE_ROOTFS}/etc/passwd ]; then - sed -i 's%^root::%root:*:%' ${IMAGE_ROOTFS}/etc/passwd + sed --follow-symlinks -i 's%^root::%root:*:%' ${IMAGE_ROOTFS}/etc/passwd fi } diff --git a/meta/classes/useradd_base.bbclass b/meta/classes/useradd_base.bbclass index 7f5b9b7219..da47311e84 100644 --- a/meta/classes/useradd_base.bbclass +++ b/meta/classes/useradd_base.bbclass @@ -154,7 +154,7 @@ perform_passwd_expire () { local username=`echo "$opts" | awk '{ print $NF }'` local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`" if test "x$user_exists" != "x"; then - eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO sed -i \''s/^\('$username':[^:]*\):[^:]*:/\1:0:/'\' $rootdir/etc/shadow \" || true + eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO sed --follow-symlinks -i \''s/^\('$username':[^:]*\):[^:]*:/\1:0:/'\' $rootdir/etc/shadow \" || true local passwd_lastchanged="`grep "^$username:" $rootdir/etc/shadow | cut -d: -f3`" if test "x$passwd_lastchanged" != "x0"; then bbfatal "${PN}: passwd --expire operation did not succeed." From patchwork Fri Nov 24 14:10:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joakim Tjernlund X-Patchwork-Id: 35175 X-Patchwork-Delegate: steve@sakoman.com 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 092F1C624B4 for ; Fri, 24 Nov 2023 14:11:28 +0000 (UTC) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.64]) by mx.groups.io with SMTP id smtpd.web10.137777.1700835077773955992 for ; Fri, 24 Nov 2023 06:11:18 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@infinera.com header.s=selector1 header.b=Gpm1/eVC; spf=pass (domain: infinera.com, ip: 40.107.92.64, mailfrom: joakim.tjernlund@infinera.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=heXBTWXQIPRTdog+pAEPkCgKX8N1tRnr76SXUP4wZ5rFgVHUN4KJIyexzXQH9BYSjo1Cg5Ul5BQBWHYY8lIbEkL8gVpRZwoTliXefXp1o+BS189afCRT1U3VQnTEgWtvZ/BntNn6ZZRn0Q4v+qcrwxFfNTPwTZ8Kz6SFRmAWNt+zKpwT0l8dhhFP7jaIx6xUUgzBY2TeyApaf1o1MVEssp94P/44INvAoC+SE9hXimqYO37WNIkcatMVt5jBbYQLlquzzJO4a04ZM2Xi/G1UC3sWeHwhcsDgWwGmb7cjH6hRqmEX0T1CF1PwNR0czPpUH9Oi2j/mIHs3K1DzFt0hpg== 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=wF4rCN5qOM2LapRa2BNt7X7ofq+40Cua1WlH0Oz3C8Y=; b=TIP2PZmUW5elEtgY32kegAsH1mHOn3baHjVwe+Vd1s3kzS5+gVIk7u5Mcwl1HpZ/tmAwiyBzj34TlFieb1Py6MkerbINgSowQIxTlz5KutstdpjJ9vdOmXk1rBDmULwtqA4aLeCsC8C1/bx9u4McJOptAPiiuFwOrbDXrfijVk0KPRSqf7+C9SDmsugSMpWjfwysVKdrGakbGKF5OgnN5cZfd98EbaVXcYcQ8ZXJiPgVaC+Xgush1HUalMwDP/4hRJco/8O91A/eUSGtA/V6wqdZ5SnsauoWY+BLr49mCovL7Q3/ilqFjDqaBFx/Ua7RRKuTN7QsS6lcviGaCKu0cQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 8.4.225.30) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=infinera.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=infinera.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infinera.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wF4rCN5qOM2LapRa2BNt7X7ofq+40Cua1WlH0Oz3C8Y=; b=Gpm1/eVCCAi7R3JpWnxg+1zbcXmohKBmuA8nUpV86s0lOsMq/d3nf+s/wy/CMJJMTmcbPkPVTAUWhqjO7gNwMGwkK6JU01Xe8UnbsnyhTP5LrdmYyVFG7q5UvkvvlKRupsXxifx3L38bTPl6HQxkpDXlk4IpByN2ALLc11Y6+CEOItbABDtMsTj7exQJ14/0NW2FRpINY/mr/OjFQtf1sHcwEC5AA2XpUFj0fRQRrOZHijd9/LQ/Bd5dbI6dg6jPOf+BHI0Wz9h08iGd1yvPnZhiY8zua8cXvSlJwXH8mDZYvRT1+oJWVYAwd4KoitF+clZmhYis4vuIkz2n3i9SSw== Received: from SA0PR11CA0210.namprd11.prod.outlook.com (2603:10b6:806:1bc::35) by DS7PR10MB7189.namprd10.prod.outlook.com (2603:10b6:8:ea::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov 2023 14:11:15 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:1bc:cafe::8b) by SA0PR11CA0210.outlook.office365.com (2603:10b6:806:1bc::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend Transport; Fri, 24 Nov 2023 14:11:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 8.4.225.30) smtp.mailfrom=infinera.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=infinera.com; Received-SPF: Pass (protection.outlook.com: domain of infinera.com designates 8.4.225.30 as permitted sender) receiver=protection.outlook.com; client-ip=8.4.225.30; helo=owa.infinera.com; pr=C Received: from owa.infinera.com (8.4.225.30) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 14:11:14 +0000 Received: from sv-ex16-prd.infinera.com (10.100.96.229) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 24 Nov 2023 06:11:13 -0800 Received: from sv-smtp-prod3.infinera.com (10.100.98.58) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server id 15.1.2507.6 via Frontend Transport; Fri, 24 Nov 2023 06:11:13 -0800 Received: from se-metroit-prd1.infinera.com ([10.210.32.58]) by sv-smtp-prod3.infinera.com with Microsoft SMTPSVC(8.5.9600.16384); Fri, 24 Nov 2023 06:11:13 -0800 Received: from gentoo-jocke.infinera.com (gentoo-jocke.infinera.com [10.210.71.73]) by se-metroit-prd1.infinera.com (Postfix) with ESMTP id AD8992C06D83 for ; Fri, 24 Nov 2023 15:11:12 +0100 (CET) Received: by gentoo-jocke.infinera.com (Postfix, from userid 1001) id ACC4941DEBD0; Fri, 24 Nov 2023 15:11:12 +0100 (CET) From: Joakim Tjernlund To: CC: Joakim Tjernlund Subject: [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR Date: Fri, 24 Nov 2023 15:10:51 +0100 Message-ID: <20231124141108.1397342-3-joakim.tjernlund@infinera.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> References: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> MIME-Version: 1.0 X-OriginalArrivalTime: 24 Nov 2023 14:11:13.0570 (UTC) FILETIME=[150F9020:01DA1EE0] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|DS7PR10MB7189:EE_ X-MS-Office365-Filtering-Correlation-Id: 940969d2-a396-490c-31b9-08dbecf73805 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Wp7/zFHUs6GPkNV2X0TH9FKX0LShmtUWA7WvSCWCVmiYDJ7gbX+HwD+wDZtB/S3tVBSipILvswCYexJVAHMNdBgWdmU2QZq93GcLzekCDh5g9T/xu11ijdOKl9/JYJuuixcJ5JCM4xCgYZvCGRroZEVLq/l2JFRVrCQcJSOaxhP0xJ1BvZc8HYK7pH6h/6CkufrGnUeRhpXZOvQ/b1dI0owPgO7g0WKdFE7u5nk4j3k0tWjpZzsUcT6QdBB236MVuhNisXx4OHUv+AiCSFdRTlOk8s1ejvd/u9ucrp0eFLQcxa1hqq/7RbVtm8Ks4EDnSHHRflOODeMwVzOIGPXpkXfCC7i1oE23Kj6pDw8T9M6gxyXH2XOPAXyNYJeS1vBraH968rW9ArtsEuQEmcg2ggmvIDCeNI4RGjkFSAroSDSeFBdbjhcUaveK+PP18pOsox2XQcyJtLkjaycd4+wPqTENJH/vajbd8iuRFtK9MsL74188W7J6vOQ5papaJUhq0ti0aKd54M3pm79TYJeQWo+vUT8Zpko2N6otMrJKyR7N26AOsAqmI1JomZpzg9zZr71WK6vOlGlNO9/Sai8Go1Dazg3z+Pfggjt2K0NaULT3hY/nS4k76qUOG3KgZzFxJKYlJJRg+B0737wEd7KEkxinBfaU+Qw+gBeNvexPEzRnnDKLsTqeFxR9QoXiZ4uSy4cqOg2Tm+1+9HL88W5uXtqR9n7r82P6bAt3zpYeYxY= X-Forefront-Antispam-Report: CIP:8.4.225.30;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:owa.infinera.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(39850400004)(396003)(346002)(376002)(230922051799003)(82310400011)(186009)(451199024)(64100799003)(1800799012)(46966006)(36840700001)(26005)(2616005)(6266002)(336012)(426003)(1076003)(478600001)(6666004)(36860700001)(5660300002)(107886003)(47076005)(8676002)(4326008)(8936002)(41300700001)(316002)(6916009)(44832011)(42186006)(83380400001)(70586007)(2906002)(70206006)(81166007)(36756003)(82740400003)(86362001)(356005)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: infinera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 14:11:14.3061 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 940969d2-a396-490c-31b9-08dbecf73805 X-MS-Exchange-CrossTenant-Id: 285643de-5f5b-4b03-a153-0ae2dc8aaf77 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=285643de-5f5b-4b03-a153-0ae2dc8aaf77;Ip=[8.4.225.30];Helo=[owa.infinera.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7189 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 ; Fri, 24 Nov 2023 14:11:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191198 Add support for creating passwd files in a /etc subdir Set PW_SUBIR to pwdb to get passwd files in /etc/pwdb Signed-off-by: Joakim Tjernlund --- .../base-passwd/base-passwd_3.5.29.bb | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb index ef7792ae49..e453be0763 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb @@ -20,6 +20,9 @@ SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421" SRC_URI[sha256sum] = "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36" +#Set PW_SUBDIR to pwdb to get passwd files in /etc/pwdb +PW_SUBDIR ?= "" + # the package is taken from launchpad; that source is static and goes stale # so we check the latest upstream from a directory that does get updated UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/" @@ -50,10 +53,11 @@ basepasswd_sysroot_postinst() { #!/bin/sh # Install passwd.master and group.master to sysconfdir -install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir} +install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR} for i in passwd group; do install -p -m 644 ${STAGING_DIR_TARGET}${datadir}/base-passwd/\$i.master \ - ${STAGING_DIR_TARGET}${sysconfdir}/\$i + ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}/\$i + [ -n "${PW_SUBDIR}" ] && ln -fs ${PW_SUBDIR}/\$i ${STAGING_DIR_TARGET}${sysconfdir}/\$i done # Run any useradd postinsts @@ -89,15 +93,19 @@ python populate_packages:prepend() { f.close() preinst = """#!/bin/sh -mkdir -p $D${sysconfdir} -if [ ! -e $D${sysconfdir}/passwd ]; then -\tcat << 'EOF' > $D${sysconfdir}/passwd +mkdir -p $D${sysconfdir}/${PW_SUBDIR} +if [ ! -e $D${sysconfdir}/${PW_SUBDIR}/passwd ]; then +\tcat << 'EOF' > $D${sysconfdir}/${PW_SUBDIR}/passwd """ + passwd + """EOF fi -if [ ! -e $D${sysconfdir}/group ]; then -\tcat << 'EOF' > $D${sysconfdir}/group +if [ ! -e $D${sysconfdir}/${PW_SUBDIR}/group ]; then +\tcat << 'EOF' > $D${sysconfdir}/${PW_SUBDIR}/group """ + group + """EOF fi +if [ -n "${PW_SUBDIR}" ]; then +ln -fs ${PW_SUBDIR}/passwd $D${sysconfdir}/passwd +ln -fs ${PW_SUBDIR}/group $D${sysconfdir}/group +fi """ d.setVar(d.expand('pkg_preinst:${PN}'), preinst) } @@ -114,5 +122,5 @@ pkg_postinst:${PN}-update () { if [ -n "$D" ]; then exit 0 fi -${sbindir}/update-passwd +${sbindir}/update-passwd -P /etc/${PW_SUBDIR}/passwd -S /etc/${PW_SUBDIR}/shadow -G /etc/${PW_SUBDIR}/group } From patchwork Fri Nov 24 14:10:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joakim Tjernlund X-Patchwork-Id: 35177 X-Patchwork-Delegate: steve@sakoman.com 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 10295C61DF4 for ; Fri, 24 Nov 2023 14:11:28 +0000 (UTC) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.70]) by mx.groups.io with SMTP id smtpd.web11.137921.1700835079479316384 for ; Fri, 24 Nov 2023 06:11:19 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@infinera.com header.s=selector1 header.b=P7CPj+e+; spf=pass (domain: infinera.com, ip: 40.107.101.70, mailfrom: joakim.tjernlund@infinera.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TIvrDNNQgvrJ9cZm1NRYx2UZUCQAZ/5tSqTULpxdUzjIUtBT3tLESnwgEnx70AgFpAVVuJWgGfj1bv4nwxn8Upw4kgNnuTsD7MaWMy8WCADuUKMSRDfCz4nNd+s5EZUxxKfF7/ye0TOqA/zGjITD4ZDfcpreJuClR93AIIyDydgCtYxClLVR/7Q+dlhmGFYGL4TYfKK09yfqi3eOt03WqE6vJ0nBviHi9ZVy3HpHFFccCJzbYsKIDnCiE4hY4rgL4iMUE6nqWuEd3WzG83wLH/2ACgbNDEWEFLknDKw5xkKwhMwOhxod9RtN+iW8sG729F4b/YAn0+YUZOuy/WVa6Q== 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=U0cu8aPddouhVFFnCamRgjJyovGnhgtMQg/Y5yZRAJU=; b=PtZ6Jtv0v3yExvi56e31bQu2AxkOnPzSSLbIRm+lBV/YMybZ7jAB08IvokHwOvmeETfAErkY/08OJl8OsBODZDoTM/VxUBzR89SZ7J+8qeHoldp8Hqk9kxiXoGTyFtlfS74EWZvT5KC8uGFLNE6RVNOZKib9rHDPpHZICUaE6BYL1H58vWnHgCxwfCfvZT616yAvEI14wA1yL6AjiIxebW+h3II5IIQKHvFvbONFpcwXv21nfQr6vQuwgcbTCqJoulSJi+Ov4X9nfKlvBQJ9s4u2EyjX5EiJE4fBokEfLwwHTKJzJVFWoXc+6OamoxefXu4I226qMClPcNr/dbAjlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 8.4.225.30) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=infinera.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=infinera.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infinera.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U0cu8aPddouhVFFnCamRgjJyovGnhgtMQg/Y5yZRAJU=; b=P7CPj+e+knH8u2WURLjMJVdAblBJNKF7OCTTSJiUPdEc6HQQhQY7hTcZ0i+LCRYAxyBkZmYu3MV/m2FrnxUvHmHCUiY77LiJcnZUqPwf2Fvu+XFZb9hHL7gSvejp2+4zv5wmvujg+BR8Jj7dgVkBNqZIwllc4hqu61udiy2ENPfk9EthRGRFvFyaIIc+aiyykP8ysK9JK3nkvORc2w7XJ9uX013QnWkpUMI8U/xis/BxlwX3kyKYK2h6TInrpZ9aIuDq6NMqbwYOWs3ARPR2NYnOzfnBbqLFHgpFbXnukp/QbAJzByqDGuvZ9Dyk563fKiJVzYTJ9Q2UW16gMdK8IQ== Received: from SA0PR11CA0208.namprd11.prod.outlook.com (2603:10b6:806:1bc::33) by CH3PR10MB7433.namprd10.prod.outlook.com (2603:10b6:610:157::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov 2023 14:11:16 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:1bc:cafe::f5) by SA0PR11CA0208.outlook.office365.com (2603:10b6:806:1bc::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend Transport; Fri, 24 Nov 2023 14:11:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 8.4.225.30) smtp.mailfrom=infinera.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=infinera.com; Received-SPF: Pass (protection.outlook.com: domain of infinera.com designates 8.4.225.30 as permitted sender) receiver=protection.outlook.com; client-ip=8.4.225.30; helo=owa.infinera.com; pr=C Received: from owa.infinera.com (8.4.225.30) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 14:11:15 +0000 Received: from sv-ex16-prd.infinera.com (10.100.96.229) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 24 Nov 2023 06:11:14 -0800 Received: from sv-smtp-prod3.infinera.com (10.100.98.58) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server id 15.1.2507.6 via Frontend Transport; Fri, 24 Nov 2023 06:11:14 -0800 Received: from se-metroit-prd1.infinera.com ([10.210.32.58]) by sv-smtp-prod3.infinera.com with Microsoft SMTPSVC(8.5.9600.16384); Fri, 24 Nov 2023 06:11:14 -0800 Received: from gentoo-jocke.infinera.com (gentoo-jocke.infinera.com [10.210.71.73]) by se-metroit-prd1.infinera.com (Postfix) with ESMTP id 893AE2C06D80 for ; Fri, 24 Nov 2023 15:11:13 +0100 (CET) Received: by gentoo-jocke.infinera.com (Postfix, from userid 1001) id 879B141DEBD0; Fri, 24 Nov 2023 15:11:13 +0100 (CET) From: Joakim Tjernlund To: CC: Joakim Tjernlund Subject: [kirkstone][PATCH 3/4] pseudo: Add PW_SUBDIR Date: Fri, 24 Nov 2023 15:10:52 +0100 Message-ID: <20231124141108.1397342-4-joakim.tjernlund@infinera.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> References: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> MIME-Version: 1.0 X-OriginalArrivalTime: 24 Nov 2023 14:11:14.0393 (UTC) FILETIME=[158D2490:01DA1EE0] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|CH3PR10MB7433:EE_ X-MS-Office365-Filtering-Correlation-Id: dd4c204b-7cbd-4eb5-da3d-08dbecf738cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YYGxdxBEea9VqMDYVY85z8v6oOYYuEavgK4rkVDkpPj/owKg09qivwA9bWbOMZ1e8QEisRYPXddqVvBNwwHJHXWCRFEUsJu7b03YSh/erXXElXyzV+yHrir7NxqEKbO71D//qlvIizbN/kFlMELgHQEOHosugw9zcam0sSZYHta3dHYlSPElRfjofPPXyC6kdjNiTe26ltj7P9fmG/SNLdtc63mseRu+XdEN4GfMNzBWjNeSKWtEIWpVdK5z1081guifaMWMVC+as6bVtyA71vsuMLozZo1IqxX8gDNMlYvxxzNsEyig09N+F9/GtoX8ssebn7QL5RDHzeC9Cgpdt4Qdt2gsUEH8BvJHNGGU5JDrUtKcODJa4XlbdU395E5B6xGymHlA1Z+laPBmuRJudNaxoFTaRXGo/nO5AuOydBcyyYKezaZWOfQBlKlnTvtIRaQZYfckLX8h5IoKuHcszvCOuxJc/Yw4gZg0oHXAHcOXkPaDtny6EZQm76y2JtlQGISiSQYY1oPOK7UhWa0ETXPJjxsVI5MfuQsHbPWcOL32Fnp419gR9BRKihVjJsnzfwQFUrjMi7xUMkfwrb5ywaRpB++9JErVQmpuVhiV6reucgF/tyS5D7KBjIF3pjgd3NrgSHkleZpjTvmQRDRf0HBqlfkirWtayniiJ/JGyfZt6xTG2p0w9jUlrYgoXaxQtIQ2ESAqmxWhI9j1N3BtYpBkGhPgzea6NDhuPYoFQMIW4y41tq2OjP/TjplmD2Pv X-Forefront-Antispam-Report: CIP:8.4.225.30;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:owa.infinera.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(376002)(39860400002)(136003)(346002)(396003)(230922051799003)(64100799003)(82310400011)(1800799012)(186009)(451199024)(36840700001)(46966006)(2616005)(107886003)(356005)(47076005)(81166007)(426003)(336012)(83380400001)(6266002)(82740400003)(26005)(40480700001)(1076003)(6666004)(478600001)(36860700001)(70586007)(70206006)(6916009)(42186006)(316002)(44832011)(86362001)(8676002)(2906002)(4326008)(5660300002)(8936002)(41300700001)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: infinera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 14:11:15.6342 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dd4c204b-7cbd-4eb5-da3d-08dbecf738cf X-MS-Exchange-CrossTenant-Id: 285643de-5f5b-4b03-a153-0ae2dc8aaf77 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=285643de-5f5b-4b03-a153-0ae2dc8aaf77;Ip=[8.4.225.30];Helo=[owa.infinera.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7433 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 ; Fri, 24 Nov 2023 14:11:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191199 Add support for creating passwd files in a /etc subdir Set PW_SUBIR to pwdb to get passwd files in /etc/pwdb Signed-off-by: Joakim Tjernlund --- meta/recipes-devtools/pseudo/pseudo.inc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 7e09b6d58c..7ba2e2261c 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -10,6 +10,9 @@ SECTION = "base" LICENSE = "LGPL-2.1-only" DEPENDS = "sqlite3 attr" +#Set PW_SUBDIR to pwdb to get passwd files in /etc/pwdb +PW_SUBDIR ?= "" + FILES:${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" INSANE_SKIP:${PN} += "libdir" INSANE_SKIP:${PN}-dbg += "libdir" @@ -131,10 +134,12 @@ do_install () { do_install:append:class-native () { chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/` - install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/${PW_SUBDIR} # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group + install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/${PW_SUBDIR}/passwd + [ -n "${PW_SUBDIR}" ] && ln -fs ${PW_SUBDIR}/passwd ${D}${sysconfdir}/passwd + install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/${PW_SUBDIR}/group + [ -n "${PW_SUBDIR}" ] && ln -fs ${PW_SUBDIR}/group ${D}${sysconfdir}/group # Two native/nativesdk entries below are the same # If necessary install for the alternative machine arch. This is only From patchwork Fri Nov 24 14:10:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joakim Tjernlund X-Patchwork-Id: 35176 X-Patchwork-Delegate: steve@sakoman.com 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 03374C61D97 for ; Fri, 24 Nov 2023 14:11:28 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.77]) by mx.groups.io with SMTP id smtpd.web10.137778.1700835081143381287 for ; Fri, 24 Nov 2023 06:11:22 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@infinera.com header.s=selector1 header.b=iGoMMICb; spf=pass (domain: infinera.com, ip: 40.107.220.77, mailfrom: joakim.tjernlund@infinera.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FSmJ1pJdU5c9XOF8ie8FcCmjtIKhzOG+ZPnH0mkVU618CgYjKjyZRaW8s/2UjFHH01qvTG5bGfAcwzRfo+Yol2vMvMKIwangdF1xiZ4lbpFOGR7oJL9m7STgIJFV95omLe6f3qU0oTxvF2pGM4J5VGzX3+jo3DsgsN9EOX54jgIYwDmzgX8qRY9ftK1l0yep5EURDfSrS0BqEJq7vbRV5HPYkt2H5cJLEX7hAB0SbRVD2eqf0bJPSGQq1HnAy32FYCEvyMextkKCJ9v2PuR4XPPij5bgHemqDezxtc2rw9yNpADE8H4uQP2RY0UTme6tlsFiVbqUa2eQRBO5bF4q3Q== 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=Yn5j/Q1S+m/nBrGOitYHgwBTbrBRuoOoumtj+UhdGtI=; b=W+BI+ij/WYKM2px1ghA34admTr9tU25qYpkHp3+cm0mW4lav2cxP/pRTjmSNMjdHcviNmHT4TeP1bzvgJTb2n8rkV9cemPMCtj20MFtTgWJWH6L/vqzhNZJbo+CtJLP4d48yElIu2MCJ1o6sKOsGCzNAvul4JozOfc/DR0c+3ceY6Sl4WmEQRbGiJ+KW9I0G/TGRUkGhXJr4Dk0VoHMpuHuBwnOiYoO89nouMYkp0QhCsNbo88Gb6zFYJ8Mj+z1ZFPd0KpQyPkLpbRZ55r7PnbsH9R4bUgAFLta636n7r5+xHsIOgHcaL+M2CDBaXdJHDGWjVnANlvuay/Fx/jqWkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 8.4.225.30) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=infinera.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=infinera.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infinera.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yn5j/Q1S+m/nBrGOitYHgwBTbrBRuoOoumtj+UhdGtI=; b=iGoMMICbyMk+GpudvORBamr9UgObEhcppRZsviOlrBUsbQpSURdFo5iVb4jncWfauSK1264iAp8HhQd5NJBw3DH/PZ+QlXyrwLwd90gVZGzFDgLxGoXddNGUY/9n/b6jAFkxihgZ1lwNavuFfwBQvUqQu4kJi/q2a8lfCfaSfXJCiEDqnyTbaOH7qw7IpUMyMBKr7LfoCnZ506n9b9HoVRW8jce02cvYi2nHUf2p1Wg9nWWQaemC+NsYj/PiZbt7kU5YTiZCw3EjXEAGO3o0cxPIBviSVGrHckJIHhAYT67WydccQ1AKXJD3OHsWgZPYJ7SQLfJE2QckHgRWXwYjuw== Received: from SA0PR11CA0206.namprd11.prod.outlook.com (2603:10b6:806:1bc::31) by CH0PR10MB5290.namprd10.prod.outlook.com (2603:10b6:610:dc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov 2023 14:11:16 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:1bc:cafe::98) by SA0PR11CA0206.outlook.office365.com (2603:10b6:806:1bc::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend Transport; Fri, 24 Nov 2023 14:11:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 8.4.225.30) smtp.mailfrom=infinera.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=infinera.com; Received-SPF: Pass (protection.outlook.com: domain of infinera.com designates 8.4.225.30 as permitted sender) receiver=protection.outlook.com; client-ip=8.4.225.30; helo=owa.infinera.com; pr=C Received: from owa.infinera.com (8.4.225.30) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 14:11:16 +0000 Received: from sv-ex16-prd.infinera.com (10.100.96.229) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 24 Nov 2023 06:11:15 -0800 Received: from sv-smtp-prod3.infinera.com (10.100.98.58) by sv-ex16-prd.infinera.com (10.100.96.229) with Microsoft SMTP Server id 15.1.2507.6 via Frontend Transport; Fri, 24 Nov 2023 06:11:15 -0800 Received: from se-metroit-prd1.infinera.com ([10.210.32.58]) by sv-smtp-prod3.infinera.com with Microsoft SMTPSVC(8.5.9600.16384); Fri, 24 Nov 2023 06:11:14 -0800 Received: from gentoo-jocke.infinera.com (gentoo-jocke.infinera.com [10.210.71.73]) by se-metroit-prd1.infinera.com (Postfix) with ESMTP id 5DBDF2C06D82 for ; Fri, 24 Nov 2023 15:11:14 +0100 (CET) Received: by gentoo-jocke.infinera.com (Postfix, from userid 1001) id 5C40541DEBD0; Fri, 24 Nov 2023 15:11:14 +0100 (CET) From: Joakim Tjernlund To: CC: Joakim Tjernlund Subject: [kirkstone][PATCH 4/4] shadow: Add PW_SUBDIR Date: Fri, 24 Nov 2023 15:10:53 +0100 Message-ID: <20231124141108.1397342-5-joakim.tjernlund@infinera.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> References: <20231124141108.1397342-1-joakim.tjernlund@infinera.com> MIME-Version: 1.0 X-OriginalArrivalTime: 24 Nov 2023 14:11:15.0232 (UTC) FILETIME=[160D2A00:01DA1EE0] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|CH0PR10MB5290:EE_ X-MS-Office365-Filtering-Correlation-Id: 5dc29e87-2d84-475d-fc38-08dbecf73952 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H+wwVWrSYHOTVHrYhQ9xqnjxXUiUAc5Ga7SBF3TBzHEKAFbNH8mpXQIAYP+07c21NsjruC28ZhsoQc3oM3+l1G/mLhOSJ1Mi/KCnAnnPd0wOGQBCqDLfawsm2CWXwf0iXxCx9Er+jzQjcM9C5H2GRFj5ug3luGSrA3dtVUUK1Q0/s7Z72pIn9cXQOKw7LV5KFvIGCpGzfeOxU7OILib9X7GIyRrRtNbUd98+H4uG7jy9HVfqFXQG1+wgL5sN9qbXtQ9r1gNO/zKuwsyrQLQtAdBWf4Qsf8hhbyyIBBICMtZIo/xzkgpNcoV+2UakmtTSzHnGzTUnJRm1LroOCNurR8Tm9PrvepQLyUmLB8IkPRKIBsDedso0AJxPi6DWLMvb+rOh07inBpkl38ng4Nj2mUafFshCZ7WM23XmOtm9ePljFSU0LChJQcuM+dukjd6OYk6goNyHsT9UO+Qn+sKHFwiH2TM4gMu8Bgk1Gd7lnVpSRCZDLRxctGHuw+vm5/2SU8ixLhGpQYZ8f73+8GIusCDB94f6+yp+rnBriIMoycc811+Aikw1MB117eAanLPQFDtwbNHeB9xJCnO44XQ9GrEa8O89Qw0qxjfduWGhbrMN4BxFTa/HsZRSKRW88yfirTAKSP3K1YAMUdVTr7ndWBYpeevbrqPfmeQWdHJ7JQ6E8t6eu0EwBoEXcIiDR4A9K5HMWeiwEPo7EfkPRq8Ob2Q0nkfyLem78uZwPmV49jw= X-Forefront-Antispam-Report: CIP:8.4.225.30;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:owa.infinera.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(346002)(376002)(396003)(136003)(39860400002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(82310400011)(36840700001)(46966006)(83380400001)(40480700001)(336012)(426003)(6266002)(26005)(70586007)(70206006)(2906002)(107886003)(2616005)(47076005)(42186006)(6916009)(356005)(316002)(8936002)(81166007)(4326008)(8676002)(478600001)(82740400003)(44832011)(966005)(5660300002)(36756003)(41300700001)(1076003)(36860700001)(6666004)(86362001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: infinera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 14:11:16.4936 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5dc29e87-2d84-475d-fc38-08dbecf73952 X-MS-Exchange-CrossTenant-Id: 285643de-5f5b-4b03-a153-0ae2dc8aaf77 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=285643de-5f5b-4b03-a153-0ae2dc8aaf77;Ip=[8.4.225.30];Helo=[owa.infinera.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5290 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 ; Fri, 24 Nov 2023 14:11:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191200 Add support for creating passwd files in a /etc subdir Set PW_SUBIR to pwdb to get passwd files in /etc/pwdb Signed-off-by: Joakim Tjernlund --- .../0001-Define-SUBUID_FILE-SUBGID_FILE.patch | 92 +++++++++++++++++++ meta/recipes-extended/shadow/shadow.inc | 30 +++++- 2 files changed, 118 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-extended/shadow/files/0001-Define-SUBUID_FILE-SUBGID_FILE.patch diff --git a/meta/recipes-extended/shadow/files/0001-Define-SUBUID_FILE-SUBGID_FILE.patch b/meta/recipes-extended/shadow/files/0001-Define-SUBUID_FILE-SUBGID_FILE.patch new file mode 100644 index 0000000000..9f85159e97 --- /dev/null +++ b/meta/recipes-extended/shadow/files/0001-Define-SUBUID_FILE-SUBGID_FILE.patch @@ -0,0 +1,92 @@ +From f605fb315faef7ddcad70d638f3b3aa16ea98fc0 Mon Sep 17 00:00:00 2001 +From: Joakim Tjernlund +Date: Thu, 2 Nov 2023 00:27:10 +0100 +Subject: [PATCH] Define SUBUID_FILE/SUBGID_FILE + +Upstream-Status: Backport, https://github.com/shadow-maint/shadow/commit/ee3a79c6952f8ca649c286c7f76639d9d1dedaad + +These where hard coded, make them definable like SHADOW_FILE + +Signed-off-by: Joakim Tjernlund +--- + lib/defines.h | 8 ++++++++ + lib/subordinateio.c | 6 +++--- + libmisc/prefix_flag.c | 8 ++++---- + 3 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/lib/defines.h b/lib/defines.h +index fc1521c..27b220f 100644 +--- a/lib/defines.h ++++ b/lib/defines.h +@@ -312,6 +312,14 @@ char *strchr (), *strrchr (), *strtok (); + #define SHADOW_FILE "/etc/shadow" + #endif + ++#ifndef SUBUID_FILE ++#define SUBUID_FILE "/etc/subuid" ++#endif ++ ++#ifndef SUBGID_FILE ++#define SUBGID_FILE "/etc/subgid" ++#endif ++ + #ifdef SHADOWGRP + #ifndef SGROUP_FILE + #define SGROUP_FILE "/etc/gshadow" +diff --git a/lib/subordinateio.c b/lib/subordinateio.c +index 9ca70b8..9ddc5e1 100644 +--- a/lib/subordinateio.c ++++ b/lib/subordinateio.c +@@ -206,7 +206,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db, + /* + * We only do special handling for these two files + */ +- if ((0 != strcmp(db->filename, "/etc/subuid")) && (0 != strcmp(db->filename, "/etc/subgid"))) ++ if ((0 != strcmp(db->filename, SUBUID_FILE)) && (0 != strcmp(db->filename, SUBGID_FILE))) + return NULL; + + /* +@@ -554,7 +554,7 @@ static int remove_range (struct commonio_db *db, + } + + static struct commonio_db subordinate_uid_db = { +- "/etc/subuid", /* filename */ ++ SUBUID_FILE, /* filename */ + &subordinate_ops, /* ops */ + NULL, /* fp */ + #ifdef WITH_SELINUX +@@ -650,7 +650,7 @@ uid_t sub_uid_find_free_range(uid_t min, uid_t max, unsigned long count) + } + + static struct commonio_db subordinate_gid_db = { +- "/etc/subgid", /* filename */ ++ SUBGID_FILE, /* filename */ + &subordinate_ops, /* ops */ + NULL, /* fp */ + #ifdef WITH_SELINUX +diff --git a/libmisc/prefix_flag.c b/libmisc/prefix_flag.c +index d4dfbc2..0e7dfa7 100644 +--- a/libmisc/prefix_flag.c ++++ b/libmisc/prefix_flag.c +@@ -120,14 +120,14 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** + spw_setdbname(spw_db_file); + + #ifdef ENABLE_SUBIDS +- len = strlen(prefix) + strlen("/etc/subuid") + 2; ++ len = strlen(prefix) + strlen(SUBUID_FILE) + 2; + suid_db_file = xmalloc(len); +- snprintf(suid_db_file, len, "%s/%s", prefix, "/etc/subuid"); ++ snprintf(suid_db_file, len, "%s/%s", prefix, SUBUID_FILE); + sub_uid_setdbname(suid_db_file); + +- len = strlen(prefix) + strlen("/etc/subgid") + 2; ++ len = strlen(prefix) + strlen(SUBGID_FILE) + 2; + sgid_db_file = xmalloc(len); +- snprintf(sgid_db_file, len, "%s/%s", prefix, "/etc/subgid"); ++ snprintf(sgid_db_file, len, "%s/%s", prefix, SUBGID_FILE); + sub_gid_setdbname(sgid_db_file); + #endif + +-- +2.41.0 + diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index 3c1dd2f98e..bcb9b09a49 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc @@ -18,6 +18,7 @@ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/v${PV}/${BP} file://useradd \ file://CVE-2023-29383.patch \ file://0001-Overhaul-valid_field.patch \ + file://0001-Define-SUBUID_FILE-SUBGID_FILE.patch \ " SRC_URI:append:class-target = " \ @@ -46,6 +47,21 @@ PAM_SRC_URI = "file://pam.d/chfn \ file://pam.d/passwd \ file://pam.d/su" +#Set PW_SUBDIR to pwdb to get passwd files in /etc/pwdb +PW_SUBDIR ?= "" +PWPRE = "/etc/${PW_SUBDIR}" +CFLAGS:append = ' -DPASSWD_FILE=\\"${PWPRE}/passwd\\"' +CFLAGS:append = ' -DSHADOW_FILE=\\"${PWPRE}/shadow\\"' +CFLAGS:append = ' -DGROUP_FILE=\\"${PWPRE}/group\\"' +CFLAGS:append = ' -DSGROUP_FILE=\\"${PWPRE}/gshadow\\"' +CFLAGS:append = ' -DSUBUID_FILE=\\"${PWPRE}/subuid\\"' +CFLAGS:append = ' -DSUBGID_FILE=\\"${PWPRE}/subgid\\"' + +#shadow has it own impl. that uses whatever dir passwd files are in +do_configure:prepend () { + sed -i -e 's/lckpwdf//' ${S}/configure.ac +} + inherit autotools gettext export CONFIG_SHELL="/bin/sh" @@ -157,9 +173,9 @@ do_install:append() { # usermod requires the subuid/subgid files to be in place before being # able to use the -v/-V flags otherwise it fails: # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V - install -d ${D}${sysconfdir} - touch ${D}${sysconfdir}/subuid - touch ${D}${sysconfdir}/subgid + install -d ${D}${sysconfdir}/${PW_SUBDIR} + touch ${D}${sysconfdir}/${PW_SUBDIR}/subuid + touch ${D}${sysconfdir}/${PW_SUBDIR}/subgid } PACKAGES =+ "${PN}-base" @@ -193,12 +209,18 @@ ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" PACKAGE_WRITE_DEPS += "shadow-native" pkg_postinst:${PN}:class-target () { + install -d $D${sysconfdir}/${PW_SUBDIR} if [ "x$D" != "x" ]; then rootarg="--root $D" else rootarg="" fi - + if [ -n "${PW_SUBDIR}" ]; then + ln -fs ${PW_SUBDIR}/subuid $D${sysconfdir}/subuid + ln -fs ${PW_SUBDIR}/subgid $D${sysconfdir}/subgid + ln -fs ${PW_SUBDIR}/shadow $D${sysconfdir}/shadow + ln -fs ${PW_SUBDIR}/gshadow $D${sysconfdir}/gshadow + fi pwconv $rootarg || exit 1 grpconv $rootarg || exit 1 }