diff -Nur e-smith-backup-2.6.0.old/root/usr/share/perl5/vendor_perl/esmith/console/perform_backup.pm e-smith-backup-2.6.0.new/root/usr/share/perl5/vendor_perl/esmith/console/perform_backup.pm --- e-smith-backup-2.6.0.old/root/usr/share/perl5/vendor_perl/esmith/console/perform_backup.pm 2016-02-05 00:08:22.000000000 +0100 +++ e-smith-backup-2.6.0.new/root/usr/share/perl5/vendor_perl/esmith/console/perform_backup.pm 2016-07-26 11:05:45.178100028 +0200 @@ -42,6 +42,7 @@ return sub { my $fh = shift; my @backup_list = esmith::Backup->restore_list; + my @backup_excludes = esmith::Backup->excludes; unless (open(DU, "-|")) { @@ -100,8 +101,12 @@ close GZIP; close $fh; chdir "/"; - exec qw(tar cf -), grep { -e $_ } @backup_list; - } + #Create the archive + my @directories = grep { -e $_ } @backup_list; + my @exclude = map ("--exclude=$_",@backup_excludes); + exec ("/bin/tar cf - @directories @exclude"); + } + waitpid($tar, 0); warn "status from tar was $?\n" if $?; unless (close PV) @@ -127,6 +132,7 @@ { my ($self, $console, $db) = @_; my @backup_list = esmith::Backup->restore_list; + my @backup_excludes = esmith::Backup->excludes; $ENV{PATH} = "/bin:/usr/bin"; $ENV{HOME} = "/root"; @@ -140,6 +146,19 @@ gettext("Do you wish to create backup on removable media?"), ); return unless $rc == 0; + + if (@backup_excludes) { + my $backupexclude = join ("\n/", sort @backup_excludes); + ($rc, $choice) = $console->yesno_page + ( + title => gettext("Some parts are excluded of your backup"), + left => gettext("Next"), + right => gettext("Cancel"), + text => '/' . $backupexclude, + ); + return unless $rc == 0; + } + INITIATE_BACKUP: ($rc, $choice) = $console->yesno_page (