Re: Install file into /rescue

From: Mathieu Arnold <mat_at_freebsd.org>
Date: Thu, 17 Oct 2024 05:47:06 UTC
On Wed, Oct 16, 2024 at 11:04:45AM +0200, Robert Clausecker wrote:
> Hi Mathieu,
> 
> Am Wed, Oct 16, 2024 at 10:53:28AM +0200 schrieb Mathieu Arnold:
> > On Wed, Oct 16, 2024 at 07:43:31AM +0200, Zsolt Udvari wrote:
> > > Hi,
> > > 
> > > I want update a port (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282052 ),
> > > but I've a problem: the port wants install a file into /rescue and it
> > > causes an error (in poudriere):
> > > ===>   Registering installation for mg-static-20241008,1 [14-default]
> > > Installing mg-static-20241008,1... pkg-static: Fail to create temporary
> > > file for /rescue/mg:Read-only file system *** Error code 1 
> > > 
> > > There is mg-static package in repository and has a file in /rescue so I
> > > think should set something in my poudriere setup.
> > > My poudriere.conf is:
> > > 
> > > ZPOOL=zroot
> > > ZROOTFS=/poudriere
> > > FREEBSD_HOST=_PROTO_://_CHANGE_THIS_
> > > RESOLV_CONF=/etc/resolv.conf
> > > BASEFS=/usr/local/poudriere
> > > POUDRIERE_DATA=${BASEFS}/data
> > > USE_PORTLINT=yes
> > > USE_TMPFS=no
> > > DISTFILES_CACHE=/usr/local/poudriere/distfiles
> > > CCACHE_DIR=/var/cache/ccache
> > > ALLOW_MAKE_JOBS=yes
> > > PARALLEL_JOBS=3 
> > > 
> > > How can I solve this problem?
> > 
> > That one is easy, a port can only install files in PREFIX. So, it cannot
> > install files in /usr/s?bin, /s?bin or /rescue. It seems the static
> > flavor of this port is completely wrong.
> 
> This is incorrect.  Many ports install files into /var for example.  Our
> infrastructure has explicit support for that, so why should it not be allowed
> if reasonable?

Many ports *create* files in /var when they run, but they don't
*install* files there, and that is probably fine.

> Unless we add ${PREFIX}/rescue (which wouldn't work if ${PREFIX} is on
> a different partition than /), I don't see anything wrong with putting
> binaries needed during system rescue into /rescue, even if they come from
> ports.
> 
> I worked on this port before and had the same Poudriere issue; I tested the
> port manually instead.
> 
> > It seems like this is an editor, and it seems it wants to install itself
> > in /rescue for some reason, we already have vi in /rescue, so I'd say,
> > ignore the static flavor, as it's broken, or remove it, as it's broken.
> > 
> > -- 
> > Mathieu Arnold
> 
> Yours,
> Robert Clausecker
> 
> -- 
> ()  ascii ribbon campaign - for an encoding-agnostic world
> /\  - against html email  - against proprietary attachments
> 

-- 
Mathieu Arnold