From 213ea85b98662ec0dadfe50608c4a926fde362b1 Mon Sep 17 00:00:00 2001 From: tsutsui Date: Thu, 25 Oct 2012 15:05:22 +0000 Subject: [PATCH] Make the default choice of "Install from" menu to use the sets in the default file system (assuming which come with the CD/USB image) and skip distmedium menu if the root file system is not md(4). Also change "CD-ROM / DVD" menu option accordingly on ports which have install images. PR/47038 XXX: still no responsible maintainer of non-en translations --- distrib/utils/sysinst/arch/amd64/Makefile | 4 ++-- distrib/utils/sysinst/arch/i386/Makefile | 4 ++-- distrib/utils/sysinst/msg.mi.de | 6 +++++- distrib/utils/sysinst/msg.mi.en | 6 +++++- distrib/utils/sysinst/msg.mi.es | 6 +++++- distrib/utils/sysinst/msg.mi.fr | 6 +++++- distrib/utils/sysinst/msg.mi.pl | 6 +++++- distrib/utils/sysinst/util.c | 20 ++++++++++++++------ 8 files changed, 43 insertions(+), 15 deletions(-) diff --git a/distrib/utils/sysinst/arch/amd64/Makefile b/distrib/utils/sysinst/arch/amd64/Makefile index a93578ec5926..8ce17655e618 100644 --- a/distrib/utils/sysinst/arch/amd64/Makefile +++ b/distrib/utils/sysinst/arch/amd64/Makefile @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.7 2005/02/19 17:00:38 dsl Exp $ +# $NetBSD: Makefile,v 1.8 2012/10/25 15:05:23 tsutsui Exp $ # # Makefile for amd64 # MENUS_MD= ../i386/menus.md menus.mbr MSG_MD= ../i386/msg.md.${SYSINSTLANG} msg.mbr.${SYSINSTLANG} -MD_OPTIONS= BOOTSEL AOUT2ELF +MD_OPTIONS= BOOTSEL AOUT2ELF HAVE_INSTALL_IMAGE CPPFLAGS+= -DBOOTSEL -DWSKBD diff --git a/distrib/utils/sysinst/arch/i386/Makefile b/distrib/utils/sysinst/arch/i386/Makefile index 7bfd30623a1b..ed0c5cfe3b4c 100644 --- a/distrib/utils/sysinst/arch/i386/Makefile +++ b/distrib/utils/sysinst/arch/i386/Makefile @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.17 2005/02/19 17:00:39 dsl Exp $ +# $NetBSD: Makefile,v 1.18 2012/10/25 15:05:23 tsutsui Exp $ # # Makefile for i386 # MENUS_MD= menus.md menus.mbr MSG_MD= msg.md.${SYSINSTLANG} msg.mbr.${SYSINSTLANG} -MD_OPTIONS= BOOTSEL AOUT2ELF +MD_OPTIONS= BOOTSEL AOUT2ELF HAVE_INSTALL_IMAGE CPPFLAGS+= -DBOOTSEL -DWSKBD # CPPFLAGS+= -DNO_LBA_READS diff --git a/distrib/utils/sysinst/msg.mi.de b/distrib/utils/sysinst/msg.mi.de index 848d494c85ca..610ba41b57ec 100644 --- a/distrib/utils/sysinst/msg.mi.de +++ b/distrib/utils/sysinst/msg.mi.de @@ -1,4 +1,4 @@ -/* $NetBSD: msg.mi.de,v 1.70 2012/07/06 21:10:56 jdf Exp $ */ +/* $NetBSD: msg.mi.de,v 1.71 2012/10/25 15:05:22 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -976,7 +976,11 @@ message Select_medium {Medium ausw message ftp {FTP} message http {HTTP} message nfs {NFS} +.if HAVE_INSTALL_IMAGE +message cdrom {CD-ROM / DVD / install image media} /* XXX translation */ +.else message cdrom {CD-ROM / DVD} +.endif message floppy {Diskette} message local_fs {Ungemountetes Dateisysytem} message local_dir {Lokales Verzeichnis} diff --git a/distrib/utils/sysinst/msg.mi.en b/distrib/utils/sysinst/msg.mi.en index 8c33720076a5..a801a72b6e92 100644 --- a/distrib/utils/sysinst/msg.mi.en +++ b/distrib/utils/sysinst/msg.mi.en @@ -1,4 +1,4 @@ -/* $NetBSD: msg.mi.en,v 1.175 2012/07/06 21:10:56 jdf Exp $ */ +/* $NetBSD: msg.mi.en,v 1.176 2012/10/25 15:05:22 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -916,7 +916,11 @@ message Select_medium {Install from} message ftp {FTP} message http {HTTP} message nfs {NFS} +.if HAVE_INSTALL_IMAGE +message cdrom {CD-ROM / DVD / install image media} +.else message cdrom {CD-ROM / DVD} +.endif message floppy {Floppy} message local_fs {Unmounted fs} message local_dir {Local directory} diff --git a/distrib/utils/sysinst/msg.mi.es b/distrib/utils/sysinst/msg.mi.es index 68f5f01ad272..731e08515899 100644 --- a/distrib/utils/sysinst/msg.mi.es +++ b/distrib/utils/sysinst/msg.mi.es @@ -1,4 +1,4 @@ -/* $NetBSD: msg.mi.es,v 1.47 2012/09/15 17:56:28 jdf Exp $ */ +/* $NetBSD: msg.mi.es,v 1.48 2012/10/25 15:05:22 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -942,7 +942,11 @@ message Select_medium {Seleccione el medio} message ftp {FTP} message http {HTTP} message nfs {NFS} +.if HAVE_INSTALL_IMAGE +message cdrom {CD-ROM / DVD / install image media} /* XXX translation */ +.else message cdrom {CD-ROM / DVD} +.endif message floppy {Disquete} message local_fs {Sistema de archivos desmontado} message local_dir {Directorio Local} diff --git a/distrib/utils/sysinst/msg.mi.fr b/distrib/utils/sysinst/msg.mi.fr index 5a11dcbb3505..6785700027a0 100644 --- a/distrib/utils/sysinst/msg.mi.fr +++ b/distrib/utils/sysinst/msg.mi.fr @@ -1,4 +1,4 @@ -/* $NetBSD: msg.mi.fr,v 1.129 2012/07/06 21:10:56 jdf Exp $ */ +/* $NetBSD: msg.mi.fr,v 1.130 2012/10/25 15:05:23 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -1014,7 +1014,11 @@ message Select_medium {S message ftp {FTP} message http {HTTP} message nfs {NFS} +.if HAVE_INSTALL_IMAGE +message cdrom {CD-ROM / DVD / install image media} /* XXX translation */ +.else message cdrom {CD-ROM / DVD} +.endif message floppy {Disquette} message local_fs {Système de fichiers non-monté} message local_dir {Répertoire local monté} diff --git a/distrib/utils/sysinst/msg.mi.pl b/distrib/utils/sysinst/msg.mi.pl index 49cba9343384..7371e9f33547 100644 --- a/distrib/utils/sysinst/msg.mi.pl +++ b/distrib/utils/sysinst/msg.mi.pl @@ -1,4 +1,4 @@ -/* $NetBSD: msg.mi.pl,v 1.86 2012/07/06 21:10:56 jdf Exp $ */ +/* $NetBSD: msg.mi.pl,v 1.87 2012/10/25 15:05:23 tsutsui Exp $ */ /* Based on english version: */ /* NetBSD: msg.mi.pl,v 1.36 2004/04/17 18:55:35 atatat Exp */ @@ -913,7 +913,11 @@ message Select_medium {Wybierz medium} message ftp {FTP} message http {HTTP} message nfs {NFS} +.if HAVE_INSTALL_IMAGE +message cdrom {CD-ROM / DVD / install image media} /* XXX translation */ +.else message cdrom {CD-ROM / DVD} +.endif message floppy {Dyskietka} message local_fs {Niezamontowany SP} message local_dir {Lokalny katalog} diff --git a/distrib/utils/sysinst/util.c b/distrib/utils/sysinst/util.c index e8864d630832..5848fc87848f 100644 --- a/distrib/utils/sysinst/util.c +++ b/distrib/utils/sysinst/util.c @@ -1,4 +1,4 @@ -/* $NetBSD: util.c,v 1.179 2012/07/19 06:07:21 joerg Exp $ */ +/* $NetBSD: util.c,v 1.180 2012/10/25 15:05:23 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -520,19 +520,27 @@ boot_media_still_needed(void) /* * Get from a CDROM distribution. + * Also used on "installation using bootable install media" + * as the default option in the "distmedium" menu. */ int get_via_cdrom(void) { menu_ent cd_menu[MAX_CD_INFOS]; - struct statvfs sb; + struct stat sb; int num_cds, menu_cd, i, selected_cd = 0; bool silent = false; + int mib[2]; + char rootdev[SSTRSIZE] = ""; + size_t varlen; - /* If root is a CD-ROM and we have sets, skip this step. */ - if (statvfs(set_dir_bin, &sb) == 0 && - (strcmp(sb.f_fstypename, MOUNT_CD9660) == 0 - || strcmp(sb.f_fstypename, MOUNT_UDF) == 0)) { + /* If root is not md(4) and we have set dir, skip this step. */ + mib[0] = CTL_KERN; + mib[1] = KERN_ROOT_DEVICE; + varlen = sizeof(rootdev); + (void)sysctl(mib, 2, rootdev, &varlen, NULL, 0); + if (stat(set_dir_bin, &sb) == 0 && S_ISDIR(sb.st_mode) && + strncmp("md", rootdev, 2) != 0) { strlcpy(ext_dir_bin, set_dir_bin, sizeof ext_dir_bin); strlcpy(ext_dir_src, set_dir_src, sizeof ext_dir_src); return SET_OK;