Re: git: cf1aba2857c1 - main - freebsd-update: refuse to operate on a pkgbase system

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 01 Nov 2024 01:06:17 UTC
On Oct 31, 2024, at 17:53, Mark Millard <marklmi@yahoo.com> wrote:

> On Oct 31, 2024, at 16:37, Ed Maste <emaste@freebsd.org> wrote:
> 
>> On Thu, 31 Oct 2024 at 15:17, Mark Millard <marklmi@yahoo.com> wrote:
>>> 
>>>> + # Presence of FreeBSD-* package(s) indicates packaged base.
>>>> + if ! pkg -c ${BASEDIR} info -q -x '^FreeBSD' 2>/dev/null; then
>>> 
>>> Slight difference in the comment vs. the code's behavior? :
>>> 
>>> Comment: FreeBSD-*
>>> Code:    FreeBSD*
>> 
>> The code is a regex ^FreeBSD while I wrote the comment thinking of a
>> shell glob - it's fine that they're not identical (except for this
>> confusion).
> 
> FYI in case it is not clear:
> 
> I understood the 2 distinct notations. I was only trying to
> indicate that the matching text sequences for the 2
> notations used are different.
> 
> FreeBSD-* does not match: FreeBSDPkgBase
> ^FreeBSD  does     match: FreeBSDPkgBase
> 
> Do you want FreeBSDPkgBase to be a match in actual operation?
> 
>> That said there is room for improvement here - we'll want
>> to detect pkgbase installs in downstream projects that use a different
>> package naming scheme (e.g. packages starting with CheriBSD).
>> 
>> I'll keep a note of this comment for any potential iteration on this.

Hmm. I see another potential issue:

# pkg info -x ^FreeBSD
FreeBSD-acct-15.snap20241023235252
. . .
FreeBSD-zoneinfo-15.snap20241009162208
freebsd-release-manifests-20240809

The capitalization in "freebsd-release-manifests-20240809"
matches the existing pkg -x text: capitalization appears
to be ignored for -x by itself. Loooking:

     -C, --case-sensitive
             Make the standard or the regular expression (-x) matching against
             pkg-name case sensitive.

So:

# pkg info -C -x ^FreeBSD
FreeBSD-acct-15.snap20241023235252
. . .
FreeBSD-zoneinfo-15.snap20241009162208

avoids the issue. As does:

# pkg info -x ^FreeBSD-
FreeBSD-acct-15.snap20241023235252
. . .
FreeBSD-zoneinfo-15.snap20241009162208

if the "-" is to be required.

===
Mark Millard
marklmi at yahoo.com