summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Ruppert <idl0r@gentoo.org>2011-03-17 20:52:36 +0000
committerChristian Ruppert <idl0r@gentoo.org>2011-03-17 20:52:36 +0000
commited9d33c29cabc3e7e965e4d2caf901af4fe0416c (patch)
tree22e2b50c23a5dacba1ef28e601c5dbd6c14d7c7d /app-backup/amanda
parentNew application. Thanks to marienz and rafaelmartins for reviewing. (diff)
downloadgentoo-2-ed9d33c29cabc3e7e965e4d2caf901af4fe0416c.tar.gz
gentoo-2-ed9d33c29cabc3e7e965e4d2caf901af4fe0416c.tar.bz2
gentoo-2-ed9d33c29cabc3e7e965e4d2caf901af4fe0416c.zip
Version bump to 3.2.2, bug 359287. Remove some older versions.
(Portage version: 2.2.0_alpha27/cvs/Linux x86_64)
Diffstat (limited to 'app-backup/amanda')
-rw-r--r--app-backup/amanda/ChangeLog11
-rw-r--r--app-backup/amanda/amanda-2.6.0_p2-r1.ebuild465
-rw-r--r--app-backup/amanda/amanda-2.6.0_p2-r2.ebuild484
-rw-r--r--app-backup/amanda/amanda-2.6.0_p2-r3.ebuild494
-rw-r--r--app-backup/amanda/amanda-3.1.2.ebuild413
-rw-r--r--app-backup/amanda/amanda-3.2.0_beta1.ebuild442
-rw-r--r--app-backup/amanda/amanda-3.2.2.ebuild (renamed from app-backup/amanda/amanda-3.2.0.ebuild)57
7 files changed, 44 insertions, 2322 deletions
diff --git a/app-backup/amanda/ChangeLog b/app-backup/amanda/ChangeLog
index 1c8dbaeacd04..b55e67e00673 100644
--- a/app-backup/amanda/ChangeLog
+++ b/app-backup/amanda/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-backup/amanda
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v 1.78 2010/12/29 16:29:58 idl0r Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v 1.79 2011/03/17 20:52:36 idl0r Exp $
+
+*amanda-3.2.2 (17 Mar 2011)
+
+ 17 Mar 2011; Christian Ruppert <idl0r@gentoo.org> -amanda-2.6.0_p2-r1.ebuild,
+ -amanda-2.6.0_p2-r2.ebuild, -amanda-2.6.0_p2-r3.ebuild, -amanda-3.1.2.ebuild,
+ -amanda-3.2.0_beta1.ebuild, -amanda-3.2.0.ebuild, +amanda-3.2.2.ebuild:
+ Version bump to 3.2.2, bug 359287. Remove some older versions.
29 Dec 2010; Christian Ruppert <idl0r@gentoo.org> amanda-3.2.1.ebuild:
Move elog block regarding the AMANDA_SERVER environment variable into
diff --git a/app-backup/amanda/amanda-2.6.0_p2-r1.ebuild b/app-backup/amanda/amanda-2.6.0_p2-r1.ebuild
deleted file mode 100644
index a438d9fdb69a..000000000000
--- a/app-backup/amanda/amanda-2.6.0_p2-r1.ebuild
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.6.0_p2-r1.ebuild,v 1.1 2008/09/18 04:13:38 robbat2 Exp $
-
-inherit autotools eutils
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P/_/}.tar.gz"
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline
- virtual/inetd
- sys-apps/gawk
- app-arch/tar
- dev-lang/perl
- app-arch/dump
- net-misc/openssh
- dev-libs/glib
- s3? ( net-misc/curl )
- samba? ( net-fs/samba )
- kerberos? ( app-crypt/mit-krb5 )
- !sparc? ( xfs? ( sys-fs/xfsdump ) )
- !minimal? ( virtual/mailx
- app-arch/mt-st
- sys-block/mtx
- sci-visualization/gnuplot
- app-crypt/aespipe
- app-crypt/gnupg )"
-
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- sys-devel/automake"
-
-IUSE="berkdb debug gdbm minimal s3 samba xfs kerberos"
-
-S="${WORKDIR}/${P/_/}"
-MYFILESDIR="${WORKDIR}/files"
-MYTMPDIR="${WORKDIR}/tmp"
-MYINSTTMPDIR="/usr/share/amanda"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${MYTMPDIR}/${ENVDFILE}"
-TMPINSTENVFILE="${MYINSTTMPDIR}/tmpenv-${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR AMANDA_MAX_TAPE_BLOCK_KB"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
- use debug && einfo "Current settings: ${currentamanda}"
- #for i in ${currentamanda}; do
- # eval `eval echo ${i}`
- # echo "Setting: ${i}"
- #done;
-
- # First we set the defaults
- [ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
- [ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
- [ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
- [ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
- [ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=-1
- [ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
- [ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
- [ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
- [ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
- [ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
- [ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
- [ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
- # What tar to use
- [ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
- # Text mode is the only one left.
- AMANDA_DBMODE='text'
-
- # Raise maximum configurable blocksize
- [ -z "${AMANDA_MAX_TAPE_BLOCK_KB}" ] && AMANDA_MAX_TAPE_BLOCK_KB=512
-
- # Now pull in the old stuff
- if [ -f "${ENVDIR}/${ENVDFILE}" ]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" ${ENVDIR}/${ENVDFILE} | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
- # Now add users if needed
- [ -n "${AMANDA_DBMODE}" -a "${AMANDA_DBMODE}" != "text" ] && \
- ewarn "Using db or gdbm modes for the database is no longer supported."
- amanda_variable_setup
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- unpack ${A}
-
- # Gentoo bug #192296, chg-multi fails
- #EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/${PN}-2.5.2_p1-chg-multi.patch || die "Failed to apply patch to correct typo in chg-multi!"
-
- # Gentoo bug #212970, --as-needed linking
- #EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/${PN}-2.5.2_p1-fix-asneeded.patch || die "Failed to apply patch to correct bug #212970!"
-
- cd "${S}"
- epatch "${FILESDIR}"/s3-list-keys.diff
- cd "${S}"/device-src
- epatch "${FILESDIR}"/s3.c.part2.diff
-
- cd "${S}"
- #sed -i 's,amanda_working_ipv6,amanda_cv_working_ipv6,g' \
- # "${S}"/configure.in || die "failed to sed"
- # rm -f "${S}"/acinclude.m4
- eautomake
-
- # now the real fun
- amanda_variable_setup
- # places for us to work in
- mkdir -p "${MYFILESDIR}" "${MYTMPDIR}"
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-}
-
-src_compile() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
- cd "${S}"
-
- einfo "Using '${AMANDA_DBMODE}' style database"
- myconf="${myconf} --with-db=${AMANDA_DBMODE}"
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} `use_with kerberos krb5-security`"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
- myconf="${myconf} `use_enable s3 devpay`"
-
- # Client only, as requested in bug #127725
- use minimal && myconf="${myconf} --without-server"
-
- # Raise maximum configurable blocksize
- myconf="${myconf} --with-maxtapeblocksize=${AMANDA_MAX_TAPE_BLOCK_KB}"
-
- econf ${myconf} || die "econf failed!"
- emake -j1 || die "emake failed!"
-
- # Compile the tapetype program too
- # This is deprecated, use amtapetype instead!
- # cd tape-src
- # emake tapetype || die "emake tapetype failed!"
-
- # Only needed if you we do versioning
- #dosed "s,/usr/local/bin/perl,/usr/bin/perl," ${S}/contrib/set_prod_link.pl
- #perl ${S}/contrib/set_prod_link.pl
-
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake -j1 DESTDIR="${D}" install || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- cp "${FILESDIR}"/amanda-* "${MYFILESDIR}"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
- #einfo "Compiled SED expression: '${sedexpr}'"
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- local filename
- filename="`basename ${i}`"
- #einfo "Applying compiled SED expression to ${filename}"
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}"/${filename}
- done
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- local t
- t="${MYFILESDIR}"/${ENVDFILE}
- echo "# These settings are what was present in the environment when this" >>"${t}"
- echo "# Amanda was compiled. Changing anything below this comment will" >>"${t}"
- echo "# have no effect on your application, but it merely exists to" >>"${t}"
- echo "# preserve them for your next emerge of Amanda" >>"${t}"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g" >>"${t}"
-
- into /usr
-
- # Deprecated, use amtapetype instead
- #einfo "Installing tapetype utility"
- #newsbin tape-src/tapetype tapetype
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS C* INSTALL NEWS README
- # Clean up some bits
- dodoc /usr/share/amanda/*
- rm -rf "${D}"/usr/share/amanda
- mkdir -p "${D}"/${MYINSTTMPDIR} || die
- cp "${TMPENVFILE}" "${D}"/${TMPINSTENVFILE} || die
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}"/amanda-inetd.amanda.sample-2.5.1_p3-r1 amanda-inetd.amanda.sample
- # Stock extra docs
- docinto docs
- dodoc "${S}"/docs/*
- # Labels
- einfo "Installing labels"
- docinto labels
- dodoc "${S}"/example/3hole.ps
- dodoc "${S}"/example/8.5x11.ps
- dodoc "${S}"/example/DIN-A4.ps
- dodoc "${S}"/example/DLT.ps
- dodoc "${S}"/example/EXB-8500.ps
- dodoc "${S}"/example/HP-DAT.ps
- # Amanda example configs
- einfo "Installing example configurations"
- docinto example
- dodoc "${S}"/example/*
- docinto example1
- newdoc "${FILESDIR}"/example_amanda.conf amanda.conf
- newdoc "${FILESDIR}"/example_disklist-2.5.1_p3-r1 disklist
- newdoc "${FILESDIR}"/example_global.conf global.conf
- docinto example2
- newdoc "${S}"/example/amanda.conf amanda.conf
- newdoc "${S}"/example/disklist disklist
- # Compress it all
- prepalldocs
-
- # Just make sure it exists for XFS to work...
- use !sparc && use xfs && keepdir /var/xfsdump/inventory
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
-
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
- use minimal \
- || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}"/.amandahosts
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}"/amanda-profile .profile
-
- einfo "Installing Sample Daily Cron Job for Amanda"
- CRONDIR=/etc/cron.daily/
- exeinto ${CRONDIR}
- newexe "${MYFILESDIR}"/amanda-cron amanda
- # Not executable by default
- fperms 644 ${CRONDIR}/amanda
-
- insinto /etc/amanda/${AMANDA_CONFIG_NAME}
- keepdir /etc/amanda
- keepdir /etc/amanda/${AMANDA_CONFIG_NAME}
-
- local i
- for i in ${AMANDA_USER_HOMEDIR} ${AMANDA_TAR_LISTDIR} \
- ${AMANDA_TMPDIR} ${AMANDA_TMPDIR}/dumps \
- ${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME} \
- /etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME}; do
- einfo "Securing directory (${i})"
- dodir ${i}
- keepdir ${i}
- fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- fperms 700 ${i}
- done
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # DevFS
- einfo "Installing DevFS config file"
- insinto /etc/devfs.d
- newins "${MYFILESDIR}"/amanda-devfs amanda
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}"/${ENVDFILE}
-
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- newins "${MYFILESDIR}"/amanda-xinetd-2.5.1_p3-r1 amanda
-
-}
-
-pkg_postinst() {
- local aux="${ROOT}"/${TMPINSTENVFILE}
- [ ! -f "${aux}" ] && die "Variable setting file (${aux}) should exist!"
- source "${aux}"
- rm "${aux}"
- rmdir "${ROOT}"/${MYINSTTMPDIR} 2>/dev/null # ignore error
-
- local i
- for i in amandates dumpdates; do
- einfo "Creating inital Amanda file (${i})"
- touch "${ROOT}"/etc/${i}
- chown ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} "${ROOT}"/etc/${i}
- chmod 600 "${ROOT}"/etc/${i}
- done
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal; then
- if [[ "${AMANDA_SERVER}" = "${HOSTNAME}" ]]; then
- echo
- ewarn "You are installing a client-only version of Amanda."
- ewarn "You should set the variable $AMANDA_SERVER to point at your"
- ewarn "Amanda-tape-server, otherwise you will have to specify its name"
- ewarn "when using amrecover on the client."
- ewarn "For example: Use something like"
- ewarn "AMANDA_SERVER=\"myserver\" emerge amanda"
- echo
- fi
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group and uncomment following lines in"
- elog "your /etc/devfs.d/amanda:"
- elog "SCSI:"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog "IDE:"
- elog "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog
- elog "NOTICE: If you have a tape changer, also uncomment the following"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660"
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
diff --git a/app-backup/amanda/amanda-2.6.0_p2-r2.ebuild b/app-backup/amanda/amanda-2.6.0_p2-r2.ebuild
deleted file mode 100644
index 730a8a372cac..000000000000
--- a/app-backup/amanda/amanda-2.6.0_p2-r2.ebuild
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.6.0_p2-r2.ebuild,v 1.2 2008/09/24 09:20:49 robbat2 Exp $
-
-inherit autotools eutils
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P/_/}.tar.gz"
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline
- virtual/inetd
- sys-apps/gawk
- app-arch/tar
- dev-lang/perl
- app-arch/dump
- net-misc/openssh
- dev-libs/glib
- s3? ( net-misc/curl )
- samba? ( net-fs/samba )
- kerberos? ( app-crypt/mit-krb5 )
- !sparc? ( xfs? ( sys-fs/xfsdump ) )
- !minimal? ( virtual/mailx
- app-arch/mt-st
- sys-block/mtx
- sci-visualization/gnuplot
- app-crypt/aespipe
- app-crypt/gnupg )"
-
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- sys-devel/automake"
-
-IUSE="berkdb debug gdbm minimal s3 samba xfs kerberos"
-
-S="${WORKDIR}/${P/_/}"
-MYFILESDIR="${WORKDIR}/files"
-MYTMPDIR="${WORKDIR}/tmp"
-MYINSTTMPDIR="/usr/share/amanda"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${MYTMPDIR}/${ENVDFILE}"
-TMPINSTENVFILE="${MYINSTTMPDIR}/tmpenv-${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR AMANDA_MAX_TAPE_BLOCK_KB"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
- use debug && einfo "Current settings: ${currentamanda}"
- #for i in ${currentamanda}; do
- # eval `eval echo ${i}`
- # echo "Setting: ${i}"
- #done;
-
- # First we set the defaults
- [ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
- [ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
- [ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
- [ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
- [ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=-1
- [ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
- [ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
- [ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
- [ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
- [ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
- [ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
- [ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
- # What tar to use
- [ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
- # Text mode is the only one left.
- AMANDA_DBMODE='text'
-
- # Raise maximum configurable blocksize
- [ -z "${AMANDA_MAX_TAPE_BLOCK_KB}" ] && AMANDA_MAX_TAPE_BLOCK_KB=512
-
- # Now pull in the old stuff
- if [ -f "${ENVDIR}/${ENVDFILE}" ]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" ${ENVDIR}/${ENVDFILE} | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
- # Now add users if needed
- [ -n "${AMANDA_DBMODE}" -a "${AMANDA_DBMODE}" != "text" ] && \
- ewarn "Using db or gdbm modes for the database is no longer supported."
- amanda_variable_setup
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- unpack ${A}
-
- # Gentoo bug #192296, chg-multi fails
- #EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/${PN}-2.5.2_p1-chg-multi.patch || die "Failed to apply patch to correct typo in chg-multi!"
-
- # Gentoo bug #212970, --as-needed linking
- #EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/${PN}-2.5.2_p1-fix-asneeded.patch || die "Failed to apply patch to correct bug #212970!"
-
- cd "${S}"
- epatch "${FILESDIR}"/s3-list-keys.diff
- cd "${S}"/device-src
- epatch "${FILESDIR}"/s3.c.part2.diff
-
- cd "${S}"
- #sed -i 's,amanda_working_ipv6,amanda_cv_working_ipv6,g' \
- # "${S}"/configure.in || die "failed to sed"
- # rm -f "${S}"/acinclude.m4
- eautomake
-
- # now the real fun
- amanda_variable_setup
- # places for us to work in
- mkdir -p "${MYFILESDIR}" "${MYTMPDIR}"
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-}
-
-src_compile() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
- cd "${S}"
-
- einfo "Using '${AMANDA_DBMODE}' style database"
- myconf="${myconf} --with-db=${AMANDA_DBMODE}"
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} `use_with kerberos krb5-security`"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
- myconf="${myconf} `use_enable s3 devpay`"
-
- # Client only, as requested in bug #127725
- use minimal && myconf="${myconf} --without-server"
-
- # Raise maximum configurable blocksize
- myconf="${myconf} --with-maxtapeblocksize=${AMANDA_MAX_TAPE_BLOCK_KB}"
-
- econf ${myconf} || die "econf failed!"
- emake -j1 || die "emake failed!"
-
- # Compile the tapetype program too
- # This is deprecated, use amtapetype instead!
- # cd tape-src
- # emake tapetype || die "emake tapetype failed!"
-
- # Only needed if you we do versioning
- #dosed "s,/usr/local/bin/perl,/usr/bin/perl," ${S}/contrib/set_prod_link.pl
- #perl ${S}/contrib/set_prod_link.pl
-
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake -j1 DESTDIR="${D}" install || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- cp "${FILESDIR}"/amanda-* "${MYFILESDIR}"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
- #einfo "Compiled SED expression: '${sedexpr}'"
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- local filename
- filename="`basename ${i}`"
- #einfo "Applying compiled SED expression to ${filename}"
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}"/${filename}
- done
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- local t
- t="${MYFILESDIR}"/${ENVDFILE}
- echo "# These settings are what was present in the environment when this" >>"${t}"
- echo "# Amanda was compiled. Changing anything below this comment will" >>"${t}"
- echo "# have no effect on your application, but it merely exists to" >>"${t}"
- echo "# preserve them for your next emerge of Amanda" >>"${t}"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g" >>"${t}"
-
- into /usr
-
- # Deprecated, use amtapetype instead
- #einfo "Installing tapetype utility"
- #newsbin tape-src/tapetype tapetype
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS C* INSTALL NEWS README
- # Clean up some bits
- dodoc /usr/share/amanda/*
- rm -rf "${D}"/usr/share/amanda
- mkdir -p "${D}"/${MYINSTTMPDIR} || die
- cp "${TMPENVFILE}" "${D}"/${TMPINSTENVFILE} || die
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}"/amanda-inetd.amanda.sample-2.6.0_p2-r2 amanda-inetd.amanda.sample
- # Stock extra docs
- docinto docs
- dodoc "${S}"/docs/*
- # Labels
- einfo "Installing labels"
- docinto labels
- dodoc "${S}"/example/3hole.ps
- dodoc "${S}"/example/8.5x11.ps
- dodoc "${S}"/example/DIN-A4.ps
- dodoc "${S}"/example/DLT.ps
- dodoc "${S}"/example/EXB-8500.ps
- dodoc "${S}"/example/HP-DAT.ps
- # Amanda example configs
- einfo "Installing example configurations"
- docinto example
- dodoc "${S}"/example/*
- docinto example1
- newdoc "${FILESDIR}"/example_amanda.conf amanda.conf
- newdoc "${FILESDIR}"/example_disklist-2.5.1_p3-r1 disklist
- newdoc "${FILESDIR}"/example_global.conf global.conf
- docinto example2
- newdoc "${S}"/example/amanda.conf amanda.conf
- newdoc "${S}"/example/disklist disklist
- # Compress it all
- prepalldocs
-
- # Just make sure it exists for XFS to work...
- use !sparc && use xfs && keepdir /var/xfsdump/inventory
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
-
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
- use minimal \
- || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}"/.amandahosts
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}"/amanda-profile .profile
-
- einfo "Installing Sample Daily Cron Job for Amanda"
- CRONDIR=/etc/cron.daily/
- exeinto ${CRONDIR}
- newexe "${MYFILESDIR}"/amanda-cron amanda
- # Not executable by default
- fperms 644 ${CRONDIR}/amanda
-
- insinto /etc/amanda/${AMANDA_CONFIG_NAME}
- keepdir /etc/amanda
- keepdir /etc/amanda/${AMANDA_CONFIG_NAME}
-
- local i
- for i in ${AMANDA_USER_HOMEDIR} ${AMANDA_TAR_LISTDIR} \
- ${AMANDA_TMPDIR} ${AMANDA_TMPDIR}/dumps \
- ${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME} \
- /etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME}; do
- einfo "Securing directory (${i})"
- dodir ${i}
- keepdir ${i}
- fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- fperms 700 ${i}
- done
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # DevFS
- einfo "Installing DevFS config file"
- insinto /etc/devfs.d
- newins "${MYFILESDIR}"/amanda-devfs amanda
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}"/${ENVDFILE}
-
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.0_p2-r2 amanda
-
-}
-
-do_initial() {
- path="$1"
- shift
- for i in $* ; do
- einfo "Creating inital Amanda file (${i}) in $path"
- touch "${ROOT}"/${path}/${i}
- chown ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} "${ROOT}"/${path}/${i}
- chmod 600 "${ROOT}"/${path}/${i}
- done
-}
-
-pkg_postinst() {
- local aux="${ROOT}"/${TMPINSTENVFILE}
- [ ! -f "${aux}" ] && die "Variable setting file (${aux}) should exist!"
- source "${aux}"
- rm "${aux}"
- rmdir "${ROOT}"/${MYINSTTMPDIR} 2>/dev/null # ignore error
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -f "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -f "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
- # Do setups
- do_initial /etc dumpdates
- do_initial "${AMANDA_USER_HOMEDIR}/amanda" amandates
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal; then
- if [[ "${AMANDA_SERVER}" = "${HOSTNAME}" ]]; then
- echo
- ewarn "You are installing a client-only version of Amanda."
- ewarn "You should set the variable $AMANDA_SERVER to point at your"
- ewarn "Amanda-tape-server, otherwise you will have to specify its name"
- ewarn "when using amrecover on the client."
- ewarn "For example: Use something like"
- ewarn "AMANDA_SERVER=\"myserver\" emerge amanda"
- echo
- fi
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group and uncomment following lines in"
- elog "your /etc/devfs.d/amanda:"
- elog "SCSI:"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog "IDE:"
- elog "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog
- elog "NOTICE: If you have a tape changer, also uncomment the following"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660"
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
diff --git a/app-backup/amanda/amanda-2.6.0_p2-r3.ebuild b/app-backup/amanda/amanda-2.6.0_p2-r3.ebuild
deleted file mode 100644
index 5e1f6595f2e9..000000000000
--- a/app-backup/amanda/amanda-2.6.0_p2-r3.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.6.0_p2-r3.ebuild,v 1.2 2008/09/24 09:20:49 robbat2 Exp $
-
-inherit autotools eutils
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P/_/}.tar.gz"
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline
- virtual/inetd
- sys-apps/gawk
- app-arch/tar
- dev-lang/perl
- app-arch/dump
- net-misc/openssh
- dev-libs/glib
- s3? ( net-misc/curl )
- samba? ( net-fs/samba )
- kerberos? ( app-crypt/mit-krb5 )
- !sparc? ( xfs? ( sys-fs/xfsdump ) )
- !minimal? ( virtual/mailx
- app-arch/mt-st
- sys-block/mtx
- sci-visualization/gnuplot
- app-crypt/aespipe
- app-crypt/gnupg )"
-
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- sys-devel/automake"
-
-IUSE="berkdb debug gdbm minimal s3 samba xfs kerberos"
-
-S="${WORKDIR}/${P/_/}"
-MYFILESDIR="${WORKDIR}/files"
-MYTMPDIR="${WORKDIR}/tmp"
-MYINSTTMPDIR="/usr/share/amanda"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${MYTMPDIR}/${ENVDFILE}"
-TMPINSTENVFILE="${MYINSTTMPDIR}/tmpenv-${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR AMANDA_MAX_TAPE_BLOCK_KB"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
- use debug && einfo "Current settings: ${currentamanda}"
- #for i in ${currentamanda}; do
- # eval `eval echo ${i}`
- # echo "Setting: ${i}"
- #done;
-
- # First we set the defaults
- [ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
- [ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
- [ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
- [ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
- [ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=-1
- [ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
- [ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
- [ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
- [ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
- [ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
- [ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
- [ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
- # What tar to use
- [ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
- # Text mode is the only one left.
- AMANDA_DBMODE='text'
-
- # Raise maximum configurable blocksize
- [ -z "${AMANDA_MAX_TAPE_BLOCK_KB}" ] && AMANDA_MAX_TAPE_BLOCK_KB=512
-
- # Now pull in the old stuff
- if [ -f "${ENVDIR}/${ENVDFILE}" ]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" ${ENVDIR}/${ENVDFILE} | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
- # Now add users if needed
- [ -n "${AMANDA_DBMODE}" -a "${AMANDA_DBMODE}" != "text" ] && \
- ewarn "Using db or gdbm modes for the database is no longer supported."
- amanda_variable_setup
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- unpack ${A}
-
- # Gentoo bug #192296, chg-multi fails
- #EPATCH_OPTS="-d ${S}" epatch \
- # "${FILESDIR}"/${PN}-2.5.2_p1-chg-multi.patch \
- # || die "Failed to apply patch to correct typo in chg-multi!"
-
- # Gentoo bug #212970, --as-needed linking
- #EPATCH_OPTS="-d ${S}" epatch \
- # "${FILESDIR}"/${PN}-2.5.2_p1-fix-asneeded.patch \
- # || die "Failed to apply patch to correct bug #212970!"
-
- # Fix a fun race condition if you use encryption.
- # This is one of the reasons you should test your recovery procedures often.
- EPATCH_OPTS="-d ${S} -p1" epatch \
- "${FILESDIR}"/${PN}-2.6.0p2-amcrypt-ossl-asym-race-fix.patch \
- || die "Failed to apply race fix for encryption"
-
- cd "${S}"
- epatch "${FILESDIR}"/s3-list-keys.diff
- cd "${S}"/device-src
- epatch "${FILESDIR}"/s3.c.part2.diff
-
- cd "${S}"
- #sed -i 's,amanda_working_ipv6,amanda_cv_working_ipv6,g' \
- # "${S}"/configure.in || die "failed to sed"
- # rm -f "${S}"/acinclude.m4
- eautomake
-
- # now the real fun
- amanda_variable_setup
- # places for us to work in
- mkdir -p "${MYFILESDIR}" "${MYTMPDIR}"
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-}
-
-src_compile() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
- cd "${S}"
-
- einfo "Using '${AMANDA_DBMODE}' style database"
- myconf="${myconf} --with-db=${AMANDA_DBMODE}"
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} `use_with kerberos krb5-security`"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
- myconf="${myconf} `use_enable s3 devpay`"
-
- # Client only, as requested in bug #127725
- use minimal && myconf="${myconf} --without-server"
-
- # Raise maximum configurable blocksize
- myconf="${myconf} --with-maxtapeblocksize=${AMANDA_MAX_TAPE_BLOCK_KB}"
-
- econf ${myconf} || die "econf failed!"
- emake -j1 || die "emake failed!"
-
- # Compile the tapetype program too
- # This is deprecated, use amtapetype instead!
- # cd tape-src
- # emake tapetype || die "emake tapetype failed!"
-
- # Only needed if you we do versioning
- #dosed "s,/usr/local/bin/perl,/usr/bin/perl," ${S}/contrib/set_prod_link.pl
- #perl ${S}/contrib/set_prod_link.pl
-
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake -j1 DESTDIR="${D}" install || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- cp "${FILESDIR}"/amanda-* "${MYFILESDIR}"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
- #einfo "Compiled SED expression: '${sedexpr}'"
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- local filename
- filename="`basename ${i}`"
- #einfo "Applying compiled SED expression to ${filename}"
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}"/${filename}
- done
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- local t
- t="${MYFILESDIR}"/${ENVDFILE}
- echo "# These settings are what was present in the environment when this" >>"${t}"
- echo "# Amanda was compiled. Changing anything below this comment will" >>"${t}"
- echo "# have no effect on your application, but it merely exists to" >>"${t}"
- echo "# preserve them for your next emerge of Amanda" >>"${t}"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g" >>"${t}"
-
- into /usr
-
- # Deprecated, use amtapetype instead
- #einfo "Installing tapetype utility"
- #newsbin tape-src/tapetype tapetype
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS C* INSTALL NEWS README
- # Clean up some bits
- dodoc /usr/share/amanda/*
- rm -rf "${D}"/usr/share/amanda
- mkdir -p "${D}"/${MYINSTTMPDIR} || die
- cp "${TMPENVFILE}" "${D}"/${TMPINSTENVFILE} || die
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}"/amanda-inetd.amanda.sample-2.6.0_p2-r2 amanda-inetd.amanda.sample
- # Stock extra docs
- docinto docs
- dodoc "${S}"/docs/*
- # Labels
- einfo "Installing labels"
- docinto labels
- dodoc "${S}"/example/3hole.ps
- dodoc "${S}"/example/8.5x11.ps
- dodoc "${S}"/example/DIN-A4.ps
- dodoc "${S}"/example/DLT.ps
- dodoc "${S}"/example/EXB-8500.ps
- dodoc "${S}"/example/HP-DAT.ps
- # Amanda example configs
- einfo "Installing example configurations"
- docinto example
- dodoc "${S}"/example/*
- docinto example1
- newdoc "${FILESDIR}"/example_amanda.conf amanda.conf
- newdoc "${FILESDIR}"/example_disklist-2.5.1_p3-r1 disklist
- newdoc "${FILESDIR}"/example_global.conf global.conf
- docinto example2
- newdoc "${S}"/example/amanda.conf amanda.conf
- newdoc "${S}"/example/disklist disklist
- # Compress it all
- prepalldocs
-
- # Just make sure it exists for XFS to work...
- use !sparc && use xfs && keepdir /var/xfsdump/inventory
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
-
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
- use minimal \
- || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 \
- >>"${D}"/etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}"/.amandahosts
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}"/amanda-profile .profile
-
- einfo "Installing Sample Daily Cron Job for Amanda"
- CRONDIR=/etc/cron.daily/
- exeinto ${CRONDIR}
- newexe "${MYFILESDIR}"/amanda-cron amanda
- # Not executable by default
- fperms 644 ${CRONDIR}/amanda
-
- insinto /etc/amanda/${AMANDA_CONFIG_NAME}
- keepdir /etc/amanda
- keepdir /etc/amanda/${AMANDA_CONFIG_NAME}
-
- local i
- for i in ${AMANDA_USER_HOMEDIR} ${AMANDA_TAR_LISTDIR} \
- ${AMANDA_TMPDIR} ${AMANDA_TMPDIR}/dumps \
- ${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME} \
- /etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME}; do
- einfo "Securing directory (${i})"
- dodir ${i}
- keepdir ${i}
- fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- fperms 700 ${i}
- done
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # DevFS
- einfo "Installing DevFS config file"
- insinto /etc/devfs.d
- newins "${MYFILESDIR}"/amanda-devfs amanda
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}"/${ENVDFILE}
-
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.0_p2-r2 amanda
-
-}
-
-do_initial() {
- path="$1"
- shift
- for i in $* ; do
- einfo "Creating inital Amanda file (${i}) in $path"
- touch "${ROOT}"/${path}/${i}
- chown ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} "${ROOT}"/${path}/${i}
- chmod 600 "${ROOT}"/${path}/${i}
- done
-}
-
-pkg_postinst() {
- local aux="${ROOT}"/${TMPINSTENVFILE}
- [ ! -f "${aux}" ] && die "Variable setting file (${aux}) should exist!"
- source "${aux}"
- rm "${aux}"
- rmdir "${ROOT}"/${MYINSTTMPDIR} 2>/dev/null # ignore error
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -f "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -f "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
- # Do setups
- do_initial /etc dumpdates
- do_initial "${AMANDA_USER_HOMEDIR}/amanda" amandates
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal; then
- if [[ "${AMANDA_SERVER}" = "${HOSTNAME}" ]]; then
- echo
- ewarn "You are installing a client-only version of Amanda."
- ewarn "You should set the variable $AMANDA_SERVER to point at your"
- ewarn "Amanda-tape-server, otherwise you will have to specify its name"
- ewarn "when using amrecover on the client."
- ewarn "For example: Use something like"
- ewarn "AMANDA_SERVER=\"myserver\" emerge amanda"
- echo
- fi
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group and uncomment following lines in"
- elog "your /etc/devfs.d/amanda:"
- elog "SCSI:"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog "IDE:"
- elog "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660"
- elog
- elog "NOTICE: If you have a tape changer, also uncomment the following"
- elog "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660"
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
diff --git a/app-backup/amanda/amanda-3.1.2.ebuild b/app-backup/amanda/amanda-3.1.2.ebuild
deleted file mode 100644
index a3afca2087f3..000000000000
--- a/app-backup/amanda/amanda-3.1.2.ebuild
+++ /dev/null
@@ -1,413 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-3.1.2.ebuild,v 1.1 2010/09/10 19:38:52 robbat2 Exp $
-
-inherit autotools eutils
-
-MY_P="${P/_}"
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${MY_P}.tar.gz"
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline
- virtual/inetd
- sys-apps/gawk
- app-arch/tar
- >=dev-lang/perl-5.6
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.24.0
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- samba? ( net-fs/samba )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- virtual/mailx
- app-arch/mt-st
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
- nls? ( sys-devel/gettext )"
-
-IUSE="gnuplot ipv6 kerberos minimal nls s3 samba xfs"
-
-S="${WORKDIR}/${MY_P}"
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
- [ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
- [ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
- [ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
- [ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=/bin/bash
- [ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
- [ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
- [ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
- [ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
- [ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
- [ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
- [ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
- # What tar to use
- [ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [ -f "${ROOT}${ENVDIR}/${ENVDFILE}" ]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${ROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
- amanda_variable_setup
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # Fix a fun race condition if you use encryption.
- # This is one of the reasons you should test your recovery procedures often.
- #epatch "${FILESDIR}"/${PN}-2.6.0p2-amcrypt-ossl-asym-race-fix.patch
-
- # gentoo bug 248838, check /sbin stuff before /bin
- #epatch "${FILESDIR}"/${PN}-2.6.0_p2-syslocpath.patch
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}"
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`"
- done
-
- (
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1
- use minimal || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1
- ) > "${T}"/amandahosts
-}
-
-src_compile() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} `use_with kerberos krb5-security`"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- econf ${myconf} || die "econf failed!"
- emake || die "emake failed!"
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- # parallel make install b0rked
- emake -j1 DESTDIR="${D}" install || die
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-${PV}-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-${PV}-server amanda
- fi
-
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME}
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$EMERGE_FROM" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
diff --git a/app-backup/amanda/amanda-3.2.0_beta1.ebuild b/app-backup/amanda/amanda-3.2.0_beta1.ebuild
deleted file mode 100644
index a21ee60f8cae..000000000000
--- a/app-backup/amanda/amanda-3.2.0_beta1.ebuild
+++ /dev/null
@@ -1,442 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-3.2.0_beta1.ebuild,v 1.2 2010/09/30 04:53:11 robbat2 Exp $
-
-EAPI=3
-inherit autotools eutils perl-module
-
-MY_P="${P/_}"
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline
- virtual/inetd
- sys-apps/gawk
- app-arch/tar
- >=dev-lang/perl-5.6
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.24.0
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- samba? ( net-fs/samba )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- virtual/mailx
- app-arch/mt-st
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- "
-
-IUSE="gnuplot ipv6 kerberos minimal nls s3 samba xfs"
-
-S="${WORKDIR}/${MY_P}"
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
- [ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
- [ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
- [ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
- [ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=/bin/bash
- [ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
- [ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
- [ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
- [ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
- [ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
- [ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
- [ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
- # What tar to use
- [ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [ -f "${ROOT}${ENVDIR}/${ENVDFILE}" ]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${ROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
- amanda_variable_setup
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- base_src_unpack
-}
-
-src_prepare() {
- # Fix a fun race condition if you use encryption.
- # This is one of the reasons you should test your recovery procedures often.
- #epatch "${FILESDIR}"/${PN}-2.6.0p2-amcrypt-ossl-asym-race-fix.patch
-
- # gentoo bug 248838, check /sbin stuff before /bin
- #epatch "${FILESDIR}"/${PN}-2.6.0_p2-syslocpath.patch
-
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}"
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`"
- done
-
- (
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1
- use minimal || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1
- ) > "${T}"/amandahosts
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} `use_with kerberos krb5-security`"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perlinfo
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- econf ${myconf} || die "econf failed!"
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- base_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- # parallel make install b0rked
- emake -j1 DESTDIR="${D}" install || die
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME}
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perlinfo
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$EMERGE_FROM" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
diff --git a/app-backup/amanda/amanda-3.2.0.ebuild b/app-backup/amanda/amanda-3.2.2.ebuild
index aa625e8e19c5..209c245bf332 100644
--- a/app-backup/amanda/amanda-3.2.0.ebuild
+++ b/app-backup/amanda/amanda-3.2.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-3.2.0.ebuild,v 1.1 2010/12/07 21:51:20 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-3.2.2.ebuild,v 1.1 2011/03/17 20:52:36 idl0r Exp $
EAPI=3
inherit autotools eutils perl-module
@@ -22,9 +22,11 @@ RDEPEND="sys-libs/readline
>=dev-libs/glib-2.26.0
nls? ( virtual/libintl )
s3? ( >=net-misc/curl-7.10.0 )
+ !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
samba? ( net-fs/samba )
kerberos? ( app-crypt/mit-krb5 )
xfs? ( sys-fs/xfsdump )
+ readline? ( sys-libs/readline )
!minimal? (
virtual/mailx
app-arch/mt-st
@@ -41,7 +43,7 @@ DEPEND="${RDEPEND}
app-text/docbook-xml-dtd
"
-IUSE="gnuplot ipv6 kerberos minimal nls s3 samba xfs"
+IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba xfs"
S="${WORKDIR}/${MY_P}"
@@ -112,6 +114,19 @@ amanda_variable_setup() {
pkg_setup() {
amanda_variable_setup
+
+ # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
+ # another host than HOSTNAME.
+ if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
+ elog "You are installing a client-only version of Amanda."
+ elog "You should set the variable \$AMANDA_SERVER to point at your"
+ elog "Amanda-tape-server, otherwise you will have to specify its name"
+ elog "when using amrecover on the client."
+ elog "For example: Use something like"
+ elog "AMANDA_SERVER=\"myserver\" emerge amanda"
+ elog
+ fi
+
enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
}
@@ -160,6 +175,11 @@ src_prepare() {
cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1
use minimal || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1
) > "${T}"/amandahosts
+
+ if ! use minimal; then
+ sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
+ server-src/am{addclient,serverconfig}.pl || die
+ fi
}
src_configure() {
@@ -227,16 +247,17 @@ src_configure() {
myconf="${myconf} --with-bsdudp-security"
myconf="${myconf} --with-bsdtcp-security"
- # kerberos-security mechanism version 4
- # always disable, per bug #173354
- myconf="${myconf} --without-krb4-security"
-
# kerberos-security mechanism version 5
myconf="${myconf} `use_with kerberos krb5-security`"
# Amazon S3 support
myconf="${myconf} `use_enable s3 s3-device`"
+ # libcurl is required for S3 but otherwise optional
+ if ! use s3; then
+ myconf="${myconf} $(use_with curl libcurl)"
+ fi
+
# Client only, as requested in bug #127725
if use minimal ; then
myconf="${myconf} --without-server"
@@ -262,7 +283,9 @@ src_configure() {
# build manpages
myconf="${myconf} --enable-manpage-build"
- econf ${myconf} || die "econf failed!"
+ econf \
+ $(use_with readline) \
+ ${myconf}
}
src_compile() {
@@ -304,9 +327,11 @@ src_install() {
newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
fi
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
+ if ! use minimal; then
+ einfo "Installing Sample Daily Cron Job for Amanda"
+ insinto /etc/cron.daily
+ newins "${MYFILESDIR}/amanda-cron" amanda
+ fi
insinto /etc/amanda
einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
@@ -392,18 +417,6 @@ pkg_postinst() {
einfo "If you have migrated safely, please delete /etc/amandates"
fi
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
einfo "Checking setuid permissions"
amanda_permissions_fix "${ROOT}"