Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102078037
D47341.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D47341.diff
View Options
diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh
--- a/usr.sbin/freebsd-update/freebsd-update.sh
+++ b/usr.sbin/freebsd-update/freebsd-update.sh
@@ -1099,6 +1099,25 @@
fetch_setup_verboselevel
}
+# Packaged base and freebsd-update are incompatible. Exit with an error if
+# packaged base is in use.
+check_pkgbase()
+{
+ # Packaged base requires that pkg is bootstrapped.
+ if ! pkg -c ${BASEDIR} -N >/dev/null 2>/dev/null; then
+ return
+ fi
+ # Presence of FreeBSD-* package(s) indicates packaged base.
+ if ! pkg -c ${BASEDIR} info -q -x '^FreeBSD' 2>/dev/null; then
+ return
+ fi
+ cat <<EOF
+FreeBSD-update is incompatible with the use of packaged base. Please see
+https://wiki.freebsd.org/PkgBase for more information.
+EOF
+ exit 1
+}
+
#### Core functionality -- the actual work gets done here
# Use an SRV query to pick a server. If the SRV query doesn't provide
@@ -3517,6 +3536,7 @@
# Fetch files for upgrading to a new release.
cmd_upgrade () {
+ check_pkgbase
finalize_components_config ${COMPONENTS}
upgrade_check_params
upgrade_check_kmod_ports
@@ -3551,6 +3571,7 @@
# Install downloaded updates.
cmd_install () {
+ check_pkgbase
finalize_components_config ${COMPONENTS}
install_check_params
install_create_be
@@ -3559,6 +3580,7 @@
# Rollback most recently installed updates.
cmd_rollback () {
+ check_pkgbase
finalize_components_config ${COMPONENTS}
rollback_check_params
rollback_run || exit 1
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Nov 8, 8:39 AM (21 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14417451
Default Alt Text
D47341.diff (1 KB)
Attached To
Mode
D47341: freebsd-update: refuse to operate on a pkgbase system
Attached
Detach File
Event Timeline
Log In to Comment