mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-13 20:42:58 +02:00
Merge branch 'seventeen' of git.ipfire.org:/pub/git/ipfire-2.x into seventeen
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.*"
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user