From nobody Thu Aug 28 08:29:38 2025 X-Original-To: freebsd-pkgbase@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 4cCF2F0Y89z65b8p for ; Thu, 28 Aug 2025 08:29:57 +0000 (UTC) (envelope-from yklaxds@gmail.com) Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cCF2D5c6qz3KcF for ; Thu, 28 Aug 2025 08:29:56 +0000 (UTC) (envelope-from yklaxds@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-55f49b42180so756747e87.3 for ; Thu, 28 Aug 2025 01:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756369790; x=1756974590; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=r2Pg+z762yqnUYt2+yzQvxY70glh2tYnsqmL+3zpHKo=; b=WHNVuykDKqUPZ4fw+0IuZmGQlpt4AlK+e9xnbA2RGb01HpHSD3Ly6JeYfIf1rk7sq8 ZGKvttr4tEyOg+5dAtxjsaMKAkMPV9A/lK/deMJWakLWrp/2bPyicF+gd2sMYDxsQ4uN S3+wUGNFAOmcDHYGzpUXA+hgE2AFQMYcD5l2AJqdUrchMnNpDw5jeiJI3V3ccUg1SqsG +6X3pyG0px50zLAP8XrDrTxG5SxvM02RLwugUoLWyuy89aev6n8ng0mBAye56qz0Vv72 uiZDulNvwCeAr7OEyqeostcweK50r+fin+V1fGz419b+TXuoRY+6UatTHd0CpQb55OmG r3Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756369790; x=1756974590; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=r2Pg+z762yqnUYt2+yzQvxY70glh2tYnsqmL+3zpHKo=; b=g8aAJBA/Giibv98KZRgXEY/IQ6xN0kSXT47sDTmbAcvC6btVrkJQZJz/V5N9fuQfB5 SG8BasTDiFUwHsCUDvltDMlVKJlHceqLke4OmIMbceBp6mjhqP8Q+c35LwuIzQx1IXEv ryCI0WNxu7Poru87DpnxIrXWbgYlhXenx/j0JU0sMrNS7Fne9bx7K2CgQbuPnXKG/93H rB5Bx3NMRji6jAd5T4xlWvwNhjgmWBRbDbkGotYwZZ2k8q29v6iQJyowpNejPUfFgRy0 3aI9x+L2n+8GTTujPMhswLMB0h+snFjBaEXHTXV2yY7uUbzfeJu3r1oNEj72mZw2ULL6 Vbgw== X-Gm-Message-State: AOJu0YxMWRBRcC3JZgCsZ2b0LFU0N1bOhBArQMoIL7wDzaKgyLW+oio8 5XrIhUKORLGUEgZnurkSrRNGy+5NjPBxQ9wwriJZml9JOV7UiGmfnYKf9kG6CSoVYO/EYKATLFM lr6xkJDHvIM1gy1k+3/M3WXeQp7cZOOvHIA== X-Gm-Gg: ASbGncuw1cYTKbLl4b+gCy4mkenPEduxM8m7cvQ+R/OgWVgBprc9vaS0zWaL5FYsGCd 9c18hiqVcT3z0N/RsSd3+PdT0kLUJV8/mDN3jOqhVNGX3VAKcU/7HHL4/z0dFhIeeU1wvLyxSLV 1tbbI14QeYhcIYnR4Oq1dVS5IGp2LdSyT+4bYvHGm18ayHaNswQTmuqmeXv7/Mt5OXDs1uBDNF/ y5JC5WGXUjtxNY0iBU= X-Google-Smtp-Source: AGHT+IG+JUyTUmsuse0OOQfzJSDTzuksh+CcAcISGzHy81qUrAiqDYqNlcWrx7a3w04v7q5KqOoQLoVt05DIdvP3pSM= X-Received: by 2002:a05:6512:1195:b0:55f:418a:a608 with SMTP id 2adb3069b0e04-55f418aa765mr4269716e87.55.1756369789927; Thu, 28 Aug 2025 01:29:49 -0700 (PDT) List-Id: Packaging the FreeBSD base system List-Archive: https://lists.freebsd.org/archives/freebsd-pkgbase List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkgbase@FreeBSD.org MIME-Version: 1.0 References: <7C9864FD-BDE8-4527-A6D9-0EC5908D177D.ref@yahoo.com> <7C9864FD-BDE8-4527-A6D9-0EC5908D177D@yahoo.com> <7140136F-FD23-47E1-9383-3B7CA25A0922@FreeBSD.org> In-Reply-To: From: ykla Date: Thu, 28 Aug 2025 16:29:38 +0800 X-Gm-Features: Ac12FXyi5vgmE6yFZ-E48S84Ji6CuywbffonGgdNWw7zUr02scKoD7M8R0FK9Do Message-ID: Subject: Re: vital packages To: Graham Perrin Cc: freebsd-pkgbase@freebsd.org Content-Type: multipart/alternative; boundary="0000000000006c4a4f063d68b569" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cCF2D5c6qz3KcF --0000000000006c4a4f063d68b569 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Currently, FreeBSD=E2=80=99s pkg installs software by uninstalling the old package before installing the new one. This approach has broken my system, because the new package failed to install while the old one had already been removed. I believe it would be safer if pkg could automatically create a snapshot of the last bootable system using ZFS or UFS before making such changes. ykla Graham Perrin =E6=96=BC 2025=E5=B9=B48=E6=9C=8828= =E6=97=A5 =E9=80=B1=E5=9B=9B =E4=B8=8B=E5=8D=8812:48 =E5=AF=AB=E9=81=93=EF= =BC=9A > In addition to packages that already have it: > > - which packages might benefit from the vital flag? > > An initial shortlist of candidates: > > FreeBSD-caroot (main, not (or not yet) stable/14) > FreeBSD-certctl (stable/14) > FreeBSD-kernel-generic > FreeBSD-kernel-generic-mccam > FreeBSD-kernel-generic-nodebug > FreeBSD-kernel-minimal > FreeBSD-pkgbasify > FreeBSD-pkg-bootstrap > FreeBSD-rescue > FreeBSD-utilities > > main branch, unless specified otherwise. > > > Background > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > On 11th May 2025, Baptiste Daroussin wrote: > > > Le 11 mai 2025 17:29:49 GMT+02:00, Mark Millard a > =C3=A9crit : > >> In a system/chroot that is based on PkgBase, a "pkg delete -a" > >> that is allowed to run also destroys the system software, not > >> just port packages. There is no way to delete just all the > >> port packages in a PkgBase based system as far as I can tell. > >> > >> =E2=80=A6 > > no! > > > > there is a vital flag set on some packages that should prevent the bare > minimal > > to be removed without -f > > > (ykla, July) > > < > https://lists.freebsd.org/archives/freebsd-pkgbase/2025-August/000760.htm= l > > > =E2=80=93 pkgbasify base package requirements > > > =E2=80=93 pkg bootstrap and chroot > > > =E2=80=93 I assume that FreeBSD-pkgbasify will be discrete. > > ---- > > grahamperrin@pkg:~ % pkg query -e '%V=3D1' %n ; pkg -v ; uname -mvKU > FreeBSD-clibs > FreeBSD-runtime > 2.2.2 > FreeBSD 14.3-RELEASE-p2 releng/14.3-n271439-5982521fe3dd GENERIC amd64 > 1403000 1403000 > grahamperrin@pkg:~ % pkg iinfo uclcmd > uclcmd-0.2.20211204 > grahamperrin@pkg:~ % > > --0000000000006c4a4f063d68b569 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Cur= rently, FreeBSD=E2=80=99s pkg installs software by uninstalling the old
package before installing the new one. This approach ha= s broken my
system, because the new package failed t= o install while the old one
had already been removed= .

I believe it would be = safer if pkg could automatically create a
snapshot o= f the last bootable system using ZFS or UFS before making
such changes.

ykla=


Graham Perrin <grahamperrin@gmail.com> =E6=96=BC 2025=E5=B9=B48=E6=9C=88= 28=E6=97=A5 =E9=80=B1=E5=9B=9B =E4=B8=8B=E5=8D=8812:48 =E5=AF=AB=E9=81=93= =EF=BC=9A
In addition to packages t= hat already have it:

- which packages might benefit from the vital flag?

An initial shortlist of candidates:

FreeBSD-caroot=C2=A0 (main, not (or not yet) stable/14)
FreeBSD-certctl (stable/14)
FreeBSD-kernel-generic
FreeBSD-kernel-generic-mccam
FreeBSD-kernel-generic-nodebug
FreeBSD-kernel-minimal
FreeBSD-pkgbasify
FreeBSD-pkg-bootstrap
FreeBSD-rescue
FreeBSD-utilities

main branch, unless specified otherwise.


Background
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

On 11th May 2025, Baptiste Daroussin wrote:

> Le 11 mai 2025 17:29:49 GMT+02:00, Mark Millard <marklmi@yahoo.com> a =C3=A9crit=C2=A0:
>> In a system/chroot that is based on PkgBase, a "pkg delete -a= "
>> that is allowed to run also destroys the system software, not
>> just port packages. There is no way to delete just all the
>> port packages in a PkgBase based system as far as I can tell.
>>
>> =E2=80=A6
> no!
>
> there is a vital flag set on some packages that should prevent the bar= e minimal
> to be removed without -f


<
https://github.com/freebsd/pkg/issues/2456<= /a>> (ykla, July)

<
https://lis= ts.freebsd.org/archives/freebsd-pkgbase/2025-August/000760.html>
=E2=80=93 pkgbasify base package requirements

<https://lists.f= reebsd.org/archives/freebsd-pkg/2025-August/001419.html>
=E2=80=93 pkg bootstrap and chroot

<https://reviews.freebsd.org/D51594#1187612<= /a>>
=E2=80=93 I assume that FreeBSD-pkgbasify will be discrete.

----

grahamperrin@pkg:~ % pkg query -e '%V=3D1' %n ; pkg -v ; uname -mvK= U
FreeBSD-clibs
FreeBSD-runtime
2.2.2
FreeBSD 14.3-RELEASE-p2 releng/14.3-n271439-5982521fe3dd GENERIC amd64
1403000 1403000
grahamperrin@pkg:~ % pkg iinfo uclcmd
uclcmd-0.2.20211204
grahamperrin@pkg:~ %

--0000000000006c4a4f063d68b569--