From fb76fc5144d9b072cace93c008da90aa4ccfcbfa Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 12 Oct 2017 15:50:31 +0100 Subject: [PATCH] installer: Fix detection if we have the correct ISO image mounted Signed-off-by: Michael Tremer --- lfs/installer | 1 + src/installer/configure.ac | 16 +++++++++++++--- src/installer/hw.c | 2 +- src/installer/hw.h | 4 ++-- src/installer/main.c | 10 +++++----- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/lfs/installer b/lfs/installer index 347d90e70b..790ac06df2 100644 --- a/lfs/installer +++ b/lfs/installer @@ -59,6 +59,7 @@ $(TARGET) : --with-distro-name="$(NAME)" \ --with-distro-sname="$(SNAME)" \ --with-distro-slogan="$(SLOGAN)" \ + --with-distro-version="$(VERSION)-core$(CORE)" \ --with-config-root="$(CONFIG_ROOT)" \ --with-download-url="$(DOWNLOAD_URL)" diff --git a/src/installer/configure.ac b/src/installer/configure.ac index 85c5c5cb8c..fb4858cba8 100644 --- a/src/installer/configure.ac +++ b/src/installer/configure.ac @@ -76,17 +76,22 @@ PKG_CHECK_MODULES(UDEV, [libudev]) AC_ARG_WITH([distro-name], AS_HELP_STRING([--with-distro-name] [The name of the distribution]), - AC_DEFINE_UNQUOTED([NAME], "$withval", [The name of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_NAME], "$withval", [The name of the distribution]), AC_MSG_ERROR([*** you need to set the name with --with-distro-name=])) AC_ARG_WITH([distro-sname], AS_HELP_STRING([--with-distro-sname] [The short name of the distribution]), - AC_DEFINE_UNQUOTED([SNAME], "$withval", [The sname of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_SNAME], "$withval", [The sname of the distribution]), AC_MSG_ERROR([*** you need to set the sname with --with-distro-sname=])) +AC_ARG_WITH([distro-version], + AS_HELP_STRING([--with-distro-sname] [The version of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_VERSION], "$withval", [The version of the distribution]), + AC_MSG_ERROR([*** you need to set the version with --with-distro-version=])) + AC_ARG_WITH([distro-slogan], AS_HELP_STRING([--with-distro-slogan] [The slogan of the distribution]), - AC_DEFINE_UNQUOTED([SLOGAN], "$withval", [The slogan of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_SLOGAN], "$withval", [The slogan of the distribution]), AC_MSG_ERROR([*** you need to set the slogan with --with-distro-slogan=])) AC_ARG_WITH([config-root], @@ -111,4 +116,9 @@ AC_MSG_RESULT([ CFLAGS: ${OUR_CFLAGS} ${CFLAGS} CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS} + + Distribution: ${DISTRO_NAME} (${DISTRO_SNAME}) + Version: ${DISTRO_VERSION} + Slogan: ${DISTRO_SLOGAN} + Config Root: ${CONFIG_ROOT} ]) diff --git a/src/installer/hw.c b/src/installer/hw.c index 362be4779f..06bf42b678 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -165,7 +165,7 @@ static int hw_test_source_medium(const char* path) { // Umount the test device. hw_umount(SOURCE_MOUNT_PATH); - return (ret == 0); + return ret; } char* hw_find_source_medium(struct hw* hw) { diff --git a/src/installer/hw.h b/src/installer/hw.h index f16b39cb6a..e2d621be54 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -24,8 +24,8 @@ #include #define DESTINATION_MOUNT_PATH "/harddisk" -#define SOURCE_MOUNT_PATH "/cdrom" -#define SOURCE_TEST_FILE SOURCE_MOUNT_PATH "/" VERSION ".media" +#define SOURCE_MOUNT_PATH "/cdrom" +#define SOURCE_TEST_FILE SOURCE_MOUNT_PATH "/" DISTRO_SNAME "-" DISTRO_VERSION ".media" #define HW_MAX_DISKS 32 #define STRING_SIZE 1024 diff --git a/src/installer/main.c b/src/installer/main.c index c420de3a18..e9517e2209 100644 --- a/src/installer/main.c +++ b/src/installer/main.c @@ -195,7 +195,7 @@ int write_lang_configs(char* lang) { /* default stuff for main/settings. */ replacekeyvalue(kv, "LANGUAGE", lang); - replacekeyvalue(kv, "HOSTNAME", SNAME); + replacekeyvalue(kv, "HOSTNAME", DISTRO_SNAME); replacekeyvalue(kv, "THEME", "ipfire"); writekeyvalues(kv, "/harddisk" CONFIG_ROOT "/main/settings"); freekeyvalues(kv); @@ -369,7 +369,7 @@ int main(int argc, char *argv[]) { FILE *copying; setlocale(LC_ALL, ""); - sethostname(SNAME, 10); + sethostname(DISTRO_SNAME, 10); /* Log file/terminal stuff. */ FILE* flog = NULL; @@ -398,7 +398,7 @@ int main(int argc, char *argv[]) { if (roottext) newtDrawRootText(0, 0, roottext); - snprintf(title, sizeof(title), "%s - %s", NAME, SLOGAN); + snprintf(title, sizeof(title), "%s - %s", DISTRO_NAME, DISTRO_SLOGAN); // Parse parameters from the kernel command line parse_command_line(&config); @@ -448,7 +448,7 @@ int main(int argc, char *argv[]) { if (!config.unattended) { snprintf(message, sizeof(message), _("Welcome to the %s installation program.\n\n" - "Selecting Cancel on any of the following screens will reboot the computer."), NAME); + "Selecting Cancel on any of the following screens will reboot the computer."), DISTRO_NAME); newtWinMessage(title, _("Start installation"), message); } @@ -933,7 +933,7 @@ int main(int argc, char *argv[]) { "Please remove any installation mediums from this system and hit the reboot button. " "Once the system has restarted you will be asked to setup networking and system passwords. " "After that, you should point your web browser at https://%s:444 (or what ever you name " - "your %s) for the web configuration console."), NAME, SNAME, NAME); + "your %s) for the web configuration console."), DISTRO_NAME, DISTRO_SNAME, DISTRO_NAME); newtWinMessage(_("Congratulations!"), _("Reboot"), message); } -- 2.39.2