From 5ad5a6bcd654f9db982135f6c3ccc8352a2afa87 Mon Sep 17 00:00:00 2001 From: ms Date: Tue, 16 Oct 2007 18:35:15 +0000 Subject: [PATCH] Korrekturen damit der Build wieder laeuft MPFire fix damit der shuffle funktioniert Backup der Addons weiter gebaut git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@975 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/backup/backup.pl | 3 ++ config/mpfire/mpfire.pl | 2 +- config/rootfiles/packages/mpfire | 1 + config/rootfiles/packages/samba | 1 + doc/packages-list.txt | 7 ++-- html/cgi-bin/backup.cgi | 59 ++++++++++++++++++++++---------- langs/de/cgi-bin/de.pl | 2 ++ langs/en/cgi-bin/en.pl | 2 ++ lfs/backup | 3 ++ lfs/mpfire | 1 + lfs/samba | 1 + make.sh | 3 +- src/pakfire/lib/functions.sh | 14 ++++++++ src/paks/default/install.sh | 1 + src/paks/default/uninstall.sh | 1 + src/paks/default/update.sh | 2 ++ src/paks/mpfire/install.sh | 1 + src/paks/mpfire/uninstall.sh | 4 +++ src/paks/mpfire/update.sh | 5 +++ tools/make-functions | 1 + 20 files changed, 89 insertions(+), 25 deletions(-) diff --git a/config/backup/backup.pl b/config/backup/backup.pl index a9d7a1fdef..ff9eea5cea 100644 --- a/config/backup/backup.pl +++ b/config/backup/backup.pl @@ -60,6 +60,9 @@ elsif ($ARGV[0] eq 'exclude') { elsif ($ARGV[0] eq 'restore') { system("cd / && tar -xvz --preserve -f /tmp/restore.ipf"); } +elsif ($ARGV[0] eq 'restoreaddon') { + system("cd / && tar -xvz --preserve -f /var/ipfire/backup/addons/backup/$ARGV[1].ipf"); +} elsif ($ARGV[0] eq 'cli') { system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden$Minuten-$ARGV[1].ipf --files-from='$ARGV[2]' --exclude-from='$ARGV[3]'"); } diff --git a/config/mpfire/mpfire.pl b/config/mpfire/mpfire.pl index 78d1aec34d..e72b2fcae6 100644 --- a/config/mpfire/mpfire.pl +++ b/config/mpfire/mpfire.pl @@ -90,7 +90,7 @@ sub clearplaylist(){ } sub shuffle(){ - system("mpc shuffle >/dev/null"); + system("mpc random >/dev/null"); } sub checkplaylist(){ diff --git a/config/rootfiles/packages/mpfire b/config/rootfiles/packages/mpfire index 44b12b976f..dc0ba428d3 100644 --- a/config/rootfiles/packages/mpfire +++ b/config/rootfiles/packages/mpfire @@ -1,5 +1,6 @@ usr/local/bin/mpfirectrl srv/web/ipfire/cgi-bin/mpfire.cgi +var/ipfire/backup/addons/include/mpfire var/ipfire/menu.d/EX-mpfire.menu var/ipfire/mpfire var/ipfire/mpfire/bin diff --git a/config/rootfiles/packages/samba b/config/rootfiles/packages/samba index 6a09a922f1..35bc24b407 100644 --- a/config/rootfiles/packages/samba +++ b/config/rootfiles/packages/samba @@ -574,6 +574,7 @@ usr/sbin/winbindd #usr/share/samba/swat/using_samba/samba2_s.gif #usr/share/samba/swat/using_samba/samba2_xs.gif #usr/share/samba/swat/using_samba/toc.html +var/ipfire/backup/addons/include/samba #var/ipfire/samba var/ipfire/samba/default.global var/ipfire/samba/default.pdc diff --git a/doc/packages-list.txt b/doc/packages-list.txt index a33d4a0660..1e89c969b5 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -1,4 +1,4 @@ -== List of softwares used to build IPFire Version: 2.0rc1 == +== List of softwares used to build IPFire Version: 2.0rc2t == * Archive-Tar-1.29 * Archive-Zip-1.16 * BerkeleyDB-0.27 @@ -20,7 +20,6 @@ * MIME-tools-5.420 * Mail-SpamAssassin-3.1.3 * MailTools-1.74 -* MoBlock-0.8 * Net-DNS-0.47 * Net-IPv4Addr-0.10 * Net-Server-0.93 @@ -148,7 +147,7 @@ * libwww-perl-5.803 * libxml2-2.6.26 * libxslt-1.1.17 -* linux-2.6.16.54 +* linux-2.6.16.55 * linux-atm-2.4.1 * linux-libc-headers-2.6.12.0 * linuxigd-0.95 @@ -215,7 +214,7 @@ * reiserfsprogs-3.6.19 * rp-pppoe-3.8 * rrdtool-1.2.15 -* rsync-2.6.8 +* rsync-2.6.9 * rtorrent-0.7.6 * samba-3.0.26a * screen-4.0.3 diff --git a/html/cgi-bin/backup.cgi b/html/cgi-bin/backup.cgi index 252f515035..a0b2dcf164 100644 --- a/html/cgi-bin/backup.cgi +++ b/html/cgi-bin/backup.cgi @@ -21,8 +21,8 @@ use strict; # enable only the following on debugging purpose -use warnings; -use CGI::Carp 'fatalsToBrowser'; +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; use File::Copy; require '/var/ipfire/general-functions.pl'; @@ -61,6 +61,15 @@ if ( $cgiparams{'ACTION'} eq "download" ) print @fileholder; exit (0); } +if ( $cgiparams{'ACTION'} eq "downloadaddon" ) +{ + open(DLFILE, "; + print "Content-Type:application/x-download\n"; + print "Content-Disposition:attachment;filename=$cgiparams{'FILE'}\n\n"; + print @fileholder; + exit (0); +} elsif ( $cgiparams{'ACTION'} eq "restore" ) { my $upload = $a->param("UPLOAD"); @@ -72,6 +81,18 @@ elsif ( $cgiparams{'ACTION'} eq "restore" ) close UPLOADFILE; system("/usr/local/bin/backupctrl restore >/dev/null 2>&1"); } +elsif ( $cgiparams{'ACTION'} eq "restoreaddon" ) +{ + my $upload = $a->param("UPLOAD"); + open UPLOADFILE, ">/var/$cgiparams{'UPLOAD'}"; + binmode $upload; + while ( <$upload> ) { + print UPLOADFILE; + } + close UPLOADFILE; + system("cp /var/ipfire/backup/addons/backup/$cgiparams{'UPLOAD'} /tmp/restore.ipf >/dev/null 2>&1"); + system("/usr/local/bin/backupctrl restore >/dev/null 2>&1"); +} &Header::showhttpheaders(); @@ -90,7 +111,7 @@ if ( $cgiparams{'ACTION'} eq "backup" ) } if ( $cgiparams{'ACTION'} eq "addonbackup" ) { - system("/usr/local/bin/backupctrl addonbackup $cgiparams{'ADDON'}"); + system("/usr/local/bin/backupctrl addonbackup $cgiparams{'ADDON'} >/dev/null 2>&1"); } elsif ( $cgiparams{'ACTION'} eq "delete" ) { @@ -151,19 +172,6 @@ END ; &Header::closebox(); -############################################################################################################################ -####################################### Backups des Systems wiederherstellen ############################################### - -&Header::openbox('100%', 'center', $Lang::tr{'restore'}); - -print < -$Lang::tr{'backup'}
- -END -; -&Header::closebox(); - ############################################################################################################################ ############################################# Backups von Addons erstellen ################################################# @@ -183,8 +191,8 @@ print "$Lang::tr{'backup from'} $_ $Lang::tr{'size'} $Siz print <
- - + +
@@ -214,5 +222,20 @@ END } print ""; &Header::closebox(); + +############################################################################################################################ +####################################### Backups des Systems wiederherstellen ############################################### + +&Header::openbox('100%', 'center', $Lang::tr{'restore'}); + +print < +
$Lang::tr{'backupwarning'}


