From nobody Thu Aug 31 00:19:17 2023 X-Original-To: freebsd-ports@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 4RbhcH1Gbpz4rR3f for ; Thu, 31 Aug 2023 00:19:27 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (www.zefox.net [50.1.20.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "www.zefox.com", Issuer "www.zefox.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RbhcG4cbmz4lbL for ; Thu, 31 Aug 2023 00:19:26 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Authentication-Results: mx1.freebsd.org; none Received: from www.zefox.net (localhost [127.0.0.1]) by www.zefox.net (8.17.1/8.15.2) with ESMTPS id 37V0JIrK038117 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 30 Aug 2023 17:19:18 -0700 (PDT) (envelope-from fbsd@www.zefox.net) Received: (from fbsd@localhost) by www.zefox.net (8.17.1/8.15.2/Submit) id 37V0JIvd038116; Wed, 30 Aug 2023 17:19:18 -0700 (PDT) (envelope-from fbsd) Date: Wed, 30 Aug 2023 17:19:17 -0700 From: bob prohaska To: Mark Millard Cc: FreeBSD Mailing List Subject: Re: Bmake bad variable name Message-ID: References: <9B530FC9-ED6B-4B75-A731-D8F7D7586A51.ref@yahoo.com> <9B530FC9-ED6B-4B75-A731-D8F7D7586A51@yahoo.com> <040CECBC-8A04-4049-91A7-0C1522000F5A@yahoo.com> List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <040CECBC-8A04-4049-91A7-0C1522000F5A@yahoo.com> X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:7065, ipnet:50.1.16.0/20, country:US] X-Rspamd-Queue-Id: 4RbhcG4cbmz4lbL First off, the problem seems to have gone away after a second cycle of updating world, kernel and poudriere. No idea why. The Pi4 is building www/chromium now, it'll take about four days to finish. On Tue, Aug 29, 2023 at 10:50:40PM -0700, Mark Millard wrote: > My notes are . . . > > In: > > QUOTE > /usr/src contains a recent > buildworld/builkderel. /usr/ports contains a recently-updated ports tree. > END QUOTE > > I'll note that /usr/src only contains source code normally, not build > materials. A tree under /usr/obj/ normally is where building materials > go. /usr/src/ is associated with git fetch and merge --ff-only (or pull) > as far as its updates go. But that does not do a buildworld or > buildkernel that updates materials that are typically under /usr/obj/ > someplace. (I ignore here having to deal with resolving conflicts if > there are local /usr/src/ changes.) > > So the wording in http://www.zefox.net/~fbsd/poudriere_on_rpi4 presumes > some things already done: > > A) cd /usr/src; git pull (or git fetch && git merge --ff-only). > > B) cd /usr/src ; make buildworld buildkernel > > (I'll not get into variations of the command line details > that may be appropriate for various types of contexts. > Presume the above is incomplete but suggestive.) > > C) installkernel installworld to the live system then rebooting > into the updated system installation. (This wording is only > suggestive and documented steps should be followed that may > involve multiple reboots and other steps not mentioned here.) > Note that (C) does not involve: > DESTDIR=/usr/local/poudriere/poudriere-system > > D) cd /usr/src; \ > make ???? DESTDIR=/usr/local/poudriere/poudriere-system DB_FROM_SRC=1 > . . . > > (I do not show all the make commands.) The idea was to collect a minimal set of instructions to let poudriere replace use of make in /usr/ports on a self-hosting computer. Sort of like how to drive thumbtacks with a hydraulic excavator 8-) > Below I use my knowledge that you do poudriere-devel style > port builds. I only cover that limited context. > > /usr/ports is, like /usr/src , source code. But from the ports git > repository, other than /usr/ports/distfiles/ which is basically > for materials from elsewhere (from various upstreams). > So far as I can see, the "cd /usr/local/poudriere" neither helps > nor hurts and is not required. At the time I thought the poudriere commands would write to the working directory some output from their execution. Apparently they don't, leaving me puzzled as to how and where the results of poudriere ports and poudriere jail are recorded. > In: > > QUOTE > # poudriere jail -c -j main -m null -M /usr/local/poudriere/poudriere-system -S /usr/src -v 14.0-CURRENT > END QUOTE > > the -v 14.0-CURRENT is over specific over time. "14" is no longer > correct for progressing to 15.0-CURRENT . You might want text that > reminds you to make the appropriate substitution for the time frame > you are using the instructions for. (There are years between these > sorts of updates to main.) > > I've no evidence of my own how well the *_TIME* figures are working > for you. I presume that they are. If you're referring to the MAX_...TIMEs, I've added the actual times used on the running system. Not optimal, but what's worked. > poudriere "builds" are normally via "bulk" instead of "testport". > testport serves extra/special purposes. Official port->package > builds are via bulk use, for example, not via testport use. > I've removed the reference to testport, adding an example of my usual practice. > I'm confused over: > > QUOTE > After world/kernel update repeat steps in /usr/src. > END QUOTE > > Is this for handling issues around ports that access kernel internals > and the like? It is unclear what is spanned of buildworld, buildkernel, > installkernel, installworld, distrib-dirs, delete-old, delete-old-libs, > and such. Ultimately, I'm not sure what to say about that quoted text. > AIUI, after an OS build/install cycle the material in /usr/local/poudriere/system must be updated to match the host system. That's basically a repeat of the setup process apart from jail creation, is it not? > In: > > QUOTE > Buildworld and buildkernel are best run on a clean source > tree, or with -DWITH_META_MODE on the command line. Old > binaries, even if correct, seem to cause trouble. > END QUOTE Even I don't remember what I was trying to get at. Gone. > > there is again the confusion of /usr/src/ (source) vs. > /usr/obj/ ("binaries") types of materials. Do you intend > "clean source tree" to refer to doing something like > "rm -fr /usr/obj/*" in order to force a from-scratch build > (even if WITH_META_MODE is also later specified)? If not, > what does "clean source tree" correspond to? > Again, I'm confused too. It's gone. > The "FreeBSD" in the below is intended funny: > > QUOTE > and /usr/local/etc/pkg/repos/FreeBSD.conf containing > FreeBSD: { > enabled: no > } > END QUOTE I'm a great believer in comic relief, but it certainly wasn't intended here. Please explain (yes, I know explaining spoils any joke) Thanks for all your help, and any further corrections! bob prohaska