Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Feb 2023 17:56:08 +0900
From:      Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
To:        ports@freebsd.org
Subject:   Re: How poudriere's PACKAGE_FETCH_WHITELIST should work?
Message-ID:  <20230216175608.c4d5bb2810447fa7241237f6@dec.sakura.ne.jp>
In-Reply-To: <EE41189F-10D0-43DF-9A4F-E0B7D8F9AF1B@yahoo.com>
References:  <9B296C55-6F06-4E10-9056-ECAD05630920.ref@yahoo.com> <9B296C55-6F06-4E10-9056-ECAD05630920@yahoo.com> <287633b4-1363-4d91-a572-bc0960f592e5@quip.cz> <PSAPR03MB56391B5028DC582608DA1083FAA09@PSAPR03MB5639.apcprd03.prod.outlook.com> <EE41189F-10D0-43DF-9A4F-E0B7D8F9AF1B@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 15 Feb 2023 18:10:10 -0800
Mark Millard <marklmi@yahoo.com> wrote:

> On Feb 15, 2023, at 17:22, Tatsuki Makino <tatsuki_makino@hotmail.com> wrote:
> 
> > I was introduced to this feature in a reply to an email titled "[through-able] poudriere: I don't want to rebuild rust with PORTREVISION bump of curl" that I wrote on or about 2023-01-20.
> > 
> > This still means that the dependencies held in the package must match up to the version number to be used, right?
> > As I wrote in that e-mail, the dependent packages can be checked with the following command, which poudriere also seems to use.
> > pkg query -F somewhere/llvm10-10.0.1_10.pkg '%do %dn-%dv'
> > 
> > In the current porttree, python39 is 3.9.16_1. If this package has already been created locally, it would seem that the llvm* package that depends on python39-3.9.16 or earlier would not be used when fetched, is that correct?
> > 
> > # note that I avoided recreating llvm13 and llvm15 that way :)
> > 
> 
> Turns out my notes did not apply: the person I replied to was
> using quarterly and so things were apparently not changing.
> 
> But I'd not checked the transitive closures for the various
> ports involved for the 2023Q1 context. Using rust and its
> curl dependency as an example:
> 
> curl in turn depends on at least devel/pkgconf , lang/perl5.32 ,
> security/ca_root_nss , www/libnghttp2 , security/libssh2 ,
> and dns/libpsl . So there is a fair list of things that can
> cause curl to rebuild, which in turn leads to rust potentially
> rebuilding, even if the rebuild result for rust ends up not
> being installed for lack of a version bump: existing install
> is still expected to be compatible given the lack of a version
> bump.
> 
> The way rebuilds happen is that an update to the likes of,
> say, security/libssh2 deletes the old package. Then curl's
> package is deleted because of the lack of a package for
> security/libssh2 . (This is before security/libssh2 or
> anything is rebuilt.) Then rust for similar reasons. Deleting
> the packages does not delete the installs (important later).
> Then the deleted packages are rebuilt so that they are
> available to future pkg commands, even if it turns out that
> some of the installed ones would not be updated by the likes
> of a "pkg upgrade" in the same time frame (version numbering).

And poudriere (at least ports-mgmt/poudriere) sometimes fails trying to
use "recorded as existing, but deleted for rebuild" pkgs, at least -S
option is set. These usually are finally succeeds on next or after
following several runs.

Does this annoyance fixed on ports-mgmt/poudriere-devel?

> 
> Again, I've not gone looking for changes in the transitive
> closure of the dependencies. I'm just noting some of the
> general structure. I've not checked if this explains all the
> specifics that happened.
> 
> Going in the other direction, there may be more that is
> involved than I know about. But I've observed the delete
> sequences and later rebuild sequences that do not lead
> to updated installs of various things rebuilt. (A lot over
> the years.)
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> 
> 
> 


-- 
Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230216175608.c4d5bb2810447fa7241237f6>