Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Nov 2023 20:20:25 +0000
From:      Dean Weimer <dean.weimer@outlook.com>
To:        "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>
Subject:   Help with etcupdate when using alternate source and destination.
Message-ID:  <CH0PR19MB7951474BCB3F0B8B6778705BB8A5A@CH0PR19MB7951.namprd19.prod.outlook.com>

next in thread | raw e-mail | index | archive | help
--_000_CH0PR19MB7951474BCB3F0B8B6778705BB8A5ACH0PR19MB7951namp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Can anybody point me to a howto, when using etcupdate with alternate source=
 and destinations. I have been using ZFS with snapshots mounted to alternat=
e paths to do my updates from source since I believe around 9.2 release. Me=
rgemaster has been working for me, but I am trying to switch my process to =
etcupdate instead and I am failing spectacularly.

I have a /etc/src-env.conf file containing.
WITH_META_MODE=3Dyes
MAKEOBJDIRPREFIX?=3D/usr/obj
DESTDIR=3D/jails/devel/ROOT
__MAKE_CONF=3D/jails/devel/ROOT/etc/make.conf
SRCCONF=3D/jails/devel/ROOT/etc/src.conf
SRC_ENV_CONF=3D/jails/devel/ROOT/etc/src-env.conf

This is my old process.
I mount my snapshot to /jails/devel/ROOT
run the following
mount -t nullfs -o ro /usr/src /jails/devel/ROOT/usr/src
cd /jails/devel/ROOT/usr/src
make buildworld && make buildkernel
make installkernel && make installworld
mergemaster -Ui -m /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
make -DBATCH_DELETE_OLD_FILES delete-old && make -DBATCH_DELETE_OLD_FILES d=
elete-old-libs

I would then start a jail from this, update any packages check configuratio=
ns and then stop jail and switch main system over. I use same system for pa=
tch level updates, but would build a VM from fresh install for new major ve=
rsions and ship snapshots over to it, build and then back to primary system=
 for reboot.

First attempt at new process.
mount my snapshot to /jails/devel/ROOT
mount -t nullfs -o ro /usr/src /jails/devel/ROOT/usr/src
cd /jails/devel/ROOT/usr/src
etcupdate extract -s /usr/src_13.2-RELEASE-p4 -D /jails/devel/ROOT
etcupdate diff -s /usr/src_13.2-RELEASE-p4 -D /jails/devel/ROOT
# Diff looks as expected
make buildworld && make buildkernel && make installkernel
etcupdate -p -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
# PANIC: merge failed with status 127
#Logs end with:
Building tree at /jails/devel/ROOT/var/db/etcupdate/etcupdate-YyFRXe8 with =
make -DNO_FILEMON
/usr/sbin/etcupdate: diff3: not found
# Get past this by running
etcupdate extract -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
etcupdate diff -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
# Output looks as expected
etcupdate -p -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
# returns with no errors
make installworld
etcupdate -B -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT
# Returns with no errors, however nothing in system is updated

I have trying added etcupdate resolve after the -p & -B runs, just returns =
no errors, doesn't show any conflicts to resolve.

I have been able to get system running on new version by falling back to ru=
nning mergemaster command, but I have to edit some files manually as there =
are a few changes that don't get merged correctly in the 13.2-RELEASE-p4 to=
 upgrade 14.0-RC.


--_000_CH0PR19MB7951474BCB3F0B8B6778705BB8A5ACH0PR19MB7951namp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
Can anybody point me to a howto, when using etcupdate with alternate source=
 and destinations. I have been using ZFS with snapshots mounted to alternat=
e paths to do my updates from source since I believe around 9.2 release. Me=
rgemaster has been working for me,
 but I am trying to switch my process to etcupdate instead and I am failing=
 spectacularly.<br class=3D"ContentPasted0">
