From b5cf97172c9960d330866ad2bd02f68cb1b2ebb9 Mon Sep 17 00:00:00 2001 From: Daniel Glanzmann Date: Thu, 25 Sep 2008 19:10:42 +0000 Subject: [PATCH] In installer, there is an unattended option that allows definition of a backup archive. --- src/install+setup/install/unattended.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/install+setup/install/unattended.c b/src/install+setup/install/unattended.c index 0606b3d93c..b771b6fd90 100644 --- a/src/install+setup/install/unattended.c +++ b/src/install+setup/install/unattended.c @@ -41,6 +41,7 @@ int unattended_setup(struct keyvalue *unattendedkv) { char green_broadcast[STRING_SIZE]; char root_password[STRING_SIZE]; char admin_password[STRING_SIZE]; + char restore_file[STRING_SIZE]; findkey(unattendedkv, "DOMAINNAME", domainname); findkey(unattendedkv, "HOSTNAME", hostname); @@ -54,6 +55,7 @@ int unattended_setup(struct keyvalue *unattendedkv) { findkey(unattendedkv, "GREEN_BROADCAST", green_broadcast); findkey(unattendedkv, "ROOT_PASSWORD", root_password); findkey(unattendedkv, "ADMIN_PASSWORD", admin_password); + findkey(unattendedkv, "RESTORE_FILE", restore_file); /* write main/settings. */ replacekeyvalue(mainsettings, "DOMAINNAME", domainname); @@ -144,6 +146,16 @@ int unattended_setup(struct keyvalue *unattendedkv) { return 0; } + /* restore backup */ + if (restore_file != "") { + fprintf(flog, "unattended: Restoring Backup\n"); + snprintf(commandstring, STRING_SIZE, + "cd /harddisk && /bin/tar -xvz --preserve -f /cdrom/%s", restore_file); + if (mysystem(commandstring)) { + errorbox("unattended: ERROR setting admin password"); + return 0; + } + fprintf(flog, "unattended: Setup ended\n"); return 1; } -- 2.39.2