Compare commits

..

No commits in common. "04b9366197fc2a1005443c4d20f7abea6afc50f2" and "6812403bf987c65dacd6ce349b92fae60ff59798" have entirely different histories.

24 changed files with 1781 additions and 1 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
results_amanda/
amanda-*.*.*/
/amanda-3.4.tar.gz
/amanda-3.4.1.tar.gz
/amanda-3.4.2.tar.gz
/amanda-3.4.3.tar.gz
/amanda-3.4.4.tar.gz
/amanda-3.4.5.tar.gz
/amanda-3.5.tar.gz
/amanda-3.5.1.tar.gz

BIN
activate-devpay.1.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,29 @@
diff -up amanda-3.1.1/example/amanda-client.conf.in.tcpport amanda-3.1.1/example/amanda-client.conf.in
--- amanda-3.1.1/example/amanda-client.conf.in.tcpport 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/amanda-client.conf.in 2010-08-10 14:44:32.372879810 +0200
@@ -22,3 +22,5 @@ auth "bsdtcp"
ssh_keys "" # your ssh keys file if you use ssh auth
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535
diff -up amanda-3.1.1/example/amanda-client-postgresql.conf.in.tcpport amanda-3.1.1/example/amanda-client-postgresql.conf.in
--- amanda-3.1.1/example/amanda-client-postgresql.conf.in.tcpport 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/amanda-client-postgresql.conf.in 2010-08-10 14:44:41.423755630 +0200
@@ -44,3 +44,6 @@ property "foo-PG-DATADIR" "/var/postgres
# For this example:
# archive_command = 'test ! -f /var/postgresql/archive/%f && cp %p /var/postgresql/archive/%f'
property "foo-PG-ARCHIVEDIR" "/var/postgresql/archive"
+
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535
diff -up amanda-3.1.1/example/amanda.conf.in.tcpport amanda-3.1.1/example/amanda.conf.in
--- amanda-3.1.1/example/amanda.conf.in.tcpport 2010-08-10 14:43:55.640754722 +0200
+++ amanda-3.1.1/example/amanda.conf.in 2010-08-10 14:44:50.760880089 +0200
@@ -761,3 +761,6 @@ define script-tool sc-email {
# configurations.
#includefile "@CONFIG_DIR@/amanda.conf.main"
+
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535

55
amanda-3.1.1-xattrs.patch Normal file
View File

@ -0,0 +1,55 @@
diff -up amanda-3.1.1/example/amanda.conf.in.xattrs amanda-3.1.1/example/amanda.conf.in
--- amanda-3.1.1/example/amanda.conf.in.xattrs 2010-08-03 14:45:25.000000000 +0200
+++ amanda-3.1.1/example/amanda.conf.in 2010-08-03 14:47:42.516753010 +0200
@@ -718,6 +718,7 @@ define interface local {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
#default from gnutar_list_dir setting in amanda-client.conf
diff -up amanda-3.1.1/example/template.d/amanda-harddisk.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-harddisk.conf.in
--- amanda-3.1.1/example/template.d/amanda-harddisk.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-harddisk.conf.in 2010-08-03 14:47:17.027752940 +0200
@@ -30,6 +30,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-single-tape.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-single-tape.conf.in
--- amanda-3.1.1/example/template.d/amanda-single-tape.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-single-tape.conf.in 2010-08-03 14:47:21.307753002 +0200
@@ -37,6 +37,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-S3.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-S3.conf.in
--- amanda-3.1.1/example/template.d/amanda-S3.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-S3.conf.in 2010-08-03 14:47:26.723752659 +0200
@@ -38,6 +38,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in
--- amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in 2010-08-03 14:47:30.827752997 +0200
@@ -37,6 +37,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}

View File

@ -0,0 +1,19 @@
diff --git a/example/amanda.conf.in b/example/amanda.conf.in
index 5c6ced7..721d683 100644
--- a/example/amanda.conf.in
+++ b/example/amanda.conf.in
@@ -225,10 +225,10 @@ holdingdisk hd1 {
# Note that, although the keyword below is infofile, it is only so for
# historic reasons, since now it is supposed to be a directory (unless
# you have selected some database format other than the `text' default)
-infofile "@CONFIG_DIR@/@DEFAULT_CONFIG@/curinfo" # database DIRECTORY
-logdir "@CONFIG_DIR@/@DEFAULT_CONFIG@" # log directory
-indexdir "@CONFIG_DIR@/@DEFAULT_CONFIG@/index" # index directory
-#tapelist "@CONFIG_DIR@/@DEFAULT_CONFIG@/tapelist" # list of used tapes
+infofile "/var/lib/amanda/@DEFAULT_CONFIG@/curinfo" # database DIRECTORY
+logdir "/var/lib/amanda/@DEFAULT_CONFIG@" # log directory
+indexdir "/var/lib/amanda/@DEFAULT_CONFIG@/index" # index directory
+tapelist "/var/lib/amanda/@DEFAULT_CONFIG@/tapelist" # list of used tapes
# tapelist is stored, by default, in the directory that contains amanda.conf
# tapetypes

42
amanda-3.3.0-glib.patch Normal file
View File

@ -0,0 +1,42 @@
--- amanda/trunk/common-src/glib-util.c 2012/03/09 21:13:00 4591
+++ amanda/trunk/common-src/glib-util.c 2012/03/10 13:43:44 4592
@@ -120,15 +120,6 @@
}
#endif
-void g_queue_free_full(GQueue * queue) {
- while (!g_queue_is_empty(queue)) {
- gpointer data;
- data = g_queue_pop_head(queue);
- amfree(data);
- }
- g_queue_free(queue);
-}
-
void g_ptr_array_free_full(GPtrArray * array) {
size_t i;
--- amanda/trunk/common-src/glib-util.h 2012/03/09 21:13:00 4591
+++ amanda/trunk/common-src/glib-util.h 2012/03/10 13:43:44 4592
@@ -72,7 +72,6 @@
/* These functions all take a GLib container, and call free() on all the
* pointers in the container before free()ing the container itself. */
-void g_queue_free_full(GQueue * queue);
void g_ptr_array_free_full(GPtrArray * array);
/* g_value_compare() does what you expect. It returns TRUE if and
--- amanda/trunk/common-src/glib-util.c 2012/03/10 13:43:52 4593
+++ amanda/trunk/common-src/glib-util.c 2012/03/11 16:27:35 4594
@@ -42,7 +42,9 @@
* is initialized) */
#ifdef HAVE_LIBCURL
# ifdef G_THREADS_ENABLED
+# if (GLIB_MAJOR_VERSION < 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 31))
g_assert(!g_thread_supported()); /* assert threads aren't initialized yet */
+# endif
# endif
g_assert(curl_global_init(CURL_GLOBAL_ALL) == 0);
#endif

View File

@ -0,0 +1,13 @@
diff --git a/perl/Amanda/Config/FoldingHash.pm b/perl/Amanda/Config/FoldingHash.pm
index 49c278d..db11e81 100644
--- a/perl/Amanda/Config/FoldingHash.pm
+++ b/perl/Amanda/Config/FoldingHash.pm
@@ -1,6 +1,7 @@
package Amanda::Config::FoldingHash;
use Tie::Hash;
-use base 'Tie::StdHash';
+eval {require 'Tie::StdHash';};
+our @ISA = 'Tie::StdHash';
require Amanda::Config;
require Amanda::Debug;

View File

@ -0,0 +1,12 @@
diff --git a/server-src/amserverconfig.pl b/server-src/amserverconfig.pl
index 5748dfc..18f59f0 100755
--- a/server-src/amserverconfig.pl
+++ b/server-src/amserverconfig.pl
@@ -656,7 +656,6 @@ if ( defined $template ) {
&create_customconf;
}
-&check_xinetd;
&build_amanda_ssh_key;
if ( $vtape_err ) {

View File

@ -0,0 +1,13 @@
diff --git a/common-src/testutils.h b/common-src/testutils.h
index 31f89737..2e9bb0b3 100644
--- a/common-src/testutils.h
+++ b/common-src/testutils.h
@@ -75,7 +75,7 @@ typedef struct TestUtilsTest {
#define tu_dbg(...) if (tu_debugging_enabled) { g_fprintf(stderr, __VA_ARGS__); }
/* Is debugging enabled for this test run? (set internally) */
-int tu_debugging_enabled;
+extern gboolean tu_debugging_enabled;
/*
* Main loop

9
amanda-udp.service Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=amandabackup
Group=disk
ExecStart=/usr/sbin/amandad -auth=bsd amdump amindexd amidxtaped
StandardInput=socket

9
amanda-udp.socket Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Activation Socket
[Socket]
Service=amanda-udp.service
ListenDatagram=10080
[Install]
WantedBy=sockets.target

9
amanda.crontab Normal file
View File

@ -0,0 +1,9 @@
# This is an example for a crontab entry for automated backup with amanda
# With these cron lines, Amanda will check that the correct tape is in
# the drive every weekday afternoon at 4pm (if it isn't, all the
# operators will get mail). At 12:45am that night the dumps will be run.
#
# This should be put in user operator's crontab
#
0 16 * * 1-5 /usr/sbin/amcheck -m DailySet1
45 0 * * 2-6 /usr/sbin/amdump DailySet1

9
amanda.socket Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Activation Socket
[Socket]
ListenStream=10080
Accept=true
[Install]
WantedBy=sockets.target

1277
amanda.spec Normal file

File diff suppressed because it is too large Load Diff

9
amanda@.service Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=amandabackup
Group=disk
ExecStart=/usr/sbin/amandad -auth=bsdtcp amdump amindexd amidxtaped
StandardInput=socket

29
amandahosts Normal file
View File

@ -0,0 +1,29 @@
# Allow access to amanda over the network. See 'man amanda'
# 'ambackup' connects to 'amandad'. If your 'disklist' is correctly
# set up, i.e. if it does not use 'localhost' but the fully qualified
# domain name (FQDN) of the target machine, then you must put
# the FQDN here. 'ambackup' must be run by user 'amandabackup', so we allow
# access by user 'amandabackup'. Do not forget to add an 'only_from' line to
# '/etc/xinet.d/amanda' to allow access to 'amandad' only from known
# IP addresses.
# replace mymachine.mydomain by the correct value and uncomment
# mymachine.mydomain amandabackup
# 'amrecover' connects to 'amandaidx', which uses the fully qualified
# domain name when access is done from another machine. 'amrecover'
# must be run by user 'root', so we allow access by user 'root'.
# replace mymachine.mydomain by the correct value and uncomment
# mymachine.mydomain root
# 'amrecover' connects to 'amandaidx', which uses the bare machine
# name w/o domain name when access is done from the same machine.
# 'amrecover' must be run by user 'root', so we allow access by user
# 'root'.
# replace mymachine by the correct value and uncomment
# mymachine root

View File

@ -1 +0,0 @@
amanda package is retired on c9s for CS-567

69
disklist Normal file
View File

@ -0,0 +1,69 @@
# sample Amanda2 disklist file, derived from CS.UMD.EDU's disklist
#
# If your configuration is called, say, "csd2", then this file normally goes
# in /etc/amanda/csd2/disklist.
#
# File format is:
#
# hostname diskdev dumptype
#
# where the dumptypes are defined by you in amanda.conf.
# At our site, root partitions have a different dumptype because they
# are of lower priority; they don't contain user data, and don't change
# much from the department prototype. In a crunch, they can be left for
# last or skipped.
## A SPARCstation 1+
#salty sd0a comp-root
#salty sd0g comp-user
#salty sd1g comp-user
#salty sd2a comp-root
#salty sd2g comp-user
#salty sd3c comp-user
#
## A DECstation 3100
#slithy rz1a comp-root
#slithy rz1g comp-user
#slithy rz3a comp-root
#slithy rz3g comp-user
#
## We don't run compression on the master host since it is going to be
## busy enough running amanda.
#master sd0a nocomp-root -1 local
#master sd0g nocomp-user -1 local
## note: -1 is a placeholder for the spindle number
## the holding disk can't be dumped to itself, it uses a disktype that
## specifies the "no-hold" option (see amanda.conf).
#master sd1c holding-disk -1 local
#
## The chairman's disk is high priority to make sure it gets done.
#bigwig sd0a comp-root
#bigwig sd0g comp-high
## Likewise the named databases in the root partition on our primary
## nameserver. Also, compression is turned off because we don't want
## to create any unnecessary load on this baby (it's only a Sun3).
#bozo sd0a nocomp-high
#bozo sd0g nocomp-user
#bozo sd4c nocomp-user
#
## Dump Joe's NetBSD machine, with the mounted MS-DOS partition dumped
## using tar.
#joespc wd0a comp-root
#joespc wd0e comp-user
#joespc /msdos comp-user-tar
#
## Some really slow machines, like Sun2's and some Vaxstations, take
## forever to compress their dumps: it's just not worth it.
#
## A Sun2
#cleo sd0a nocomp-root
#cleo sd0g nocomp-user
## A VaxStation
#susie rz8a nocomp-root
#susie rz8g nocomp-user
#
## and so on ... well, you get the idea
localhost /etc comp-root-tar

9
kamanda.socket Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Kerberos Activation Socket
[Socket]
ListenStream=10082
Accept=true
[Install]
WantedBy=sockets.target

9
kamanda@.service Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=root
Group=disk
ExecStart=/usr/sbin/amandad -auth=krb5 amdump amindexd amidxtaped
StandardInput=socket

36
killpgrp.8 Normal file
View File

@ -0,0 +1,36 @@
.\" This file is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
.\" the GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this file; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
.\" MA 02111-1307 USA
.\"
.\" HISTORY:
.\" 2006-05-16, created by Rodrigo Rubira Branco <rrbranco@br.ibm.com>
.TH killpgrp 8 "May 16, 2006" "User Manuals" "User Manuals"
.SH NAME
killpgrp \- kill all processes in the same process group
.SH SYNOPSIS
.nf
.fam C
\fBkillpgrp\fP
.fam T
.fi
.SH DESCRIPTION
Kills all processes in its process group when a process group leader is killed.
.PP
This program needs to be called by the client uid defined in amanda, and is used to kill VDUMP, VXDUMP, and XFSDUMP in a safe manner. It is called by sendsize, the amanda client software.
.PP
killpgrp send a SIGTERM to all processes in its process group. If a process in the group does not exit after three seconds
and does not answer, killpgp will send a SIGKILL.
.SH OPTIONS
\fBkillpgrp\fP takes no arguments.
.SH SECURITY
\fBkillpgrp\fP needs to be setuid root unless amanda is compiled with DONT_SUID_ROOT.
.SH SEE ALSO
\fBamanda\fP(8)
.SH AUTHOR
Manpage written by Rodrigo Rubira Branco <rrbranco@br.ibm.com>

100
patch-tirpc Normal file
View File

@ -0,0 +1,100 @@
diff --git a/config/amanda/amanda_configure.m4 b/config/amanda/amanda_configure.m4
index 5b427ae..f90810f 100644
--- a/config/amanda/amanda_configure.m4
+++ b/config/amanda/amanda_configure.m4
@@ -18,7 +18,6 @@ AC_PREREQ(2.64)
# Take care of some early Amanda-specific setup
#
AMANDA_CONFIGURE_ARGS
-AMANDA_INIT_SUMMARY
AMANDA_SNAPSHOT_STAMP
AMANDA_SPLIT_VERSION
AMANDA_CONFIG_LOCAL
diff --git a/config/amanda/components.m4 b/config/amanda/components.m4
index f2a07db..7628453 100644
--- a/config/amanda/components.m4
+++ b/config/amanda/components.m4
@@ -186,7 +186,21 @@ AC_DEFUN([AMANDA_WITHOUT_NDMP], [
n | no) WANT_NDMP=false;;
*) AC_MSG_ERROR([You must not supply an argument to --with-ndmp option.]) ;;
esac
- ])
+ ])
+ AC_CHECK_HEADERS(rpc/rpc.h, HAVE_RPC_RPC_H=1)
+ if test x"$WANT_NDMP" = x"true"; then
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ WANT_NDMP=true
+ else
+ AMANDA_CHECK_TIRPC
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ WANT_NDMP=true
+ else
+ WANT_NDMP=false
+ AMANDA_MSG_WARN([Disabling NDMP because rpc/rpc.h is not found])
+ fi
+ fi
+ fi
])
# SYNOPSIS
diff --git a/config/amanda/libs.m4 b/config/amanda/libs.m4
index 0388c9b..a640557 100644
--- a/config/amanda/libs.m4
+++ b/config/amanda/libs.m4
@@ -183,6 +183,44 @@ AC_DEFUN([AMANDA_CHECK_GLIB], [
AMANDA_ADD_LIBS($GLIB_LIBS)
])
+# SYNOPSIS
+#
+# AMANDA_CHECK_TIRPC
+#
+# OVERVIEW
+#
+# Search for tirpc.
+#
+AC_DEFUN([AMANDA_CHECK_TIRPC],
+[
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, [], $LOCSYSPATH:/opt/csw/bin:/usr/local/bin:/opt/local/bin)
+
+ tirpc_ld_flags=`$PKG_CONFIG libtirpc --libs-only-L 2>/dev/null`
+ tirpc_lib_flags=`$PKG_CONFIG libtirpc --libs-only-l --libs-only-other 2>/dev/null`
+ tirpc_cppflags=`$PKG_CONFIG libtirpc --cflags-only-I 2>/dev/null`
+ tirpc_cflags=`$PKG_CONFIG libtirpc --cflags-only-other 2>/dev/null`
+
+ _libtirpc_save_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $tirpc_cppflags"
+ _libtirpc_save_libs=$LIBS
+ LIBS="$LIBS $tirpc_lib_flags"
+
+ unset HAVE_RPC_RPC_H
+ unset ac_cv_header_rpc_rpc_h
+ AC_CHECK_HEADERS(rpc/rpc.h, HAVE_RPC_RPC_H=1)
+
+ CPPFLAGS=$_libtirpc_save_cppflags
+ LIBS=$_libtirpc_save_libs
+
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ AMANDA_ADD_LDFLAGS($tirpc_ld_flags)
+ AMANDA_ADD_LIBS($tirpc_lib_flags)
+
+ AMANDA_ADD_CPPFLAGS($tirpc_cppflags)
+ AMANDA_ADD_CFLAGS($tirpc_cflags)
+ fi
+])
+
# LIBCURL_CHECK_CONFIG is from the libcurl
# distribution and licensed under the BSD license:
# Copyright (c) 1996 - 2007, Daniel Stenberg, <daniel@haxx.se>.
diff --git a/configure.ac b/configure.ac
index 89c4890..8d325b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,6 +13,7 @@ AMANDA_VERSION
gl_EARLY
gl_INIT
+AMANDA_INIT_SUMMARY
AMANDA_CONFIGURE
AC_DEFINE([USE_GETTEXT], 1, [Define to 1 if files will be processed with gettextize])

View File

@ -0,0 +1,13 @@
diff --git a/client-src/sendbackup-dump.c b/client-src/sendbackup-dump.c
index 1ff1223..ce0c47d 100644
--- a/client-src/sendbackup-dump.c
+++ b/client-src/sendbackup-dump.c
@@ -292,7 +292,7 @@ start_backup(
program->backup_name = XFSDUMP;
program->restore_name = XFSRESTORE;
- indexcmd = g_strjoin(NULL, XFSRESTORE, " -t", " -v", " silent", " -",
+ indexcmd = g_strjoin(NULL, XFSRESTORE, " -a /var/lib/amanda -t", " -v", " silent", " -",
" 2>/dev/null", " | sed", " -e", " \'s/^/\\//\'", NULL);
info_tapeheader(dle);

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (amanda-3.5.1.tar.gz) = 8d5451b6b3f18f9a705592ba6baf8ffb7fb4fe62261eac8a4f4fae4eded3f7f447f547ac6f016bcb57ea43f116cf87fdc48f8e77b117bbdecf00d3e37dd0f39f