Merge branch 'seventeen' of git.ipfire.org:/pub/git/ipfire-2.x into seventeen

This commit is contained in:
Arne Fitzenreiter
2014-11-06 00:08:55 +01:00
4 changed files with 47 additions and 14 deletions

View File

@@ -31,6 +31,15 @@ fi
OUTPUT="${1}"
URL="${2}"
# Mount a tmpfs which is big enough to hold the ISO image
OUTPUT_DIR="${OUTPUT%/*}"
mkdir -p "${OUTPUT_DIR}"
if ! mount -t tmpfs none "${OUTPUT_DIR}" -o size=512M; then
echo "Could not mount tmpfs to ${OUTPUT_DIR}" >&2
exit 1
fi
echo "Downloading ${URL}..."
if ! download -O "${OUTPUT}" "${URL}"; then
echo "Download failed" >&2

View File

@@ -42,7 +42,7 @@ install() {
inst /var/ipfire/dhcpc/dhcpcd-run-hooks
inst "$moddir/70-dhcpcd.exe" "/var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe"
inst /etc/host.conf /etc/hosts /etc/protocols
inst /etc/host.conf /etc/protocols
inst /etc/nsswitch.conf /etc/resolv.conf
inst_libdir_file "libnss_dns.so.*"

View File

@@ -25,7 +25,7 @@
#define INST_FILECOUNT 21000
#define LICENSE_FILE "/cdrom/COPYING"
#define SOURCE_TEMPFILE "/tmp/downloaded-image.iso"
#define SOURCE_TEMPFILE "/tmp/downloads/image.iso"
extern char url[STRING_SIZE];
@@ -412,7 +412,13 @@ int main(int argc, char *argv[]) {
setlocale(LC_ALL, language);
}
char* helpline = center_string(_("<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"), screen_cols);
// Set helpline
char* helpline = NULL;
if (config.unattended)
helpline = center_string(_("Unattended mode"), screen_cols);
else
helpline = center_string(_("<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"), screen_cols);
newtPushHelpLine(helpline);
if (!config.unattended) {
@@ -496,7 +502,7 @@ int main(int argc, char *argv[]) {
FILE* f = fopen(SOURCE_TEMPFILE, "r");
if (f) {
sourcedrive = SOURCE_TEMPFILE;
sourcedrive = strdup(SOURCE_TEMPFILE);
fclose(f);
} else {
char reason[STRING_SIZE] = "-";
@@ -843,6 +849,18 @@ int main(int argc, char *argv[]) {
// Umount source drive and eject
hw_umount(SOURCE_MOUNT_PATH);
// Free downloaded ISO image
if (strcmp(sourcedrive, SOURCE_TEMPFILE) == 0) {
rc = unlink(sourcedrive);
if (rc)
fprintf(flog, "Could not free downloaded ISO image: %s\n", sourcedrive);
// or eject real images
} else {
snprintf(commandstring, STRING_SIZE, "/usr/bin/eject %s", sourcedrive);
mysystem(logfile, commandstring);
}
// Download and execute the postinstall script
if (*config.postinstall) {
snprintf(commandstring, sizeof(commandstring),
@@ -854,9 +872,6 @@ int main(int argc, char *argv[]) {
}
}
snprintf(commandstring, STRING_SIZE, "/usr/bin/eject %s", sourcedrive);
mysystem(logfile, commandstring);
if (!config.unattended) {
snprintf(message, sizeof(message), _(
"%s was successfully installed!\n\n"
@@ -880,19 +895,28 @@ EXIT:
newtFinished();
// Free resources
free(system_release);
free(roottext);
free(helpline);
if (system_release)
free(system_release);
free(sourcedrive);
free(destination);
if (roottext)
free(roottext);
if (helpline)
free(helpline);
if (sourcedrive)
free(sourcedrive);
if (destination)
free(destination);
hw_stop_all_raid_arrays(logfile);
if (selected_disks)
hw_free_disks(selected_disks);
hw_free(hw);
if (hw)
hw_free(hw);
fcloseall();

View File

@@ -14,7 +14,7 @@ case "$1" in
/bin/cat /etc/certparams | sed "s/HOSTNAME/`hostname -f`/" | /usr/bin/openssl \
req -new -key /etc/httpd/server.key -out /etc/httpd/server.csr
echo "Signing certificate"
/usr/bin/openssl x509 -req -days 999999 -in \
/usr/bin/openssl x509 -req -days 999999 -sha256 -in \
/etc/httpd/server.csr -signkey /etc/httpd/server.key -out \
/etc/httpd/server.crt
;;