From patchwork Thu Aug 20 08:30:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 5380 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 20 Aug 2026 10:30:37 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f62.google.com (mail-qv1-f62.google.com [209.85.219.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 67K8UXm5011596 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 20 Aug 2026 10:30:34 +0200 Received: by mail-qv1-f62.google.com with SMTP id 6a1803df08f44-904ee4473a8sf19465306d6.2 for ; Thu, 20 Aug 2026 01:30:34 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1787214627; cv=pass; d=google.com; s=arc-20260327; b=D+9PhKoxrSgDwt4E6GzhXCjKOJinWab05+wSI1hxcWUERnzklvMX2/gtIRhEd2KiTm 1IwdwTen2lJ2hnkps/f3vDwWZroBLmD0oXewR/wjCYqxFzc5eGLc97r1mas17/Xeuuwu zV9yocL+T7+nTG1Uf54alusUYy07sXkIveG4oQ3BRvk2F9gMoBGVNiC8za5VzLIWTj9s t05fTtmZsVrM+LIU5hKN2Gv43uOM8OovBKyPMeUND9NatoPyktLYNp7+S0jGrhIx8Ew1 HVq8GapTgd0SELg236u6jPmZXHuYeaOcyodwQrLK621rDzyfQHocFuEdyu93IfL1+kSB /wVw== 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=/fIIsz4A6VYELcEt5ixrLkJ7r6YV2BazAHUmgQGXyac=; fh=ZuvzUwELQg7riZ0B2ahwL3KdwnUI7P2pHvdma0qw+zo=; b=K08dihwkuWI/khoZGaCbJs+oZ0s9slpyICIfsjYAV2JRNSyhdVljxutFDPgAuxTRx3 C8XLJKLVBVa+Df8g3Syb3MdHi5IKNWSlu/LyEt1RwZ9aijQzdTpXbMgsxO/3/+6w39OU GvmfMoQQyYGVq8NTVQaMn8LVCiWSDsDC8q7Iq8LefqzDFopIwxQ5uBa4SrtTaQsHA1tE 3UFQdSjvMvKbNu/q73uF1282stDTJqbTysxZQ5i4pnbkcw2BurEU+nAcF9Q3Bipu4EMX 4rCDF5OTyeLEA59NYMk337OPz9u5BRb2Ey+kU97CDtel/JCXYEmGtiTz9FT6JIMlV8CM DEGA==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=hnLFXrTr; 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:c200::1 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=1787214627; x=1787819427; 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 :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=/fIIsz4A6VYELcEt5ixrLkJ7r6YV2BazAHUmgQGXyac=; b=v7JbRPA0UjcFLUE8mTOI/g5zYgGS9sX91EP0voQfgaBSE8tsU6wT43//cEmo0udBc5 60DkixQH6ZrHtIBNkLv4bYO/Cklq2bhyZphHNYbyj92l4xwCZShcaEvr8804F9YD8ofQ wzzOJilpkO4A2hKMkInvkzF4HzTwh5ybtkoNBJd3F9c0N4DmcUagTQttS5NiYRlHxs/Y T+sh9Wtljh8UGNgbxTfEpLFIVAn+FjMEifTM2qeE7NZZY1XSzFTeaaNI5sdRPTOLiuPl H8k+s2WdtbC3GBka5zze/MqdFtnishYlEfIfUL3flO2Z6jAWwELApsHad2xANlLfrYpn xnwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787214627; x=1787819427; 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=/fIIsz4A6VYELcEt5ixrLkJ7r6YV2BazAHUmgQGXyac=; b=B+/JVx0o6ZRu8+9+gC88HpOXZzbgIas1Nj9I0VTclrX9xVEXo3AR92PREdUFexmkG6 Cz2neA2B04en8lE1nCFr2kOXgxNxSC7IzOYPqwP0pQv5wQYtDwmMB+mHC08xQn+eDh2G nh/a03DX3d0vlH6j3vFwlkWCFFDEsvXGMsusclsV3n7Jpw2FvDzTSJpgLhWWbXIdmsA8 7q9EqLVWhECsCzY2BZNcwIfwZcyyQ3OcOt4jSCzeTseRsGb+zyvjw0uQmr6W0YNWt6wH CYnCeFg+A1VCKyUnMEIcZYHNmNXAnlYlBtq5A34BYDrkU2AFV+Pvoo69WiZ3DPooE+60 vllw== X-Forwarded-Encrypted: i=3; AHgh+RrQlTFG7vQc764OEHT56IrdnBttrZi6HP/S7XMxN+zrGCUxxCmKPCTv0QvNUFzDKLoefYLAr2k=@isar-build.org X-Gm-Message-State: AFuF++kfPuunVUdnLMswU5Rs5+/XYi7WEOY3HsG6eJZ1VrqPZlWjy7T0 tVq0roMf2+ZdI4oglDGeZqH8dvtsKJN+uSPKeAjICFqOoysYziUFlInZ X-Received: by 2002:a05:6214:5097:b0:908:951f:41e with SMTP id 6a1803df08f44-90c5e7133e5mr97259486d6.10.1787214627004; Thu, 20 Aug 2026 01:30:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdcpbeNulPVweUmWuoGyBWpF9lHw5byhXwTXKZzsl/jFMQ==" Received: by 2002:a05:6214:8113:b0:907:5460:601e with SMTP id 6a1803df08f44-90c6ad88fc0ls10551936d6.1.-pod-prod-01-us; Thu, 20 Aug 2026 01:30:26 -0700 (PDT) X-Received: by 2002:a05:6122:488b:b0:5c2:c0b2:9889 with SMTP id 71dfb90a1353d-5c5e3dab654mr4200914e0c.4.1787214625761; Thu, 20 Aug 2026 01:30:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1787214625; cv=pass; d=google.com; s=arc-20260327; b=E/Lj9MrCEOgk7SKLQFI1Zhm8O6qqyiLIu9cs8C1XbEdZ/F99h1lSGv2wNQve09Kctn MozYIZnSnb7yyiuuk2mbeRueuDd7OwhtUb1P3T8VxhgVDOHEBuRwEbCh9HTWWdDZtxTU jB8K6Kmdn/r4xRRfUcfvQNyBWw8CfNphycccZYYd++rKlatCvft1Ab67xHzcnM/KM7GV mIVB5vun92dRawGyZcQLciXbBdcUaviW1PPHuZCqfS9/EabHLmLHkEBWzSJrFBvmnhDY lZWOCtK9llZqzh3rZGnxn3m1VseBTMiJt3szF9YjtK6mPAln1aee2QfQ8skJ3GZLyLA/ 2qCg== 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=UI1N//wP5TIQMbGyfVfUxSusFIjKsbMYtH8oi+7Tqwk=; fh=dWFKumMb31C26+PJa6vcB2ftw6NwdNo52k0UEVGombI=; b=IBrtMnYO+mC7rY6ustJlhZ1O1J+QYOeVfWbf9xPC3JgcsHWAVgq/RohquoRCvS/RdI LwH1SjBA7tGPRHgj3ZCKixWzU7LTyuSjB/nmpdbGATnnYkEw5PM/VdMbXh3N8vFCtpNy GS03YbFAie0ORFNPaAu01/NB+iM72wA5j0cQB+fK3I5ynFGhCukh0vlYWF9TWqOg8D1W E5Reor57cMa6Fsx2fUQ8ZYdNywya5QkIFsRV7Gi+mK00nEDz32fDxGGj4zxRpHnRgBdH xO365VQU02Gw/iFw5++PNIKhuve1uEm2dGNtv/pyY9HLsl2r94cC6af6mAE8mi164kMK ldeA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=hnLFXrTr; 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:c200::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazlp170100001.outbound.protection.outlook.com. [2a01:111:f403:c200::1]) by gmr-mx.google.com with ESMTPS id 71dfb90a1353d-5c5e274d628si141661e0c.4.2026.08.20.01.30.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 01:30:25 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::1 as permitted sender) client-ip=2a01:111:f403:c200::1; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eaKrjlHWSoa7su7CuzVJmkZygWFRz83jdF1A6LIlDVK/EhmsZWsbhdNQ2bUS4Ve9WJc+qzSqfPGTy3plPxKtr6Q+C/ViDXARZ0Jc2M3onGelhAKu+6wTIqqcUm8+frEYsxpezuNyu6w/7S1r7bn0swn1FBV+EanzfxRFEGHT2YVSkcFYjfSQOGS1htfxKgjiLiYtKBmW5LEUFxrPwScZWW9ncvT4Tws9NJ89L5yI9/ZjlFe+qpwPjPukxEHU1CtI6DvxqIzlpxoFyEnY5GnFjwMc1Uu6LvPrQThHTNTr+pb+fQGd7AuyEoyGJLdweY5YkPQjigAZgHu1lsS++rJmAg== 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=UI1N//wP5TIQMbGyfVfUxSusFIjKsbMYtH8oi+7Tqwk=; b=MJI/HNsGd4Ub6fXsjJicAdMw7ms1X9g6PEGSe8DKY3qfvp9G6jdK4ZiV+xH8U8/oPjAJdzZ2KtNpeqbkWEaSzrR8iMl+dZyr/cvjtHIN9EoIedeILihCkzcfFP9553XEp5zQH+5UaL79wMwlB48gKpkmWL0uH5eH8mD2AVJfo4WGc0h5yV08xSIgzjgsv5eryzu5/wb9p77jIl8gArEaRk8BP3tY6eCSl59U4q1IGcEIv70iSMA1uCygaezAGG4/VZwNGbnIfExMmwQufuAjIDvp6E/sc1Xt2LFgVoTdV0eYnbSDNs9Q2rA1DvXnR92BMd5fWRFOb64IHQd7j7u+kA== 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 VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:14a::21) by AS4PR10MB5647.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4f2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.8; Thu, 20 Aug 2026 08:30:23 +0000 Received: from VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM ([fe80::4985:cc3c:fb41:6886]) by VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM ([fe80::4985:cc3c:fb41:6886%5]) with mapi id 15.21.0339.007; Thu, 20 Aug 2026 08:30:23 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH 2/8] rootfs: fold do_rootfs_postprocess task into do_rootfs_install Date: Thu, 20 Aug 2026 10:30:08 +0200 Message-ID: <20260820083014.3377283-3-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260820083014.3377283-1-felix.moessbauer@siemens.com> References: <20260820083014.3377283-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::16) To VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:14a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR10MB3967:EE_|AS4PR10MB5647:EE_ X-MS-Office365-Filtering-Correlation-Id: e0d1362f-9d94-4454-83c9-08defe9546ae 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|23010399003|1800799024|366016|6133799003|3023799007|56012099006|10067099003|11063799006|55112099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: dVB87ysiyWBZpBIR7by0GuPyg2aMfm2MBf2UkpXU4Rd+k0tl0SfKBIDYb99dDlLcyDj2D+9q9rnhHI1LBB+YSlg7rgvDnI+Yix5tWPk07G4heFeG8KAzS8/gj/qzsCrOYHx5XE+FNjs/bTXQOuV36eDW57850Y+z8Om6RYXYvZCmyOQAmA+7EBc18hHn32De+a5MvhVPgLNmyNpxnEiFDHPOvyLNIImQzQhgex5+r2Xq6U3ni76nE6DrHofTk00MxNpbJbFhW1m1ZhjCq0+FQ4yiR2ZkK0B+f0opEWunjiO7OCgby/n994K7zmuDOc7t/E3kZZGhHdfGPvJtV9vmhv8W6yO0MvJK2136xoqT1ynMyeBvmlqlJS8iZvK2fO2cdplNs2ESXv9ts/UfBEl+/bSpP9nd+ockFqpUXh8ZMe+QLLD1AUxEi+07w9cqgIm3MRZe/o+rgMU77zrLBFyylEXTxUdm686+eqrJ9sHrPyCr9jFOUEoQUGyV+wL7WCCDJgEHpFkh6Fn5fftOuyfxkfz9MBzErXxnQnpEqT6s7JatJQptbGsbloxkgngjNFX8dtXA6pRyllRAcZkVKNg/dtqyR4uOafspvwDBHLoJEkyx1oSMcRstNvQXRxsj0xjNSMhWoaPV5VPjRwvq3NmXHTgpQHWVhSqXuwK2oLAdYwI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(23010399003)(1800799024)(366016)(6133799003)(3023799007)(56012099006)(10067099003)(11063799006)(55112099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: tL6JX76yhfwlkP3IupF8UvUYsE+lRV8InGLDdTJntx5TKnz40leeGo4zZk+30o2Ku8tBDmlrnnfyg1B25u5GMSMa/ATEm3Ft0vMev/cWNN/nLlQkXUOy/F/h+W28vvBHmNBcLXjNgAPT3dl0gBAIZstkNs8TcaaePF7FaPCvsgz8Tb1/UnL9zH+fCqGiJBjvuMKPkkiNe5Cw+pEFo0FV5/eDAq2GEb2ZgYcy142PzBvCFJyd917Hu2QM1dbdrGCjFZJiZvPC+mapLMd1Wl3X03ghNxzcoR5MtG9KR8y/t9wUZecio842ZswWDoUp8ZVkjDZXBpmBhOEwcg6D0HmWYYeBWt0TWBqj5qXHVvJ+lN9FF5neVMaQAxWjcESICzT6xcPbFdYsXz4At8qJFmmf6y6h4EK/uM9t9W4bmsS34DXGsWQHIAUED/jTObYXQEOQbJiM1nom6kYGqXBQfu/5QM4mcBSZpqNIGn8oNx7cV7zq0rvVjO3Ei090NTrH5EobyD2edtWnekzfnPNj6MjdOQQMnMN28H6Hv0pWAcyWn1Vgj3WROS4N9wBl/LEfCo7sXxxnncLIn30vl5be760A+isqJQMQx+f11OlDupB64MpqWeP2UkNU2T6LIXGsanFJVrpTeun07XB4YqhSswH06WLEHSTqiNHG2ET2G6a27ej/5xMTPTsdtoCLqrDksDgI+FZ4QQ964ReYWd82v8LcSMJYvBc8M7w/pQgCMMe/vt53WTx+2HY2+PRtf/xY4DR1eu9nq5g6aYK+rAyC2XO1+PG5PhK6anChNDFGo+zpUGR61ftQYJ15+pv0ZZIexSM+W194mFDxU1XdCjbJOLWunt8tC9yU9/HyWhGlhmvrSDp1JY2x0F/XwKcp7a4nN+Rz1pOwUJBTqq4yu67eVNs0Uv1lvU2djGbgU4wGJdEhWjdr/pe2YjU+YfcW42IvcT2KI27PUaiOO+vrRh5wGAMts+QYgCgsHgG0F8Fa+4f5Giu6R2rHtXrZ2wBLxKZaa7PnZerILBz9u/oOUWLvO9bvFkAS2F/Ju01HrQTdUoV8EBHaTt9TfkjWWR9peavPNH7qA3JyWTd6EY+Eufnfby1yBDD37HBNSUhjUlRk9Puo+P9u31YIDRiAudL055eReX7NJ1hHm47MY/oqe+9YNFnCzWePVXgZgG2t2e/OCBiThv6Blsa2HKR0EWom5ok5eZAamhBC2DGyU3p5m3UVfupBDofGmPiZJandk+eIE5RlxT4gQWhrOloseOoW9HpqJ2kMNY39SmkZm6UZ9lKKmeHIpV9SdJ6aGGNLCXT8LjC8iUih0EGl5H6b8gsgtB1fvOL2LTzwqm5GtvlviOqUFUezyM4ZWhlxIUcPN2tx7NUoOr9gVk4vP8eQnaRxC01beXQ1FtIF2254kg379x8dzxPXpmkKn3mlDf4AGSwLHm+MVr/ZmqnYEolVFVd+Nan2tUtuF5i9b7dbwThOIgh9kVz3pByrYjeN51UmNAhC2oQ8ChnVedOsyXjo0I8jE96flyxqy9OdaJ5FzGoGeMIAM5Y+5S+55Na18as8Hpg9nGSkygqUhj0hehWZdebp6lmt0+JzeZH2sjjx3MB/YpmphGeETmuRtmntrx0A5S+APCGONAGgmjXDaqUMj6XCqqmiLc1FLRRxMmYO+zDYEGJ0upcc6OX9QSij7i6FcgacFSLw75KD+faKH5dfdRdn5/fccjF4I6fQMCgk6dzlUjOASqKUkBVNm5GSbsgbthawVzi2iQDo61woVtlXLkogAewZSTt6IwYPY6IL X-MS-Exchange-AntiSpam-MessageData-1: dWfAX2hFSH+iEbeS7/m6Fd64PFuFSHtndto= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0d1362f-9d94-4454-83c9-08defe9546ae X-MS-Exchange-CrossTenant-AuthSource: VE1PR10MB3967.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2026 08:30:22.4286 (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: qIASpht1aObILyI2t20d7GSRZzxL7cj/NJ0gLyImAdVXmMbzyYPcx7qfy5o+HihrTxDZAdHEHh/guO02De5bNZ/lx8jphdT5Qkr7BfU0LWI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5647 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=hnLFXrTr; 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:c200::1 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.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 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?= The do_rootfs_postprocess task is not idempotent and contains steps which can only run on an unmodified rootfs from do_rootfs_install (e.g. user-creation, steps that need the apt cache). To make both steps atomic, we move them into the same task, similar to how OE models it. This further improves build performance on rebuilds from the sstate cache, as the whole artifact can be taken and the postprocess steps do not need to be re-executed. The sstate artifact is also smaller, as the rootfs is stored in clean state. By that, we further drop the manual registration of the USERS / GROUPS vardeps on the do_rootfs_install task. These are now propagated via the corresponding ROOTFS_POSTPROCESS_COMMAND. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 6 +++ .../image-account-extension.bbclass | 3 -- meta/classes-recipe/image.bbclass | 4 +- meta/classes-recipe/initramfs.bbclass | 2 +- meta/classes-recipe/rootfs.bbclass | 42 +++++-------------- 5 files changed, 20 insertions(+), 37 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 2db05169..f5630762 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1201,3 +1201,9 @@ To opt out, remove the feature explicitly: ``` ROOTFS_FEATURES:remove = "clean-apt-credentials" ``` + +### do_rootfs_postprocess is folded into do_rootfs_install + +All `ROOTFS_POSTPROCESS_COMMAND` steps are now executed within the `do_rootfs_install` +task to avoid idempotency issues on partial rebuilds. Task that previously had a +dependency to `do_rootfs_postprocess` shall now be changed to run after `do_rootfs_install`. diff --git a/meta/classes-recipe/image-account-extension.bbclass b/meta/classes-recipe/image-account-extension.bbclass index de01484c..dd70f2a3 100644 --- a/meta/classes-recipe/image-account-extension.bbclass +++ b/meta/classes-recipe/image-account-extension.bbclass @@ -14,14 +14,11 @@ python() { for entry in (d.getVar("GROUPS") or "").split(): group_entry = "GROUP_{}".format(entry) d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(group_entry)) - d.appendVarFlag("do_rootfs_install", "vardeps", " {}".format(group_entry)) for entry in (d.getVar("USERS") or "").split(): user_entry = "USER_{}".format(entry) d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(user_entry)) - d.appendVarFlag("do_rootfs_install", "vardeps", " {}".format(user_entry)) } -do_rootfs_install[vardeps] += "GROUPS USERS" def image_create_groups(d: "DataSmart") -> None: """Creates the groups defined in the ``GROUPS`` bitbake variable. diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index d02f99da..a749441f 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -408,7 +408,7 @@ do_copy_boot_files() { cp -f "$dtb" "${DEPLOYDIR}/" done } -addtask copy_boot_files before do_rootfs_postprocess after do_rootfs_install +addtask copy_boot_files before do_rootfs do_generate_initramfs after do_rootfs_install python do_copy_boot_files_setscene () { sstate_setscene(d) @@ -492,7 +492,7 @@ EOSUDO -exec touch '{}' -h -d@${SOURCE_DATE_EPOCH} ';' } do_rootfs_finalize[network] = "${TASK_USE_SUDO}" -addtask rootfs_finalize before do_rootfs after do_rootfs_postprocess +addtask rootfs_finalize before do_rootfs after do_rootfs_install ROOTFS_QA_FIND_ARGS ?= "" diff --git a/meta/classes-recipe/initramfs.bbclass b/meta/classes-recipe/initramfs.bbclass index 5a98e337..a647b6ea 100644 --- a/meta/classes-recipe/initramfs.bbclass +++ b/meta/classes-recipe/initramfs.bbclass @@ -78,7 +78,7 @@ rootfs_purge_initramfs() { # If an external initrd shall be used, run it as a task # instead of as part of the rootfs install. -addtask do_generate_initramfs before do_rootfs_postprocess after do_rootfs_install +addtask do_generate_initramfs before do_rootfs after do_rootfs_install addtask do_generate_initramfs_setscene ROOTFS_INSTALL_COMMAND:remove = "rootfs_generate_initramfs" diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 8d394b05..b85cb59a 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -430,19 +430,21 @@ do_rootfs_install[root_cleandirs] = "${ROOTFSDIR}" do_rootfs_install[cleandirs] += "${DEPLOYDIR}" do_rootfs_install[sstate-inputdirs] = "${DEPLOYDIR}" do_rootfs_install[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" -do_rootfs_install[vardeps] += "${ROOTFS_CONFIGURE_COMMAND} ${ROOTFS_INSTALL_COMMAND} ${ROOTFS_VARDEPS}" +do_rootfs_install[vardeps] += "${ROOTFS_CONFIGURE_COMMAND} ${ROOTFS_INSTALL_COMMAND} ${ROOTFS_POSTPROCESS_COMMAND} ${ROOTFS_VARDEPS}" do_rootfs_install[vardepsexclude] += "IMAGE_ROOTFS" do_rootfs_install[depends] = "bootstrap-${@'target' if d.getVar('ROOTFS_ARCH') == d.getVar('DISTRO_ARCH') else 'host'}:do_build" +do_rootfs_install[depends] += "base-apt:do_cache isar-apt:do_cache_config" do_rootfs_install[deptask] = "do_deploy_deb" do_rootfs_install[rdeptask] = "do_deploy_deb" do_rootfs_install[network] = "${TASK_USE_SUDO}" python do_rootfs_install() { configure_cmds = (d.getVar("ROOTFS_CONFIGURE_COMMAND") or "").split() install_cmds = (d.getVar("ROOTFS_INSTALL_COMMAND") or "").split() + postprocess_cmds = (d.getVar("ROOTFS_POSTPROCESS_COMMAND") or "").split() # Mount after configure commands, so that they have time to copy # 'isar-apt' (sdkchroot): - cmds = ['rootfs_prepare'] + configure_cmds + ['rootfs_do_mounts'] + install_cmds + cmds = ['rootfs_prepare'] + configure_cmds + ['rootfs_do_mounts'] + install_cmds + postprocess_cmds # NOTE: The weights specify how long each task takes in seconds and are used # by the MultiStageProgressReporter to render a progress bar for this task. @@ -470,7 +472,7 @@ python do_rootfs_install() { progress_reporter.finish() bb.build.exec_func('rootfs_do_umounts', d) } -addtask rootfs_install before do_rootfs_postprocess after do_unpack +addtask rootfs_install before do_rootfs after do_unpack do_cache_deb_src[network] = "${TASK_USE_SUDO}" do_cache_deb_src() { @@ -611,33 +613,6 @@ image_postprocess_populate_systemd_preset() { EOSH } -do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}" -do_rootfs_postprocess[network] = "${TASK_USE_SUDO}" -do_rootfs_postprocess[depends] = "base-apt:do_cache isar-apt:do_cache_config" -python do_rootfs_postprocess() { - # Take care that its correctly mounted: - bb.build.exec_func('rootfs_do_mounts', d) - # Take care that qemu-*-static is available, since it could have been - # removed on a previous execution of this task: - bb.build.exec_func('rootfs_do_qemu', d) - - progress_reporter = bb.progress.ProgressHandler(d) - progress_reporter.update(0) - - cmds = d.getVar("ROOTFS_POSTPROCESS_COMMAND") - if cmds is None or not cmds.strip(): - return - cmds = cmds.split() - - try: - for i, cmd in enumerate(cmds): - bb.build.exec_func(cmd, d) - progress_reporter.update(int(i / len(cmds) * 100)) - finally: - bb.build.exec_func('rootfs_do_umounts', d) -} -addtask rootfs_postprocess before do_rootfs after do_unpack - ROOTFS_INSTALL_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-initrd', 'rootfs_generate_initramfs', '', d)}" rootfs_generate_initramfs[weight] = "1000" rootfs_generate_initramfs[progress] = "custom:rootfs_progress.InitrdProgressHandler" @@ -682,7 +657,7 @@ rootfs_install_sstate_prepare() { run_privileged_heredoc <<'EOF' mount -o bind,private '${ROOTFSDIR}' '${WORKDIR}/mnt/rootfs' -o ro - lopts="--one-file-system --exclude=var/cache/apt/archives" + lopts="--one-file-system" tar -C ${WORKDIR}/mnt/rootfs -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} . umount -q ${WORKDIR}/mnt/rootfs EOF @@ -715,3 +690,8 @@ python do_rootfs_install_setscene() { sstate_setscene(d) } addtask do_rootfs_install_setscene + +python do_rootfs_postprocess() { + bb.warn("task do_rootfs_postprocess was folded into do_rootfs_install, please order your task after do_rootfs_install instead") +} +addtask do_rootfs_postprocess after do_rootfs_install