GhostBSD 10.3 new pkgs repository
Posted: Fri Jun 02, 2017 8:01 pm
Intro
GhostBSD typically made use of FreeBSD repositories for pkgs update.
FreeBSD offer two set of repositories: "quarterly" and "latest".
"Quarterly" is the default repo since FreeBSD 10.2/GhostBSD 10.3, supposedly it is more stable and reliable than the "latest" repo, and receive only minimal updates, for three months, and the end of the quarter a new "quarterly" repos is branched from "latest".
Unfortunately, the quarterly repo was not as stable and reliable as expected, and of course, you can see yourself that there is a flaw in the current workflow: when a new "quarterly" repo is branched it is exactly in pair with the "latest" repository, can't be more stable or reliable than "latest" itself.
We have discussed a lot (internally, between devs), about basing our repos on ports/head branch or on ports/quarterly branch, we were ready to tradeoff the latest and greatest for some more stability, but the latest quarterly switch and the related issues, solved our doubts instantly: we will make use of the "ports/head" (which correspond tpo "latest" pkg repo), for our own repositories.
Fallback
Producing a repository require some work, and some testing, for these reasons we will have three repos for each Release and for each arch:
- test (used from devs, and from users willing to help testing)
- current (the "normal" / default repository
- previous (this is what was the "current" before latest round of updates, it is meant to be a quick fallback in case something wrong went unnoticed in the "current" repository.
How to
The "test" repository is the only one available right now, to make use of it:
# create a /usr/local/etc/pkg/repos/GhostBSD.conf file:
# amd64
# i386
to verify which repositories are configured use:
The first time, you should reinstall all packages, using:
to disable the FreeBSD repository permanently, create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
After disabling the FreeBSD repository, you can use the usual pkg syntax, whitout the need to specify the "-r GhostBSD" repository.
GhostBSD typically made use of FreeBSD repositories for pkgs update.
FreeBSD offer two set of repositories: "quarterly" and "latest".
"Quarterly" is the default repo since FreeBSD 10.2/GhostBSD 10.3, supposedly it is more stable and reliable than the "latest" repo, and receive only minimal updates, for three months, and the end of the quarter a new "quarterly" repos is branched from "latest".
Unfortunately, the quarterly repo was not as stable and reliable as expected, and of course, you can see yourself that there is a flaw in the current workflow: when a new "quarterly" repo is branched it is exactly in pair with the "latest" repository, can't be more stable or reliable than "latest" itself.
We have discussed a lot (internally, between devs), about basing our repos on ports/head branch or on ports/quarterly branch, we were ready to tradeoff the latest and greatest for some more stability, but the latest quarterly switch and the related issues, solved our doubts instantly: we will make use of the "ports/head" (which correspond tpo "latest" pkg repo), for our own repositories.
Fallback
Producing a repository require some work, and some testing, for these reasons we will have three repos for each Release and for each arch:
- test (used from devs, and from users willing to help testing)
- current (the "normal" / default repository
- previous (this is what was the "current" before latest round of updates, it is meant to be a quick fallback in case something wrong went unnoticed in the "current" repository.
How to
The "test" repository is the only one available right now, to make use of it:
# create a /usr/local/etc/pkg/repos/GhostBSD.conf file:
# amd64
Code: Select all
GhostBSD: {
url: "http://pkg.GhostBSD.org/GhostBSD-10/amd64/test",
enabled: yes
}
Code: Select all
GhostBSD: {
url: "http://pkg.GhostBSD.org/GhostBSD-10/i386/test",
enabled: yes
}
Code: Select all
pkg -vv
Code: Select all
pkg upgrade -f -r GhostBSD
Code: Select all
FreeBSD: {
enabled: no
}