Details
- Reviewers
ifreund_freebsdfoundation.org ivy - Group Reviewers
pkgbase Installer
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 67760 Build 64643: arc lint + arc unit
Event Timeline
What is the goal of this change? Do you want to make it possible for the user to set a custom BSDINSTALL_PKG_REPOS_DIR without requiring them to name their repository FreeBSD-base? I think it would be more robust to add a BSDINSTALL_BASE_REPO_NAME environment variable instead to support that use-case.
Restricting the pkg commands to a single repository seems more robust to me and I don't see a reason to regress that.
i can see two use cases for this:
- a repo built from src doesn't have pkg(8), but we can get it from the ports repository
- the repository might not be called FreeBSD-base
but i don't believe this is the right fix for either issue. in the first case, i'd be okay with a flag like --all-repos to optionally disable the repo restriction. for the second, as Isaac says, a way to set the repo name.
involving ports by default in bsdinstall is just too dangerous, pkg(8) can still sometimes do strange things.
I build an image populated with another custom repo and this makes it easier. It allows for just dropping the config and repo into /usr/freebsd-packages next to the base repo.
Since the directory only contains the base repo and --repo-conf-dir is set this doesn't pose any risk?
sorry for the delay: i see your point but i'm still not entirely comfortable with this change. are we sure that BSDINSTALL_PKG_REPOS_DIR will only contain the base repository? what if the repo dir already exists in the target and has other config files? (i'm not sure if this is a supported situation for bsdinstall pkgbase, but...)
would a better fix not be to just name your custom repository FreeBSD-base, since this is the canonical name for the base repository?
Now that 15.0 is out, I would like to return to this. Thanks for all the work done to make 15.0 an excellent release!
How would BSDINSTALL_PKG_REPOS_DIR ever in the normal FreeBSD Release media contain anything else?
would a better fix not be to just name your custom repository FreeBSD-base, since this is the canonical name for the base repository?
Naming it 'FreeBSD-base' won't actually change anything since I am using two repos and I am trying to add the second which is basically a subset of packages we need for the product. So FreeBSD-base is already in use with the base FreeBSD OS and then the second repo is where the custom bits that go on top live.
I previously have done a bit of work to make it easier for downstream projects to whitelabel the installer, such as OSNAME, etc. I see this as continuing that.
Thanks,
Brad
bsdinstall is not only used on the release media, it's used when e.g. installing jails (using bsdinstall jail).
are you sure this will not cause ports to be involved when running bsdinstall jail or bsdinstall pkgbase on an install system with ports enabled?
sorry, i didn't mean to accept this revision, so i'm changing my vote to requesting changes, but i'm currently fairly ambivalent on this aside from my previous concern.