Skip site navigation (1)Skip section navigation (2)
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>