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;