Module Name:    src
Committed By:   christos
Date:           Sun Jan  8 02:32:00 UTC 2012

Modified Files:
        src/distrib/utils/sysinst: msg.mi.de msg.mi.en msg.mi.es msg.mi.fr
            msg.mi.pl upgrade.c

Log Message:
work for both X11R6 and X11R7


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/distrib/utils/sysinst/msg.mi.de
cvs rdiff -u -r1.166 -r1.167 src/distrib/utils/sysinst/msg.mi.en
cvs rdiff -u -r1.36 -r1.37 src/distrib/utils/sysinst/msg.mi.es
cvs rdiff -u -r1.116 -r1.117 src/distrib/utils/sysinst/msg.mi.fr
cvs rdiff -u -r1.75 -r1.76 src/distrib/utils/sysinst/msg.mi.pl
cvs rdiff -u -r1.52 -r1.53 src/distrib/utils/sysinst/upgrade.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/utils/sysinst/msg.mi.de
diff -u src/distrib/utils/sysinst/msg.mi.de:1.58 src/distrib/utils/sysinst/msg.mi.de:1.59
--- src/distrib/utils/sysinst/msg.mi.de:1.58	Sat Jan  7 13:54:30 2012
+++ src/distrib/utils/sysinst/msg.mi.de	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.mi.de,v 1.58 2012/01/07 18:54:30 christos Exp $	*/
+/*	$NetBSD: msg.mi.de,v 1.59 2012/01/08 02:32:00 christos Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -677,18 +677,18 @@ Aktualisierung wird abgebrochen.
 }
 
 message X_oldexists
-{Der alte X Server /usr/X11R7/bin/X kann nicht als /usr/X11R7/bin/X.old
+{Der alte X Server %s/bin/X kann nicht als %s/bin/X.old
 gesichert werden, da eine Datei mit diesem Namen bereits existiert.
 Bitte korrigieren Sie dies, bevor Sie fortfahren.
 
 Eine M�glichkeit ist es, im Extras-Men� eine Shell zu starten,
-wodurch Sie /usr/X11R7/bin/X.old �berpr�fen k�nnen. Geh�rt diese Datei zu
+wodurch Sie %s/bin/X.old �berpr�fen k�nnen. Geh�rt diese Datei zu
 einer fr�heren Aktualisierung, so k�nnen Sie diese mit rm -f
-/usr/X11R7/bin/x.old l�schen und danach die Aktualisierung neu starten.
-Geh�rt die Datei /usr/X11R7/bin/X.old aber zu einer aktuellen,
-abgebrochenen Aktualisierung, so k�nnen Sie die Datei /usr/X11R7/bin/X mit
-mv /usr/X11R7/bin/X.old /usr/X11R7/bin/X wieder herstellen und die
-unvollst�ndige Aktualisierung fortsetzen.
+%s/bin/x.old l�schen und danach die Aktualisierung neu starten.
+Geh�rt die Datei %s/bin/X.old aber zu einer aktuellen,
+abgebrochenen Aktualisierung, so k�nnen Sie die Datei %s/bin/X mit
+mv %s/bin/X.old %s/bin/X wieder herstellen und die
+unvollst�ndige Aktualisierung fortsetzen. %0s%0s%0s
 
 Aktualisierung wird abgebrochen.}
 

Index: src/distrib/utils/sysinst/msg.mi.en
diff -u src/distrib/utils/sysinst/msg.mi.en:1.166 src/distrib/utils/sysinst/msg.mi.en:1.167
--- src/distrib/utils/sysinst/msg.mi.en:1.166	Sat Jan  7 13:54:30 2012
+++ src/distrib/utils/sysinst/msg.mi.en	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.mi.en,v 1.166 2012/01/07 18:54:30 christos Exp $	*/
+/*	$NetBSD: msg.mi.en,v 1.167 2012/01/08 02:32:00 christos Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -649,16 +649,16 @@ message badetcfstab
 }
 
 message X_oldexists
-{I cannot save /usr/X11R7/bin/X as /usr/X11R7/bin/X.old, because the
-target disk already has an /usr/X11R7/bin/X.old. Please fix this before
+{I cannot save %s/bin/X as %s/bin/X.old, because the
+target disk already has an %s/bin/X.old. Please fix this before
 continuing.
 
 One way is to start a shell from the Utilities menu, examine the
-target /usr/X11R7/bin/X and /usr/X11R7/bin/X.old.  If
-/usr/X11R7/bin/X.old is from a completed upgrade, you can rm -f
-/usr/X11R7/bin/X.old and restart.  Or if /usr/X11R7/bin/X.old is from
-a recent, incomplete upgrade, you can rm -f /usr/X11R7/bin/X and mv
-/usr/X11R7/bin/X.old to /usr/X11R7/bin/X.
+target %s/bin/X and %s/bin/X.old.  If
+%s/bin/X.old is from a completed upgrade, you can rm -f
+%s/bin/X.old and restart.  Or if %s/bin/X.old is from
+a recent, incomplete upgrade, you can rm -f %s/bin/X and mv
+%s/bin/X.old to %s/bin/X
 
 Aborting upgrade.}
 

Index: src/distrib/utils/sysinst/msg.mi.es
diff -u src/distrib/utils/sysinst/msg.mi.es:1.36 src/distrib/utils/sysinst/msg.mi.es:1.37
--- src/distrib/utils/sysinst/msg.mi.es:1.36	Sat Jan  7 13:54:30 2012
+++ src/distrib/utils/sysinst/msg.mi.es	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.mi.es,v 1.36 2012/01/07 18:54:30 christos Exp $	*/
+/*	$NetBSD: msg.mi.es,v 1.37 2012/01/08 02:32:00 christos Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -669,16 +669,16 @@ Interrumpiendo la actualizaci�n.
 }
 
 message X_oldexists
-{No se puede guardar /usr/X11R7/bin/X como /usr/X11R7/bin/X.old, porque el
-disco objetivo ya tiene un /usr/X11R7/bin/X.old.  Por favor, arregle esto
+{No se puede guardar %s/bin/X como %s/bin/X.old, porque el
+disco objetivo ya tiene un %s/bin/X.old.  Por favor, arregle esto
 antes de continuar.
 
 Una manera es iniciando una shell desde el men� Utilidades, y examinar
-el objetivo /usr/X11R7/bin/X y /usr/X11R7/bin/X.old.  Si
-/usr/X11R7/bin/X.old es de una actualizaci�n completada, puede rm -f
-/usr/X11R7/bin/X.old y reiniciar.  O si /usr/X11R7/bin/X.old es de
-una actualizacion reciente e incompleta, puede rm -f /usr/X11R7/bin/X
-y mv /usr/X11R7/bin/X.old a /usr/X11R7/bin/X.
+el objetivo %s/bin/X y %s/bin/X.old.  Si
+%s/bin/X.old es de una actualizaci�n completada, puede rm -f
+%s/bin/X.old y reiniciar.  O si %s/bin/X.old es de
+una actualizacion reciente e incompleta, puede rm -f %s/bin/X
+y mv %s/bin/X.old a %s/bin/X.
 
 Interrumpiendo la actualizaci�n.}
 

Index: src/distrib/utils/sysinst/msg.mi.fr
diff -u src/distrib/utils/sysinst/msg.mi.fr:1.116 src/distrib/utils/sysinst/msg.mi.fr:1.117
--- src/distrib/utils/sysinst/msg.mi.fr:1.116	Sat Jan  7 13:54:31 2012
+++ src/distrib/utils/sysinst/msg.mi.fr	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.mi.fr,v 1.116 2012/01/07 18:54:31 christos Exp $	*/
+/*	$NetBSD: msg.mi.fr,v 1.117 2012/01/08 02:32:00 christos Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -703,16 +703,16 @@ Ceci est une erreur majeure : nous ne po
 
 message X_oldexists
 {
-Impossible de sauvegarder /usr/X11R7/bin/X : le disque contient d�j�
-un fichier /usr/X11R7/bin/X.old et nous devons renommer l'actuel fichier
+Impossible de sauvegarder %s/bin/X : le disque contient d�j�
+un fichier %s/bin/X.old et nous devons renommer l'actuel fichier
 avec ce nom. Veuillez supprimer ou renommer le fichier X.old avant de
 recommencer.
 Vous pouvez d�marrer un shell depuis le menu "Utilitaires" afin
 de faire cette modification.
 Ce fichier provient probablement d'une ancienne mise � jour et
 il est possible de le supprimer. S'il provient d'une mise � jour
-incompl�te, vous pouvez effacer /usr/X11R7/bin/X et renommer
-/usr/X11R7/bin/X.old en /usr/X11R7/bin/X.
+incompl�te, vous pouvez effacer %s/bin/X et renommer
+%s/bin/X.old en %s/bin/X.%0s%0s%0s%0s%0s%0s
 
 Arr�t de la mise � jour.
 }

Index: src/distrib/utils/sysinst/msg.mi.pl
diff -u src/distrib/utils/sysinst/msg.mi.pl:1.75 src/distrib/utils/sysinst/msg.mi.pl:1.76
--- src/distrib/utils/sysinst/msg.mi.pl:1.75	Sat Jan  7 13:54:31 2012
+++ src/distrib/utils/sysinst/msg.mi.pl	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.mi.pl,v 1.75 2012/01/07 18:54:31 christos Exp $	*/
+/*	$NetBSD: msg.mi.pl,v 1.76 2012/01/08 02:32:00 christos Exp $	*/
 /*	Based on english version: */
 /*	NetBSD: msg.mi.pl,v 1.36 2004/04/17 18:55:35 atatat Exp       */
 
