bin/164278: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Wed Jan 18 16:00:26 UTC 2012
The following reply was made to PR bin/164278; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: bin/164278: commit references a PR
Date: Wed, 18 Jan 2012 15:59:36 +0000 (UTC)
Author: nwhitehorn
Date: Wed Jan 18 15:59:23 2012
New Revision: 230309
URL: http://svn.freebsd.org/changeset/base/230309
Log:
Warn if trying to install over an existing partition, which usually fails
anyway due to libarchive not being able to overwrite schg flags.
PR: bin/164278
MFC after: 4 days
Modified:
head/usr.sbin/bsdinstall/partedit/partedit.c
Modified: head/usr.sbin/bsdinstall/partedit/partedit.c
==============================================================================
--- head/usr.sbin/bsdinstall/partedit/partedit.c Wed Jan 18 15:25:34 2012 (r230308)
+++ head/usr.sbin/bsdinstall/partedit/partedit.c Wed Jan 18 15:59:23 2012 (r230309)
@@ -240,23 +240,41 @@ delete_part_metadata(const char *name)
static int
validate_setup(void)
{
- struct partition_metadata *md;
- int root_found = FALSE;
+ struct partition_metadata *md, *root = NULL;
+ int cancel;
TAILQ_FOREACH(md, &part_metadata, metadata) {
if (md->fstab != NULL && strcmp(md->fstab->fs_file, "/") == 0)
- root_found = TRUE;
+ root = md;
/* XXX: Check for duplicate mountpoints */
}
- if (!root_found) {
+ if (root == NULL) {
dialog_msgbox("Error", "No root partition was found. "
"The root FreeBSD partition must have a mountpoint of '/'.",
0, 0, TRUE);
return (FALSE);
}
+ /*
+ * Check for root partitions that we aren't formatting, which is
+ * usually a mistake
+ */
+ if (root->newfs == NULL) {
+ dialog_vars.defaultno = TRUE;
+ cancel = dialog_yesno("Warning", "The chosen root partition "
+ "has a preexisting filesystem. If it contains an existing "
+ "FreeBSD system, please update it with freebsd-update "
+ "instead of installing a new system on it. The partition "
+ "can also be erased by pressing \"No\" and then deleting "
+ "and recreating it. Are you sure you want to proceed?",
+ 0, 0);
+ dialog_vars.defaultno = FALSE;
+ if (cancel)
+ return (FALSE);
+ }
+
return (TRUE);
}
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-sysinstall
mailing list