I plan to update the base system from source and install packages from ports, compiling the ports with poudriere.
To do this, I'll create a jail using poudriere:
And then update it as follows:
In this case, the system is assembled in the directory:
Regarding this jail I compile ports.
Now I'm going to compile the code for the base system (which has the same architecture and source code version).
Question 1: Am I correct in understanding that to reuse the contents of /usr/obj without recompiling everything, I can simply redefine the MAKEOBJDIRPREFIX variable as follows?
Or would it be better to compile the system in advance on the host in a special directory, and then create a jail with a command like this (this command does not work):
Question 2:
Can I also reuse the poudriere cache when building a base system from source? Like this:
Question 3:
Can I reuse the ports tree located in /usr/src when creating a jail poudriere? Currently, when creating ports, it is copied to the jail directory:
To do this, I'll create a jail using poudriere:
Code:
poudriere jail \
-J 64 \
-b \
-c \
-j test \
-m src=/usr/src
And then update it as follows:
Code:
poudriere jail \
-b \
-j test \
-u
In this case, the system is assembled in the directory:
Code:
/usr/obj/poudriere/jails/test/usr/src/amd64.amd64
Regarding this jail I compile ports.
Now I'm going to compile the code for the base system (which has the same architecture and source code version).
Question 1: Am I correct in understanding that to reuse the contents of /usr/obj without recompiling everything, I can simply redefine the MAKEOBJDIRPREFIX variable as follows?
Code:
setenv MAKEOBJDIRPREFIX "/usr/obj/poudriere/jails/test"
Or would it be better to compile the system in advance on the host in a special directory, and then create a jail with a command like this (this command does not work):
Code:
poudriere jail \
-J 64 \
-c \
-j test \
-m null \
-M /usr/obj
Question 2:
Can I also reuse the poudriere cache when building a base system from source? Like this:
Code:
echo "WITH_CCACHE_BUILD=yes" >> /etc/make.conf
setenv CCACHE_DIR "/path/to/my/poudriere/ccache/dir"
Question 3:
Can I reuse the ports tree located in /usr/src when creating a jail poudriere? Currently, when creating ports, it is copied to the jail directory:
Code:
[00:00:00] Creating test fs at /poudriere/jails/test... done
[00:00:00] Copying /usr/src to /poudriere/jails/test/usr/src... done
[00:00:05] Starting make buildworld with 64 jobs
[Creating objdir /usr/obj/poudriere/jails/test/poudriere/jails/lab/usr/src/amd64.amd64...]
--- buildworld ---
...