From patchwork Sat Aug 24 06:55:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 3771 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 08:55:22 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f59.google.com (mail-oa1-f59.google.com [209.85.160.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 47O6tLxX007515 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 24 Aug 2024 08:55:22 +0200 Received: by mail-oa1-f59.google.com with SMTP id 586e51a60fabf-2702b61bdffsf3568242fac.2 for ; Fri, 23 Aug 2024 23:55:22 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1724482516; cv=pass; d=google.com; s=arc-20240605; b=OX75AUHXwMbF3tFT2n51vlC4gOx+tEY+4X2kR/Jo3OTGrsXKf0pZFe9MhlOLxnvhx0 QVpkFHT3jrhDznmsOvp6BTG2RDv1Bx0qjctdrmfVsFVlO1W6CDAYJgp4pNLsOUU4vjKa Xsy7WJwkZsp++At5DtTJIySnlvCZwJlbykp2QzyEPikjMhCr7MSkcRdWZ3b+lezpUS3v iUnR7y43y8dXvom7LZx7B5uoiR6bt9lItb2Wg9435rWppDsHgLnvWJCoxWxxpspDnFAM SlFlaP/s/IDCiMyDg9o8FK0l6H0iH52ORGjv7eMy83FTQftbZxWC/YI0vfMnsQ9xjJKG 683A== 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=V0W6bupdDRkgwZRHsHTJc1OGu71YfekXxmms20fMMRc=; fh=qG2CD0FYCL2s66sbOT37jackveBCxVa+E98Wv2YpeBA=; b=AACwZFZddfn6jax6GnfPxeL9JW9AYVOj2NhxdR1CRg1Ub9CfG2y1qUqms+zqPkj/mF 6N7Yv/l75KfirfoyOg6HwBKsZ486n0x0yshhIuEi4ODL6YXr+BBtMHVZiz+TI6CCHDPt FQdlMtuV9wRjcz/UrdVNCF2G3vv1SSXtKq0BxdNdRKvltT/M2EGdXYxY177W9b0mfBBf JmgvDitpRkFvrtBdx/79E05lYZIXm6wI2R3wAThyDCWAZf03F7hZiMtMWKCiRD8zR/4N /0S96zSOazkoqXyZ3rXYi0Vd8brYkmofULDZfbH0/iEGFVlwxD/1BJ7Y7zmKgHmA7cTe tLZg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=azII2my6; 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:2612::601 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=1724482516; x=1725087316; 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=V0W6bupdDRkgwZRHsHTJc1OGu71YfekXxmms20fMMRc=; b=mx7OeECSTg4nj3gsFE1rDDYYDYOf3LMF/h1HsXcifexrtfpo+8Hh8OMgNN+LYHMJP+ A1/wiJ7GhkpoiRJE8ISQxKnol7ok323drcJrZqeSUIQlX0UCcE+kBUdSgVNL/kT4mA1A 9GTDoZci6XnVNTZ0MI5IbdLCj25Qh3ryiXCruZYGs5lYSiGai1NHoajCUVLOJ3U5TM6p SfInDkjo3swm1hj64+00mpgpcxlW4eSHNcCBwoTgey31iP3oWuHSjQZIwlkDhPzskRPR 4Kef9E8fe+4etE0ZKirz/MWkmTp/jsDF9fqwEkbu4VsaIjyn58XdVby+3EaiFLHhi8CB x/MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724482516; x=1725087316; 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=V0W6bupdDRkgwZRHsHTJc1OGu71YfekXxmms20fMMRc=; b=ruHguXdf5QKH4sVJwQsEkF18h9V7wU0/3r5oQ8dXpYuf8yJ3V/aUymMMQxMH24QBK0 8dNI1+2ivcHO3U8zc0MBjv/jm9wq3lTB5uCTMZBOBvNJmiyuQJdTXwXAZqF2CJdQsF0d s40KrxmD0X1qY6KshswG38aB0l4u42MTrCQnbnzR2PP39/kSY69luhFxQBCOfopHoKD8 AORyqguBEMuUI+bKQNaOGW2yabbUlnbEe95iMob/omGFLNY+riQQXvEal6Wi/mTzAasj +JTi9CCkXlheDQoRxNwroToGS3VgBDmDQr2EcgakQ9AVMAW+Dq0OYbUMF3iOdPIbWTZ+ 9caA== X-Forwarded-Encrypted: i=3; AJvYcCWMo1p+vvsf4ppkLXagY01QfBXynxtSmPWwVGbrY5Vh7Qc+qvrYDBAZVqSYvPiLFZi4DhLUJ+0=@isar-build.org X-Gm-Message-State: AOJu0YyIIUGT1fw783xV72Et6UABsMqPv0fE2QVewwOo2ObgQWYvs+wt rnokQsTuI2i68jqBL0Bo2z+qA2HAU/SwN7x7ly2xZm0NgPiTao/F X-Google-Smtp-Source: AGHT+IFLukORejwPMJ4AVbez16HP7fACMKEDYlrGQUO11fwQcGxPhKjYFXix2kt2AyRPbPdAcZpsQg== X-Received: by 2002:a05:6871:286:b0:260:fd20:a880 with SMTP id 586e51a60fabf-273e674bcc8mr4883277fac.42.1724482515670; Fri, 23 Aug 2024 23:55:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6870:7a0e:b0:25e:2748:3ffa with SMTP id 586e51a60fabf-273ca0ec254ls767754fac.0.-pod-prod-06-us; Fri, 23 Aug 2024 23:55:15 -0700 (PDT) X-Received: by 2002:a05:6871:5826:b0:25e:7a9:b603 with SMTP id 586e51a60fabf-273e646613fmr5284223fac.5.1724482514740; Fri, 23 Aug 2024 23:55:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1724482514; cv=pass; d=google.com; s=arc-20160816; b=VOcPcUPyHqUrGBFytylr/4XGODJaj1tLDEgZfgaCGlMkIJn5z/bLaRJv4/b+IaEd5A KnezZZ/+kkIYiuR6FRQrk0FLhHbi6W/2gyxFPyzEsjxNqoevslsYEF4S+P6Grifb96v7 2F8Ox/UyFFAR0hcnvVHy16gg44YnUxZPyfYq4ewUeBuz+Q2yMEIaCY3BEVEpp1EuLoUH M8QvMknWadY7yPIbWRiqfZqgKecv6kf4iBZYS5OAA5oHpEaH4690dNKm8DHODuelULX2 LAUks9QcfGd9kxk4JBD1vyp44syLFzdMGs3yULALMw5v65By5TMBCkwikzFaB0L/R1Nd a9dA== 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=JtRERJo5qq7Xkcv0oZ2IjWX0GcnZDDQSyAd8KgYc3rs=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=hoSD0F0le0aWQ5+6af0a4E3xvz5q1czaHXTCP95xTaWjblfmUMuZKvoc3SfApQIBkF liTgU9DIvJN3RBm3+ucCOGALlU+fuKJRCbhP0+uGB+v6jy6ULT1dSrTS1KunG4WLUApc Bu2dmFOylOkte0dmJXmwpBcbFtWaYuqOdIi+DR8SNOjtsSZxcLGUwSTsifwPqzB94SrO vn42I72xGLx+L+ZU42iHOq080i8CouXfJ/Tf1RWWUKpqvipiCLgAtps982PuU4r5gwLI UrBp9klyt1ALzM4RIM3aIgwsTuHD7LPFiJMDredaHdHRcktjZrI6T/6MuBvCGZvZoVMW 34pw==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=azII2my6; 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:2612::601 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20601.outbound.protection.outlook.com. [2a01:111:f403:2612::601]) by gmr-mx.google.com with ESMTPS id 41be03b00d2f7-7cd9ad64e1esi148787a12.3.2024.08.23.23.55.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Aug 2024 23:55:14 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2612::601 as permitted sender) client-ip=2a01:111:f403:2612::601; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Kt3TiBLQbqb2o4pUHaSFw62sVfsl9eOROFff1S6mRxx5ulJYNp9dgQ/w8/DziBnvN6pvmtMm4g2cKDNSXB8Sj1IgOMkBOCeKbg/gRmEUCWWc6dze+bYU84HpZ85FWz/EwfwAoVEzdQg7a3XVhl4nO53m+zEpbjgQYQM3eiddXG4ADDYi067QkMtK3teJ3XhLdzWsL4LblcHGRZcLfL/OOiL2m1Rse8JXKqPZ7ZK199OLRHL2ZwtysuLYKCmOHqJbAroRhP88Zto1OpyLGm4CkkAuH7lWMbqEAKp1saxGs6nytofa07036DBZ94qzz9FEnsYpe5ABq2SNiWDaJ09l+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=JtRERJo5qq7Xkcv0oZ2IjWX0GcnZDDQSyAd8KgYc3rs=; b=C+faq/mfWpEMxBd3T3Q5c5HLaFI0Fkneqaqj2dcjkAWOomlGN2CDTuZzLHOa9XeY1qjTWLPqAT0TUMV0/QryfjlCPJ9zwAr6a0a9mlCSGDTThEb35IUThuoFkQpXfEVzVXKzAUiaIIjUA9hh6lcGAKmM2C5XXJBd1kMRDTxr7jG9vkqJ9EQrtb9+cg1mruFlZ5eCD6RxiwYLlxZTW+iTnenUw0pFqfGcZzITT9z5guszeUfL9By10c256HO7W/ofItAlreXL0JrPP7lcPRHllqGftquvT2rxAKooQJRRRj8fAKRT3tZQkoeSDk53gJ1/JVpNenVALZACuGr0s3VkXw== 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 PRAPR10MB5345.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:297::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.19; Sat, 24 Aug 2024 06:55:12 +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 06:55:12 +0000 Message-ID: <92422bd2-f3a6-40e1-be76-149caefe8a6a@siemens.com> Date: Sat, 24 Aug 2024 08:55:10 +0200 User-Agent: Mozilla Thunderbird X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH] rootfs: Improve progress reporting Content-Language: en-US Autocrypt: addr=jan.kiszka@siemens.com; keydata= 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 X-ClientProxiedBy: VI1PR0202CA0001.eurprd02.prod.outlook.com (2603:10a6:803:14::14) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|PRAPR10MB5345:EE_ X-MS-Office365-Filtering-Correlation-Id: 57c1adcc-f95b-4348-9ee2-08dcc409b32b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?3Vbk3lN4Zx5FLomD1KXvkn/KZuVmOU1?= =?utf-8?q?b4gA7QXfmxhrwsmteF3vSPxmo3dPTwSx0ijfjzkrkwhMJqYR0VV+xMMpFcEQcsEWP?= =?utf-8?q?RUk85ADITCAqCyBMse0ZzN5RzZy7R+yF72sIN76j73Kc4x6Gp+Hqts2OUrRhJ/5lN?= =?utf-8?q?b1TKgJZwVmuRuikWKJRpr0qePRoQMm1EAsrNi6ZF5K9G9331yyLoDQujqINE39bYc?= =?utf-8?q?VjrIKAsYn+vB3xindwjkZj0Y02v4RYx4h8d1wFxRzY1s3UQnbCwE2E2iJR9s/OZOM?= =?utf-8?q?vJMaDNllW4MU/8Gcup7mRtVp8gR+rXcfA6PcbaZGkyWOpsYUqEyYiK2Uzaj4Ym/WO?= =?utf-8?q?4ubr7Ce3tCDwdENQii7zayPjOjiiwTWN+pJDb8h2yNR5ImAB2hmsLOgSyzFr7VvLk?= =?utf-8?q?1/i2DY/wyWetcLL70z3t/BzeTwVN+o6oH/fclPOTffCqSNfzoAqXLAWxWuIaEl4Mw?= =?utf-8?q?NY8AEpmQDZMlWyvgiPgd92kNSkyfP64orDdYlWF4fPqlRbGyPJMv2UcQeBak3b1SJ?= =?utf-8?q?cCStEttt8/3UXulcyXj/mcrf4ABqW5ovNfelnpYuO7UNpVHzFvaBifx1lGeW+fSrE?= =?utf-8?q?XuLsBgB/EWXGyZTwo6oRGOpTk33qKJeJNOu7IPFLVe5mLadfXBaGbLk1Whwzfo2ih?= =?utf-8?q?U2QhazySPxg6HhiDUXejx3fAg66HVs1IDLPHCaasxo6Su2oH1KC8PNbwKg1CUEMkc?= =?utf-8?q?N5kS5ORYVTtl4XB11DRVpJo7KAwDqygFzg4YlATPnKohEen83xdkp23PyGRivtWY1?= =?utf-8?q?9GGMe192doi2xjXQuTkBMZGQYlxWk2x4qazjJibl9FRHsCN1D3TdMGtNqrmz+Q0IW?= =?utf-8?q?xGH6KyShnNxvkta0BKyVIzImYc1UJ52tHKV3e6ARoJ30b5h3mGMZAL7S36cg2kHsv?= =?utf-8?q?HUSWAiSl1dmbKJEhuk4T6ehEP49LzfxoJ6kFmbQYSWs4blwu7ubh7J2cFCC9tGQva?= =?utf-8?q?iBXpU0t2dNYiwW0tFw1aUkgRHZYD/HaHgOAPqZJ80Sk2+Na5Fhd9TeuBd5ksElC7w?= =?utf-8?q?Sb90JKtEZBrED0zuxWONWh0d83M9/62syN1fjv52UtaY+wVG9yVEh+gpvgTwFaEr1?= =?utf-8?q?MMfjpaTrgIYGVNeOfgxEqk+Y6MLH2O44GJeiLIG5nchp484Xi6r6tDoQ8VmMn4sWP?= =?utf-8?q?/4sTSwC4X6R5PLxixdev4wYJnLX0O5OOmjyb32aV0SkvFpdzAjYsItoRu5AyaAxYO?= =?utf-8?q?Gq2Mdoo1gnwx/1PPa7MdbFRpG7ssBgygwviZlFSGNGlqhtJb8vYDX9PDHbU7vb3lT?= =?utf-8?q?n9AwQXuGgnWPuJ9MzqVdikVrYqtRFbpolng=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)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cNYgT6d0mOr/5ulPAxL+HdS+YI5N?= =?utf-8?q?StHN3+onS1HRjgDuVvAVzvVcpBXg4V+CIn3Q9cYPxiCqcpbHFqBt6/0/gvaxCWwJx?= =?utf-8?q?VNSasjXjB38fX0UQdepAhimYi6fJs1higYGJ2Bq5NcQEDVzF6UzVN+ojxQkNtbmam?= =?utf-8?q?uaw58ZlDsBP0g1nCZOo/odz8JeedEiNP1dnNw0gqgDuKnvW3t6GHFTUCKc3GrNsBT?= =?utf-8?q?fWaNWLXrmFKbC0fKoqpoAC//wrS2Uuuo7TI6WnbMMcRpoCgQBmcvMR4y0i1zj6/g+?= =?utf-8?q?Cxb2Sn8cd9SqY+a7quQvh5Pcci9z9e/vCKWwT2sY19gGpF5UyAUoLUvXGO3Z6gNxj?= =?utf-8?q?6oczsSIaviQKjFE7o4/KD1CIGm5I8iwmSY7ImO1us9XpJKnOIA4xznRxHxEzHfv2B?= =?utf-8?q?DSTVQGQRS7DhegPYY02kFnHmZi2hMOLG2l/vMtGfgAN1dgrqUV4aXJg+xfsE2qrmm?= =?utf-8?q?fQ0ICtpZbYnHM57SENN82364is20pBf3EL0QuHi7J/kFuyC733+RS5EUHVeEf0wcK?= =?utf-8?q?jr7wJC9NXvhY5X8tCNCPBRQ78lZj3zjr4Mydu33D6KXst5uKg+HukB4RkFMPUvXVb?= =?utf-8?q?ENC9axoG1hMow+ahx/8ryMq3q0Z5QKxtitKRDJboHcCXeFYosblVPzwn6u5iJVTuo?= =?utf-8?q?WhyyEjYxSZIepvlqZpKqNUp9vPPunbWcOAYIgYxwpHrbWnAlP0A4waT6KckBk/KFa?= =?utf-8?q?SYc22dJS0ktmZQzx/vY3bhD05m/nAa7KJUprB0NrMn99/hMetuftn7HjOj6sH/bDp?= =?utf-8?q?0fBB1w0Fr4vtJqQ4xFQc9N+GJJXugx4OJTLnd8DhII7+J8tj1VyARDnOgC75J4abV?= =?utf-8?q?KvJ6Zdcbo3vFxc+ukD4IB+2ICbXhpkcVIS6Xbk1+jVGnVlwGJmsNVcliB5ie8xH/b?= =?utf-8?q?ZY1BuMqnhhZictx+I+DRvxphrhPosVsdDFh0j0kuye2nonmgR0Q1JBhOJQ7Wqy10C?= =?utf-8?q?VdhaH6c2/mOcf8QjqxNKvs9fg2KWIqrJSdmykfs+Ci34gL7SxPyUuYbZQurXqTkYe?= =?utf-8?q?KIfOzlHpJEsNhs43ZMSl3fOV3oBnFUQTXpaWAGpbHMEyqF4UpvHWnAlrjAWtvBYJk?= =?utf-8?q?gtHB+zxef2iFrOJwsQ7FxGljo0rlONJd5Zn9tnN/N42aTJ1vVr3m7sdfr+NCFSuEJ?= =?utf-8?q?ChzsZQUE+ZPqlfbVrJaBDa2KJjecmcvNZkkZIf/ob8F2BG52Zcn75UwjYtAVofeYP?= =?utf-8?q?tbHHHuZwB9553+rzAJdKieoCsn2HE/sUqeWmA07exwxi7qCQKUmt46obtR06ijY6S?= =?utf-8?q?tomRRGQ2nXPMhFIatr2+rc3CtFhtYKIHNfem7KYWFR3Cq0KaGgT2+Lbu/NJ1eb5cA?= =?utf-8?q?bFaMTvAm6ThGyzC7pAsTCyTqAyq4Btmh+f2dVte6O/Ajpm2bKYSxYDpcapjAH83VG?= =?utf-8?q?1LWWm4eqdBS19XaOsCPtTk2oaGpJ62TZPK26+3fcGELqZKDh3pIwbVzjXEzHoipuE?= =?utf-8?q?jB+jUBIb0RGAJhTb4T/cb0jC3rkJWK204Llf0qklMUuB7QyDsj8KM/3nY1134t/AR?= =?utf-8?q?PkesyfoNcCjz?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57c1adcc-f95b-4348-9ee2-08dcc409b32b X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2024 06:55:12.0243 (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: OivexcbFPOAHrEDIkz0shnknNIGlp7itCNm+YtBxUMu5H1H+dJZ6nh/Cboe7SRmbuR5xqTus7K7rwjIUOJMiDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PRAPR10MB5345 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=azII2my6; 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:2612::601 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 Acked-by: Felix Moessbauer --- Just to keep us entertained while waiting for builds to complete... meta/classes/rootfs.bbclass | 9 +++++ meta/lib/rootfs_progress.py | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 78 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..88299fd7 --- /dev/null +++ b/meta/lib/rootfs_progress.py @@ -0,0 +1,69 @@ +# 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' + self._progress.update(1) + 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(1 + 99 * self._pkg / self._num_pkgs) + + +class PkgsInstallProgressHandler(PkgsProgressHandler): + def __init__(self, d, outfile, otherargs=None): + super().__init__(d, outfile) + + def process_line(self, line): + if self._stage == 'post-prepare': + if line.startswith('Preparing to unpack'): + self._pkg += 1 + self._progress.update(1 + 49 * self._pkg / self._num_pkgs) + if self._pkg == self._num_pkgs: + self._stage = 'setup' + self._pkg = 0 + else: + if line.startswith('Setting up'): + self._pkg += 1 + self._progress.update(50 + 50 * self._pkg / self._num_pkgs)