Wis...@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.