<br class=3D"ContentPasted0">
I have a /etc/src-env.conf file containing.<br class=3D"ContentPasted0">
WITH_META_MODE=3Dyes<br class=3D"ContentPasted0">
MAKEOBJDIRPREFIX?=3D/usr/obj<br class=3D"ContentPasted0">
DESTDIR=3D/jails/devel/ROOT<br class=3D"ContentPasted0">
__MAKE_CONF=3D/jails/devel/ROOT/etc/make.conf<br class=3D"ContentPasted0">
SRCCONF=3D/jails/devel/ROOT/etc/src.conf<br class=3D"ContentPasted0">
SRC_ENV_CONF=3D/jails/devel/ROOT/etc/src-env.conf<br class=3D"ContentPasted=
0">
<br class=3D"ContentPasted0">
This is my old process.<br class=3D"ContentPasted0">
I mount my snapshot to /jails/devel/ROOT<br class=3D"ContentPasted0">
run the following<br class=3D"ContentPasted0">
mount -t nullfs -o ro /usr/src /jails/devel/ROOT/usr/src<br class=3D"Conten=
tPasted0">
cd /jails/devel/ROOT/usr/src<br class=3D"ContentPasted0">
make buildworld &amp;&amp; make buildkernel<br class=3D"ContentPasted0">
make installkernel &amp;&amp; make installworld<br class=3D"ContentPasted0"=
>
mergemaster -Ui -m /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br class=
=3D"ContentPasted0">
make -DBATCH_DELETE_OLD_FILES delete-old &amp;&amp; make -DBATCH_DELETE_OLD=
_FILES delete-old-libs<br class=3D"ContentPasted0">
<br class=3D"ContentPasted0">
I would then start a jail from this, update any packages check configuratio=
ns and then stop jail and switch main system over. I use same system for pa=
tch level updates, but would build a VM from fresh install for new major ve=
rsions and ship snapshots over to
 it, build and then back to primary system for reboot.<br class=3D"ContentP=
asted0">
<br class=3D"ContentPasted0">
First attempt at new process.<br class=3D"ContentPasted0">
mount my snapshot to /jails/devel/ROOT<br class=3D"ContentPasted0">
mount -t nullfs -o ro /usr/src /jails/devel/ROOT/usr/src<br class=3D"Conten=
tPasted0">
cd /jails/devel/ROOT/usr/src<br class=3D"ContentPasted0">
etcupdate extract -s /usr/src_13.2-RELEASE-p4 -D /jails/devel/ROOT<br class=
=3D"ContentPasted0">
etcupdate diff -s /usr/src_13.2-RELEASE-p4 -D /jails/devel/ROOT<br class=3D=
"ContentPasted0">
# Diff looks as expected<br class=3D"ContentPasted0">
make buildworld &amp;&amp; make buildkernel &amp;&amp; make installkernel<b=
r class=3D"ContentPasted0">
etcupdate -p -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br class=3D"=
ContentPasted0">
# PANIC: merge failed with status 127<br class=3D"ContentPasted0">
#Logs end with:
<blockquote>
<blockquote>
<blockquote class=3D"ContentPasted0">Building tree at /jails/devel/ROOT/var=
/db/etcupdate/etcupdate-YyFRXe8 with make -DNO_FILEMON</blockquote>
</blockquote>
</blockquote>
/usr/sbin/etcupdate: diff3: not found<br class=3D"ContentPasted0">
# Get past this by running<br class=3D"ContentPasted0">
etcupdate extract -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br clas=
s=3D"ContentPasted0">
etcupdate diff -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br class=
=3D"ContentPasted0">
# Output looks as expected<br class=3D"ContentPasted0">
etcupdate -p -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br class=3D"=
ContentPasted0">
# returns with no errors<br class=3D"ContentPasted0">
make installworld<br class=3D"ContentPasted0">
etcupdate -B -s /jails/devel/ROOT/usr/src -D /jails/devel/ROOT<br class=3D"=
ContentPasted0">
# Returns with no errors, however nothing in system is updated<br class=3D"=
ContentPasted0">
<br class=3D"ContentPasted0">
I have trying added etcupdate resolve after the -p &amp; -B runs, just retu=
rns no errors, doesn't show any conflicts to resolve.<br class=3D"ContentPa=
sted0">
<br class=3D"ContentPasted0">
I have been able to get system running on new version by falling back to ru=
nning mergemaster command, but I have to edit some files manually as there =
are a few changes that don't get merged correctly in the 13.2-RELEASE-p4 to=
 upgrade 14.0-RC.<br class=3D"ContentPasted0">
<br>
</div>
</body>
</html>

--_000_CH0PR19MB7951474BCB3F0B8B6778705BB8A5ACH0PR19MB7951namp_--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CH0PR19MB7951474BCB3F0B8B6778705BB8A5A>