Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 2026 21:15:30 +0000
From:      Lexi Winter <ivy@freebsd.org>
To:        freebsd-pkgbase@freebsd.org, freebsd-questions@freebsd.org
Subject:   Re: installing world from src on a pkgbase system
Message-ID:  <acRQcjyIZ_Krfyw4@amaryllis.le-fay.org>
In-Reply-To: <UGVbTfxFnLh7zkFaMJrCf_Fll6DjeBxw5VK_kc_jdLlOlJPe6QtfNOQm23v-DOSO-DP1YiEcP8APpn9To22Lc64V-oX24Mor7jSE_ZtYmj8=@proton.me>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Wismos@proton.me wrote in <UGVbTfxFnLh7zkFaMJrCf_Fll6DjeBxw5VK_kc_jdLlOlJPe6QtfNOQm23v-DOSO-DP1YiEcP8APpn9To22Lc64V-oX24Mor7jSE_ZtYmj8=@proton.me>:
> i have been trying pkgbase for a while but there is one specific topic
> that's still not very clear to me is how do i go around only
> inatalling world from src on a pkgbase system

you build the system from source, then you build a package repository,
then you install packages from the repository.

assuming your src is in /usr/src:

% cd /usr/src
% make buildworld buildkernel update-packages

this builds a package repository in ${REPODIR}, which is by default, i
think, /usr/obj/repo.  

to upgrade from this repository, you need a suitable pkg(8) repository
configuration, such as:

	base {
		url: "file:///usr/obj/repo/${ABI}/latest",
	        enabled: yes
	}

i haven't tested this recently, so the paths there might not be entirely
correct.  you will need to disable the 'FreeBSD-base' repository that
bsdinstall creates; the easiest way to do this is to simply rm
/usr/local/etc/pkg/repos/FreeBSD-base.conf.

you should then be able to do 'pkg upgrade' to upgrade from the packages
you built.

> make packages requires you to do both buildworld and buildkernel,

you should use 'make update-packages', not 'make packages'.  but yes,
either of those targets require you to build the world first, because
that's what creates the binaries in the packages.

> it also requires you to setup a local repo using nginx(as far as i can
> read from the handbook)

no, it doesn't.  if the handbook says that, it's wrong; unfortunately
the documentation for pkgbase is fairly poor right now.  but as you can
see from what i said above, it's possible to do this using only local
files, you do not need a web server.

>i tried to do just pkg add * from the
>/usr/obj/usr/src/repo/FreeBSD:${ABI}.xxxx/xxxx and that obviously
>messed up my system pretty bad

that's wrong and you shouldn't do that.

> so i was wondering if there was a way to build packages of only base
> without having buildkernel as well

currently, you have to build both world and kernel to create a package
repository.

> and if there was a way to install those packages without having to go
> through setting up a server with nginx

you do not need to set up nginx for this.

> and as far as i am aware packageworld target is only for release
> targets and not for me

"make packageworld" is nothing to do with pkgbase, despite the name;
it's related to some other, not relevant distribution methods.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCacRQawAKCRD1nT63mIK/
YHa/AQCzT2Pq0Hks55TV50qgfTgbsxDIVzsCveX+bs2ogCq0nQEAvuA/MyRQ/kx+
BKi909ww+mtR+CbpT7F/QtdnZxD5Rws=
=HC5Q
-----END PGP SIGNATURE-----
home | help

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