+$Lang::tr{'backup'}
+$Lang::tr{'backupaddon'}
+ +END +; +&Header::closebox(); &Header::closebigbox(); &Header::closepage(); diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 1640fade48..015efd010c 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -353,8 +353,10 @@ 'backup password' => 'Datensicherungs-Passwort', 'backup sets' => 'Datensicherungssätze', 'backup to floppy' => 'Datensicherung auf Diskette', +'backupaddon' => 'Addonsicherung', 'backupprofile' => 'Falls die Wiederverbindung scheitert, auf Profil umschalten', 'backups' => 'Sicherungen', +'backupwarning' => 'Bitte stellen Sie zuerst Ihre Hauptsicherung wieder her und anschließend die Addons. Achten Sie darauf, dass die Sicherungen ihre orginal Dateinamen behalten.', 'bad characters in' => 'Ungültige Zeichen in ', 'bad characters in script field' => 'Nicht erlaubte Zeichen im Skriptnamen', 'bad characters in the telephone number field' => 'Nicht erlaubte(s) Zeichen im Feld Telefonnummer.', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index a5a0d079e0..6fad42a69a 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -370,8 +370,10 @@ 'backup protect key password' => 'Backup key password', 'backup sets' => 'Backup Sets', 'backup to floppy' => 'Backup to floppy', +'backupaddon' => 'Addon Backup', 'backupprofile' => 'In case reconnection fails, switch to profile', 'backups' => 'backups', +'backupwarning' => 'Please first restore your main backup and after this your addon backups. Please keep the original filename, given when you download.', 'bad characters in' => 'Bad characters in ', 'bad characters in script field' => 'Bad characters in script field', 'bad characters in the telephone number field' => 'Bad characters in the telephone number field.', diff --git a/lfs/backup b/lfs/backup index 12e958ed17..d11e7ea2c2 100644 --- a/lfs/backup +++ b/lfs/backup @@ -60,4 +60,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) install -v -m 644 $(DIR_SRC)/config/backup/include /var/ipfire/backup/ install -v -m 644 $(DIR_SRC)/config/backup/exclude /var/ipfire/backup/ chown nobody:nobody -R /var/ipfire/backup/ + -mkdir -p /var/ipfire/backup/addons + -mkdir -p /var/ipfire/backup/addons/include + -mkdir -p /var/ipfire/backup/addons/backup @$(POSTBUILD) diff --git a/lfs/mpfire b/lfs/mpfire index c38128ab12..b108a64dbe 100644 --- a/lfs/mpfire +++ b/lfs/mpfire @@ -67,4 +67,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chown nobody.nobody /var/ipfire/mpfire/{settings,webradio} chown root.nobody /var/ipfire/mpfire/db/mpd.db chmod 664 /var/ipfire/mpfire/playlist.m3u + install -v -m 644 $(DIR_SRC)/config/backup/includes/mpfire /var/ipfire/backup/addons/includes/mpfire @$(POSTBUILD) diff --git a/lfs/samba b/lfs/samba index 95fd2e5b58..07aa53036f 100644 --- a/lfs/samba +++ b/lfs/samba @@ -107,5 +107,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cp -vfp /var/ipfire/samba/default.printer /var/ipfire/samba/printer cat /var/ipfire/samba/global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf -mkdir -p /var/log/samba + install -v -m 644 $(DIR_SRC)/config/backup/includes/samba /var/ipfire/backup/addons/includes/samba @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/make.sh b/make.sh index 406326ff22..c42cc821b1 100755 --- a/make.sh +++ b/make.sh @@ -394,7 +394,6 @@ buildipfire() { ipfiremake iptables ipfiremake libupnp ipfiremake ipp2p IPT=1 - ipfiremake moblock ipfiremake linux-igd ipfiremake ipac-ng ipfiremake ipaddr @@ -473,7 +472,7 @@ buildipfire() { ipfiremake htop ipfiremake postfix ipfiremake fetchmail - ipfiremake cyrusimap + ipfiremake cyrus-imapd ipfiremake openmailadmin ipfiremake mailx ipfiremake clamav diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh index 6fa682ee88..1c4e760ea6 100644 --- a/src/pakfire/lib/functions.sh +++ b/src/pakfire/lib/functions.sh @@ -36,6 +36,20 @@ remove_files() { echo "...Finished." } +make_backup(){ + [ -e "/var/ipfire/backup/addons/include/${1}" ] && \ + ( echo "Creating Backup..." + /usr/local/bin/backupctrl addonbackup ${1} + echo "...Finished." ) +} + +restore_backup(){ + [ -e "/var/ipfire/backup/addons/backup/${1}" ] && \ + ( echo "Restoring Backup..." && \ + /usr/local/bin/backupctrl restoreaddon ${1} && \ + echo "...Finished." ) +} + restart_service() { /etc/init.d/$1 restart diff --git a/src/paks/default/install.sh b/src/paks/default/install.sh index 14973a9986..d7f4405451 100644 --- a/src/paks/default/install.sh +++ b/src/paks/default/install.sh @@ -2,5 +2,6 @@ . /opt/pakfire/lib/functions.sh extract_files +restore_backup ${NAME} start_service --delay 60 --background ${NAME} diff --git a/src/paks/default/uninstall.sh b/src/paks/default/uninstall.sh index c12adf92c4..2ce20190c8 100644 --- a/src/paks/default/uninstall.sh +++ b/src/paks/default/uninstall.sh @@ -2,3 +2,4 @@ . /opt/pakfire/lib/functions.sh stop_service ${NAME} +make_backup ${NAME} diff --git a/src/paks/default/update.sh b/src/paks/default/update.sh index a47a7831dc..ba3239df67 100644 --- a/src/paks/default/update.sh +++ b/src/paks/default/update.sh @@ -1,4 +1,6 @@ #!/bin/bash . /opt/pakfire/lib/functions.sh +make_backup ${NAME} extract_files +restore_backup ${NAME} diff --git a/src/paks/mpfire/install.sh b/src/paks/mpfire/install.sh index f5aefa4270..1b8e1df8bb 100644 --- a/src/paks/mpfire/install.sh +++ b/src/paks/mpfire/install.sh @@ -9,3 +9,4 @@ ln -svf /etc/init.d/mpd /etc/rc.d/rc6.d/K35mpd ln -svf /var/ipfire/mpfire/mpd.conf /etc/mpd.conf touch /var/log/mpd.error.log touch /var/log/mpd.log +restore_backup mpfire diff --git a/src/paks/mpfire/uninstall.sh b/src/paks/mpfire/uninstall.sh index e69de29bb2..28dcea518b 100644 --- a/src/paks/mpfire/uninstall.sh +++ b/src/paks/mpfire/uninstall.sh @@ -0,0 +1,4 @@ +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +make_backup mpfire diff --git a/src/paks/mpfire/update.sh b/src/paks/mpfire/update.sh index e69de29bb2..82a5403f58 100644 --- a/src/paks/mpfire/update.sh +++ b/src/paks/mpfire/update.sh @@ -0,0 +1,5 @@ +#!/bin/bash +. /opt/pakfire/lib/functions.sh + +make_backup mpfire +restore_backup mpfire diff --git a/tools/make-functions b/tools/make-functions index c8b63e7ca4..62f33115d5 100644 --- a/tools/make-functions +++ b/tools/make-functions @@ -560,6 +560,7 @@ END ;; esac +sleep 15 python tools/sendEmail < /tmp/ipfire_mail_body.$$ if [ "$?" -eq "0" ]; then beautify message DONE -- 2.39.2