From patchwork Sat Aug 24 07:24:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 3772 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sat, 24 Aug 2024 09:24:38 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f58.google.com (mail-oa1-f58.google.com [209.85.160.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 47O7OaE1007675 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 24 Aug 2024 09:24:37 +0200 Received: by mail-oa1-f58.google.com with SMTP id 586e51a60fabf-27047178e2fsf3950731fac.0 for ; Sat, 24 Aug 2024 00:24:37 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1724484271; cv=pass; d=google.com; s=arc-20240605; b=EeS8D6YuxeN2LG1Cf2upwsqBf7tL2q7GYa61s2MfyEfL5prKhjFwUjRFZC/+bD2lQZ lg9eyzFYBiV+TTKfCif68kd+6jYZfSu7I22vjsJBd5P/HxE1QdYx2DIV7iY+XqFQHZax HMMtfqhjcI49TulFxbmuAZbJ/9XrLUDmB58N6O6CPbYJquUlxYVIr8TFhVB3Rz27HSB7 /3xhLRXfy4QkX5sUS8emifQV/Pjip0+SoThpn3cw0EvNtR1zVoH/Iblsyh+NIfc5UkqI gzO+lzxyqEKXsPYpQE31IPNFR94cUbdjr0EfDCIWOIRCEw8M4yeP7c/zqkzs5I6tF9Ts sS3w== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:autocrypt :content-language:subject:to:from:user-agent:date:message-id :dkim-signature; bh=VRaxXcVBh9pxCsN/s04mihkUPiQWRaUmRdvABSkxiHQ=; fh=6DQc+qp+eqmFc0drktIU9a3hHj/kMY9tNccNcABrq+Y=; b=WkNiq1IEMHAS3221Usk5lRTt+jbjan8+DpLNgNfLU4wnzKO7j+aWnslDytxO/fc3eX Q4taN/DJpnz9JGOYuVD3aWI+HKvfB8l14TNSOjtl4J8vcuDw5X2zwSR1r3XcMuZeYpix CcT4nMebvmKYz6pEVAD2Fth32M7fj+5mmI2B3VTAQz/DbOoBZ8KaJkIitq+c14sya7Gc OpB3LE7C0fbRwM57cwQ7q1wH6J4i0M8FkCrOj1cbkkLoNv7DCliYDNnmucnBM15d2hN0 GCCCpMX3TwDbErpQnY7aWQ6I+ITYoVE8syfbRcdWlGOUPjtjb3x7xfYHFQfWCzrHrJNg bahA==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=hW7ESFMN; 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 jan.kiszka@siemens.com designates 2a01:111:f403:2613::61d as permitted sender) smtp.mailfrom=jan.kiszka@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=20230601; t=1724484271; x=1725089071; darn=isar-build.org; 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 :autocrypt:content-language:subject:to:from:user-agent:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=VRaxXcVBh9pxCsN/s04mihkUPiQWRaUmRdvABSkxiHQ=; b=HlPZCrSKnwns4kkyAHsEL559fvSlgTIIozmVm2O8gvyQIDquexOg0OzCghXK0xyx0x +rp25OBeTeqzGkdxsmh2QxPNuNSxQOAXDS/AiinmCfaouULWxRQ1q64BpfERMzXyohW/ agoOH6NwVIn+e57VOYp3qEoZq720KyWdnPRRAZ2w9BmWeFqBwVgzWUS2DTG/CG1TWAai iXQIH3NOGlL7DkiqsXwJvZmhAO3v0yL77iM5TE6nc4/J4VWZIjz5VfniJp3Jyw29QMHo 4J2KZdobCCNKfI8nIjwiZBLLbEpPZMuJSoDsVw2Mt1eU/6RDwxQQCQd3JoVfVy7sSP5j BbEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724484271; x=1725089071; 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 :autocrypt:content-language:subject:to:from:user-agent:date :message-id:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VRaxXcVBh9pxCsN/s04mihkUPiQWRaUmRdvABSkxiHQ=; b=ry0pwgBCiUNGlZF0EAXxrG+isRq/ZLGJvsj0CSfTLPvqfJfJuenlOvzK6kXLnfhH9s bRnHJi7XJINqkyuOzFcfoGgIUZBDa+sTPxJp5ntPzHjtO+V9sTg4yAe6aCZzy76fkVRZ bMAxI471cle7XLSO3Tx8iIlmLntLmFO7Rn86swALFongFeCwphfudkGJkJ/5iS0JS4IH 4cYMBW9jiG8Ql7nOIda9OrHl7G3oI2jrg91lgK4qS9YssC+aLiaN3YHjsN8vVzIo6i9d KG10JyygnRN0sNIKnoQI4qgphDB7Ztq/W7JPBbg0H7R9+2Ow/dw7489eBvA5YGChKdKn MKYg== X-Forwarded-Encrypted: i=3; AJvYcCU644jdPxITv0m6gXR4rW4idjjLT8e/iZTlzpaaESdDO75+1r9MmynuVxpbdJp0HcRZ9xYVKB0=@isar-build.org X-Gm-Message-State: AOJu0YyxAQTNIR3FsbQZm3xj8gPugKeeVWvf64aqm6+5EZNeQeS8HEAi 88v7aov11kV9bJ2nEK0YblW7Tr9a955DAPSJPR3sDwVK7eJ+SP6d X-Google-Smtp-Source: AGHT+IEBu+uBVTTt2LkAmSEuAVItvqR+R9/7DJ9nsCGVSkRgc3hMa5ewu0JQJKqQT95C1K84HrZpQA== X-Received: by 2002:a05:6871:723:b0:268:9d81:24b7 with SMTP id 586e51a60fabf-273e6542caemr4970638fac.29.1724484271061; Sat, 24 Aug 2024 00:24:31 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6871:728d:b0:254:7203:f69f with SMTP id 586e51a60fabf-273cac98d36ls3453688fac.2.-pod-prod-05-us; Sat, 24 Aug 2024 00:24:30 -0700 (PDT) X-Received: by 2002:a05:6358:e48f:b0:1b1:8b1f:c1a2 with SMTP id e5c5f4694b2df-1b5c3a60a06mr452169655d.10.1724484270008; Sat, 24 Aug 2024 00:24:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1724484269; cv=pass; d=google.com; s=arc-20160816; b=TI45rZ6Ii3o1kZapcN1/jKatEJyjkZCr/if8LpHKN2ctlJLrjDPUsto1ZsqWeSlRiH AcIsubJANGJBW3kH5hH+5HkSJ2/qJim+HVK6o8vfzrgU4+YaXT1vvIN2fEloNm1uoy+P gjea/B11iNamTQG10hmiAyWISHectQIBwWRZ+3jGiXWl9OxHy6uTQeH5nsa6sNhJIGq6 /ZHuE1wOHLWarYICq3oHGAYyIShxF7Br1SJsOehta8nFkXLsRyUztX5y5vyEMhXWXxSw l0/pF+OelbvrCCQ35i/Ojo13atV8pLNvyTiYrUYiAY3EhW9cvTh6/Ys4lIWsjQAmbdDm aKsA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:autocrypt:content-language :subject:to:from:user-agent:date:message-id:dkim-signature; bh=ZlnrnPb6Z/ixgUYGEkTicL0Lhhu6SRDvvVUJlSIa9LU=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=PbHbcctAmRusz7KYAWThP5r/eacaJ07k1wDvL6AMBMM3D23X8BDytLf3YDXNBBphxO yb38mhGTXbKDD+bIcoeHyPV+uM80R7oe/oGgUL4QFKaNMNC7vg0Wac/8pMwcNsZDxXwS hl1r0j0ZybaJYFOIPS25u0l0Jz70GBoVyBlU9GnYSdNzp/+euGmQPjFG5ThWX65nkq7K j4tXgf4+yqlyO0CHV+rPl2JVcKprV7lo9RCSYIUXrVBU00J3Gi9drxqDckgVzxeHp5Jh J0tC6Zp+xMk4N9fnTio+blspglBhjjfLhlvEK5iIofhMlb2FDmSAvD6fuR5Gg4acc4Nf IcpQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=hW7ESFMN; 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 jan.kiszka@siemens.com designates 2a01:111:f403:2613::61d as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2061d.outbound.protection.outlook.com. [2a01:111:f403:2613::61d]) by gmr-mx.google.com with ESMTPS id d2e1a72fcca58-7143476bb12si232633b3a.4.2024.08.24.00.24.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 24 Aug 2024 00:24:29 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2613::61d as permitted sender) client-ip=2a01:111:f403:2613::61d; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tZ9thh+1+60sS+ndBwasL4Zd6ZooZ0PPorC3CzpzBddepuCUCpCtyeE/c3Qc2og8Sil+Tqjr9AYqCX9Ot5JrXXrs1SMBbhy0U5eBRmoVOQO83DC7hfbesfJU0a77lhEN8sV028MLN5KLvopPGEkmUFGAV2boo88CX/ccGLVd+fUyLN1VY/jon6sIRDrcrNOFr7wgjODzM9sYICVC261l3+W2KTdD9n4C+jX48OzInUDyMIUS9UnbiOqsJwamp9lB4+JbC/63m9z0+j+PYVudQLdjf0AkSfDod9rM37kHVF4y2ApapAbrlmG1BYDfOCzouoOEun45dp+Zoklf/Gs8/Q== 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=ZlnrnPb6Z/ixgUYGEkTicL0Lhhu6SRDvvVUJlSIa9LU=; b=psvRqDoo5NSE8WH+SZIAjqejHN+MlOTpQY0rgDI8OAzD3fVyJ7eKgBK1sa/pUOat6UcRYL5rvqKtCTJqCWU0ER2RoI9LlRfYWp6DmTAGU83WFnhKBD6pybFN5rK3QYArh1OIlWS2jX1GhsHvd+/Ye5C0GbEf3SqNjs7lduEI60YLBSJZ3k3BFrKXGd1uZMMgn5ih4gyIRZRqB+85Jpl0rbJklOhmFHRZuvIF3FC3usRa6CHYIW2gpLWsZaUzKXyQb9hbRxg62W83XJ6SFledPkXwR+TxV4Fqx3B8oqIGcGmNht4KPp3Oo7tYNGZCCk+aFZE4IcLnlErCiGsZdiJYYA== 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 AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by DU0PR10MB7213.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:44b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.21; Sat, 24 Aug 2024 07:24:26 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408%4]) with mapi id 15.20.7875.023; Sat, 24 Aug 2024 07:24:24 +0000 Message-ID: Date: Sat, 24 Aug 2024 09:24:22 +0200 User-Agent: Mozilla Thunderbird X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH v2] rootfs: Improve progress reporting Content-Language: en-US Autocrypt: addr=jan.kiszka@siemens.com; keydata= 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 X-ClientProxiedBy: VI1PR07CA0225.eurprd07.prod.outlook.com (2603:10a6:802:58::28) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|DU0PR10MB7213:EE_ X-MS-Office365-Filtering-Correlation-Id: eff5671d-6468-466c-e610-08dcc40dc7ec X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?q?AaYLZk4bq9V7tddFfy7XXKX99kyUWIZ?= =?utf-8?q?rFE8dqvxJDbc3tR1GSdoMOS6sXeeOWmL/cROjwauHgLejnn0b+vkLfhfyJN/5PE6c?= =?utf-8?q?4BfyRbrzOKjgMxWWBuHgiqdQE+KyuR2DfoXAw7U/rqzroncjAhqum8NefJc5KhiDr?= =?utf-8?q?PnYNsUWzQAeo7rM8AdLXzaptNZkaSGPg0yqYK9TikUpcqB2PDYjQjEzSv4uqeHhLl?= =?utf-8?q?l9LcNysQp8VUAJYjhjYhtZkgAdfD/RFAM7Uis6mDbvxUx14Gq7J0gQX0zJclrFmYM?= =?utf-8?q?QQcKF7ykUfc1t+/fgEpkqsvi2561cANYuXgng2cQS0TGHCKnf6mDqwhIF6JLa0RFK?= =?utf-8?q?o5WGU+DfEzBDIsQzlr2qL4IrKSCNm+IkmGImzvZWt6g7O0FK6H2knp+06l8qmRvaJ?= =?utf-8?q?VyyDRxrt5fHj+tk2Y8T05PJEeuic+UG8TmEbn0XajJPzATRw1j7cKon4txYhc6Fmk?= =?utf-8?q?g2QLBRbF46TmM4/Ea/66AmMlsx02wJEUG8bC1j41mTg6SIO91tmND5wEEaJfZ2ZCN?= =?utf-8?q?o4B6z2z+yFmNLlH/4QOVVWEZOjDUCXUBxbgfM2pIs1Ie0hehvMv9RqEtC4XCGrdsG?= =?utf-8?q?/FAAyN9nkjNjWY+Jjofk5yMWsVvTL9hsJM2eFuic+bIP+rNQImje0h9jLklCDvAGt?= =?utf-8?q?n9kkfX/DZpBC5GqjmIlpNr37l8krMpKtVspWJ0AC/qYLgizyKLlbXQytMQ8vIgyKi?= =?utf-8?q?AWul19p/r2VMKPnPDaiQmHHu+l+S7v3zRdDRT86kd89KeKrI5YX2fz5W+lhcx88Uh?= =?utf-8?q?LndXTKPuumYtGEcNh2lDBpyKDJmHB3XLJhteffKv/q9caV7Z0N5LFIAztnXcIIGMp?= =?utf-8?q?e64fvrW8ibzXUa7uWLXY1NojK6gvjzZxeBv+/1qsUJ0qVTMYr+GFZfsRHaftqOiSq?= =?utf-8?q?G3m/AsCgtkNsFu8pm1dUmkRdctPDO6dQeWGhU3SsVP3JnPxB591cjBXHfzjFMXmsl?= =?utf-8?q?u1MF5cedvGQr5xFY4/JcECNYuM9toLEmFOe5ySkJ87p3FjcE7TVLLnwhgSIogLVXD?= =?utf-8?q?Z21xTEoYFFAC+pQiW9G83k0lYG/BkeYH4wHdKVRx2j0v6D1FFCiSRe/yoRhR9AZ/P?= =?utf-8?q?maJwuYoTu5Qs9N0Ittx6qtSTnssy/7b8eSzF3v58G4q4xvPHubfHZeUESeRLO6ynN?= =?utf-8?q?alzgzR3AjeZqmo7bSx5Pf8oPi0OuJDOjAxfBPcxVe0aBxwiZwSUb3mlry6ByMkf+z?= =?utf-8?q?2SHGQt6FwbLGHEBBw/geeq4Np8ODuwpg7P7awFuXe8GkjbrEMUMhQ/i8jfRPFBdW8?= =?utf-8?q?BCNPGEo+D/4jyNvABDUCoFdErygIle8/t6Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?kyHKvvwVDntIXs/Z2dY6D8cB8B4u?= =?utf-8?q?IGVdHioP2UpR/vcuwh6Jm7PLbMjjvaYbKUFu4Fs3K9zNDN6yZCCh+nRR54NSGGmOm?= =?utf-8?q?G4dmvb3fxZAlkb3f6Wm77jW3DB9pVqVjiZpK+5eCf+sQ6XQhhf6fwTS01/GM924o+?= =?utf-8?q?pbS6nbHeOZLhgPJZGSerUc2Dt/lveW2p/0oKanu8/0hrqnqKDkQKhf/YSMZGSDXZh?= =?utf-8?q?2Q4Jhf+bSNvtBkVigQ8Yi+lJ6QjYdsTVTfNyjbtOujHqhk96rxyxv4F921DYwHzlZ?= =?utf-8?q?ehQwXtiveF/eqSU6I4FS3zJKws5Z1aokl2MFUpK0NFyzOOTAbCYVhUl+F70vQmELC?= =?utf-8?q?vorfIdGaDatgS0clgNZUSzXJ/MSIlOWpX/dpd7DfLZSpuBL6LSGVrYShBfaHaYFNP?= =?utf-8?q?USKbAsjuPhzYGBZhFH6WWLveVrCEN/NkDnWu9ixZ+aRUgjKp0dDvsmPsJZL17ffwE?= =?utf-8?q?CzYTLf950l0Ngrhyh+qrSGMXJgnkwZ58+I/X4+8x0J35UU7lF7jLmKxNXeqr6R5Od?= =?utf-8?q?M/MDeGWmfGspGXVwq4hFbUnH47qg8S+dcti2g6CfwRxFp1pFS4vTNNTbCvsh2r7hr?= =?utf-8?q?dll0z4SFMBN3Z8cKknBYkE+UnPZt+CrJtiHOGFiq0HDtFJ/t0KUexK4Z/R1YHxlXB?= =?utf-8?q?2opDRJ9iHH4jNHm2wQIT61q+trzCNst2VCnydkhOMjHID3arpfkGewTI1zftqTa4C?= =?utf-8?q?7V+LDo1+P1Aj3yoGUnibss5o6BGwFcjnS92FamIgMyHP8DBlycihge8i0y8jMrBU2?= =?utf-8?q?TbebPy53MIpwIkmfVrOGlYzizem+WKHRtrPcfSR0vNwmbV/FBjkpQvZcRdJ5SG718?= =?utf-8?q?iETvvl4XRY1EyF7J3fS3pEoJCuqfpZPIQ40KUUpFTjAA78oIgv4Z8Bx/Z0uGnRlzs?= =?utf-8?q?2bYLeJ1DVrAyAaHfYS3lpNx7ObSWH0n1t75brIIKlTftKf2EQTTEYutdRn4b8dpFR?= =?utf-8?q?VknEVOoSA5JRWBJ/Bx6Vhrn8U2HSssz+DY+/pYpX9rkaBvWCZuZvaY6H2EX0I+owI?= =?utf-8?q?BYT9MB5/COIjsy7aKBuX7F2DHpyydkxfh+cWxUAeQDHb2faNyrhJFYLhwt7T/9x/R?= =?utf-8?q?avgUus/U7ZsI4G8XV4Sin9PY7PpoAUIW66GLAn+CstYFACP9Du6MUdUQXiu2f5X62?= =?utf-8?q?JSfIdCRFvsT/zEx5sJaoOViaa8rQ23O/uR8stoxwwQ56rX+zuG0qSfXtD/oegXnlU?= =?utf-8?q?CNMEcyHAhY0VMQTOBUqQImHXCt/vEqddcHNHNQgTOoQ8C5pWI0qEGMqajL27Nuq2U?= =?utf-8?q?C4Fc/eEnNBCyIww4m4lxl7UYtRDQkrOEoztv2mjYNcP9P9PxOp1HpQR9bkvMV+nTj?= =?utf-8?q?XK3w9vETZKN7byvc8Y5f2YHmE8J7TOIc3HE6sQw9LKvBkIOsjOW4sqsM9DTDXVpFW?= =?utf-8?q?D0mwFyV0ZpjxsPUwg7GptDYM/PIgFGaoG/UxSf1G6WG46I8/mdLKqLAgNw2eS2wFr?= =?utf-8?q?1stPE9Cc+e3YzTFavxnSM14S5+3MI8H4AGA2jRVdY/+gBgrQSGkIzenzYXzKnZT0P?= =?utf-8?q?XX/VnuPS6uhA?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: eff5671d-6468-466c-e610-08dcc40dc7ec X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2024 07:24:24.8199 (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: O2j4HJZCPrUMSQuceqxYlCgFp5SY5307DnR91DkeiLRr8qhihtbO4lmbQdCCmwcABWSD7j8442NThQ95EkAwHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB7213 X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=hW7ESFMN; 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 jan.kiszka@siemens.com designates 2a01:111:f403:2613::61d as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka 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.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,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: Jan Kiszka Add a custom progress reporter that visualizes the state of the rootfs_install_pkgs_download and rootfs_install_pkgs_install functions by parsing dpkg output. This is achieved by reading the number of upgraded and new installed packages first and then distributing the effort equally over each package. There is another specialty: As do_rootfs_install already created a MultiStageProgressReporter, we forward it via the metadata object and report from functions as stage progress so that the bar moves forward consistently. Signed-off-by: Jan Kiszka --- Changes in v2: - catch all "Setting up" - scale down to 99% max to account for that we already progress before a package step is done meta/classes/rootfs.bbclass | 9 +++++ meta/lib/rootfs_progress.py | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 meta/lib/rootfs_progress.py diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index fdb25eaa..f0abd795 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -76,6 +76,12 @@ rootfs_do_qemu() { BOOTSTRAP_SRC = "${DEPLOY_DIR_BOOTSTRAP}/${ROOTFS_DISTRO}-host_${DISTRO}-${DISTRO_ARCH}" BOOTSTRAP_SRC:${ROOTFS_ARCH} = "${DEPLOY_DIR_BOOTSTRAP}/${ROOTFS_DISTRO}-${ROOTFS_ARCH}" +def rootfs_extra_import(d): + bb.utils._context["rootfs_progress"] = __import__("rootfs_progress") + return "" + +ROOTFS_EXTRA_IMPORTED := "${@rootfs_extra_import(d)}" + rootfs_prepare[weight] = "25" rootfs_prepare(){ sudo cp -Trpfx --reflink=auto '${BOOTSTRAP_SRC}/' '${ROOTFSDIR}' @@ -153,6 +159,7 @@ rootfs_import_package_cache() { ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_download" rootfs_install_pkgs_download[weight] = "600" +rootfs_install_pkgs_download[progress] = "custom:rootfs_progress.PkgsDownloadProgressHandler" rootfs_install_pkgs_download[isar-apt-lock] = "release-after" rootfs_install_pkgs_download[network] = "${TASK_USE_NETWORK_AND_SUDO}" rootfs_install_pkgs_download() { @@ -178,6 +185,7 @@ rootfs_install_clean_files() { ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_install" rootfs_install_pkgs_install[weight] = "8000" +rootfs_install_pkgs_install[progress] = "custom:rootfs_progress.PkgsInstallProgressHandler" rootfs_install_pkgs_install[network] = "${TASK_USE_SUDO}" rootfs_install_pkgs_install() { sudo -E chroot "${ROOTFSDIR}" \ @@ -206,6 +214,7 @@ python do_rootfs_install() { for i in cmds] progress_reporter = bb.progress.MultiStageProgressReporter(d, stage_weights) + d.rootfs_progress = progress_reporter for cmd in cmds: progress_reporter.next_stage() diff --git a/meta/lib/rootfs_progress.py b/meta/lib/rootfs_progress.py new file mode 100644 index 00000000..f808852f --- /dev/null +++ b/meta/lib/rootfs_progress.py @@ -0,0 +1,67 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2024 +# +# SPDX-License-Identifier: MIT + +import bb.progress +import re + + +class PkgsProgressHandler(bb.progress.ProgressHandler): + def __init__(self, d, outfile): + self._outfile = outfile + self._progress = d.rootfs_progress + self._progress.update(0) + self._linebuffer = '' + self._num_pkgs = 0 + self._pkg = 0 + self._stage = 'prepare' + + def write(self, string): + self._outfile.write(string) + self._linebuffer += string + while True: + breakpos = self._linebuffer.find('\n') + 1 + if breakpos == 0: + break + line = self._linebuffer[:breakpos] + self._linebuffer = self._linebuffer[breakpos:] + + if self._stage == 'prepare': + match = re.search( + r'^([0-9]+) upgraded, ([0-9]+) newly installed', line) + if match: + self._num_pkgs = int(match.group(1)) + int(match.group(2)) + self._stage = 'post-prepare' + else: + self.process_line(line) + + def process_line(self, line): + return + + +class PkgsDownloadProgressHandler(PkgsProgressHandler): + def __init__(self, d, outfile, otherargs=None): + super().__init__(d, outfile) + + def process_line(self, line): + if line.startswith('Get:'): + self._pkg += 1 + self._progress.update(99 * self._pkg / self._num_pkgs) + + +class PkgsInstallProgressHandler(PkgsProgressHandler): + def __init__(self, d, outfile, otherargs=None): + self._pkg_set_up = 0 + super().__init__(d, outfile) + + def process_line(self, line): + if line.startswith('Preparing to unpack'): + self._pkg += 1 + elif line.startswith('Setting up'): + self._pkg_set_up += 1 + else: + return + + progress = 99 * (self._pkg + self._pkg_set_up) / (self._num_pkgs * 2) + self._progress.update(progress)