summaryrefslogtreecommitdiff
path: root/app-backup/amanda/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-backup/amanda/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-backup/amanda/files')
-rw-r--r--app-backup/amanda/files/amanda-3.3.9-stuck.patch11
-rw-r--r--app-backup/amanda/files/amanda-3.4.1-labelstr.patch164
-rw-r--r--app-backup/amanda/files/amanda-3.4.1-slots.patch16
-rw-r--r--app-backup/amanda/files/amanda-amandahosts-client-2.5.1_p3-r18
-rw-r--r--app-backup/amanda/files/amanda-amandahosts-server-2.5.1_p3-r18
-rw-r--r--app-backup/amanda/files/amanda-cron13
-rw-r--r--app-backup/amanda/files/amanda-devfs7
-rw-r--r--app-backup/amanda/files/amanda-inetd.amanda.sample-2.6.0_p2-r23
-rw-r--r--app-backup/amanda/files/amanda-profile1
-rw-r--r--app-backup/amanda/files/amanda-xinetd-2.6.1_p1-client19
-rw-r--r--app-backup/amanda/files/amanda-xinetd-2.6.1_p1-server19
-rw-r--r--app-backup/amanda/files/amanda.service10
-rw-r--r--app-backup/amanda/files/amanda.service-r110
-rw-r--r--app-backup/amanda/files/amanda.socket7
-rw-r--r--app-backup/amanda/files/example_amanda.conf44
-rw-r--r--app-backup/amanda/files/example_disklist-2.5.1_p3-r14
-rw-r--r--app-backup/amanda/files/example_global.conf78
17 files changed, 422 insertions, 0 deletions
diff --git a/app-backup/amanda/files/amanda-3.3.9-stuck.patch b/app-backup/amanda/files/amanda-3.3.9-stuck.patch
new file mode 100644
index 000000000000..88892e41be3b
--- /dev/null
+++ b/app-backup/amanda/files/amanda-3.3.9-stuck.patch
@@ -0,0 +1,11 @@
+--- a/amanda/server-src/driver.c
++++ b/amanda/server-src/driver.c
+@@ -3957,6 +3957,8 @@
+ driver_debug(2, _("new_data: %lld\n"), (long long)new_data);
+ driver_debug(2, _("data_free: %lld\n"), (long long)data_free);
+ ;
++ tapeq_size -= data_free;
++ tapeq_size += new_data;
+ driver_debug(2, _("tapeq_size: %lld\n"), (long long)tapeq_size);
+
+ sched_size = runq_size + tapeq_size + dumpers_size; \ No newline at end of file
diff --git a/app-backup/amanda/files/amanda-3.4.1-labelstr.patch b/app-backup/amanda/files/amanda-3.4.1-labelstr.patch
new file mode 100644
index 000000000000..b169c8ae6472
--- /dev/null
+++ b/app-backup/amanda/files/amanda-3.4.1-labelstr.patch
@@ -0,0 +1,164 @@
+diff --git a/installcheck/Amanda_Rest_Storages.pl b/installcheck/Amanda_Rest_Storages.pl
+index f3c699b..3e4e889 100644
+--- a/installcheck/Amanda_Rest_Storages.pl
++++ b/installcheck/Amanda_Rest_Storages.pl
+@@ -308,6 +308,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply),
+ 'inventory' => [
+ {'current' => 1,
+ 'label' => "DISKFLAT-001",
++ 'label_match' => '1',
+ 'device_status' => '0',
+ 'reserved' => 0,
+ 'f_type' => '1',
+@@ -467,6 +468,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply),
+ 'label' => 'DISKFLAT-001',
+ 'datestamp' => '20140509113436',
+ 'write_protected' => '',
++ 'label_match' => '1',
+ 'process' => 'Amanda::Rest::Storages',
+ 'running_on' => 'amanda-server',
+ 'component' => 'rest-server',
+diff --git a/installcheck/amtape.pl b/installcheck/amtape.pl
+index 1a3527f..700c5a2 100644
+--- a/installcheck/amtape.pl
++++ b/installcheck/amtape.pl
+@@ -177,13 +177,13 @@ like($Installcheck::Run::stderr,
+ ok(run('amtape', 'TESTCONF', 'show'),
+ "'amtape TESTCONF show'");
+ like($Installcheck::Run::stderr,
+- qr/slot +2:.*label MyTape\nslot +3/,
++ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/,
+ "'amtape TESTCONF show' ..result correct");
+
+ ok(run('amtape', 'TESTCONF', 'show', '2'),
+ "'amtape TESTCONF show'");
+ like($Installcheck::Run::stderr,
+- qr/^slot +2:.*label MyTape$/,
++ qr/^slot +2:.*label MyTape \(label do not match labelstr\)$/,
+ "'amtape TESTCONF show 2' ..result correct");
+
+ ok(run('amtape', 'TESTCONF', 'show', '1,3'),
+@@ -252,13 +252,13 @@ like(run_err('amtape', 'TESTCONF', 'update'),
+ ok(run('amtape', 'TESTCONF', 'show'),
+ "'amtape TESTCONF show'");
+ like($Installcheck::Run::stderr,
+- qr/slot +2:.*label MyTape\nslot +3/,
++ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/,
+ "..result correct");
+
+ ok(run('amtape', 'TESTCONF', 'inventory'),
+ "'amtape TESTCONF inventory'");
+ like($Installcheck::Run::stdout,
+- qr/slot +1: blank\nslot +2: label MyTape \(current\)\nslot +3/,
++ qr/slot +1: blank\nslot +2: label MyTape \(current\) \(label do not match labelstr\)\nslot +3/,
+ "..result correct");
+
+ ok(run('amtape', 'TESTCONF', 'taper'),
+diff --git a/perl/Amanda/Changer.pm b/perl/Amanda/Changer.pm
+index 92ed9b6..4b4aad4 100644
+--- a/perl/Amanda/Changer.pm
++++ b/perl/Amanda/Changer.pm
+@@ -60,9 +60,10 @@ sub local_message {
+ } elsif ($self->{'code'} == 1100014) {
+ return "$self->{'err'}";
+ } elsif ($self->{'code'} == 1100015) {
+- return sprintf("slot %3s: date %-14s label %s%s", $self->{'slot'},
++ return sprintf("slot %3s: date %-14s label %s%s%s", $self->{'slot'},
+ $self->{'datestamp'}, $self->{'label'},
+- $self->{'write_protected'}?" (Write protected)":"");
++ $self->{'write_protected'}?" (Write protected)":"",
++ $self->{'label_match'}?"":" (label do not match labelstr)");
+ } elsif ($self->{'code'} == 1100016) {
+ return sprintf("slot %3s: unlabeled volume%s", $self->{'slot'},
+ $self->{'write_protected'}?" (Write protected)":"");
+@@ -2014,6 +2015,13 @@ sub show {
+ my $st = $dev->read_label();
+ my $write_protected = !$dev->check_writable();
+ if ($st == $DEVICE_STATUS_SUCCESS) {
++ my $label_match = match_labelstr(
++ $self->{'storage'}->{'labelstr'},
++ $self->{'storage'}->{'autolabel'},
++ $dev->volume_label(),
++ $res->{'barcode'},
++ $res->{'meta'},
++ $self->{'storage'}->{'storage_name'});
+ $params{'user_msg'}->(Amanda::Changer::Message->new(
+ source_filename => __FILE__,
+ source_line => __LINE__,
+@@ -2022,7 +2030,8 @@ sub show {
+ slot => $last_slot,
+ datestamp => $dev->volume_time(),
+ label => $dev->volume_label(),
+- write_protected => $write_protected));
++ write_protected => $write_protected,
++ label_match => $label_match));
+ } elsif ($st == $DEVICE_STATUS_VOLUME_UNLABELED) {
+ $params{'user_msg'}->(Amanda::Changer::Message->new(
+ source_filename => __FILE__,
+diff --git a/perl/Amanda/Rest/Storages.pm b/perl/Amanda/Rest/Storages.pm
+index 680115b..b1b59d2 100644
+--- a/perl/Amanda/Rest/Storages.pm
++++ b/perl/Amanda/Rest/Storages.pm
+@@ -436,6 +436,17 @@ sub inventory {
+ $inv->{'retention_type'} = $tl->get_retention_name($retention_type);
+ }
+ }
++ for my $inv (@$inventory) {
++ if ($inv->{label}) {
++ $inv->{'label_match'} = Amanda::Util::match_labelstr(
++ $storage->{'labelstr'},
++ $storage->{'autolabel'},
++ $inv->{'label'},
++ $inv->{'barcode'},
++ $inv->{'metae'},
++ $storage->{'storage_name'});
++ }
++ }
+ push @result_messages, Amanda::Changer::Message->new(
+ source_filename => __FILE__,
+ source_line => __LINE__,
+diff --git a/server-src/amtape.pl b/server-src/amtape.pl
+index b63607e..d06eefe 100644
+--- a/server-src/amtape.pl
++++ b/server-src/amtape.pl
+@@ -30,7 +30,7 @@ use Text::Wrap;
+ use Amanda::Device qw( :constants );
+ use Amanda::Debug qw( :logging );
+ use Amanda::Config qw( :init :getconf config_dir_relative );
+-use Amanda::Util qw( :constants );
++use Amanda::Util qw( :constants match_labelstr );
+ use Amanda::Storage;
+ use Amanda::Changer;
+ use Amanda::Constants;
+@@ -219,6 +219,7 @@ sub {
+ for my $sl (@$inv) {
+ my $line = "slot $sl->{slot}:";
+ my $tle;
++ my $meta;
+ if ($sl->{'state'} == Amanda::Changer::SLOT_EMPTY) {
+ $line .= " empty";
+ } elsif (!defined($sl->{device_status}) && !defined($sl->{label})) {
+@@ -230,6 +231,7 @@ sub {
+ if (defined $tle) {
+ if ($tle->{'meta'}) {
+ $line .= " ($tle->{'meta'})";
++ $meta = $tle->{'meta'};
+ }
+ }
+ } elsif ($sl->{'device_status'} == $DEVICE_STATUS_VOLUME_UNLABELED) {
+@@ -263,6 +265,15 @@ sub {
+ $line .= " [device error]";
+ }
+ }
++ if ($sl->{'label'}) {
++ if (!match_labelstr($storage->{'labelstr'},
++ $storage->{'autolabel'},
++ $sl->{label},
++ $sl->{'barcode'}, $meta,
++ $storage->{'storage_name'})) {
++ $line .= " (label do not match labelstr)";
++ }
++ }
+ if (defined $tle) {
+ my $retention_type = Amanda::Tapelist::get_retention_type($tle->{pool}, $tle->{label});
+ $line .= " [" . $tl->get_retention_name($retention_type) . "]";
diff --git a/app-backup/amanda/files/amanda-3.4.1-slots.patch b/app-backup/amanda/files/amanda-3.4.1-slots.patch
new file mode 100644
index 000000000000..1e4e583ecc26
--- /dev/null
+++ b/app-backup/amanda/files/amanda-3.4.1-slots.patch
@@ -0,0 +1,16 @@
+diff --git a/perl/Amanda/Changer/aggregate.pm b/perl/Amanda/Changer/aggregate.pm
+index a2bd962..ecf9d28 100644
+--- a/perl/Amanda/Changer/aggregate.pm
++++ b/perl/Amanda/Changer/aggregate.pm
+@@ -391,7 +391,10 @@ sub info_key {
+ my $kid = 0;
+ for (@$kid_results) {
+ my ($err, %kid_info) = @$_;
+- next unless exists($kid_info{'slots'});
++ if (!exists($kid_info{'slots'})){
++ $kid++;
++ next;
++ }
+ my $kid_slots = $kid_info{'slots'};
+ push @slots, map "$kid:$_", @{$kid_slots};
+ $kid++;
diff --git a/app-backup/amanda/files/amanda-amandahosts-client-2.5.1_p3-r1 b/app-backup/amanda/files/amanda-amandahosts-client-2.5.1_p3-r1
new file mode 100644
index 000000000000..570a71056b47
--- /dev/null
+++ b/app-backup/amanda/files/amanda-amandahosts-client-2.5.1_p3-r1
@@ -0,0 +1,8 @@
+# vim: ts=4 sts=4 sw=4 noexpandtab:
+# Machine-name for those hosts which are permitted to back up (fully-qualified
+# is best). An entry in /etc/hosts adds fail-safe against DNS death :-)
+# |
+# | permitted user-name
+# | |
+
+__AMANDA_SERVER__ __AMANDA_USER_NAME__ amdump
diff --git a/app-backup/amanda/files/amanda-amandahosts-server-2.5.1_p3-r1 b/app-backup/amanda/files/amanda-amandahosts-server-2.5.1_p3-r1
new file mode 100644
index 000000000000..4951d4a9bf7d
--- /dev/null
+++ b/app-backup/amanda/files/amanda-amandahosts-server-2.5.1_p3-r1
@@ -0,0 +1,8 @@
+# vim: ts=4 sts=4 sw=4 noexpandtab:
+# Machine-name for those hosts which are permitted to back up (fully-qualified
+# is best). An entry in /etc/hosts adds fail-safe against DNS death :-)
+# |
+# | permitted user-name
+# | |
+
+__AMANDA_SERVER__ root amindexd amidxtaped
diff --git a/app-backup/amanda/files/amanda-cron b/app-backup/amanda/files/amanda-cron
new file mode 100644
index 000000000000..a5524dc2e3a1
--- /dev/null
+++ b/app-backup/amanda/files/amanda-cron
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# This is a sample cron job to kick off backups with amanda.
+
+# Run the tape tests on DailySet first, and if ok, then kick off backups
+# Mail error reports to root
+
+# Ensure TAPE is set to your tape drive for mt to work, ie. TAPE="/dev/st0"
+
+ADMIN_EMAIL="root@localhost"
+
+/usr/sbin/amcheck -t -m -M"${ADMIN_EMAIL}" __AMANDA_CONFIG_NAME__ && \
+( /usr/sbin/amdump __AMANDA_CONFIG_NAME__ ; /usr/sbin/mt eject )
diff --git a/app-backup/amanda/files/amanda-devfs b/app-backup/amanda/files/amanda-devfs
new file mode 100644
index 000000000000..f02eb3ffc477
--- /dev/null
+++ b/app-backup/amanda/files/amanda-devfs
@@ -0,0 +1,7 @@
+# raw access to partitions for amanda
+#REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
+#REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
+
+# allow amanda to have access to tape changers
+#REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660
+
diff --git a/app-backup/amanda/files/amanda-inetd.amanda.sample-2.6.0_p2-r2 b/app-backup/amanda/files/amanda-inetd.amanda.sample-2.6.0_p2-r2
new file mode 100644
index 000000000000..e2aa3429d4a4
--- /dev/null
+++ b/app-backup/amanda/files/amanda-inetd.amanda.sample-2.6.0_p2-r2
@@ -0,0 +1,3 @@
+amanda dgram udp wait amanda /usr/libexec/amanda/amandad amandad -auth=bsd amdump amindexd amidxtaped
+amandaidx stream tcp nowait amanda /usr/libexec/amanda/amindexd amindexd -auth=bsd amdump amindexd amidxtaped
+amidxtape stream tcp nowait amanda /usr/libexec/amanda/amidxtaped amidxtaped -auth=bsd amdump amindexd amidxtaped
diff --git a/app-backup/amanda/files/amanda-profile b/app-backup/amanda/files/amanda-profile
new file mode 100644
index 000000000000..d8e132bf10f8
--- /dev/null
+++ b/app-backup/amanda/files/amanda-profile
@@ -0,0 +1 @@
+export PATH=/sbin:/usr/sbin:/usr/libexec:${PATH}
diff --git a/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-client b/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-client
new file mode 100644
index 000000000000..ed73c03cd14f
--- /dev/null
+++ b/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-client
@@ -0,0 +1,19 @@
+# These are the services needed for amanda.
+# Default is to talk to localhost only unless
+# AMANDA_SERVER was specified at build time.
+
+service amanda
+{
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = __AMANDA_USER_NAME__
+ group = __AMANDA_GROUP_NAME__
+ groups = yes
+ server = /usr/libexec/amanda/amandad
+ server_args = -auth=bsd amdump
+ # You need to ensure this points to your Amanda server!
+ # Don't just remove it!
+ only_from = __AMANDA_SERVER__
+ disable = yes
+}
diff --git a/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-server b/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-server
new file mode 100644
index 000000000000..269198e0379b
--- /dev/null
+++ b/app-backup/amanda/files/amanda-xinetd-2.6.1_p1-server
@@ -0,0 +1,19 @@
+# These are the services needed for amanda.
+# Default is to talk to localhost only unless
+# AMANDA_SERVER was specified at build time.
+
+service amanda
+{
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = __AMANDA_USER_NAME__
+ group = __AMANDA_GROUP_NAME__
+ groups = yes
+ server = /usr/libexec/amanda/amandad
+ server_args = -auth=bsd amdump amindexd amidxtaped
+ # You need to ensure this points to your Amanda server!
+ # Don't just remove it!
+ only_from = __AMANDA_SERVER__
+ disable = yes
+}
diff --git a/app-backup/amanda/files/amanda.service b/app-backup/amanda/files/amanda.service
new file mode 100644
index 000000000000..b1f67dbc5d63
--- /dev/null
+++ b/app-backup/amanda/files/amanda.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Amanda Backup System
+After=local-fs.target
+
+[Service]
+User=amanda
+Group=amanda
+ExecStart=/usr/libexec/amanda/amandad -auth=bsdtcp amdump
+StandardInput=socket
+StandardOutput=socket
diff --git a/app-backup/amanda/files/amanda.service-r1 b/app-backup/amanda/files/amanda.service-r1
new file mode 100644
index 000000000000..a605eb487bf0
--- /dev/null
+++ b/app-backup/amanda/files/amanda.service-r1
@@ -0,0 +1,10 @@
+[Unit]
+Description=Amanda Backup System
+After=local-fs.target
+
+[Service]
+User=amanda
+Group=amanda
+ExecStart=/usr/libexec/amanda/amandad -auth=bsdtcp amdump amindexd amidxtaped
+StandardInput=socket
+StandardOutput=socket
diff --git a/app-backup/amanda/files/amanda.socket b/app-backup/amanda/files/amanda.socket
new file mode 100644
index 000000000000..baf807915c0d
--- /dev/null
+++ b/app-backup/amanda/files/amanda.socket
@@ -0,0 +1,7 @@
+[Unit]
+Description=Amanda Socket
+[Socket]
+ListenStream=10080
+Accept=true
+[Install]
+WantedBy=sockets.target
diff --git a/app-backup/amanda/files/example_amanda.conf b/app-backup/amanda/files/example_amanda.conf
new file mode 100644
index 000000000000..947625e8ebbc
--- /dev/null
+++ b/app-backup/amanda/files/example_amanda.conf
@@ -0,0 +1,44 @@
+# type "man amanda"
+
+org "example"
+mailto "root@localhost"
+
+dumpcycle 7
+runspercycle -1
+tapecycle 7
+
+dumpuser "amanda"
+printer "lp"
+
+#tpchanger "chg-manual"
+tapedev "/dev/nst0"
+
+runtapes 1
+labelstr "^EXAMPLE-[0-9][0-9]*$"
+tapetype DDS4-PRINT
+
+ctimeout 60
+dtimeout 3600
+etimeout 600
+
+netusage 2000
+inparallel 10
+
+dumporder "tttTTTTTTT"
+maxdumps 10
+bumpsize 10
+bumpmult 1.5
+bumpdays 1
+
+diskfile "/etc/amanda/example/disklist"
+infofile "/etc/amanda/example/curinfo"
+logdir "/etc/amanda/example"
+indexdir "/etc/amanda/example/index"
+tapelist "tapelist"
+
+tapebufs 20
+reserve 100
+autoflush off
+
+includefile "/etc/amanda/global.conf"
+
diff --git a/app-backup/amanda/files/example_disklist-2.5.1_p3-r1 b/app-backup/amanda/files/example_disklist-2.5.1_p3-r1
new file mode 100644
index 000000000000..73bf0174ee23
--- /dev/null
+++ b/app-backup/amanda/files/example_disklist-2.5.1_p3-r1
@@ -0,0 +1,4 @@
+# Substitute <HOSTNAME> with the FQDN of your Amanda-client here.
+# The usage of localhost will *break* your restores.
+<HOSTNAME> hda1 normal local
+<HOSTNAME> hda3 normal local
diff --git a/app-backup/amanda/files/example_global.conf b/app-backup/amanda/files/example_global.conf
new file mode 100644
index 000000000000..728739850940
--- /dev/null
+++ b/app-backup/amanda/files/example_global.conf
@@ -0,0 +1,78 @@
+holdingdisk hd1 {
+ comment "main holding disk"
+ directory "/tmp/amanda/dumps"
+ use -1 Gb
+ chunksize 500 Mb
+}
+
+define dumptype normal {
+ auth BSD
+ comment "Normal backup, compression"
+ comprate 0.50, 0.50
+ compress client best
+ index yes
+ priority high
+ program "GNUTAR"
+ record yes
+ strategy STANDARD
+ holdingdisk yes
+}
+
+define dumptype compress-server {
+ auth BSD
+ comment "Normal backup, compression"
+ comprate 0.50, 0.50
+ compress server best
+ index yes
+ priority high
+ program "GNUTAR"
+ record yes
+ strategy STANDARD
+ holdingdisk yes
+}
+
+define dumptype normal-no_hold {
+ normal
+ holdingdisk no
+}
+
+define tapetype DDS4 {
+ comment "Seagate Scorpion 40"
+ length 16432 mbytes
+ filemark 0 kbytes
+ speed 2267 kps
+}
+
+define tapetype DDS4-PRINT {
+ comment "Seagate Scorpion 40 with printer"
+ length 16432 mbytes
+ filemark 0 kbytes
+ speed 2267 kps
+ lbl-templ "/etc/amanda/lbl/DIN-A4.ps"
+}
+
+define tapetype DDS2 {
+ comment "HP DAT C1533A"
+ length 1845 mbytes
+ filemark 0 kbytes
+ speed 480 kps
+}
+
+define tapetype DDS1 {
+ comment "HP DAT HP35480A"
+ length 1845 mbytes
+ filemark 32 kbytes
+ speed 174 kps
+}
+
+define interface local {
+ comment "local disk"
+ use 4000 kbps
+}
+
+define interface eth1 {
+ comment "100 Mbps ethernet"
+ use 1000 kbps
+}
+
+