From nobody Thu Feb 15 00:35:41 2024 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TZx2d23Btz54ych for ; Thu, 15 Feb 2024 00:36:41 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Sectigo RSA Organization Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TZx2d01JSz4RlX; Thu, 15 Feb 2024 00:36:40 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108160.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 41EJAStk023133; Wed, 14 Feb 2024 16:36:38 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= to:cc:subject:in-reply-to:references:from:mime-version :content-type:content-transfer-encoding:date:message-id; s= PPS1017; bh=SM7SeobT5uFXM8ucE5QVgV49aaWiLsUesjTVO8txbVQ=; b=mIT1 HJNLSVQZupGhlI3cV5fvj9juIN4VjB5gSp2YLf9o0+A01EU3rFKS24miFGdubPIg Mx+kVtKcb0KF5ujUJE+SjmVtskrJ92sGqP5Id3tHWrQ+TvwVZtj1uYHNuC8WzSqD MZInZEJDt0aHJNZq/Z7NY5OB4XOWyFVRXcu2CdxKZ7rnxdBQaFA/anFAkH00VQQR SHft4YNHYdEb0/QQFbOI7YNJCtFyeCdZBBj8rQO5Ni8NMkueuJVjEb7If5XXJ+VC s2PGGRf/PH5vS1khK0imyKkIZZ9Z9qDYUlr0WGJqDc4MxLMahwsMgxmVrttHDTi3 SQXsZQxNQCWNfKybOQ== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazlp17010002.outbound.protection.outlook.com [40.93.20.2]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 3w67xgsy89-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Feb 2024 16:36:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iqYkaJ/1rupriHDBEG3ESercDsQxvxVh4xJnofFFq0jLibRIcDMSreKyy7BZlmAhizZt3Eiey25UD5976xZwjU/ZJ9Wb/CmLBG1O/gvXV26UyBnRP36MmwOQdyDRrPpYrY6xbmwu7/xeqKQ0FhCnGvS4NlQZeJP47jHPvwxiKAhc8PVvQATxE8ICr84pEIjOIVwZ6KD/OabCACv+lQcDhff8ixlpJGXtFQtGG43d3IiEwfM9DUTdre7ydQ35TpwzJtrSsfPyU6UCp8mnMcfMYi26zHrldZSXBsoADda9ZdSyyh+GOJLrreDIneKNPI93UoRbiKm34GnxUFnrV8alWA== 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=SM7SeobT5uFXM8ucE5QVgV49aaWiLsUesjTVO8txbVQ=; b=lKgYTeutod43FhHqzf23SQmo4WziJO69OL6wW9MYzCWurE/mSF4tueI47wAOfygbGl8AwVljaBBKr/Hom7TuNXtwYb0pYc9143jPeeTsuzpN2suhALpAGPhDxqG6G44Hpv1B/o7Vwn7UTFCScMsdbd3OijV9Q57K2fOkjQqeHLTnBjSCiN7/ZQgqOa1GicQ9KJ5Ksd99asRVTpoH0Q0Hie8KeQQtYv8IoOAmVPv+ZZ+PQE52uNDX6JzhX6bCzrgIuuPMl80hWzWs9TjDd8BucSyGoLxLpxsZfFe5s9oef02ROwF4KF2TUpRUGx++Hnewal0Dw6oSZAuFMkdwX2/N/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.242.15) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SM7SeobT5uFXM8ucE5QVgV49aaWiLsUesjTVO8txbVQ=; b=OXBXyUuqAyJqrq2f1LlmcrPQ1xGmHRHsgdOG0DaU47QKpUoFLM4nzvAVbj75rPze7UwNJFOlUfnbHdFp3uF3YtOZoYYi41OJm1aQjeLXRlj6/IrbCC7inIrDc8fPBGIBMZO540Z2mk+yX2yLs2NI2IKrvW6Hr9kau434P90kkgw= Received: from BN0PR02CA0022.namprd02.prod.outlook.com (2603:10b6:408:e4::27) by BLAPR05MB7490.namprd05.prod.outlook.com (2603:10b6:208:296::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26; Thu, 15 Feb 2024 00:36:35 +0000 Received: from BN8NAM12FT104.eop-nam12.prod.protection.outlook.com (2603:10b6:408:e4:cafe::e) by BN0PR02CA0022.outlook.office365.com (2603:10b6:408:e4::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26 via Frontend Transport; Thu, 15 Feb 2024 00:36:35 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 66.129.242.15) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.242.15 as permitted sender) Received: from p-exchfe-eqx-02.jnpr.net (66.129.242.15) by BN8NAM12FT104.mail.protection.outlook.com (10.13.182.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.11 via Frontend Transport; Thu, 15 Feb 2024 00:36:35 +0000 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchfe-eqx-02.jnpr.net (10.104.9.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.39; Wed, 14 Feb 2024 18:36:35 -0600 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.39; Wed, 14 Feb 2024 18:36:34 -0600 Received: from p-mailhub01.juniper.net (10.104.20.6) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.39 via Frontend Transport; Wed, 14 Feb 2024 18:36:34 -0600 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.255.201]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 41F0aY5f018285; Wed, 14 Feb 2024 16:36:34 -0800 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id F1AFB801ED; Wed, 14 Feb 2024 16:35:41 -0800 (PST) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id EFF20804A0; Wed, 14 Feb 2024 16:35:41 -0800 (PST) To: Nuno Teixeira CC: void , , Subject: Re: meta mode In-Reply-To: References: <8c42cc06-d3de-432e-82ab-7fe040197223@app.fastmail.com> <71141.1706406125@kaos.jnpr.net> Comments: In-reply-to: Nuno Teixeira message dated "Wed, 14 Feb 2024 11:46:56 +0000." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.8; Emacs 29.1 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Wed, 14 Feb 2024 16:35:41 -0800 Message-ID: <24.1707957341@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM12FT104:EE_|BLAPR05MB7490:EE_ X-MS-Office365-Filtering-Correlation-Id: 20bc0e36-bbd1-4c08-b67b-08dc2dbe2a69 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lijNCparSueLqSJPZDx0U+ayHnfGDdx31ejJTi2wlFAZB2j66LgDSoa22U5cQ4wwv1kp8BGaQahbOlrDgdwU+ey4o+OS+lGfFPzQ/ZUwwJE1sOdLcSDo7fbt7CCrcQlxqahdOg2Q2N2AqJ33aYgTH8V+/FNcioz63TicPv4Cdh29PFuzonh8oL+HTp8naBeG8ijQbXQCJeiBU+lPD1sIdpB+bZKPY0DxB+stVARBkBeXkKcc4oUy/sX1qJ0Cd7uTdT618lgLlDU/KEh/eZDUuHeePNcd9x3G17KA9R3MYGatLhFyk7JCNW3MUGUrTvIXc25kwFQCbPXBQiQvBdjadTzaLYin4N4uB7D8A9qNY1f0RV6S977V0zABoCo3YIngf9uZEByY5QxVDDvt54sDZ+H78YYmvn8sGaS6uj+6twz2/0BVejJtr5h7wXPe3PlaVtufPzFtjrxSpvwvN2dzhbrvzKZPjVsbzJ3a/recT0UWZPi50ljflNP2U9QcrBH2z5nqgob1hPos9Ag369FbYKvS2HvBmf9he/lxUifWlEsUC4qLqjBKbaiVjp6DdqA+J0L8Px5wISVc3r302tVlRKVW/+zjiOpVlxA7J7T7XGdNyAh6ThHHgq1zmzkE/GFt+ipWvKgbrKWakbzKTF7ZeuGe8MdE0oILGrNRmZVoHfE= X-Forefront-Antispam-Report: CIP:66.129.242.15;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:p-exchfe-eqx-02.jnpr.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(346002)(396003)(376002)(39860400002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(36860700004)(82310400011)(40470700004)(46966006)(316002)(6916009)(54906003)(70206006)(70586007)(41300700001)(55016003)(2906002)(5660300002)(8676002)(7116003)(3480700007)(4326008)(86362001)(8936002)(478600001)(9686003)(26005)(7696005)(107886003)(7126003)(82740400003)(336012)(6266002)(83380400001)(356005)(81166007);DIR:OUT;SFP:1102; X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2024 00:36:35.6968 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 20bc0e36-bbd1-4c08-b67b-08dc2dbe2a69 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.242.15];Helo=[p-exchfe-eqx-02.jnpr.net] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM12FT104.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR05MB7490 X-Proofpoint-ORIG-GUID: I_CEr7aBqcXGVANlVeXi1MdQdT766NxO X-Proofpoint-GUID: I_CEr7aBqcXGVANlVeXi1MdQdT766NxO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-14_16,2024-02-14_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 suspectscore=0 adultscore=0 mlxlogscore=630 malwarescore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 spamscore=0 clxscore=1011 mlxscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2401310000 definitions=main-2402150002 X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US] X-Rspamd-Queue-Id: 4TZx2d01JSz4RlX X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated > Can we say that META is for speeding consecutives builds tracking > current/stable and META + DIRDEPS for developing/testing specific > parts of base code with speed + debug in mind? The key focus of META_MODE is more reliable incremental builds, ensuring targets are updated when anything that contributed is updated. That deep introspection can go too far so there are mechanisms to exclude certain paths from consideration. That allows for some optimizations, eg. you don't need to make targets out-of-date just because any makefile changed for example. META_MODE helps ensure what needs to be re-built is, and can avoid rebuilding things that do not need to be. DIRDEPS_BUILD is a different beast - its goal is to avoid tree walks, to greatly simplify the build in general - a top-level build works exactly the same as a build started from any random location in the tree, and in each case only the directories needed to satisfy that initial target will be visited, in the correct order allowing full advantage of large numbers of cpus. We can leverage META_MODE to automatically update the tree DIRDEPS (kept in Makefile.depend files) that make the DIRDEPS_BUILD work. If the pkg-base work had resulted in a src directory per package, it would be trivial to convert the build to using DIRDEPS_BUILD. Absent that, it is not really possible. When we build FreeBSD for our internal projects we build a number of packages each with its own directory and hence Makefile.depend and thus we can use DIRDEPS_BUILD to optimize our builds. --sjg > Simon J. Gerraty escreveu (domingo, 28/01/2024 =C3=A0(s= ) 01:43): > > > > > I use meta-mode in /etc/src-env.conf so that if (for example) a small > > > change in the kernel config is made, the machine doesn't take hours > > > recompiling. > > > > > But, from time to time, one might be required to make > > > cleanworld && make cleandir (to be sure) && make clean (to be *really= * sure) > > > > Almost never (as Warner said). > > I have trees that go for years without ever being cleaned. > > Unless I'm collecting timing data for clean tree builds. > > > > If you use DIRDEPS_BUILD as well as META_MODE, there can be cases where > > you need the stage tree cleaned (staging is like auto-install to > > DESTDIR). The most common case is when a library has switched from > > staging its headers from $STAGE_ROOT/$MACHINE/usr/include to > > $STAGE_ROOT/common/usr/include (so they only get staged once), if you > > don't clean out $STAGE_ROOT/$MACHINE/usr/include, builds will continue = to > > find headers there that should be found in > > $STAGE_ROOT/common/usr/include and thus revert Makefile.depend changes. > > We added a mechanism to allow triggering auto-clean of stage tree when = such > > changes are made. > > > > --sjg > > >=20 >=20 > -- > Nuno Teixeira > FreeBSD Committer (ports)