Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/distrib/utils/sysinst work for both X11R6 and X11R7



details:   https://anonhg.NetBSD.org/src/rev/4a60a9777b82
branches:  trunk
changeset: 772557:4a60a9777b82
user:      christos <christos%NetBSD.org@localhost>
date:      Sun Jan 08 02:32:00 2012 +0000

description:
work for both X11R6 and X11R7

diffstat:

 distrib/utils/sysinst/msg.mi.de |  16 ++++++------
 distrib/utils/sysinst/msg.mi.en |  16 ++++++------
 distrib/utils/sysinst/msg.mi.es |  16 ++++++------
 distrib/utils/sysinst/msg.mi.fr |  10 ++++----
 distrib/utils/sysinst/msg.mi.pl |  14 +++++-----
 distrib/utils/sysinst/upgrade.c |  50 +++++++++++++++++++++++++++-------------
 6 files changed, 70 insertions(+), 52 deletions(-)

diffs (274 lines):

diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/msg.mi.de
--- a/distrib/utils/sysinst/msg.mi.de   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/msg.mi.de   Sun Jan 08 02:32:00 2012 +0000
@@ -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 @@
 }
 
 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.}
 
diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/msg.mi.en
--- a/distrib/utils/sysinst/msg.mi.en   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/msg.mi.en   Sun Jan 08 02:32:00 2012 +0000
@@ -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 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.}
 
diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/msg.mi.es
--- a/distrib/utils/sysinst/msg.mi.es   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/msg.mi.es   Sun Jan 08 02:32:00 2012 +0000
@@ -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 @@
 }
 
 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.}
 
diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/msg.mi.fr
--- a/distrib/utils/sysinst/msg.mi.fr   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/msg.mi.fr   Sun Jan 08 02:32:00 2012 +0000
@@ -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 @@
 
 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.
 }
diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/msg.mi.pl
--- a/distrib/utils/sysinst/msg.mi.pl   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/msg.mi.pl   Sun Jan 08 02:32:00 2012 +0000
@@ -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 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.}
 
diff -r 704ddc5a64d8 -r 4a60a9777b82 distrib/utils/sysinst/upgrade.c
--- a/distrib/utils/sysinst/upgrade.c   Sun Jan 08 02:24:32 2012 +0000
+++ b/distrib/utils/sysinst/upgrade.c   Sun Jan 08 02:32:00 2012 +0000
@@ -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 @@
        /*
         * Save X symlink, ...
         */
-       if (save_X())
+       if (save_X("/usr/X11R6"))
+               return;
+       if (save_X("/usr/X11R7"))
                return;
 
 #ifdef AOUT2ELF
@@ -100,7 +103,8 @@
        if (!md_post_extract() == 0)
                return;
 
-       merge_X();
+       merge_X("/usr/X11R6");
+       merge_X("/usr/X11R7");
 
        sanity_check();
 }
@@ -109,23 +113,31 @@
  * 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 @@
  * 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;



Home | Main Index | Thread Index | Old Index