From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7184619192186830848 X-Received: by 2002:a5d:6b4f:0:b0:26a:a820:d75e with SMTP id x15-20020a5d6b4f000000b0026aa820d75emr1490182wrw.56.1672820122493; Wed, 04 Jan 2023 00:15:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:2642:0:b0:3d9:67e3:87b3 with SMTP id m63-20020a1c2642000000b003d967e387b3ls93832wmm.1.-pod-preprod-gmail; Wed, 04 Jan 2023 00:15:21 -0800 (PST) X-Google-Smtp-Source: AMrXdXsMeKPMRcdJGd8+S47I7/S7VKjbJWjMjgSKMIuJ8hDLZvvvoTgSdL3ugPnd3GSMbMfjraZ+ X-Received: by 2002:a05:600c:3509:b0:3d3:4f99:bb32 with SMTP id h9-20020a05600c350900b003d34f99bb32mr33687509wmq.36.1672820121347; Wed, 04 Jan 2023 00:15:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1672820121; cv=pass; d=google.com; s=arc-20160816; b=0e0rUB/CMOfw85d4z1aZbh+L6g4z69IDdfXE0613TpIt+nRsi8lWgOeVhlSt4BdRYR wumXfXX1Te/7BJKGRxEcnNshDHDNCuNEXxeSEf9OG9rB6rglfrHMUJakJIaWzVEYCKR9 NN4XT0ec34H6y/8fTknYL1z9f0rxdTkFL/zw4FCuJ4Qd+9OUW0RyrO0EqXxIXSjdAjna fa4lYB+vqFkp2M6wTJUnljnx1b7IF0RCLypf/KNlptU0PwnttIFSxxb9bq76sI//6KQg sV//iLDwjvCteNIiTeZt1Op3Zm/FNEo0csndXzLveRS8jEJ8Yc3Ls5KEStI+nXBPiqNK Ax7w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=XTLFStom8ydNwPAaIRJQD1xWNEr7pld8U7PeU4q7La4=; b=ufPzTtaj4rSSHaiO5uSMB0JhQ28oz0uBGaZ7EwnESAhIYNvauJyYQkf3TDJ3VB6OBF aSYXflgT2/gD4PRptTlzEKJDFixlhMM/vZ2qMGS+kXj8Gl9eup7+FAUSeahn4PuV6Frq tszGjnICaTG+k6rMdyt/C4QH4DHBwYiKGM81wGKGwmdsslWF+woYluV8UV+MFx/sTsX4 cwMlnrzENWpq5pz2ZFx20aS7zsP6AVCBxcKOOcfmVdhaNWJjc+J9dMb3NdA+sSaNbW9s MvP51alqKP1tU0BzfUhApPqOAa2t7adsOXw5r4bwU1lX3253RmIQGqzxqIoaF4Sb3W3x 4nPw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="Hjj6t/5X"; 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 henning.schild@siemens.com designates 40.107.22.76 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2076.outbound.protection.outlook.com. [40.107.22.76]) by gmr-mx.google.com with ESMTPS id b22-20020a05600c4e1600b003d9c774d43fsi40018wmq.2.2023.01.04.00.15.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Jan 2023 00:15:21 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 40.107.22.76 as permitted sender) client-ip=40.107.22.76; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="Hjj6t/5X"; 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 henning.schild@siemens.com designates 40.107.22.76 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mi7FcG+tiCVb02m5Qma9nNJxiJRPPT6eOJ/Tmc1PuEfnd0Scw3Ey0mPcnJDG8250n+SXAd8LVn2z8pmkS5FSPjRRRgwJfZzpvWQT/F/E2SrQRMYLtvpAEOUX4jCwSM7P6WjGwJQA3JR8MfnFpPFkMmB6HGTrERwf4WWGisA2qhBuv5YoHdoLqbdF3fDZmc0H8lBVzCtUWVOf3ZunKJmgF4NNgD8ZwadyBBHK1kc3Wa5tCvBqXtfKHcOwxo8Kb7Sw5C4Kk+PjgQkEBWLOifkPy/rKFSFfQh2IpxdhYQRU8Wv0dLiWTYz8aJOYZejgji3z3wzWcu+c18HxyFuEgdF9uA== 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=XTLFStom8ydNwPAaIRJQD1xWNEr7pld8U7PeU4q7La4=; b=IrSQi9OVFc6aJSisGLREPgp+dKGhfCEFOCzhynPdoQWEUwVoH3VA4uaIue3UhXgQkV3KdHovePfQLJpuHcL4vXLPlvseZEsD4MDPyNqjO/2jRbl2pUdo0mS3CgvzFAfTpTiHO43Fbg23JopLGU6XzmBUJw9UWN1Y5LV52ykn4YANw6TR+y4nz44w2ykG8PJZygRm6z8MDcM7OjG1i27G06weEPpOY+Kr0rOtwDEjO6qTK4HYgNkc0KTWuk969diElD7hRh5bplayZjl5iLgbb8Fv0ZBNnLRN05At4g3Uv+2yC3gFBTNSNkJzRh0f/bww36WZGxmjKZFJpTMNUIDerQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XTLFStom8ydNwPAaIRJQD1xWNEr7pld8U7PeU4q7La4=; b=Hjj6t/5X26tlCDrEx1s+ei5gNZbxu3SUP56T2XyrhPtdb1sER8VZk6G09084/p3XRN3wN172g52JVkyggFIaLJnW01FmMK8G4EO5VePPdjFfayh6yrlULcesbcOwmRI3yVXzmq0A1KaUT5aVuye1upn1XAZCy5jC/o5KfwFvdr4+5EB6ECxeyseY15bFN0xwBytyCAGgxUTdXA59+K56K+ZFUdKnUFROWETGcEt4cozzcMRc1+kmVF0DAZuqY8faLYLS6+siLvHMknGDPI3jcJiLw+ronmGizWd0DT9M5uQlBMoRtk7pUdXuHUsmVPoynOephzLqBt7H6jrRhBMcKQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by DB9PR10MB7628.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:339::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Wed, 4 Jan 2023 08:15:20 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79%3]) with mapi id 15.20.5944.019; Wed, 4 Jan 2023 08:15:20 +0000 Date: Wed, 4 Jan 2023 09:15:14 +0100 From: Henning Schild To: Felix Moessbauer Cc: isar-users@googlegroups.com, florian.bezdeka@siemens.com, roberto.foglietta@gmail.com, ubely@ilbers.de, jan.kiszka@siemens.com Subject: Re: [PATCH 1/1] Reduce disk usage during build by avoiding copies of apt cache Message-ID: <20230104091514.2c2dc841@md1za8fc.ad001.siemens.net> In-Reply-To: <20230104023128.374390-1-felix.moessbauer@siemens.com> References: <20230104023128.374390-1-felix.moessbauer@siemens.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.35; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0133.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9e::17) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|DB9PR10MB7628:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cf382d7-311f-4578-c92e-08daee2bd1e9 X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tLn0TrqyZM4t6nRfikC9cmld/EB6FarbfKLK6azUtXfOmKuqoyCDcwSMsltbEdx/kBsmzmbdcJhiqqQEh74lHq3Z0cnR9nhTWXJN00oEgwh61Kd3d3n6KOXASIRHCuJNtL484YAKsXO9q15/PcmT0rGj+P8mSVdLnFgaMihbX7NYAtk3wvUpKgsnXeCk9v2bwRdKQbvl70sq+tHXRKMYPmJfViQFalFpShzYy3bwnIh2Lz9k28GmYfY9z20tQI792kZbrt2dPjBfhMVpslI+Qkoy2sEEhIJ+FtZMgLx1rwubregK0FNWXh8r8o4jLP5K9GrxCEhp9AzMdLmeFROo+dmE9CS5bIEwdm1AcifkbFF0g+Yw/jSFYiQ+2HPUz1kcLcvjIJjxaDCyoCLgx72+pG6GQUvdh4WfnLOMbNAsugOEllfpqprFGTivEFYypkCMnDtMm2P6cFVSDdbu/9mQVmILGu/Y0IGmfyFT0ZoLN8OCLicF7Iklo8zGad4/ROioNBTl6Xc4Jkm0oKsZcuHqqOQAPvTTMJ56JtefM0hi4HZNg3B0XH64RAtP4aB/IWsFYlC0wFTNW9FZZ/m9K3gpBT278l81HkJT8P3HZcCRb3cIkaZIPj6RMuEVfMPGOftlSZjdt+fYpU8M1z6yjeEv4RjT3Pegngrmq6H0y5q4jOSylZopzadWTLk1JCzC0k6I2RQQ3cEW95btkPVzP2K2sg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(136003)(396003)(346002)(39860400002)(451199015)(2906002)(6486002)(6636002)(316002)(5660300002)(66556008)(66946007)(107886003)(41300700001)(66476007)(4326008)(83380400001)(6862004)(186003)(6512007)(8936002)(9686003)(44832011)(6666004)(6506007)(8676002)(38100700002)(82960400001)(86362001)(1076003)(478600001)(360504008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ReDYQlWDFFOIqbwqXq6d3zqmF1Ait2fKPJIcSz71KWUUv7atbtk1B7RZ9V1P?= =?us-ascii?Q?ztsSRPDx35JRwoF79cx7plkumgctVM4jruHZsuaH6CN1K8CLrSWNcZrk7lKR?= =?us-ascii?Q?YIS3M057p6kwJQCiETYKi5ic8VvW9BNx5yrbQfcRj0UKll1cQ2sgV5IFxcFQ?= =?us-ascii?Q?cET9I2tsGO1HPzixImqb4qVpwqBU+ybqK5nQOFSR0bzQQjVHveqt4VrCdEKi?= =?us-ascii?Q?HdOxU7goLwpcDi3uzMH/1Dm48nlf0iGrnvAE72a05hh3i6AGzNJ/jm6u+bAn?= =?us-ascii?Q?DroNI+tJDsAYEetti0pUKeiJdU542JsmzxMOYSCbdZnIlvx+45Yly2fXpj/H?= =?us-ascii?Q?rwQAzRcLVUo/5Zb14mS0PX0zWx4PbOMCs+rh2nPinX49UiTLCznEBelSaxJm?= =?us-ascii?Q?+VoZuaJUNLGnGZr234Sze2INnuKjMELvmzkDlYDz0CUEFzKwsCvUEQFFZfeA?= =?us-ascii?Q?8TLLvRtra+rnjkSipxM7vGCV8AbGe47EIULQDB33FFNDG/Wr8z7hoW46HMDB?= =?us-ascii?Q?aMNhrzlyavWJcVGRL1rU1/Osp6Dqv8yjfoOtYI21Ivceoy5xuDE7Z+toM2FO?= =?us-ascii?Q?IWsrxMtAv6UXp0GpwBA4Mso3C8BHitiCqoaWg8bzdpwDI8fneOm6g/EM8I3q?= =?us-ascii?Q?PMN9F8EqJp96PVWE0QJQ3n0aOvU9Hq17DdcEBxl3loRD5k0cNd60H5uiO9fs?= =?us-ascii?Q?eNjmUeTdelmEK/KPHvDU65uB8wBbwU3jZWYdunFZ/zeLL9/jY6y1K1guRSuV?= =?us-ascii?Q?WsEryQWhZHSTRqoodBgkKR32KPiFD1TkphKYnYar447MGCvJZVbrE3Pgu4QB?= =?us-ascii?Q?eg3t1CFhPreN0ZtQvyRE8y+lJdBOVVw7oXs9K6JVJTAB1L5J2MWfb5ldaLwS?= =?us-ascii?Q?QSpF5AQDnbq3j3TwVfcttEmuwOaHc7A6ET+eZJsn/HAnagzfqgs9UBfR7jmC?= =?us-ascii?Q?AlpOTZMYym6Tqw7RwCmqa2HK8JhXU0NHJZbRz4bAM5TJZsLb0H67CH5vB2FO?= =?us-ascii?Q?oKrd+MseDC3fQfHwBoLht4O1A+HL8+K/49jcWqFb6yYuw01MB4XoowMRCESv?= =?us-ascii?Q?pVmEJW4or7qCFX12nvTUe7gbt0ewcFvarRd7DZI6FIDKoS1PlEpEZvqbJkf0?= =?us-ascii?Q?Ij7MOzxorAPVSvG1vR6Q10yo65E1PQo1hufMMkB2emQTgjr5EMW5X6tp798j?= =?us-ascii?Q?QGVXQFQzexspjky5zaeS3bo+6QONhU/YHtX69sFSLz611oDsieQP2qksXI5r?= =?us-ascii?Q?XMn14N3dNusxHpK0JD/PjatT5K06nYcLgsa59DJSCC76lQBcnHCKw3dYFCf5?= =?us-ascii?Q?R9QNyVAvHsX8VQlY4u2CDYLQ0HiX+4CXvEhAdJBLO7EDc1jcFBbLgXC2dGJ9?= =?us-ascii?Q?rjDHntK4w8MNaQfJN4KvbciyBP2F7r+xMIZ3Atkl8X5URpjiQholQjWZzFVt?= =?us-ascii?Q?ErEVMh51EcbfkuMrN2HRdoiueUM61hKiLckhiGVUelk7nPhAfJRUMZOrMKKS?= =?us-ascii?Q?QWPKxmhiQIREtd3UpV9rKBRfsXpK0AGSO2+b54MourF1Q7/+ZmI5ezYhslGV?= =?us-ascii?Q?hDVuB5IXaT96wmHyaSH6vXhSt/5nUQnl/UYkUj3BllrRlKWf0JsQBuVwdcPf?= =?us-ascii?Q?C6D1c0CZBWYdn/pUT0bdmuuk6Xq5+M+CPVoBpHmDHh3AEOQnfBcukvVcub7s?= =?us-ascii?Q?pv08zQ=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cf382d7-311f-4578-c92e-08daee2bd1e9 X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2023 08:15:20.0672 (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: O/qUOeGJyFG4SKwz30R8+8fDTBSofRWjOgq55ZUKTfVBAhh05FXmoge6m1TqlzgvEFZUOH9XRMyEX5oazo1BMwkWMjsVCAP+h/Tt5FOEb6Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB7628 X-TUID: SWcU7ag6G7tM Am Wed, 4 Jan 2023 02:31:28 +0000 schrieb Felix Moessbauer : > From: "Roberto A. Foglietta" > > This patch leverages few ways to accomplish the task to optimise the > large buildings. like the empire state building? I find this patch hard to review, it seems to do multiple things at once. Things that others have understood already so i will not review. But if it needs to be send again, maybe we can split it up. If any of that causes issues it will be hard to blame and revert. And the authors might not understand it anymore in ... say a year or less. Henning > It uses hard physical links instead of copying files > which is a faster way and saves disk spaces. Put a CACHEDIR.TAG file > in each cache folder in such a way every tar that uses the option > --exclude-caches could be avoided to include debian packages saving a > lot of time and disk space. > > Signed-off-by: Roberto A. Foglietta > Signed-off-by: Felix Moessbauer > --- > > This is a cleaned up and squashed version of the following commits > from Robertos ISAR fork: > > - 83ce56580c39a2f708f9a3ede73439c82edac1be > - 02bfafb20a8c43585561b9de306a2e23c5ff50bb > > In addition, I applied some small fixes to fix issues on rebuild. > This is a compromise between the large patch series of Roberto and > the too minimalistic one of Uladzimir. As the series from Roberto is > not on this list, I want to send out this patch to have something > which we can review. > > Maybe we can integrate that first to solve 90% of the issue and then > continue improving it. > > Best regards, > Felix > > meta/classes/deb-dl-dir.bbclass | 11 ++++++----- > meta/classes/dpkg.bbclass | 6 +++--- > meta/classes/rootfs.bbclass | 8 ++++---- > meta/classes/sdk.bbclass | 2 +- > meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 3 ++- > 5 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/meta/classes/deb-dl-dir.bbclass > b/meta/classes/deb-dl-dir.bbclass index 3b1517d..3a87390 100644 > --- a/meta/classes/deb-dl-dir.bbclass > +++ b/meta/classes/deb-dl-dir.bbclass > @@ -84,9 +84,9 @@ deb_dl_dir_import() { > flock -s "${pc}".lock -c ' > set -e > printenv | grep -q BB_VERBOSE_LOGS && set -x > - > + sudo touch "${rootfs}"/var/cache/apt/archives/CACHEDIR.TAG > sudo find "${pc}" -type f -iname "*\.deb" -exec \ > - cp -n --no-preserve=owner -t > "${rootfs}"/var/cache/apt/archives/ {} + > + ln -Pf -t "${rootfs}"/var/cache/apt/archives/ {} + > 2>/dev/null || : ' > } > > @@ -97,20 +97,21 @@ deb_dl_dir_export() { > flock "${pc}".lock -c ' > set -e > printenv | grep -q BB_VERBOSE_LOGS && set -x > - > + sudo touch "${rootfs}"/var/cache/apt/archives/CACHEDIR.TAG > find "${rootfs}"/var/cache/apt/archives/ \ > -maxdepth 1 -type f -iname '*\.deb' |\ > while read p; do > # skip files from a previous export > - [ -f "${pc}/${p##*/}" ] && continue > + [ -e "${pc}/${p##*/}" ] && continue > # can not reuse bitbake function here, this is basically > # "repo_contains_package" > package=$(find "${REPO_ISAR_DIR}"/"${DISTRO}" -name > ${p##*/}) if [ -n "$package" ]; then > cmp --silent "$package" "$p" && continue > fi > - sudo cp -n "${p}" "${pc}" > + sudo ln -P "${p}" "${pc}" 2>/dev/null || : > done > + sudo touch "${pc}/CACHEDIR.TAG" > sudo chown -R $(id -u):$(id -g) "${pc}" > ' > } > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > index 7822b14..166ec16 100644 > --- a/meta/classes/dpkg.bbclass > +++ b/meta/classes/dpkg.bbclass > @@ -108,10 +108,10 @@ dpkg_runbuild() { > --chroot-setup-commands="echo \"Package: *\nPin: release > n=${DEBDISTRONAME}\nPin-Priority: 1000\" > > /etc/apt/preferences.d/isar-apt" \ --chroot-setup-commands="echo > \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt" \ > --chroot-setup-commands="rm -f /var/log/dpkg.log" \ > - --chroot-setup-commands="cp -n --no-preserve=owner > ${ext_deb_dir}/*.deb -t ${deb_dir}/ || :" \ > + --chroot-setup-commands="ln -Pf ${ext_deb_dir}/*.deb -t > ${deb_dir}/ 2>/dev/null || :" \ --finished-build-commands="rm -f > ${deb_dir}/sbuild-build-depends-main-dummy_*.deb" \ > - --finished-build-commands="cp -n --no-preserve=owner > ${deb_dir}/*.deb -t ${ext_deb_dir}/ || :" \ > - --finished-build-commands="cp /var/log/dpkg.log > ${ext_root}/dpkg_partial.log" \ > + --finished-build-commands="ln -P ${deb_dir}/*.deb -t > ${ext_deb_dir}/ 2>/dev/null || :" \ > + --finished-build-commands="cp /var/log/dpkg.log > ${ext_root}/dpkg_partial.log; touch ${ext_deb_dir}/CACHEDIR.TAG" \ > --debbuildopts="--source-option=-I" \ --build-dir=${WORKDIR} > --dist="isar" ${DSC_FILE} > diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass > index 786682d..147f517 100644 > --- a/meta/classes/rootfs.bbclass > +++ b/meta/classes/rootfs.bbclass > @@ -78,7 +78,7 @@ BOOTSTRAP_SRC_${ROOTFS_ARCH} = > "${DEPLOY_DIR_BOOTSTRAP}/${ROOTFS_DISTRO}-${ROOTF > rootfs_prepare[weight] = "25" > rootfs_prepare(){ > - sudo cp -Trpfx '${BOOTSTRAP_SRC}/' '${ROOTFSDIR}' > + sudo cp -Trpfx --reflink=auto '${BOOTSTRAP_SRC}/' '${ROOTFSDIR}' > } > > ROOTFS_CONFIGURE_COMMAND += "rootfs_configure_isar_apt" > @@ -115,7 +115,6 @@ rootfs_configure_apt() { > EOSUDO > } > > - > ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_update" > rootfs_install_pkgs_update[weight] = "5" > rootfs_install_pkgs_update[isar-apt-lock] = "acquire-before" > @@ -218,7 +217,7 @@ cache_deb_src() { > # Note: ISAR updates the apt state information(apt-get update) > only once during bootstrap and # relies on that through out the > build. Copy that state information instead of apt-get update # which > generates a new state from upstream. > - sudo cp -Trpn "${BOOTSTRAP_SRC}/var/lib/apt/lists/" > "${ROOTFSDIR}/var/lib/apt/lists/" > + sudo cp -Trpn --reflink=auto > "${BOOTSTRAP_SRC}/var/lib/apt/lists/" > "${ROOTFSDIR}/var/lib/apt/lists/" deb_dl_dir_import ${ROOTFSDIR} > ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} debsrc_download > ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} @@ -308,7 > +307,8 @@ rootfs_install_sstate_prepare() { # so we use some mount > magic to prevent that mkdir -p ${WORKDIR}/mnt/rootfs > sudo mount --bind ${WORKDIR}/rootfs ${WORKDIR}/mnt/rootfs -o ro > - sudo tar -C ${WORKDIR}/mnt -cpSf rootfs.tar --one-file-system > rootfs > + lopts="--one-file-system --exclude-caches > --exclude=var/cache/apt/archives" > + sudo tar -C ${WORKDIR}/mnt -cpSf rootfs.tar $lopts rootfs > sudo umount ${WORKDIR}/mnt/rootfs > sudo chown $(id -u):$(id -g) rootfs.tar > } > diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass > index 79e01a1..3feada2 100644 > --- a/meta/classes/sdk.bbclass > +++ b/meta/classes/sdk.bbclass > @@ -82,7 +82,7 @@ do_rootfs_install[vardeps] += "${SDKROOTFSVARDEPS}" > ROOTFS_CONFIGURE_COMMAND_append_class-sdk = " > ${@'rootfs_configure_isar_apt_dir' if > d.getVar('SDK_INCLUDE_ISAR_APT') == '1' else ''}" > rootfs_configure_isar_apt_dir() { # Copy isar-apt instead of mounting: > - sudo cp -Trpfx ${REPO_ISAR_DIR}/${DISTRO} ${ROOTFSDIR}/isar-apt > + sudo cp -Trpfx --reflink=auto ${REPO_ISAR_DIR}/${DISTRO} > ${ROOTFSDIR}/isar-apt } > > ROOTFS_POSTPROCESS_COMMAND_prepend_class-sdk = > "sdkchroot_configscript " diff --git > a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index > b9ae16c..d53db4d 100644 --- > a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -418,7 > +418,8 @@ SSTATEPOSTINSTFUNCS += "bootstrap_sstate_finalize" > bootstrap_sstate_prepare() { # this runs in SSTATE_BUILDDIR, which > will be deleted automatically > - sudo tar -C $(dirname "${ROOTFSDIR}") -cpSf bootstrap.tar > --one-file-system $(basename "${ROOTFSDIR}") > + lopts="--one-file-system --exclude-caches > --exclude=var/cache/apt/archives" > + sudo tar -C $(dirname "${ROOTFSDIR}") -cpSf bootstrap.tar $lopts > $(basename "${ROOTFSDIR}") sudo chown $(id -u):$(id -g) bootstrap.tar > } >