usage of poudriere -B flag for pkgbase
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 29 Jun 2025 00:04:49 UTC
I'm very excited about pkgbase, but also stuck on how this -B flag should
work.
The objective is to use official pkgbase packages, to build poudriere
images, that can be deployed directly to new systems, with overlay.
First step is to make a jail, that uses pkgbase!
https://man.freebsd.org/poudriere-jail says:
-B Build the pkgbase set (for use with -b or -m git/svn/...)
-m method Specify which method to use to create the jail
-b Build the source provided with the -m src=path option.
This would seem to be sufficient to "Build the pkgbase set"
poudriere jail -c -j 14_3_x64 -v 14.3-RELEASE -B -K GENERIC
But this fails after some time:
```
Inspecting system... done.
Preparing to download files... done.
No updates needed to update system to 14.3-RELEASE-p0.
14.3-RELEASE
[00:04:38] Recording filesystem state for clean... done
Error: (94492) [:update_pkgbase:1501: -gt: unexpected operator
[00:04:38] Starting make update-packages
env: -C: No such file or directory
[00:04:38] Error: /usr/local/share/poudriere/jail.sh:update_pkgbase:30:Failed to 'make update-packages'
[00:04:38] Error while creating jail, cleaning up.
[00:04:38] Removing 14_3_x64 jail... done
```
This is because JAIL_OSVERSION isn't set. Elsewhere this is done via
`setup_build_env` so https://github.com/skunkwerks/poudriere/commit/5ca24f3
got me further, but still no success, so I reverted it.
I tried again after doing a traditional pkgbase build from sources
(make with buildworld, kernel, packages, update-packages) with
CURRENT:
# poudriere jail -c -j current_x64 -B -b -v 15 -K GENERIC-NODEBUG -m pkgbase=latest -U file:///var/www/pkgbase
Which created a jail, but again - no base system packages to be found.
The jail is indeed a pkg base jail, at lest.
I reverted that, and then tried a 14.3 build from sources:
poudriere jail -c -j 14_3_x64 -v 14.3-RELEASE -B -K GENERIC -b -m src=/projects/freebsd/fourteen
This also fails, during `make create kernel-packages`:
...
1.77 real 1.54 user 1.07 sys
--------------------------------------------------------------
>>> Installing everything completed on Sun Jun 29 00:01:12 UTC 2025
--------------------------------------------------------------
11.82 real 32.96 user 32.53 sys
--- _repodir ---
--- create-packages-world ---
--- create-packages-kernel ---
--- create-packages-source ---
--- create-packages-world ---
pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended
--- create-packages-source ---
pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended
--- create-packages-kernel ---
pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended
--- create-packages-world ---
--- create-world-packages ---
--- create-packages-kernel ---
make[4]: don't know how to make create-kernel-packages. Stop
make[4]: stopped making "create-kernel-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
*** [create-packages-kernel] Error code 2
make[3]: stopped making "real-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
--- create-packages-source ---
*** [create-packages-source] Error code 6
make[3]: stopped making "real-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
--- create-packages-world ---
pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended
*** [create-world-packages] Error code 6
make[4]: stopped making "create-world-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
make[4]: 1 error
make[4]: stopped making "create-world-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
*** [create-packages-world] Error code 2
make[3]: stopped making "real-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
make[3]: 3 errors
make[3]: stopped making "real-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
make[2]: stopped making "real-packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
*** [packages] Error code 2
make[1]: stopped making "packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
make[1]: 1 error
make[1]: stopped making "packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
make: stopped making "packages" in /usr/local/poudriere/jails/14_3_x64/usr/src
[00:28:09] Error: /usr/local/share/poudriere/jail.sh:build_pkgbase:15:Failed to 'make packages'
[00:28:09] Error while creating jail, cleaning up.
[00:28:09] Removing 14_3_x64 jail... done
Is it possible to use poudriere to build pkgbase packages, for 14.3-RELEASE?
I was unable to get even the jail built, let alone create packages.
A+
Dave