Re: git: cf1aba2857c1 - main - freebsd-update: refuse to operate on a pkgbase system
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