diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2005-07-04 01:48:56 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2005-07-04 01:48:56 +0000 |
commit | 5987cfad9ec808a69a6a82d1be1db9d82cfde417 (patch) | |
tree | 3404234b11f7f3908e6bf88153d90992e4f360ee /app-backup | |
parent | only install 1 desktop file #97862 (diff) | |
download | gentoo-2-5987cfad9ec808a69a6a82d1be1db9d82cfde417.tar.gz gentoo-2-5987cfad9ec808a69a6a82d1be1db9d82cfde417.tar.bz2 gentoo-2-5987cfad9ec808a69a6a82d1be1db9d82cfde417.zip |
Moved from app-admin/amanda to app-backup/amanda.
Diffstat (limited to 'app-backup')
28 files changed, 2545 insertions, 0 deletions
diff --git a/app-backup/amanda/ChangeLog b/app-backup/amanda/ChangeLog new file mode 100644 index 000000000000..cc531184dddf --- /dev/null +++ b/app-backup/amanda/ChangeLog @@ -0,0 +1,171 @@ +# ChangeLog for app-admin/amanda +# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + + 04 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> + +files/patch-tar-1.14.90, +files/amanda-2.4.5-4tb-holding-disk.patch, + +files/amanda-2.4.5-amverify-loop-detect.patch, + +files/amanda-2.4.5-samba-printf.patch, +files/amanda-amandahosts, + +files/amanda-cron, +files/amanda-devfs, + +files/amanda-inetd.amanda.sample, +files/amanda-profile, + +files/amanda-xinetd, +files/example_amanda.conf, +files/example_disklist, + +files/example_global.conf, +metadata.xml, +amanda-2.4.4-r3.ebuild, + +amanda-2.4.4_p2.ebuild, +amanda-2.4.4_p2-r1.ebuild, + +amanda-2.4.4_p2-r2.ebuild, +amanda-2.4.4_p3.ebuild, +amanda-2.4.5.ebuild: + Moved from app-admin/amanda to app-backup/amanda. + +*amanda-2.4.5 (08 Jun 2005) + + 08 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> + +files/amanda-2.4.5-4tb-holding-disk.patch, + +files/amanda-2.4.5-amverify-loop-detect.patch, + +files/amanda-2.4.5-samba-printf.patch, +amanda-2.4.5.ebuild: + Amanda version bump to 2.4.5. Fixed bugs 91084, 83829, 51370. + + 21 Apr 2005; Simon Stelling <blubb@gentoo.org> amanda-2.4.4_p3.ebuild: + stable on amd64 + + 18 Apr 2005; Michael Hanselmann <hansmi@gentoo.org> + amanda-2.4.4_p3.ebuild: + Stable on ppc. + + 15 Mar 2005; Ciaran McCreesh <ciaranm@gentoo.org> amanda-2.4.4-r3.ebuild, + amanda-2.4.4_p2.ebuild, amanda-2.4.4_p2-r1.ebuild, + amanda-2.4.4_p2-r2.ebuild, amanda-2.4.4_p3.ebuild: + Dependency update: sys-apps/mtx -> sys-block/mtx. + + 18 Dec 2004; Simon Stelling <blubb@gentoo.org> amanda-2.4.4_p3.ebuild: + removed myconf=" `use_with pic`" line, it's apparently not needed and + prevented from building amanda on amd64 + + 10 Dec 2004; Andrej Kacian <ticho@gentoo.org> amanda-2.4.4-r3.ebuild, + amanda-2.4.4_p2-r1.ebuild, amanda-2.4.4_p2-r2.ebuild, + amanda-2.4.4_p2.ebuild, amanda-2.4.4_p3.ebuild: + Changed mail-client/mailx to virtual/mailx in DEPEND. See bug #73972. + + 24 Nov 2004; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4_p3.ebuild: + Fix bug #66842 properly. + + 21 Nov 2004; Robin H. Johnson <robbat2@gentoo.org> + +files/patch-tar-1.14.90: + Fix bugs #51370, #66842, #69105. + + 05 Oct 2004; Pieter Van den Abeele <pvdabeel@gentoo.org> + amanda-2.4.4-r3.ebuild, amanda-2.4.4_p2-r1.ebuild: + Masked amanda-2.4.4_p2-r1.ebuild stable for ppc + + 05 Oct 2004; Pieter Van den Abeele <pvdabeel@gentoo.org> + amanda-2.4.4-r3.ebuild: + Masked amanda-2.4.4-r3.ebuild stable for ppc + +*amanda-2.4.4_p3 (15 Jul 2004) + + 15 Jul 2004; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4_p3.ebuild: + new upstream version. + +*amanda-2.4.4_p2-r2 (15 Jul 2004) + + 15 Jul 2004; Robin H. Johnson <robbat2@gentoo.org> + amanda-2.4.4_p2-r2.ebuild: + fix bug #56931. + + 04 Jul 2004; Robin H. Johnson <robbat2@gentoo.org> + amanda-2.4.4_p2-r1.ebuild, files/amanda-profile: + fix bug #52941, #52944. + + 30 May 2004; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r3.ebuild, + amanda-2.4.4_p2-r1.ebuild, amanda-2.4.4_p2.ebuild: + mailx move + + 29 May 2004; Robin H. Johnson <robbat2@gentoo.org> + amanda-2.4.4_p2-r1.ebuild: + stable on x86 (only a tiny change from -r0) + +*amanda-2.4.4_p2-r1 (29 May 2004) + + 29 May 2004; Robin H. Johnson <robbat2@gentoo.org> + amanda-2.4.4_p2-r1.ebuild, amanda-2.4.4_p2.ebuild, files/amanda-devfs: + add note for tape changer, and enable qde support. + + 20 Apr 2004; Daniel Black <dragonheart@gentoo.org> amanda-2.4.4-r3.ebuild, + amanda-2.4.4_p2.ebuild: + QA - removed runtime dependance on automake and autoconf + +*amanda-2.4.4_p2 (13 Apr 2004) + + 13 Apr 2004; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4_p2.ebuild, + metadata.xml: + add new version as per bug #38770, block out xfs for sparc only, so sparc can + use amanda too! Add metadata.xml. + + 31 Mar 2004; Daniel Ahlberg <aliz@gentoo.org> amanda-2.4.4-r3.ebuild: + Adding amd64 keyword, closing #46209. + + 15 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> amanda-2.4.4-r3.ebuild: + don't assign default to S + + 15 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4-r2.ebuild, amanda-2.4.4.ebuild: + clean extra ebuilds + +*amanda-2.4.4-r3 (07 Jan 2004) + + 07 Jan 2004; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4-r2.ebuild, amanda-2.4.4-r3.ebuild, amanda-2.4.4.ebuild: + fix bug #37400 with a better default + + 24 Dec 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4-r2.ebuild, amanda-2.4.4.ebuild: + fix bug #36316. + + 09 Dec 2003; Jason Wever <weeve@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4-r2.ebuild, amanda-2.4.4.ebuild: + Masked on sparc as it needs xfsdump and xfs isn't available on sparc atm. + + 28 Nov 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4-r2.ebuild: + another typo fix + + 28 Nov 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r2.ebuild: + fix minor blip in how i processed vars + +*amanda-2.4.4-r2 (13 Nov 2003) + + 13 Nov 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r2.ebuild: + fix amanda depend glitches per bug #33381 + + 06 Nov 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild, + amanda-2.4.4.ebuild: + : instead of . for chown + + 10 Jul 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild: + Marking as stable on x86 as it works in a production environment for me. + + 10 Jul 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild: + Fix bug #24158 + Move the amandahosts file to /etc/amanda, and provide a symlink to it. + + 08 Jul 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild: + Fix userpriv+sandbox issue in ebuild. + +*amanda-2.4.4-r1 (08 Jul 2003) + + 08 Jul 2003; Robin H. Johnson <robbat2@gentoo.org> amanda-2.4.4-r1.ebuild, + files/amanda-amandahosts, files/amanda-inetd.amanda.sample, + files/amanda-profile, files/amanda-xinetd: + Large improvements to the ebuild configuration system, using the same + environment variables. Now we also preserve them in an env.d file, which also + adds the CONFIG_PROTECT entry I missed before. Also update many config files + to be dynamically filled in from the env variables. + +*amanda-2.4.4 (26 Jun 2003) + + 26 June 2003; Robin H. Johnson <robbat2@gentoo.org> Manifest, + files/amanda-devfs, files/example_disklist, files/amanda-cron, + files/amanda-xinetd, files/amanda-profile, files/example_amanda.conf, + files/amanda-amandahosts, files/digest-amanda-2.4.4, + files/example_global.conf, amanda-2.4.4.ebuild, ChangeLog: + Initial import. Russell Adams <demo@demosthenes.org> submitted a reasonable + ebuild for amanda in bug #19403. I have merged the good elements of all + available amanda ebuild into this new ebuild. Bugs #10782, #13948, #16118, + #18466, #19403. diff --git a/app-backup/amanda/Manifest b/app-backup/amanda/Manifest new file mode 100644 index 000000000000..65d77db2457f --- /dev/null +++ b/app-backup/amanda/Manifest @@ -0,0 +1,27 @@ +MD5 162750b843d52da255e36c09855dc07a amanda-2.4.4_p3.ebuild 11800 +MD5 9d6a9bcaff257ec06163a218a9bb38a3 amanda-2.4.4_p2-r2.ebuild 11639 +MD5 a148574a8ecd216969f0edf1de34cfee amanda-2.4.4_p2.ebuild 11337 +MD5 e9e3bac518c50528fbf94874c987c036 amanda-2.4.4-r3.ebuild 11287 +MD5 3dea0358c1c265a44aef11ae020c5a19 amanda-2.4.4_p2-r1.ebuild 11505 +MD5 827179ce8d35f8e756a385ee5c4e4de5 ChangeLog 6176 +MD5 b0d485ea1a51fb83c70daedef2599272 metadata.xml 279 +MD5 b848f27157d39e5e5009bb6d09ad6abd amanda-2.4.5.ebuild 12188 +MD5 89f98efbd6fee9891cd6c39d52e5d7a8 files/amanda-devfs 349 +MD5 fe28f64731a2dbf85f76b6f38942e032 files/example_disklist 55 +MD5 a98390eb2ab16398b7332c42560c190f files/amanda-cron 419 +MD5 1526ee8fda3df565caa85063636c2268 files/amanda-2.4.5-4tb-holding-disk.patch 457 +MD5 715b6aaa38cdf51b60a25581a530e64c files/amanda-2.4.5-amverify-loop-detect.patch 1108 +MD5 3f55a95767207ed6c8fa0a14ec2a27b3 files/amanda-xinetd 1502 +MD5 c1754144159a9b9e71119c7ca30e6054 files/amanda-profile 49 +MD5 7e3ebbf89155432d9ee2e0ede8d4d8d6 files/example_amanda.conf 635 +MD5 451df413de672ae539379c00fb9e62fc files/amanda-amandahosts 339 +MD5 1939136431aad74bca6d83105b0b8ba2 files/digest-amanda-2.4.5 65 +MD5 1c3320d56e74e925e4b3e4a8936488cd files/patch-tar-1.14.90 984 +MD5 7e5571de2054c56f477b5522246a834e files/digest-amanda-2.4.4-r3 65 +MD5 0c1121f81cee9a50018b96c615b4554b files/digest-amanda-2.4.4_p2 67 +MD5 8c132263bed2ee3703b26936b15aa916 files/digest-amanda-2.4.4_p3 67 +MD5 0c1121f81cee9a50018b96c615b4554b files/digest-amanda-2.4.4_p2-r1 67 +MD5 0c1121f81cee9a50018b96c615b4554b files/digest-amanda-2.4.4_p2-r2 67 +MD5 95a109a0edbf12da91dbabf7977a97f7 files/example_global.conf 1377 +MD5 ef2e4c8797076d9733b31a860fda8582 files/amanda-inetd.amanda.sample 194 +MD5 6020426a696d9bbec9244067debbba4d files/amanda-2.4.5-samba-printf.patch 498 diff --git a/app-backup/amanda/amanda-2.4.4-r3.ebuild b/app-backup/amanda/amanda-2.4.4-r3.ebuild new file mode 100644 index 000000000000..197100f57271 --- /dev/null +++ b/app-backup/amanda/amanda-2.4.4-r3.ebuild @@ -0,0 +1,337 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.4-r3.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="x86 ppc -sparc ~amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + xfs? ( sys-fs/xfsdump )" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" + +# ?dev-lang/perl sys-apps/gawk + +IUSE="pic debug gdbm berkdb samba xfs" + +MYFILESDIR=${WORKDIR}/files +MYTMPDIR=${WORKDIR}/tmp +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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} + amanda_variable_setup + # places for us to work in + mkdir -p ${MYFILESDIR} ${MYTMPDIR} + # Now we store the settings we just created + set | egrep "^AMANDA_" > ${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # PIC + myconf="${myconf} `use_with pic`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 xfs && keepdir ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + for i in amandates dumpdates; do + einfo "Creating inital Amanda file (${i})" + touch ${D}/etc/${i} + fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} /etc/${i} + fperms 600 /etc/${i} + done + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" +} diff --git a/app-backup/amanda/amanda-2.4.4_p2-r1.ebuild b/app-backup/amanda/amanda-2.4.4_p2-r1.ebuild new file mode 100644 index 000000000000..93fb6663ebf7 --- /dev/null +++ b/app-backup/amanda/amanda-2.4.4_p2-r1.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.4_p2-r1.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="x86 ppc ~sparc ~amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + !sparc? ( xfs? ( sys-fs/xfsdump ) )" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" +#dev-lang/perl sys-apps/gawk? + + +IUSE="pic debug gdbm berkdb samba xfs" + +S=${WORKDIR}/${P/_/} +MYFILESDIR=${WORKDIR}/files +MYTMPDIR=${WORKDIR}/tmp +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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} + amanda_variable_setup + # places for us to work in + mkdir -p ${MYFILESDIR} ${MYTMPDIR} + # Now we store the settings we just created + set | egrep "^AMANDA_" > ${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # PIC + myconf="${myconf} `use_with pic`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + for i in amandates dumpdates; do + einfo "Creating inital Amanda file (${i})" + touch ${D}/etc/${i} + fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} /etc/${i} + fperms 600 /etc/${i} + done + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + echo + einfo "NOTICE: If you have a tape changer, also uncomment the following" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660" +} diff --git a/app-backup/amanda/amanda-2.4.4_p2-r2.ebuild b/app-backup/amanda/amanda-2.4.4_p2-r2.ebuild new file mode 100644 index 000000000000..bdae19f1d05e --- /dev/null +++ b/app-backup/amanda/amanda-2.4.4_p2-r2.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.4_p2-r2.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="~x86 ~ppc ~sparc ~amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + !sparc? ( xfs? ( sys-fs/xfsdump ) )" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" +#dev-lang/perl sys-apps/gawk? + + +IUSE="pic debug gdbm berkdb samba xfs" + +S=${WORKDIR}/${P/_/} +MYFILESDIR=${WORKDIR}/files +MYTMPDIR=${WORKDIR}/tmp +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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} + amanda_variable_setup + # places for us to work in + mkdir -p ${MYFILESDIR} ${MYTMPDIR} + # Now we store the settings we just created + set | egrep "^AMANDA_" > ${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # PIC + myconf="${myconf} `use_with pic`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" + source ${TMPENVFILE} + 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 + + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + echo + einfo "NOTICE: If you have a tape changer, also uncomment the following" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660" +} diff --git a/app-backup/amanda/amanda-2.4.4_p2.ebuild b/app-backup/amanda/amanda-2.4.4_p2.ebuild new file mode 100644 index 000000000000..ecfd9b3305e2 --- /dev/null +++ b/app-backup/amanda/amanda-2.4.4_p2.ebuild @@ -0,0 +1,339 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.4_p2.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="~x86 ~ppc ~sparc ~amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + !sparc? ( xfs? ( sys-fs/xfsdump ) )" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" +#dev-lang/perl sys-apps/gawk? + + +IUSE="pic debug gdbm berkdb samba xfs" + +S=${WORKDIR}/${P/_/} +MYFILESDIR=${WORKDIR}/files +MYTMPDIR=${WORKDIR}/tmp +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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} + amanda_variable_setup + # places for us to work in + mkdir -p ${MYFILESDIR} ${MYTMPDIR} + # Now we store the settings we just created + set | egrep "^AMANDA_" > ${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # PIC + myconf="${myconf} `use_with pic`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + for i in amandates dumpdates; do + einfo "Creating inital Amanda file (${i})" + touch ${D}/etc/${i} + fowners ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} /etc/${i} + fperms 600 /etc/${i} + done + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + +} diff --git a/app-backup/amanda/amanda-2.4.4_p3.ebuild b/app-backup/amanda/amanda-2.4.4_p3.ebuild new file mode 100644 index 000000000000..7f0e4141311f --- /dev/null +++ b/app-backup/amanda/amanda-2.4.4_p3.ebuild @@ -0,0 +1,347 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.4_p3.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="x86 ppc ~sparc amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + !sparc? ( xfs? ( sys-fs/xfsdump ) ) + >=sys-apps/portage-2.0.51-r3" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" + +IUSE="pic debug gdbm berkdb samba xfs" + +S=${WORKDIR}/${P/_/} +MYFILESDIR=${WORKDIR}/files +MYTMPDIR=${WORKDIR}/tmp +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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} + # Fix glitch with recognizing tar-1.14.90 + epatch ${FILESDIR}/patch-tar-1.14.90 || die "Failed to add tar support patch" + # 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_" > ${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + # Force the correct TAR + myconf="${myconf} --with-gnutar=/bin/tar" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" + source ${TMPENVFILE} + 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 + + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + echo + einfo "NOTICE: If you have a tape changer, also uncomment the following" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660" +} diff --git a/app-backup/amanda/amanda-2.4.5.ebuild b/app-backup/amanda/amanda-2.4.5.ebuild new file mode 100644 index 000000000000..bae0c0c4720e --- /dev/null +++ b/app-backup/amanda/amanda-2.4.5.ebuild @@ -0,0 +1,349 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-2.4.5.ebuild,v 1.1 2005/07/04 01:48:56 robbat2 Exp $ + +inherit 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="~x86 ~ppc ~sparc amd64" +RDEPEND="sys-libs/readline + virtual/inetd + app-arch/mt-st + media-gfx/gnuplot + sys-apps/gawk + app-arch/tar + dev-lang/perl + sys-block/mtx + app-arch/dump + virtual/mailx + samba? ( net-fs/samba ) + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + !sparc? ( xfs? ( sys-fs/xfsdump ) ) + >=sys-apps/portage-2.0.51-r3" + +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" + +IUSE="pic debug gdbm berkdb samba xfs" + +S="${WORKDIR}/${P/_/}" +MYFILESDIR="${WORKDIR}/files" +MYTMPDIR="${WORKDIR}/tmp" +ENVDIR="/etc/env.d" +ENVDFILE="97amanda" +TMPENVFILE="${MYTMPDIR}/${ENVDFILE}" + +amanda_variable_setup() { + + # Setting vars + local currentamanda + + # Grab the current settings + currentamanda="$(set | egrep "^AMANDA_" | 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=/bin/false + [ -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=${AMANDA_USER_HOMEDIR}/tmp + # 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= + + # This one is a little more complicated + # The priority list is this: + # 1. 'Berkely DB style' (only if USE="berkdb") + # 2. 'GDBM style' (only if USE="gdbm") + # 3. 'Text style' + [ -z "${AMANDA_DBMODE}" ] && use berkdb && AMANDA_DBMODE=db + [ -z "${AMANDA_DBMODE}" ] && use gdbm && AMANDA_DBMODE=gdbm + [ -z "${AMANDA_DBMODE}" ] && AMANDA_DBMODE=text + + # 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}) + fi + + # Re-apply the new settings if any + [ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` + +} + +pkg_setup() { + # Now add users if needed + 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}" + # Fix glitch with recognizing tar-1.14.90 + EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/patch-tar-1.14.90 || die "Failed to add tar support patch" + epatch ${FILESDIR}/${P}-4tb-holding-disk.patch || die "Failed to patch for 4TB holding disks" + EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/${P}-samba-printf.patch || die "Failed to patch samba printf bug" + EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/${P}-amverify-loop-detect.patch || die "Failed to patch amverify loop bug" + # 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_" > "${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_TAPE}" + 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_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" + # Debug + myconf="${myconf} `use_with debug debugging`" + # Where to put our files + myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" + + # Samba support + use samba && myconf="${myconf} --with-smbclient=/usr/bin/smbclient" || myconf="${myconf} --without-smbclient" + + # Force the correct TAR + myconf="${myconf} --with-gnutar=/bin/tar" + + econf ${myconf} || die "econf failed!" + emake || 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" + make 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 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_CONFIG_NAME AMANDA_TMPDIR AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS; 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" + echo "# These settings are what was present in the environment when this" >>${MYFILESDIR}/${ENVDFILE} + echo "# Amanda was compiled. Changing anything below this comment will" >>${MYFILESDIR}/${ENVDFILE} + echo "# have no effect on your application, but it merely exists to" >>${MYFILESDIR}/${ENVDFILE} + echo "# preserve them for your next emerge of Amanda" >>${MYFILESDIR}/${ENVDFILE} + cat ${TMPENVFILE} | sed "s,=\$,='',g" >>${MYFILESDIR}/${ENVDFILE} + + into /usr + + # Depreacted, 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 ${D}/usr/share/amanda/* + rm -rf ${D}/usr/share/amanda + # our inetd sample + einfo "Installing standard inetd sample" + dodoc ${MYFILESDIR}/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 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 ${D}/var/xfsdump/inventory + + insinto /etc/amanda + einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" + newins ${MYFILESDIR}/amanda-amandahosts 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 excetuable 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 + + # DevFS + einfo "Installing DevFS config file" + insinto /etc/devfs.d + newins ${MYFILESDIR}/amanda-devfs amanda + + # Env.d + einfo "Installing environment config file" + insinto /etc/env.d + doins ${MYFILESDIR}/${ENVDFILE} + + # Installing Amanda Xinetd Services Definition + einfo "Installing xinetd service file" + insinto /etc/xinetd.d + newins ${MYFILESDIR}/amanda-xinetd amanda + +} + +pkg_postinst() { + [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" + source ${TMPENVFILE} + 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 + + einfo "You should configure Amanda in /etc/amanda now." + echo + einfo "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" + einfo "and restart xinetd afterwards!" + echo + einfo "Otherwise, please look at /usr/share/doc/${P}/inetd.amanda.sample" + einfo "as an example of how to configure your inetd." + echo + einfo "NOTICE: If you need raw acces to partitions you need to add the" + einfo "amanda user to the 'disk' group and uncomment following lines in" + einfo "your /etc/devfs.d/amanda:" + einfo "SCSI:" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + einfo "IDE:" + einfo "REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + echo + einfo "NOTICE: If you have a tape changer, also uncomment the following" + einfo "REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660" +} diff --git a/app-backup/amanda/files/amanda-2.4.5-4tb-holding-disk.patch b/app-backup/amanda/files/amanda-2.4.5-4tb-holding-disk.patch new file mode 100644 index 000000000000..f056e98cf808 --- /dev/null +++ b/app-backup/amanda/files/amanda-2.4.5-4tb-holding-disk.patch @@ -0,0 +1,12 @@ +diff -NuarwbB amanda-2.4.5.orig/common-src/statfs.c amanda-2.4.5/common-src/statfs.c +--- amanda-2.4.5.orig/common-src/statfs.c 1999-05-23 10:11:18.000000000 -0700 ++++ amanda-2.4.5/common-src/statfs.c 2005-06-08 13:12:58.000000000 -0700 +@@ -127,7 +127,7 @@ + # endif + #endif + +-#define scale(r,s) ( (r) == -1? -1 : (int)((r)*(double)(s)/1024.0) ) ++#define scale(r,s) ( (r) == -1? -1 : (long)((r)*(double)(s)/1024.0) ) + + int get_fs_stats(dir, sp) + char *dir; diff --git a/app-backup/amanda/files/amanda-2.4.5-amverify-loop-detect.patch b/app-backup/amanda/files/amanda-2.4.5-amverify-loop-detect.patch new file mode 100644 index 000000000000..bbf358af6d13 --- /dev/null +++ b/app-backup/amanda/files/amanda-2.4.5-amverify-loop-detect.patch @@ -0,0 +1,22 @@ +From upstream. http://groups.yahoo.com/group/amanda-hackers/message/4510 +--- amanda-2.4.5/server-src/amverify.sh.in.orig 2005-06-08 13:30:11.000000000 -0700 ++++ amanda-2.4.5/server-src/amverify.sh.in 2005-06-08 13:32:27.000000000 -0700 +@@ -425,14 +425,16 @@ + fi + RESULT=`$AMRESTORE -h -p $DEVICE 2> $TEMP/amrestore.out \ + | doonefile 2> $TEMP/onefile.errors` ++ # save previous filename to detect looping ++ FILE_prev="$FILE" + FILE=`grep restoring $TEMP/amrestore.out \ + | sed 's/^.*restoring //'` + EOF=`grep "reached end of tape" $TEMP/amrestore.out` + EOI=`grep "reached end of information" $TEMP/amrestore.out` + # amrestore: 0: restoring sundae._mnt_sol1_usr.19961127.1 +- if [ X"$FILE" != X"" -a X"$RESULT" = X"0" ]; then ++ if [ X"$FILE" != X"" -a X"$FILE" != X"$FILE_prev" -a X"$RESULT" = X"0" ]; then + report "Checked $FILE" +- elif [ X"$FILE" != X"" -a X"$RESULT" = X"999" ]; then ++ elif [ X"$FILE" != X"" -a X"$FILE" != X"$FILE_prev" -a X"$RESULT" = X"999" ]; then + report "Skipped $FILE (`cat $TEMP/errors`)" + elif [ -n "$EOF" ]; then + report "End-of-Tape detected." diff --git a/app-backup/amanda/files/amanda-2.4.5-samba-printf.patch b/app-backup/amanda/files/amanda-2.4.5-samba-printf.patch new file mode 100644 index 000000000000..01dca14ca092 --- /dev/null +++ b/app-backup/amanda/files/amanda-2.4.5-samba-printf.patch @@ -0,0 +1,11 @@ +From upstream. See http://groups.yahoo.com/group/amanda-hackers/message/4511 +--- amanda-2.4.5/client-src/sendsize.c.orig 2005-06-08 13:28:10.000000000 -0700 ++++ amanda-2.4.5/client-src/sendsize.c 2005-06-08 13:28:34.000000000 -0700 +@@ -557,6 +557,7 @@ + #ifdef SAMBA_CLIENT + if (est->amdevice[0] == '/' && est->amdevice[1] == '/') + dbprintf(("%s: Can't use CALCSIZE for samba estimate: %s %s\n", ++ debug_prefix_time(NULL), + est->amname, est->dirname)); + else + #endif diff --git a/app-backup/amanda/files/amanda-amandahosts b/app-backup/amanda/files/amanda-amandahosts new file mode 100644 index 000000000000..a86ab8a3f5ab --- /dev/null +++ b/app-backup/amanda/files/amanda-amandahosts @@ -0,0 +1,8 @@ +# vim: ts=4 sts=4 sw=4 noexpandtab: +# Machine-name for those hosts which are permitted to back up (fully-qualified +# is best). An entry in /etc/hosts adds fail-safe against DNS death :-) +# | +# | permitted user-name +# | | + +__AMANDA_SERVER__ __AMANDA_USER_NAME__ diff --git a/app-backup/amanda/files/amanda-cron b/app-backup/amanda/files/amanda-cron new file mode 100644 index 000000000000..a5524dc2e3a1 --- /dev/null +++ b/app-backup/amanda/files/amanda-cron @@ -0,0 +1,13 @@ +#!/bin/sh + +# This is a sample cron job to kick off backups with amanda. + +# Run the tape tests on DailySet first, and if ok, then kick off backups +# Mail error reports to root + +# Ensure TAPE is set to your tape drive for mt to work, ie. TAPE="/dev/st0" + +ADMIN_EMAIL="root@localhost" + +/usr/sbin/amcheck -t -m -M"${ADMIN_EMAIL}" __AMANDA_CONFIG_NAME__ && \ +( /usr/sbin/amdump __AMANDA_CONFIG_NAME__ ; /usr/sbin/mt eject ) diff --git a/app-backup/amanda/files/amanda-devfs b/app-backup/amanda/files/amanda-devfs new file mode 100644 index 000000000000..f02eb3ffc477 --- /dev/null +++ b/app-backup/amanda/files/amanda-devfs @@ -0,0 +1,7 @@ +# raw access to partitions for amanda +#REGISTER ^scsi/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" +#REGISTER ^ide/host.*/bus.*/target.*/lun.*/part[0-9] PERMISSIONS root.disk 660" + +# allow amanda to have access to tape changers +#REGISTER ^scsi/host.*/bus.*/target.*/lun.*/generic PERMISSIONS root.disk 660 + diff --git a/app-backup/amanda/files/amanda-inetd.amanda.sample b/app-backup/amanda/files/amanda-inetd.amanda.sample new file mode 100644 index 000000000000..0314e9b87b04 --- /dev/null +++ b/app-backup/amanda/files/amanda-inetd.amanda.sample @@ -0,0 +1,3 @@ +amanda dgram udp wait amanda /usr/libexec/amandad amandad +amandaidx stream tcp nowait amanda /usr/libexec/amindexd amindexd +amidxtape stream tcp nowait amanda /usr/libexec/amidxtaped amidxtaped diff --git a/app-backup/amanda/files/amanda-profile b/app-backup/amanda/files/amanda-profile new file mode 100644 index 000000000000..d8e132bf10f8 --- /dev/null +++ b/app-backup/amanda/files/amanda-profile @@ -0,0 +1 @@ +export PATH=/sbin:/usr/sbin:/usr/libexec:${PATH} diff --git a/app-backup/amanda/files/amanda-xinetd b/app-backup/amanda/files/amanda-xinetd new file mode 100644 index 000000000000..2a52e591bc87 --- /dev/null +++ b/app-backup/amanda/files/amanda-xinetd @@ -0,0 +1,48 @@ +# These are the services needed for amanda. +# Default is to talk to localhost only unless +# AMANDA_SERVER was specified at build time. + +service amanda +{ + socket_type = dgram + protocol = udp + wait = yes + user = __AMANDA_USER_NAME__ + group = __AMANDA_GROUP_NAME__ + groups = yes + server = /usr/libexec/amandad + # You need to ensure this points to your Amanda server! + # Don't just remove it! + only_from = __AMANDA_SERVER__ + disable = yes +} + +service amandaidx +{ + socket_type = stream + protocol = tcp + wait = no + user = __AMANDA_USER_NAME__ + group = __AMANDA_GROUP_NAME__ + groups = yes + server = /usr/libexec/amindexd + # You need to ensure this points to your Amanda server! + # Don't just remove it! + only_from = __AMANDA_SERVER__ + disable = yes +} + +service amidxtape +{ + socket_type = stream + protocol = tcp + wait = no + user = __AMANDA_USER_NAME__ + group = __AMANDA_GROUP_NAME__ + groups = yes + server = /usr/libexec/amidxtaped + # You need to ensure this points to your Amanda server! + # Don't just remove it! + only_from = __AMANDA_SERVER__ + disable = yes +} diff --git a/app-backup/amanda/files/digest-amanda-2.4.4-r3 b/app-backup/amanda/files/digest-amanda-2.4.4-r3 new file mode 100644 index 000000000000..0744e0686521 --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.4-r3 @@ -0,0 +1 @@ +MD5 1f5f0c636707994eb7b5e74b19528323 amanda-2.4.4.tar.gz 1220934 diff --git a/app-backup/amanda/files/digest-amanda-2.4.4_p2 b/app-backup/amanda/files/digest-amanda-2.4.4_p2 new file mode 100644 index 000000000000..322714ecd21e --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.4_p2 @@ -0,0 +1 @@ +MD5 95f772203801999bd4b96606859f8910 amanda-2.4.4p2.tar.gz 1263075 diff --git a/app-backup/amanda/files/digest-amanda-2.4.4_p2-r1 b/app-backup/amanda/files/digest-amanda-2.4.4_p2-r1 new file mode 100644 index 000000000000..322714ecd21e --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.4_p2-r1 @@ -0,0 +1 @@ +MD5 95f772203801999bd4b96606859f8910 amanda-2.4.4p2.tar.gz 1263075 diff --git a/app-backup/amanda/files/digest-amanda-2.4.4_p2-r2 b/app-backup/amanda/files/digest-amanda-2.4.4_p2-r2 new file mode 100644 index 000000000000..322714ecd21e --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.4_p2-r2 @@ -0,0 +1 @@ +MD5 95f772203801999bd4b96606859f8910 amanda-2.4.4p2.tar.gz 1263075 diff --git a/app-backup/amanda/files/digest-amanda-2.4.4_p3 b/app-backup/amanda/files/digest-amanda-2.4.4_p3 new file mode 100644 index 000000000000..8437537c8cb4 --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.4_p3 @@ -0,0 +1 @@ +MD5 e1e87cb71865ccc1add2350eec357f89 amanda-2.4.4p3.tar.gz 1383528 diff --git a/app-backup/amanda/files/digest-amanda-2.4.5 b/app-backup/amanda/files/digest-amanda-2.4.5 new file mode 100644 index 000000000000..ad4726a140ef --- /dev/null +++ b/app-backup/amanda/files/digest-amanda-2.4.5 @@ -0,0 +1 @@ +MD5 1960b7875424e412d042bc92a1548d7f amanda-2.4.5.tar.gz 1541761 diff --git a/app-backup/amanda/files/example_amanda.conf b/app-backup/amanda/files/example_amanda.conf new file mode 100644 index 000000000000..947625e8ebbc --- /dev/null +++ b/app-backup/amanda/files/example_amanda.conf @@ -0,0 +1,44 @@ +# type "man amanda" + +org "example" +mailto "root@localhost" + +dumpcycle 7 +runspercycle -1 +tapecycle 7 + +dumpuser "amanda" +printer "lp" + +#tpchanger "chg-manual" +tapedev "/dev/nst0" + +runtapes 1 +labelstr "^EXAMPLE-[0-9][0-9]*$" +tapetype DDS4-PRINT + +ctimeout 60 +dtimeout 3600 +etimeout 600 + +netusage 2000 +inparallel 10 + +dumporder "tttTTTTTTT" +maxdumps 10 +bumpsize 10 +bumpmult 1.5 +bumpdays 1 + +diskfile "/etc/amanda/example/disklist" +infofile "/etc/amanda/example/curinfo" +logdir "/etc/amanda/example" +indexdir "/etc/amanda/example/index" +tapelist "tapelist" + +tapebufs 20 +reserve 100 +autoflush off + +includefile "/etc/amanda/global.conf" + diff --git a/app-backup/amanda/files/example_disklist b/app-backup/amanda/files/example_disklist new file mode 100644 index 000000000000..76062519bbb4 --- /dev/null +++ b/app-backup/amanda/files/example_disklist @@ -0,0 +1,2 @@ +localhost hda1 normal local +localhost hda3 normal local
\ No newline at end of file diff --git a/app-backup/amanda/files/example_global.conf b/app-backup/amanda/files/example_global.conf new file mode 100644 index 000000000000..728739850940 --- /dev/null +++ b/app-backup/amanda/files/example_global.conf @@ -0,0 +1,78 @@ +holdingdisk hd1 { + comment "main holding disk" + directory "/tmp/amanda/dumps" + use -1 Gb + chunksize 500 Mb +} + +define dumptype normal { + auth BSD + comment "Normal backup, compression" + comprate 0.50, 0.50 + compress client best + index yes + priority high + program "GNUTAR" + record yes + strategy STANDARD + holdingdisk yes +} + +define dumptype compress-server { + auth BSD + comment "Normal backup, compression" + comprate 0.50, 0.50 + compress server best + index yes + priority high + program "GNUTAR" + record yes + strategy STANDARD + holdingdisk yes +} + +define dumptype normal-no_hold { + normal + holdingdisk no +} + +define tapetype DDS4 { + comment "Seagate Scorpion 40" + length 16432 mbytes + filemark 0 kbytes + speed 2267 kps +} + +define tapetype DDS4-PRINT { + comment "Seagate Scorpion 40 with printer" + length 16432 mbytes + filemark 0 kbytes + speed 2267 kps + lbl-templ "/etc/amanda/lbl/DIN-A4.ps" +} + +define tapetype DDS2 { + comment "HP DAT C1533A" + length 1845 mbytes + filemark 0 kbytes + speed 480 kps +} + +define tapetype DDS1 { + comment "HP DAT HP35480A" + length 1845 mbytes + filemark 32 kbytes + speed 174 kps +} + +define interface local { + comment "local disk" + use 4000 kbps +} + +define interface eth1 { + comment "100 Mbps ethernet" + use 1000 kbps +} + + diff --git a/app-backup/amanda/files/patch-tar-1.14.90 b/app-backup/amanda/files/patch-tar-1.14.90 new file mode 100644 index 000000000000..2d7bd53c1260 --- /dev/null +++ b/app-backup/amanda/files/patch-tar-1.14.90 @@ -0,0 +1,26 @@ +diff -ru amanda-2.4.4p3/configure amanda-2.4.4p3-new/configure +--- amanda-2.4.4p3/configure 2004-06-22 07:41:55.000000000 -0500 ++++ amanda-2.4.4p3-new/configure 2004-11-20 12:49:12.998686008 -0600 +@@ -8802,7 +8802,7 @@ + + if test ! -z "$GNUTAR"; then + case "`\"$GNUTAR\" --version 2>&1`" in +- *GNU*tar* | *Free*paxutils* ) ++ *GNU*tar* | *Free*paxutils* | *tar\ \(tar\)\ 1.14.90* ) + + cat >>confdefs.h <<_ACEOF + #define GNUTAR "$GNUTAR" +diff -ru amanda-2.4.4p3/configure.in amanda-2.4.4p3-new/configure.in +--- amanda-2.4.4p3/configure.in 2004-06-22 07:41:30.000000000 -0500 ++++ amanda-2.4.4p3-new/configure.in 2004-11-20 12:50:15.082247872 -0600 +@@ -1284,7 +1284,7 @@ + AC_PATH_PROGS(GNUTAR,gtar gnutar tar,,$LOCSYSPATH) + if test ! -z "$GNUTAR"; then + case "`\"$GNUTAR\" --version 2>&1`" in +- *GNU*tar* | *Free*paxutils* ) ++ *GNU*tar* | *Free*paxutils* | *tar\ \(tar\)\ 1.14.90* ) + AC_DEFINE_UNQUOTED(GNUTAR,"$GNUTAR",[Define to the location of Gnu tar. ]) + ;; + *) + + diff --git a/app-backup/amanda/metadata.xml b/app-backup/amanda/metadata.xml new file mode 100644 index 000000000000..02e945c7cb52 --- /dev/null +++ b/app-backup/amanda/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> +</pkgmetadata> |