]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Default `bsdconfig timezone' and `tzsetup' to `-s' in a VM.
authordteske <dteske@FreeBSD.org>
Tue, 11 Nov 2014 19:37:17 +0000 (19:37 +0000)
committerdteske <dteske@FreeBSD.org>
Tue, 11 Nov 2014 19:37:17 +0000 (19:37 +0000)
Recommended by: cperciva
Reviewed by: cperciva
Relnotes: tzsetup and bsdconfig now assume that the "hardware" clock inside a VM is set to UTC

usr.sbin/bsdconfig/timezone/timezone
usr.sbin/tzsetup/tzsetup.c

index 0452230441b49d24469954f1150b6cd3533580ac..66f2d7892286f3b5ff563875eeea2c07af1bdd2b 100755 (executable)
@@ -62,7 +62,7 @@ _PATH_WALL_CMOS_CLOCK="/etc/wall_cmos_clock"
 REALLYDOIT=1
 REINSTALL=
 USEDIALOG=1
-SKIPUTC=
+SKIPUTC= # See MAIN
 VERBOSE=
 TZ_OR_FAIL=
 CHROOTENV=
@@ -119,6 +119,9 @@ dialog_menu_main()
 
 ############################################################ MAIN
 
+# Skip initial question regarding UTC v. Wall-Clock time if run in VM
+[ "$( sysctl -n kern.vm_guest 2> /dev/null )" = "none" ] || SKIPUTC=1
+
 # Incorporate rc-file if it exists
 [ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc"
 
index cea8533d4637a4f9b9c285b50178eb634097abcf..1750227438502660f78dc4cc5ca3da73afee2d86 100644 (file)
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/queue.h>
 #include <sys/stat.h>
+#include <sys/sysctl.h>
 
 #include <dialog.h>
 
@@ -910,8 +911,16 @@ main(int argc, char **argv)
 {
        char            title[64], prompt[128];
        int             c, fd, rv, skiputc;
+        char           vm_guest[16] = "";
+        size_t         len = sizeof(vm_guest);
 
        skiputc = 0;
+
+       /* Default skiputc to 1 for VM guests */
+        if (sysctlbyname("kern.vm_guest", vm_guest, &len, NULL, 0) == 0 &&
+           strcmp(vm_guest, "none") != 0)
+                skiputc = 1;
+
        while ((c = getopt(argc, argv, "C:nrs")) != -1) {
                switch(c) {
                case 'C':