@@ -648,15 +648,15 @@ message badetcfstab
 }
 
 message X_oldexists
-{Nie moge zapisac /usr/X11R7/bin/X jako /usr/X11R7/bin/X.old, poniewaz
-na docelowym dysku jest juz /usr/X11R7/bin/X.old. Napraw to przed kontynuacja.
+{Nie moge zapisac %s/bin/X jako %s/bin/X.old, poniewaz
+na docelowym dysku jest juz %s/bin/X.old. Napraw to przed kontynuacja.
 
 Jedyny sposob to uruchomic powloke z menu Narzedziowego i sprawdzic
-docelowe /usr/X11R7/bin/X oraz /usr/X11R7/bin/X.old. Jesli
-/usr/X11R7/bin/X.old pochodzi z zakonczonej aktualizacji, mozesz usunac
-/usr/X11R7/bin/X.old i zrobic restart. Albo jesli /usr/X11R7/bin/X.old
+docelowe %s/bin/X oraz %s/bin/X.old. Jesli
+%s/bin/X.old pochodzi z zakonczonej aktualizacji, mozesz usunac
+%s/bin/X.old i zrobic restart. Albo jesli %s/bin/X.old
 pochodzi z aktualnej niekompletnej aktualizacji, mozesz usunac
-/usr/X11R7/bin/X i przeniesc /usr/X11R7/bin/X.old na /usr/X11R7/bin/X.
+%s/bin/X i przeniesc %s/bin/X.old na %s/bin/X.
 
 Przerywamy aktualizacje.}
 

Index: src/distrib/utils/sysinst/upgrade.c
diff -u src/distrib/utils/sysinst/upgrade.c:1.52 src/distrib/utils/sysinst/upgrade.c:1.53
--- src/distrib/utils/sysinst/upgrade.c:1.52	Sat Jan  7 13:54:31 2012
+++ src/distrib/utils/sysinst/upgrade.c	Sat Jan  7 21:32:00 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: upgrade.c,v 1.52 2012/01/07 18:54:31 christos Exp $	*/
+/*	$NetBSD: upgrade.c,v 1.53 2012/01/08 02:32:00 christos Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -34,6 +34,7 @@
 
 /* upgrade.c -- upgrade an installation. */
 
+#include <sys/param.h>
 #include <stdio.h>
 #include <curses.h>
 #include <errno.h>
@@ -44,8 +45,8 @@
 /*
  * local prototypes
  */
-static int save_X(void);
-static int merge_X(void);
+static int save_X(const char *);
+static int merge_X(const char *);
 
 /*
  * Do the system upgrade.
@@ -76,7 +77,9 @@ do_upgrade(void)
 	/*
 	 * Save X symlink, ...
 	 */
-	if (save_X())
+	if (save_X("/usr/X11R6"))
+		return;
+	if (save_X("/usr/X11R7"))
 		return;
 
 #ifdef AOUT2ELF
@@ -100,7 +103,8 @@ do_upgrade(void)
 	if (!md_post_extract() == 0)
 		return;
 
-	merge_X();
+	merge_X("/usr/X11R6");
+	merge_X("/usr/X11R7");
 
 	sanity_check();
 }
