Sponsored by: The FreeBSD Foundation
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 67315 Build 64198: arc lint + arc unit
Event Timeline
Could we just copy the FreeBSD-base.conf that bsdinstall built? I suppose we want vm images to work w/ src.conf WITHOUT_BSDINSTALL though so perhaps not. We could just reference ${SRCTOP}/usr.sbin/bsdinstall/FreeBSD-base.conf.in though.
This seems like it should go into /etc/pkg?
And is there a reason we don't have this installed as part of the pkg-bootstrap package, like we do for the pkg repositories for ports?
Perhaps, my reasoning for putting it in /usr/local/etc is that this file is not installed by a package and anything not installed by a base system package should end up in /usr/local.
It's also consistent with where bsdinstall and pkgbasify currently put this file. If one is changed the others should be updated for consistency as well.
And is there a reason we don't have this installed as part of the pkg-bootstrap package, like we do for the pkg repositories for ports?
Do we have a mechanism to include extra files if e.g. usr.sbin/pkg is built into a pkgbase pkg rather than being destined for a non-pkgbase installation? I agree it would make sense to put this file there if non-pkgbase installations were not supported. Since they are, I'm not sure it would be a good idea to force everyone not using pkgbase to explicitly disable the FreeBSD-base repo or have their base system potentially overwritten by pkgbase packages.
For 15.0, pkgbase is going to be mandatory. So this can go in /etc/pkg in HEAD. For 14.x pkgbase is optional so it belongs in /usr/local/etc/pkg there.
FWIW once it's part of the base system in 15.0 we won't need any special handling from bsdinstall, and pkgbasify will be a red herring since nobody will need to pkgbasify a 15.0 system (except possibly as a final step in freebsd-update upgrade... we'll figure that out later).
But on 14.x pkgbase still relates to base; putting the config for where to get base from in /usr/local/etc/pkg is a strange thing to do IMO. Even for the normal ports-built packages we put the config in /etc/pkg, not /usr/local/etc/pkg.
I opened https://reviews.freebsd.org/D51916 to make bsdinstall put FreeBSD-base.conf in /etc/pkg as well.