From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 15 Sep 2026 11:33:25 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pj1-f64.google.com (mail-pj1-f64.google.com [209.85.216.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 68F9XK6q001431 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 15 Sep 2026 11:33:21 +0200 Received: by mail-pj1-f64.google.com with SMTP id 98e67ed59e1d1-38ecc48b3c2sf7200755a91.1 for ; Tue, 15 Sep 2026 02:33:21 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1789464795; cv=pass; d=google.com; s=arc-20260327; b=sowk5E+8/TRfGcKA/+bwG3WI8d3tFtz+pTsHYlVMBiEEX698Ex6yvPaKy+chVrKlm2 qGaOBgbKCjWXWiMpDupfPtt3boA77OnxM5OMgz0w24Z8jWxeK3sBodPDoIYyRYxbuKes 5Com9XnUphzmHLdr80U7+Z6WcyMw2qHtfx+SpVsHWItvfOup8cyJbljSpLWR/ZQ5dAV/ JjXCZzWkFBxqrR47I3clv2NQlf2qoEueVOw0U74k/vKz4bWTNjxPwjO6+vPm3LBCtclb TiLJYk1mmvFCwcjTx5qKIuxlywkRTG2gpV9j1iiJ0jF2v1bHGV+tWiv/tkUBTZNwdP7N rk4g== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=VC6d3eg/xuRdp4DWPKwQPCtk4E94tRzCkPem2/JIRf4=; fh=0SmuiaSUjpKlEnr4IzZwVzKjxvgcztTGlF60aUtOSlQ=; b=RpxmsJ7ruF8lLcOOcOAh7nQtgnBxQzKERxGZI7rnBKd/LTx+NA9xjJe1y42TcRpoLf 48Ufc6RPJpi/4yY7phrbIE5KMKwKhd0Zf5U3gd0QgAwSfiRe6hYQs91BPDPvqQ2aSRKi 43beak9+Pcs0umz9ytR16gl/9dmmsClKl7oo7pUM6Ewc6BBSiiD3Y/bJvNBa9C008pW7 wQ9aP8GMCICm4xPZmo+rek9eOP/TcG2GFy9ZczMUTEt8rwOvQLuhG7z/78AsOUR4MVCd +8lzCJukWs5C2SImmMyQ7ptM8dyb3oBONdhUQMsxMhECquVjvorreWKRj48zbAM6/nIK QRhQ==; darn=ilbers.de ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=N3MQxahr; 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 felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1789464795; x=1790069595; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-type:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=VC6d3eg/xuRdp4DWPKwQPCtk4E94tRzCkPem2/JIRf4=; b=FprKdGiCQTqYiji7+QKQUgXnFxsZA6NfBKVBITg3eSsuPdo2GIwg/BcgYUaNNZ7C7T /QzlSPX2MCanfQJKQiUGc33TDyPqFwPBsRe/xwBMxIayWX7nup89qJa65z+hYwh9scdA VbPLPiNTpG+ZC688yOpSBXH9IB4xkA+kxS7h4XNQZXP/QW6NMAL8XoSQaJaNywlLdZlq Bo5Rr9xXZW2JlIv+maYKcdsk90Ppd07PYvETbr1IqIq4jv2rGLXyl5IoxxAaeu4R6JYC 4nE0dNkD7C6QDDA0jnyhQ/6mWTZj0THbKI/lp8bTQ5e1GWxgAN5J5u2NDPvsjoewC+9d 3R2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789464795; x=1790069595; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-type:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VC6d3eg/xuRdp4DWPKwQPCtk4E94tRzCkPem2/JIRf4=; b=ZdVL6MJuzCDp67NGXadNc3cYnYM3povoDf8FqpYH+yN7iU27kswxnYL9U5OOKiQyPk 4laGsVCvpFaHsU3wI+PymQXCTDZBZVBQTWY4J0DNxYL3dqQvKaok0hzqSuppXegjzEEe FoTd2/xuTJPBU8BkHYGr+gy2/dR/PkTPMyeF9CNrfi9/eDt/t3CT0xVqfogeUWKmGXQ1 Szys8XaiWA5zYKiS9wl712PSc5VRuf0pMm1c5Tlh1Svh11CN+WcOUXrTfPnQJmhemnTB 9X4zd25JXWePlNC1Ko0TQoZxobBgwGn43Oyq0W83pwhaEJJRggIiwTVLH9zPNozmYUqm LppA== X-Forwarded-Encrypted: i=3; AKwUvBwGoT3vLA2EscU4ZOUgO4uQBJiS3qpSo61nqrXjrZBXi8tobXm3wGCYcW7WwDya457DfZFG@ilbers.de X-Gm-Message-State: AFuF++mkDcgq6kJV+BrM22/jR4fqL6NIx1Am+iG39ti7ibMJAGYKqeJK nXjkfEwDfhMYe1bJugcWQNew9ZtgqBD/wAVQjKiWo+okidYFBTrLbFjp X-Received: by 2002:a17:90b:2d85:b0:39d:f247:bab with SMTP id 98e67ed59e1d1-39df2470c15mr9828851a91.6.1789464794631; Tue, 15 Sep 2026 02:33:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLde8E83yJXKLmJUT1g5emSXwI/uwUUGjvqGk76hAGSqgIQ==" Received: by 2002:a17:903:3885:b0:2d6:f73c:5202 with SMTP id d9443c01a7336-2dd0dbd6304ls81556715ad.0.-pod-prod-06-us; Tue, 15 Sep 2026 02:33:11 -0700 (PDT) X-Received: by 2002:a17:903:f86:b0:2d1:134:b86e with SMTP id d9443c01a7336-2dd6c5cc385mr127473345ad.2.1789464790926; Tue, 15 Sep 2026 02:33:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1789464790; cv=pass; d=google.com; s=arc-20260327; b=IzAUprv6gXYQWufZwGcl7Y/3eZo7dDa9KVnJON8d9+gD9LagwsLRQ5kp+tBPCouiTK DXXJQ5vUOVZgR5CIS0oeR5ej6G9M2ud14xQVlNetPrUQUSFMTNDbGwBob/ok4J3hRYd2 rc9tNnGTxJ0GGiN3PkKJsFWB/aZsLAw4mBXZMgQxoAMIFYpXviEPftcMmMttMtHUPxWR u0sAzb1TZ6RmwPNWEYID4KCoQ6REmzR2GrSUYjLFLVG/FMw//jgKjxxbowKiOKZ7zoZh s3LhlgcoOt8IF96HG9ZKdGtXT0Pfla8IWrckuX2ksV+heTF56l6w6ee3Nwa84v3vSVjJ rspA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=F/qs+LSCPwQ0YY4u3MzuC5JsJS3CdAkOz+Jts2ZQv1U=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=kFpRMS6NB8oAsrWLQbXjwdk2sPuPeGRX0rXNDeDMxSh5hAnphm8xz4MtlP60/RCSte r2n+BvSqGnshLtwKFIZRZiBqP2vhkby8xOMSXaFWWn62RPWdESoqsE25K6gUKRjQKwX/ e9Vzk5HhOvQBl11jywGxUXfc4CVX7vZC11az0tgsjxqEZZCeyy5a7Yg/8sILMjWjl/MJ 7XNbjh9Kkv5dcp8FYZf6R0i+HxzbwSmANuB7mZl740JP24zkJL0wqD1wC1KXGUWzPnm+ 6X1OV5Q6KdO1rohhqgdNNAWR8d+HSZuU/44trdRFahwanMudX6zl4kUyDgPHF2OMYsx7 00Gw==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=N3MQxahr; 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 felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2dd46815476si3800635ad.4.2026.09.15.02.33.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 02:33:10 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WM2qpnViT3tDOfzRD4znB/y7wDdFX3r5H1QZ5Fg2WixyFTV82aNxtR1aH/TxkZN1WXDY3RkWvXsya7Ib9UUfQjiZ15zS5Evbvl6dzGR8Is7Cd0ir/CNXsL3uP+s7IhUywNXcr+NrIlnygZD8meWGauUiUvFMKwBMgIznJ2hCupTYHPcVQtCDCjDYgCFMN6iENRHfIbUQBFATfW+EFk/4fAUzeWHJco3e0IBLZxUZn8oCKG3KawZRAAiA8hb0BG4XqsN/+0KscajjklqAXRLC53B5PLPKHttCg7qLFmIXOB6S270OOXPZrtZ7tM46PEHAxYpSud57Z6TCeIQdwIwN5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=F/qs+LSCPwQ0YY4u3MzuC5JsJS3CdAkOz+Jts2ZQv1U=; b=mcicq58wC4RtIFp5bEysg1vdB87mH1He5B8/SuAdWzZUh2uFAvab7v4fiRi1qUfaSnQCrbanmweJdBjtISF0kyDuS+1p8KkDBnlkQlu/SrZpDOISxk2h5zvpVfAZyaDtUJ+7FoCdJdtvX5WHwkejM0nh0U46JSHx+ESMqVOiQGieTswIi8krZSbZgiPBYfxxPzwOjE9PVZhmSKHP3/llKltaGqwgEHd+quT7T+XfXr4/jRKUKbC0ydoyoIXy9Buc0JWVTEPP+gbdigmIOwT4lEIk5y2HzcoUqGseDdkcOpgcVyxoWhrqOd04DI9VPemPavDFCdLGUlYDUvB09tpYNQ== 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 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) by AM0PR10MB3508.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:15f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.13; Tue, 15 Sep 2026 09:33:08 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%6]) with mapi id 15.21.0406.007; Tue, 15 Sep 2026 09:33:08 +0000 From: "'Felix Moessbauer' via isar-users" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 4/4] rootfs: manually purge locales instead of using localepurge Date: Tue, 15 Sep 2026 11:32:58 +0200 Message-ID: <20260915093258.1818604-5-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915093258.1818604-1-felix.moessbauer@siemens.com> References: <20260915093258.1818604-1-felix.moessbauer@siemens.com> Content-Type: text/plain; charset="UTF-8" X-ClientProxiedBy: FR4P281CA0089.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:cd::18) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|AM0PR10MB3508:EE_ X-MS-Office365-Filtering-Correlation-Id: 6dbadbd1-a0f9-40a8-5903-08df130c59fe X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|1800799024|23010399003|366016|6133799003|56012099006|11063799006|55112099003|22082099003|18002099003|10067099003; X-Microsoft-Antispam-Message-Info: /XwNT3suQEyYz/AqsZAPKHpN3FZ6OtTjmMDvismWyWqwON0hGAskHEsM5Chi0sg5AeZhuIirhsfO1uFs4b77JsarxLM8DcrdLQNnmc343BYifrJEYZ9CzeCnww4JymolFVTBNoSkjIeEM1x93zIIRK4L69392BAwLfTn1By7tjrr0wnV9Nk2YYSShpbNMHMt3iqbVSfSSWIY6lZXC5gx+wcSmKLB5Xo2WHQS0NQ0RiMWj/KlKDoRUU5Npk/3RTrjFSfEEmufoo7xa4TSn2ztzmyRlahmF1csiDx3UojaIvmCtPzTbR5FDcAy3dYYp2+MpgK+53itkZezq2wqDAqnOWlc2tqYoVBrrd8blJIBMzNMxM5YyNo9KE/cBR6+RT89/zau0f0k3oBAnQADfeLKoO6ckqRmyfIcFxs47Ow+sFfqyE/MsvwFe31qFU6SSvyfFspvYmHnmPYhrukTLad+jQev+YBjWZU4mqJr35mSFJIyq8CUJTcN1A18nqCaJkLpkxGbgiTjcalLSrZKtxLpA73FMocDiU0QBbRcvPquFmBuX5ZTujzosxciwNqQVdoyUOt4xKmGjSDkyOz9HPUToxxGkR+uf8PeP97HXFcmSK71iv+y6ZvdqOsQtE4XfwCsNVBEzSKvrC0NF9WwkTfhCoegxaLluCUonxtm51GSqXM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(1800799024)(23010399003)(366016)(6133799003)(56012099006)(11063799006)(55112099003)(22082099003)(18002099003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tmP6QJpEFHZKVTEUnoaJTt+NeU+E5EKMrZiuow70y5yXeBB7MluUL3tgxxZc?= =?us-ascii?Q?t5CzpfyOV/rE9Ow2f0Ck+RmAJug9Od8E6VNBhnIyAukg3kdU/lfifndglPoq?= =?us-ascii?Q?B3Wl7HDVyT0q9fO2PZo2l6uJpVVefsYZL68rh8DyF+c1nli+DCk1XdpUm29f?= =?us-ascii?Q?LFbXlYOUahl+pKyWdCDF6g/sjEHr5+J4TibVGhAzT2hUjpUT8T2YC0HSHe7a?= =?us-ascii?Q?YCDmeB3RmEhZnjHxgSNi8sLeOdiMaWdiA0C4VBh8Txxig8julYaCtdrwy6bR?= =?us-ascii?Q?U8wBIG4kTKa4NH9qiIh1IpcgSodJ14Rl+GGkgjXOyeMJaKjgA3YeGp/2ITy1?= =?us-ascii?Q?/pKFXxkoc56i9plf5gFbaEoHWnB3w0NBUx/GuK2dZ6F9wubJX7nILgIfCJEE?= =?us-ascii?Q?q5B24hOzCTFc998eENdjk8SVUF6Pk1sGMYwxuzJA4NYUMUEc8wjscGEmigqO?= =?us-ascii?Q?fCqTSwknGb9tOkX718EQjse7Yfk3wHpwZ71quCdwRAZsObsjyNMWNDDPOi7x?= =?us-ascii?Q?McWoJv9NI4JyorLTY2I9g/BeqnILr79F0jwaIaPcZ2tpUy0uPQpa+eiKSrxD?= =?us-ascii?Q?7nvyZB0jOxN9vNcq27gX+L9lDy6DyzGEaCjh9KpgeBft8UR7KdnrL6I92s4y?= =?us-ascii?Q?NkjF+AEXsihRTr3EwJjUwHQVe26/XUUEXcyig+3DLoobYT4zK1Ki9SvwlL/a?= =?us-ascii?Q?1ii6hf13tgiWLWG1O10OUwDJ7y34noCzwu47Ar4MWKOZefRA6D8eDkvtMFtc?= =?us-ascii?Q?ubKzax1FqA3qT/pUPnaKJAYrRjN6JR3zuq7cLgtFSl8GnKtxoBWzE2TVsHUM?= =?us-ascii?Q?BRVaoIKCIFZkQQu8ayPxqcG1GFmk0+4lJA7HjwHrFDMREG1aXON0+niI0kuR?= =?us-ascii?Q?TNv9wUVRhhnE+nGdWIhe7TUTU9RAeKIfLXVlsst6R6BVV2oj4ACJC8XfYjdZ?= =?us-ascii?Q?e95OVoGOdF0vu80B2UY/1FijuxYuDVGYbpFdp8/mI/rk3BQrAkGMCGUgaGmO?= =?us-ascii?Q?2U/yZk3GROEcAgUTB5ZimwOe8aHSnjDnru+mcbKjZvL+/BFzmMjkOLM42PHB?= =?us-ascii?Q?TgS7KT2JrS+2liBC7bud0qDqQPeozO8SSwmbZhVtGwoZtQOcYgsKBxaYRZqV?= =?us-ascii?Q?KW0BSm6LAurElIpco0IF64ctgnEr+cuM8QQM2x6EjHroQMHndyY9ufHiA8SA?= =?us-ascii?Q?1DmzT7CQ2ne9wW3qUCr3QVEX106VS8Zk98zR49QynYirTigKMfyri5Cp7EvW?= =?us-ascii?Q?pqMCV+9fR8lUqp7av694gWQkTVp/U8o1bFI9vnfns7n7jFTnq+OR7/RclsLn?= =?us-ascii?Q?/iKBxmrgzUJ92N2H5iCJxGWcq5CeCxeppIooEQJb3BIQE/Iahaanq2KV+a+n?= =?us-ascii?Q?7qbvMfppXOFbguUg1169TOVEfMLqyimpLlxCh4MNKDgi4mg6iKTzlWbSFr8X?= =?us-ascii?Q?hIBDPuZ28qVSP0DDLD+aqZHcbwhrwhRq6UhIxk7TcnjJRmFzjdovmLsW1Sd3?= =?us-ascii?Q?LkjN4ll+Yk90lmFzpvF0+l34YTem5UnQZHDEX5Pi1ykZUhx7UGkvwH+8E4CB?= =?us-ascii?Q?UDVzoSLOWrEuv8oZaFERZLO2LbaS/T/RtkjCj7vlcPKb0wtqsOOkJpY8rmNx?= =?us-ascii?Q?L3H/DE4N//oU7+Voa1NYgKpu8yYAXULKScfU59NFyN/KhL1fmYJTVrX/HS0h?= =?us-ascii?Q?PoKWs5155NzCllMtw5CePDWOheE73eLvuoDk3ZeAsi1B64zwe71KjgHL1OqH?= =?us-ascii?Q?Lbi7K2RDcBXqYhllw/UA6fdiHojGbc3uhv2bXDHRz1EJ8WmYmRF01iIg/LH+?= X-MS-Exchange-AntiSpam-MessageData-1: xSPaRbLNtJz6O2Jvcp/DIk8g0v0+vR1Sk+o= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6dbadbd1-a0f9-40a8-5903-08df130c59fe X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2026 09:33:08.1322 (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: d5ogDtLUiD6ToHSSf3MXXFcwpLv1SVPmY6pBC4ehex0uHgysiXUQd0g58fKEwMvxfupRuPDc0vnhpg5VDZmu8ZJcidNSaKoeP/YfKMzISPE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3508 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=N3MQxahr; 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 felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer 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=-4.6 required=5.0 tests=DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS, T_DKIM_INVALID 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-TUID: FnR2+a68SZDw Using localepurge is problematic as this package first needs to be installed and later removed from the rootfs again. This is time consuming and leaves traces in the rootfs. Instead, we use a dpkg config to not extract the files belonging to locales we don't want to install. This has the additional benefit of extracting less, making the overall rootfs install faster. As we no longer install the localepurge package, less needs to be downloaded and no traces are left in the rootfs. Signed-off-by: Felix Moessbauer --- .../image-locales-extension.bbclass | 143 ++++++++++-------- 1 file changed, 79 insertions(+), 64 deletions(-) diff --git a/meta/classes-recipe/image-locales-extension.bbclass b/meta/classes-recipe/image-locales-extension.bbclass index 66f3ac8c..02e6fb19 100644 --- a/meta/classes-recipe/image-locales-extension.bbclass +++ b/meta/classes-recipe/image-locales-extension.bbclass @@ -21,84 +21,108 @@ def get_locale_gen(d, sep='\n'): for i in locale_gen.split('\\n') if i.strip()))) -def get_nopurge(d): +def get_locale_dirs(d): + # Directory names below /usr/share/locale that shall be kept, derived from + # the language and language_territory parts of LOCALE_GEN. locale_gen = d.getVar("LOCALE_GEN") or "" - return '\n'.join(sorted(set(i.strip() - for j in locale_gen.split('\\n') - if j.strip() - for i in (j.split()[0].split("_")[0], - j.split()[0].split(".")[0], - j.split()[0])))) - -ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT += "image_install_localepurge_download" -image_install_localepurge_download[weight] = "40" -image_install_localepurge_download[network] = "${TASK_USE_NETWORK_AND_SUDO}" -image_install_localepurge_download() { - run_privileged_heredoc <<'EOF' - set -e - ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS') if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else '')} - chroot ${ROOTFSDIR} \ - /usr/bin/apt-get ${ROOTFS_APT_ARGS} -o Debug::NoLocking=1 --download-only localepurge -EOF -} + return sorted(set(i + for j in locale_gen.split('\\n') + if j.strip() + for i in (j.split()[0].split("_")[0], + j.split()[0].split(".")[0]))) + +def get_locale_path_include(d): + lines = [] + for name in get_locale_dirs(d): + lines.append("path-include=/usr/share/locale/%s" % name) + lines.append("path-include=/usr/share/locale/%s/*" % name) + return "\n".join(lines) + +# Configure dpkg to only unpack the requested locales, so unneeded locale files +# are never installed. This runs before any package is installed into the image. +# Locale files that the bootstrap already installed are cleaned up here as well. +ROOTFS_CONFIGURE_COMMAND += "image_configure_locale_filter" +image_configure_locale_filter[weight] = "5" +image_configure_locale_filter() { + cat<<__EOF__ > ${WORKDIR}/locale.dpkg-filter +path-exclude=/usr/share/locale/* +path-include=/usr/share/locale/locale.alias +${@get_locale_path_include(d)} +__EOF__ -ROOTFS_INSTALL_COMMAND += "image_install_localepurge_install" -image_install_localepurge_install[weight] = "700" -image_install_localepurge_install[network] = "${TASK_USE_NETWORK_AND_SUDO}" -image_install_localepurge_install() { + run_privileged_heredoc <<'EOSUDO' + set -e - # Generate locale and localepurge configuration: - cat<<__EOF__ > ${WORKDIR}/locale.gen -${@get_locale_gen(d)} -__EOF__ + mkdir -p '${ROOTFSDIR}/etc/dpkg/dpkg.cfg.d' + cat '${WORKDIR}/locale.dpkg-filter' \ + > '${ROOTFSDIR}/etc/dpkg/dpkg.cfg.d/50isar-locales' + + # Drop locale files the bootstrap installed that are not requested. + if [ -d '${ROOTFSDIR}/usr/share/locale' ]; then + keep=' locale.alias ${@' '.join(get_locale_dirs(d))} ' + for entry in '${ROOTFSDIR}'/usr/share/locale/*; do + [ -e "$entry" ] || continue + name=$(basename "$entry") + case "$keep" in + *" $name "*) ;; + *) rm -rf "$entry" ;; + esac + done + fi +EOSUDO +} + +# Preseed the debconf selection and generate the requested locales up front, +# before any package is installed, so package maintainer scripts find working +# locales. +ROOTFS_CONFIGURE_COMMAND += "image_configure_locale_debconf" +image_configure_locale_debconf[weight] = "5" +image_configure_locale_debconf() { cat<<__EOF__ > ${WORKDIR}/locale.debconf locales locales/locales_to_be_generated multiselect ${@get_locale_gen(d, ', ')} locales locales/default_environment_locale select ${LOCALE_DEFAULT} +__EOF__ + cat<<__EOF__ > ${WORKDIR}/locale.gen +${@get_locale_gen(d)} __EOF__ cat<<__EOF__ > ${WORKDIR}/locale.default LANG=${LOCALE_DEFAULT} -__EOF__ - cat<<__EOF__ > ${WORKDIR}/locale.nopurge -#USE_DPKG -MANDELETE -DONTBOTHERNEWLOCALE -#SHOWFREEDSPACE -#QUICKNDIRTYCALC -#VERBOSE -${@get_nopurge(d)} __EOF__ - # Install configuration into image: run_privileged_heredoc <<'EOSUDO' set -e ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), '')} - localepurge_state='i' - if chroot '${ROOTFSDIR}' dpkg -s localepurge 2>/dev/null >&2 - then - echo 'localepurge was installed (leaving it installed later)' - else - localepurge_state='p' - echo 'localepurge was not installed (removing it later)' - # track additional packages that will be installed, as these packages might be - # in the suggested set of other packages and by that need to be explicitly removed - localepurge_pkgs=$(chroot '${ROOTFSDIR}' apt-get ${ROOTFS_APT_ARGS} -s localepurge 2>&1 | sed -n 's/^Inst \([^ ]*\) .*/\1/p') - chroot '${ROOTFSDIR}' apt-get ${ROOTFS_APT_ARGS} localepurge - fi - - cat '${WORKDIR}/locale.gen' >> '${ROOTFSDIR}/etc/locale.gen' cat '${WORKDIR}/locale.default' > '${ROOTFSDIR}/etc/default/locale' - cat '${WORKDIR}/locale.nopurge' > '${ROOTFSDIR}/etc/locale.nopurge' cat '${WORKDIR}/locale.debconf' > '${ROOTFSDIR}/tmp/locale.debconf' - # Enter image and trigger locales config and localepurge: + # Enable the requested locales by uncommenting them in /etc/locale.gen + while read -r locale; do + [ -n "$locale" ] || continue + sed -i "/$locale/s/^# *//" '${ROOTFSDIR}/etc/locale.gen' + done < '${WORKDIR}/locale.gen' + chroot '${ROOTFSDIR}' /bin/sh <<'EOSH' set -e - echo 'running locale debconf-set-selections' debconf-set-selections /tmp/locale.debconf - rm -f '/tmp/locale.debconf' + rm -f /tmp/locale.debconf +EOSH +EOSUDO +} + +# The systemd locale.conf symlink can only be created once systemd is installed. +ROOTFS_INSTALL_COMMAND += "image_configure_locales" +image_configure_locales[weight] = "100" +image_configure_locales() { + run_privileged_heredoc <<'EOSUDO' + set -e + + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), '')} + + chroot '${ROOTFSDIR}' /bin/sh <<'EOSH' + set -e SYSTEMD_VERSION=$(dpkg-query \ --showformat='${source:Upstream-Version}' \ @@ -112,15 +136,6 @@ __EOF__ echo 'reconfigure locales' dpkg-reconfigure -f noninteractive locales - - echo 'running localepurge' - localepurge EOSH - - if [ "$localepurge_state" = 'p' ] - then - echo removing localepurge... - chroot '${ROOTFSDIR}' apt-get purge --yes $localepurge_pkgs - fi EOSUDO } -- 2.55.0 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260915093258.1818604-5-felix.moessbauer%40siemens.com.