Date: Mon, 6 Oct 2025 20:45:54 +0900 From: Tomoaki AOKI <junchoon@dec.sakura.ne.jp> To: Lexi Winter <ivy@freebsd.org> Cc: stable@freebsd.org, current@freebsd.org, cperciva@freebsd.org Subject: Re: disallowing 'make installworld' with pkgbase Message-ID: <20251006204554.d1ea4dc8671f72e70f678875@dec.sakura.ne.jp> In-Reply-To: <aOMjZdiJk5RisKyI@amaryllis.le-fay.org> References: <aOMjZdiJk5RisKyI@amaryllis.le-fay.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 6 Oct 2025 03:03:17 +0100 Lexi Winter <ivy@freebsd.org> wrote: > hello, > > in 15.0 we will ship pkgbase as an alternative to the dist sets for base > system installation. pkgbase is entirely optional and for at least 15.0, > we will continue to support dist set installation with freebsd-update. > > the traditional source update method, using make buildworld installworld, > will be supported indefinitely and there are no plans to remove this even > after dist sets and freebsd-update are dropped. > > however, while both update methods will be supported individually, they > cannot be used together, i.e., if you installed the system with pkgbase, > you should not attempt to update it using "make installworld" because > this will cause the installed system to become out of sync with the > pkg(8) database. > > instead, you have two options: update with "make buildworld packages" > and pkg-upgrade(8), or depkgbasify the system and then update using > make installworld as usual. either of those options is fully supported, > but you have to choose one of them to avoid breaking your system later. > > (the procedure to "depkgbasify the system" is not entirely clear yet, > but we will need something like this at least for 16.0, so there will > be some way to do that.) > > all of this preamble is to be as clear as possible that the review i'm > about to link is *not* about removing support for 'make installworld' > (we aren't going to do that) and does not prevent you from doing anything > you currently do. with that in mind, i would like to land this for 15.0: > > "Makefile: Don't allow install{world,kernel} with pkgbase" > https://reviews.freebsd.org/D52879 > > the point of this change is to avoid the situation where a user installs > 15.0 with pkgbase, then tries to upgrade using 'make installworld' out > of habit, not realising that this will break their system. users who > are really sure they want to do this still can using DESTDIR=/, and > users who don't use pkgbase are completely unaffected by this change. > > so, if anyone has an objection to this change, please say so. Isn't there at least one edge case with D52879? What I can think of is *pkgbase installation, */usr/local/ and /var/db/pkg/ (/var/cache/pkg/, too, possibly?) are NOT in root partition, *running `make installworld` in single user mode, *any of the partitions / datasets that above-mentioned directories exists are NOT mounted. For these cases (I think typically seen in old installations that are kept on upgraded), IMHO, a marker file (something like /etc/wall_cmos_clock for indicating CMOS clock is NOT set to UTC) in /etc/ (or somewhere promised to be in root partition) would be safer. Regards. -- Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20251006204554.d1ea4dc8671f72e70f678875>