@@ -109,23 +113,31 @@ do_upgrade(void)
  * Save X symlink to X.old so it can be recovered later
  */
 static int
-save_X(void)
+save_X(const char *xroot)
 {
+	char newx[MAXPATHLEN], oldx[MAXPATHLEN];
+
+	strlcpy(newx, xroot, sizeof(newx));
+	strlcat(newx, "/bin/X", sizeof(newx));
+	strlcpy(oldx, newx, sizeof(oldx));
+	strlcat(oldx, ".old", sizeof(oldx));
+
 	/* Only care for X if it's a symlink */
-	if (target_symlink_exists_p("/usr/X11R7/bin/X")) {
-		if (target_symlink_exists_p("/usr/X11R7/bin/X.old")) {
-			msg_display(MSG_X_oldexists);
+	if (target_symlink_exists_p(newx)) {
+		if (target_symlink_exists_p(oldx)) {
+			msg_display(MSG_X_oldexists, xroot, xroot, xroot,
+			    xroot, xroot, xroot, xroot, xroot, xroot, xroot,
+			    xroot);
 			process_menu(MENU_ok, NULL);
 			return EEXIST;
 		}
 
 #ifdef DEBUG
-		printf("saving /usr/X11R7/bin/X as .../X.old ...");
+		printf("saving %s as %s ...", newx, oldx);
 #endif
 
 		/* Move target .../X to .../X.old.  Abort on error. */
-		mv_within_target_or_die("/usr/X11R7/bin/X",
-					"/usr/X11R7/bin/X.old");
+		mv_within_target_or_die(newx, oldx);
 	}
 
 	return 0;
@@ -136,13 +148,19 @@ save_X(void)
  * sets has completed.
  */
 static int
-merge_X(void)
+merge_X(const char *xroot)
 {
-	if (target_symlink_exists_p("/usr/X11R7/bin/X.old")) {
+	char newx[MAXPATHLEN], oldx[MAXPATHLEN];
+
+	strlcpy(newx, xroot, sizeof(newx));
+	strlcat(newx, "/bin/X", sizeof(newx));
+	strlcpy(oldx, newx, sizeof(oldx));
+	strlcat(oldx, ".old", sizeof(oldx));
+
+	if (target_symlink_exists_p(oldx)) {
 		/* Only move back X if it's a symlink - we don't want
 		 * to restore old binaries */
-		mv_within_target_or_die("/usr/X11R7/bin/X.old",
-					"/usr/X11R7/bin/X");
+		mv_within_target_or_die(oldx, newx);
 	}
 
 	return 0;

Reply via email to