summaryrefslogtreecommitdiff
path: root/app-backup
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [master] <gitlab@liguros.net>2021-01-17 23:35:33 +0000
committerLiguros - Gitlab CI/CD [master] <gitlab@liguros.net>2021-01-17 23:35:33 +0000
commit8e8120eabdd28020aa69c7a60505cce2edd20adc (patch)
tree061bf0acdc672720e0bc3a2d575f67d25aedb2d8 /app-backup
parentc16790af2c9b4cbc38e565d4311252193ff85484 (diff)
downloadbaldeagleos-repo-8e8120eabdd28020aa69c7a60505cce2edd20adc.tar.gz
baldeagleos-repo-8e8120eabdd28020aa69c7a60505cce2edd20adc.tar.xz
baldeagleos-repo-8e8120eabdd28020aa69c7a60505cce2edd20adc.zip
Updating liguros repo21.1.2
Diffstat (limited to 'app-backup')
-rw-r--r--app-backup/amanda/Manifest6
-rw-r--r--app-backup/amanda/amanda-3.4.1.ebuild487
-rw-r--r--app-backup/amanda/amanda-3.4.2.ebuild484
-rw-r--r--app-backup/amanda/amanda-3.4.3.ebuild484
-rw-r--r--app-backup/amanda/amanda-3.4.4.ebuild484
-rw-r--r--app-backup/amanda/amanda-3.4.5.ebuild484
-rw-r--r--app-backup/amanda/amanda-3.5-r1.ebuild498
-rw-r--r--app-backup/amanda/amanda-3.5.1-r3.ebuild (renamed from app-backup/amanda/amanda-3.5.1-r1.ebuild)334
-rw-r--r--app-backup/amanda/files/amanda-3.4.1-labelstr.patch164
-rw-r--r--app-backup/amanda/files/amanda-3.4.1-slots.patch16
-rw-r--r--app-backup/amanda/files/amanda-3.5.1-fno-common.patch13
-rw-r--r--app-backup/backupninja/Manifest1
-rw-r--r--app-backup/backupninja/backupninja-1.0.1-r1.ebuild29
-rw-r--r--app-backup/bacula/files/newscripts/bacula-dir.initd2
-rw-r--r--app-backup/borgbackup/Manifest1
-rw-r--r--app-backup/borgbackup/borgbackup-1.1.14.ebuild4
-rw-r--r--app-backup/borgbackup/borgbackup-1.1.15.ebuild44
-rw-r--r--app-backup/btrbk/Manifest1
-rw-r--r--app-backup/btrbk/btrbk-0.30.0.ebuild6
-rw-r--r--app-backup/btrbk/btrbk-0.31.0.ebuild77
-rw-r--r--app-backup/btrbk/btrbk-9999.ebuild4
-rw-r--r--app-backup/btrbk/files/btrbk-0.30.0-make-install-race.patch27
-rw-r--r--app-backup/ccollect/ccollect-0.8.ebuild2
-rw-r--r--app-backup/cdbkup/cdbkup-1.0-r2.ebuild7
-rw-r--r--app-backup/duplicity/duplicity-0.8.15.ebuild4
-rw-r--r--app-backup/duplicity/duplicity-0.8.16.ebuild4
-rw-r--r--app-backup/duplicity/duplicity-0.8.17.ebuild4
-rw-r--r--app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild2
-rw-r--r--app-backup/mkstage4/metadata.xml2
-rw-r--r--app-backup/rear/rear-2.4.ebuild4
-rw-r--r--app-backup/rear/rear-2.6.ebuild2
-rw-r--r--app-backup/snapper/Manifest3
-rw-r--r--app-backup/snapper/files/snapper-0.8.15-testsuite.patch83
-rw-r--r--app-backup/snapper/snapper-0.8.15-r1.ebuild (renamed from app-backup/snapper/snapper-0.8.7.ebuild)21
-rw-r--r--app-backup/snapper/snapper-0.8.6.ebuild77
-rw-r--r--app-backup/tarsnap/files/tarsnap-1.0.39-respect-AR.patch14
-rw-r--r--app-backup/tarsnap/metadata.xml4
-rw-r--r--app-backup/tarsnap/tarsnap-1.0.39.ebuild10
38 files changed, 475 insertions, 3418 deletions
diff --git a/app-backup/amanda/Manifest b/app-backup/amanda/Manifest
index b2a1971bce97..95116b4ada65 100644
--- a/app-backup/amanda/Manifest
+++ b/app-backup/amanda/Manifest
@@ -1,8 +1,2 @@
DIST amanda-3.3.9.tar.gz 4673301 BLAKE2B 8123a4f0d1fd961562a1ae6b97c2bddc4d9cb735b994c3c5f2359fa8a475a20658fc7e94c86307ab11710f23989a98c77b320e34d881b38d56a51ab0ab2f1bbd SHA512 345670a20cff335453e8dcbf457d1fcdb9f266e4a03d729c2b1ba762f4fac323de4a87713d0fd54c11ca244a08dc97fb8c641625f7fa81cb241b3c17748b1b7e
-DIST amanda-3.4.1.tar.gz 5338575 BLAKE2B 286ca826cf80253fd4491b4e94db08cdeea9b13d115021859398ac940b55fb452561baa7545a5c8f3f973a0d595a220056e383a79577d1e9113a00960c9ba038 SHA512 245bf334e36fe8b4361d9fc27ea7e7ef5bd2ecec74719caa16cc94d1ebb3abbef058e28d9afd85851654aaae0984531593a35c079d1ba4aed0fc5177e907ec16
-DIST amanda-3.4.2.tar.gz 5353734 BLAKE2B b7c2bc78a1900d0c87f93ff9eea5cd8a9cb5ad8484475424a6a05d951d9ea543e936bec2fab1624f8ee512dc0a3f87228e07c1720b9a6ddf37f5525ca54260c4 SHA512 dea44ffa5eb30318336395ccbd582df2f83da9a4cf91def2834a2e65b2e0f36cafc1911f6b73c3afb63be256484a78b006bdeb1db5b3ecf87dc59d34754987fd
-DIST amanda-3.4.3.tar.gz 5355137 BLAKE2B 920e34c50a624aeab8ed1e6a4555d6b6e34ede45a8d896892a562a5b82ebf4be17acc49ba688238bae0e374bed0c2be8e683974de574038565cf1e7ad1cb65f0 SHA512 5fa7a8c59961f87568d3459e6b5368e50c6cf74e1a6c7599faf5f85d537e72668775acc11009d1d5699ab92d1c21553b5b86e06b804c6a1ae04500889726694a
-DIST amanda-3.4.4.tar.gz 5363929 BLAKE2B a3da69f63c43ba4821a28d380262b99444c45dbfaa5ff748c6e4d0d452c1ad3e1d6a254dd27fec7afc7f4f8ba0a56c56d90192f1a5ba714ed83e26e52700f397 SHA512 e73ee29a6074396a885b08d9b1160b1e379423596dde872a14a8c8cf5845c9fcf3ea08038007a99063169a863d8b9f3ca9c23b8f5609d463a5b1f2ddcd44be96
-DIST amanda-3.4.5.tar.gz 5365381 BLAKE2B 61c18603d48c4e9c647cfc7e185292e8764d62bd1ea9212da04958029cc87472872fa2e4a45ec52bb15f6342d2f3e41e486a6618024f775dbedffcc762190ae4 SHA512 441efef6a34a1cb645c8c5d1e909f25230322ceb38d1efa0a104de2d9051640f7032255c8d8c7391a918102aceeb5073048070471fb642e185a2a113c817e00c
DIST amanda-3.5.1.tar.gz 5402093 BLAKE2B 4c342fb55b2b5fc0d338a1616bf26b1d844b0ecd6627432b849996c0072756090e1f695050605af0a5c3eda2daeb63131fbe16b5ac728af9137699f4d916b8e8 SHA512 8d5451b6b3f18f9a705592ba6baf8ffb7fb4fe62261eac8a4f4fae4eded3f7f447f547ac6f016bcb57ea43f116cf87fdc48f8e77b117bbdecf00d3e37dd0f39f
-DIST amanda-3.5.tar.gz 5386719 BLAKE2B 93a382a9091ec7cfc5f21fe7131a6bf0c1aceb169a2274ce66c1f77a08b594beeca430687a6a28403d8cc35e85beecce99fde9c2d7d34c8460999a3ca63937f1 SHA512 31340eb250972b2d7b2ad5e51c4f3fafb9de15b9f51f688447214174c77ea89d344f50709ca51d6ba965f8ed6977608f22d7bc6811cc97b63207f7a7cec8219c
diff --git a/app-backup/amanda/amanda-3.4.1.ebuild b/app-backup/amanda/amanda-3.4.1.ebuild
deleted file mode 100644
index dd358b4cf73b..000000000000
--- a/app-backup/amanda/amanda-3.4.1.ebuild
+++ /dev/null
@@ -1,487 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply "${FILESDIR}"/${P}-slots.patch || die
- eapply "${FILESDIR}"/${P}-labelstr.patch || die
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket || die
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service' || die
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.4.2.ebuild b/app-backup/amanda/amanda-3.4.2.ebuild
deleted file mode 100644
index a6f09df6878a..000000000000
--- a/app-backup/amanda/amanda-3.4.2.ebuild
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket || die
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service' || die
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.4.3.ebuild b/app-backup/amanda/amanda-3.4.3.ebuild
deleted file mode 100644
index a6f09df6878a..000000000000
--- a/app-backup/amanda/amanda-3.4.3.ebuild
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket || die
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service' || die
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.4.4.ebuild b/app-backup/amanda/amanda-3.4.4.ebuild
deleted file mode 100644
index a6f09df6878a..000000000000
--- a/app-backup/amanda/amanda-3.4.4.ebuild
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket || die
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service' || die
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.4.5.ebuild b/app-backup/amanda/amanda-3.4.5.ebuild
deleted file mode 100644
index a6f09df6878a..000000000000
--- a/app-backup/amanda/amanda-3.4.5.ebuild
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket || die
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service' || die
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes}
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/"
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig"
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates"
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i}
- chmod u=srwx,g=rx,o= "${root}"/${i}
- done
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.5-r1.ebuild b/app-backup/amanda/amanda-3.5-r1.ebuild
deleted file mode 100644
index 9d5d9a365d92..000000000000
--- a/app-backup/amanda/amanda-3.5-r1.ebuild
+++ /dev/null
@@ -1,498 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
-
-DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
-HOMEPAGE="http://www.amanda.org/"
-SRC_URI="mirror://sourceforge/amanda/${P}.tar.gz"
-
-LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
-SLOT="0"
-IUSE="curl gnuplot ipv6 kerberos minimal ndmp nls readline s3 samba systemd xfs"
-
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
- app-arch/tar
- dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
- dev-perl/Encode-Locale
- nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
- samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
- xfs? ( sys-fs/xfsdump )
- !minimal? (
- dev-perl/XML-Simple
- virtual/mailx
- app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
- app-crypt/aespipe
- app-crypt/gnupg
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
- app-text/docbook-xml-dtd
- dev-libs/libxslt
- dev-lang/swig
- "
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
- # Setting vars
- local currentamanda
-
- # Grab the current settings
- currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
- # First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
- # This installs Amanda, with the server. However, it could be a client,
- # just specify an alternate server name in AMANDA_SERVER.
- [[ -z "${AMANDA_SERVER}" ]] && AMANDA_SERVER="${HOSTNAME}"
- [[ -z "${AMANDA_SERVER_TAPE}" ]] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
- [[ -z "${AMANDA_SERVER_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
- # These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
-
- # What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
-
- # Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
- # We don't just source it as we don't want everything in there.
- eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
- fi
-
- # Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
-}
-
-pkg_setup() {
- amanda_variable_setup
-
- # If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
- # another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
- elog "You are installing a client-only version of Amanda."
- elog "You should set the variable \$AMANDA_SERVER to point at your"
- elog "Amanda-tape-server, otherwise you will have to specify its name"
- elog "when using amrecover on the client."
- elog "For example: Use something like"
- elog "AMANDA_SERVER=\"myserver\" emerge amanda"
- elog
- fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
-}
-
-src_unpack() {
- # we do not want the perl src_unpack
- default_src_unpack
-}
-
-src_prepare() {
- # gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
-
- # bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
-
- eautoreconf
-
- # places for us to work in
- mkdir -p "${MYFILESDIR}" || die
- # Now we store the settings we just created
- set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" || die
-
- # Prepare our custom files
- einfo "Building custom configuration files"
- local i # our iterator
- local sedexpr # var for sed expr
- sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
- local val
- eval "val=\"\${${i}}\""
- sedexpr="${sedexpr}s|__${i}__|${val}|g;"
- done
-
- # now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
- sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
- done
-
- if use minimal; then
- cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 > "${T}"/amandahosts || die
- else
- sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
- server-src/am{addclient,serverconfig}.pl || die
- cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 > "${T}"/amandahosts || die
- fi
-
- eapply_user
-}
-
-src_configure() {
- # fix bug #36316
- addpredict /var/cache/samba/gencache.tdb
- # fix bug #376169
- addpredict /run/blkid
- addpredict /etc/blkid.tab
-
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
- local myconf
-
- einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
- einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
- einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
- einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
- einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
- einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
- einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
- einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
- einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
-
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
- eerror "If you want _both_ UDP and TCP ports, please use only the"
- eerror "AMANDA_PORTS environment variable for identical ports, or set"
- eerror "AMANDA_PORTS_BOTH."
- die "Bad port setup!"
- fi
- if [ -n "${AMANDA_PORTS_UDP}" ]; then
- einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
- fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
- einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
- fi
- if [ -n "${AMANDA_PORTS}" ]; then
- einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
- fi
-
- # Extras
- # Speed option
- myconf="${myconf} --with-buffered-dump"
- # "debugging" in the configuration is NOT debug in the conventional sense.
- # It is actually just useful output in the application, and should remain
- # enabled. There are some cases of breakage with MTX tape changers as of
- # 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
- # Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
-
- # Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
-
- # Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
- # default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
-
- # kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
-
- # Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
-
- # libcurl is required for S3 but otherwise optional
- if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
- fi
-
- # Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
- else
- # amplot
- myconf="${myconf} $(use_with gnuplot)"
- fi
-
- # IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
- # This is to prevent the IPv6-is-working test
- # As the test fails on binpkg build hosts with no IPv6.
- use ipv6 && export amanda_cv_working_ipv6=yes
-
- # I18N
- myconf="${myconf} `use_enable nls`"
-
- # Bug #296634: Perl location
- perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
-
- # Bug 296633: --disable-syntax-checks
- # Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
-
- # build manpages
- myconf="${myconf} --enable-manpage-build"
-
- # Bug #636262
- myconf="${myconf} $(use_with ndmp ndmp)"
-
- # bug #483120
- tc-export AR
-
- econf \
- $(use_with readline) \
- ${myconf}
-}
-
-src_compile() {
- # Again, do not want the perl-module src_compile
- default_src_compile
-}
-
-src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source ${TMPENVFILE}
-
- einfo "Doing stock install"
- emake DESTDIR="${D}" install
-
- # Build the envdir file
- # Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
- einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
-
- einfo "Installing systemd service and socket files for Amanda"
- systemd_dounit "${FILESDIR}"/amanda.socket
- systemd_newunit "${FILESDIR}"/amanda.service 'amanda@.service'
-
- # Lock down next section (up until docs).
- insopts -m0640
- # Installing Amanda Xinetd Services Definition
- einfo "Installing xinetd service file"
- insinto /etc/xinetd.d
- if use minimal ; then
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
- else
- newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
- fi
-
- if ! use minimal; then
- einfo "Installing Sample Daily Cron Job for Amanda"
- insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
- fi
-
- insinto /etc/amanda
- einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user"
- doins "${T}/amandahosts"
- fperms 600 /etc/amanda/amandahosts
-
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
- insinto "${AMANDA_USER_HOMEDIR}"
- einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
-
- insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
- insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
- keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
- fi
-
- keepdir "${AMANDA_TAR_LISTDIR}"
- keepdir "${AMANDA_USER_HOMEDIR}/amanda"
- keepdir "${AMANDA_TMPDIR}/dumps"
- # Just make sure it exists for XFS to work...
- use xfs && keepdir /var/xfsdump/inventory
-
- local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
- einfo "Securing directory (${i})"
- fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
- done
- # Do NOT use -R
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
-
- if ! use minimal ; then
- fperms 0700 \
- "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
- /etc/amanda/${AMANDA_CONFIG_NAME}
- fi
-
- einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
-
- # Relax permissions again
- insopts -m0644
-
- # docs
- einfo "Installing documentation"
- dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
- # our inetd sample
- einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
- # Amanda example configs
- einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes} || die
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/" || die
- docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
-
- einfo "Cleaning up dud .la files"
- perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
- source "${TMPENVFILE}"
-
- # Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
- einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
- einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig" || die
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/" || die
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" || die
- fi
- if [ -f "${ROOT}/etc/amandates" ]; then
- einfo "If you have migrated safely, please delete /etc/amandates"
- fi
-
- einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
-
- elog "You should configure Amanda in /etc/amanda now."
- elog
- elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda"
- elog "and restart xinetd afterwards!"
- elog
- elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample"
- elog "as an example of how to configure your inetd."
- elog
- elog "systemd-users: enable and start amanda.socket or the relevant services"
- elog "regarding what auth method you use."
- elog
- elog "NOTICE: If you need raw access to partitions you need to add the"
- elog "amanda user to the 'disk' group."
- elog
- elog "NOTICE: If you have a tape changer, you need to add the amanda user"
- elog "to the 'tape' group."
- elog
- elog "If you use localhost in your disklist your restores may break."
- elog "You should replace it with the actual hostname!"
- elog "Please also see the syntax changes to amandahosts."
- elog "The only exception is when you use the authentication method 'local'."
- elog
- elog "Please note that this package no longer explicitly depends on"
- elog "virtual/inetd, as it supports modes where an inetd is not needed"
- elog "(see bug #506028 for details)."
-}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- local i
- for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar "${le}"/dumper \
- "${le}"/planner ; do
- [ -e "${root}"/${i} ] || continue
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i} || die
- chmod u=srwx,g=rx,o= "${root}"/${i} || die
- done
-
- # amanda-security.conf is a config file with similar requirements:
- # writable only by root
- # world-readable
- # 3.3.9: introduced in /etc/amanda-security.conf
- # 3.4.2: moved to /etc/amanda/amanda-security.conf
- f=/etc/amanda/amanda-security.conf
- chown root:root "${root}""${f}" || die
- chmod u=rw,go=r "${root}""${f}" || die
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/amanda-3.5.1-r1.ebuild b/app-backup/amanda/amanda-3.5.1-r3.ebuild
index 24ae22aa02ca..81acd43577df 100644
--- a/app-backup/amanda/amanda-3.5.1-r1.ebuild
+++ b/app-backup/amanda/amanda-3.5.1-r3.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit autotools perl-module user systemd toolchain-funcs
+EAPI=7
+
+inherit autotools perl-module systemd toolchain-funcs
DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
HOMEPAGE="http://www.amanda.org/"
@@ -13,39 +14,43 @@ SLOT="0"
IUSE="curl gnuplot ipv6 kerberos minimal ndmp nls readline s3 samba systemd xfs"
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-RDEPEND="sys-libs/readline:=
- virtual/awk
+DEPEND="
+ acct-group/amanda
+ acct-user/amanda
+ app-arch/dump
app-arch/tar
+ dev-libs/glib:2
dev-lang/perl:=
- app-arch/dump
- net-misc/openssh
- >=dev-libs/glib-2.26.0
- dev-perl/JSON
dev-perl/Encode-Locale
+ dev-perl/JSON
+ net-misc/openssh
+ sys-libs/readline:=
+ virtual/awk
+ kerberos? ( app-crypt/mit-krb5 )
nls? ( virtual/libintl )
- s3? ( >=net-misc/curl-7.10.0 )
- !s3? ( curl? ( >=net-misc/curl-7.10.0 ) )
samba? ( net-fs/samba:= )
- kerberos? ( app-crypt/mit-krb5 )
+ s3? ( net-misc/curl )
+ !s3? ( curl? ( net-misc/curl ) )
xfs? ( sys-fs/xfsdump )
!minimal? (
- dev-perl/XML-Simple
- virtual/mailx
app-arch/mt-st:=
- sys-block/mtx
- gnuplot? ( sci-visualization/gnuplot )
app-crypt/aespipe
app-crypt/gnupg
+ dev-perl/XML-Simple
+ sys-block/mtx
+ virtual/mailx
+ gnuplot? ( sci-visualization/gnuplot )
)"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- >=app-text/docbook-xsl-stylesheets-1.72.0
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd
- dev-libs/libxslt
dev-lang/swig
- "
+ dev-libs/libxslt
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
MYFILESDIR="${T}/files"
ENVDIR="/etc/env.d"
@@ -59,15 +64,14 @@ TMPENVFILE="${T}/${ENVDFILE}"
# installed. This variable name must not start with AMANDA_, as we do not want
# it captured into the env file.
ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
+AMANDA_GROUP_NAME
+AMANDA_USER_NAME AMANDA_USER_HOMEDIR
AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_TAPE_DEVICE AMANDA_SERVER_INDEX
AMANDA_TAR_LISTDIR AMANDA_TAR
AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
AMANDA_CONFIG_NAME AMANDA_TMPDIR"
amanda_variable_setup() {
-
# Setting vars
local currentamanda
@@ -75,42 +79,37 @@ amanda_variable_setup() {
currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
# First we set the defaults
- [[ -z "${AMANDA_GROUP_GID}" ]] && AMANDA_GROUP_GID=87
- [[ -z "${AMANDA_GROUP_NAME}" ]] && AMANDA_GROUP_NAME=amanda
- [[ -z "${AMANDA_USER_NAME}" ]] && AMANDA_USER_NAME=amanda
- [[ -z "${AMANDA_USER_UID}" ]] && AMANDA_USER_UID=87
- [[ -z "${AMANDA_USER_SH}" ]] && AMANDA_USER_SH=/bin/bash
- [[ -z "${AMANDA_USER_HOMEDIR}" ]] && AMANDA_USER_HOMEDIR=/var/spool/amanda
- [[ -z "${AMANDA_USER_GROUPS}" ]] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
+ AMANDA_GROUP_NAME=amanda
+ AMANDA_USER_NAME=amanda
+ AMANDA_USER_HOMEDIR=/var/spool/amanda
# 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_TAPE_DEVICE}" ]] && AMANDA_SERVER_TAPE_DEVICE="/dev/nst0"
- [[ -z "${AMANDA_SERVER_INDEX}" ]] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
- [[ -z "${AMANDA_TAR_LISTDIR}" ]] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
- [[ -z "${AMANDA_CONFIG_NAME}" ]] && AMANDA_CONFIG_NAME=DailySet1
- [[ -z "${AMANDA_TMPDIR}" ]] && AMANDA_TMPDIR=/var/tmp/amanda
- [[ -z "${AMANDA_DBGDIR}" ]] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
+ : ${AMANDA_SERVER:=${HOSTNAME}}
+ : ${AMANDA_SERVER_TAPE:=${AMANDA_SERVER}}
+ : ${AMANDA_SERVER_TAPE_DEVICE:="${EPREFIX}"/dev/nst0}
+ : ${AMANDA_SERVER_INDEX:=${AMANDA_SERVER}}
+ : ${AMANDA_TAR_LISTDIR:=${AMANDA_USER_HOMEDIR}/tar-lists}
+ : ${AMANDA_CONFIG_NAME:=DailySet1}
+ : ${AMANDA_TMPDIR:="${EPREFIX}"/var/tmp/amanda}
+ : ${AMANDA_DBGDIR:=${AMANDA_TMPDIR}}
# These are left empty by default
- [[ -z "${AMANDA_PORTS_UDP}" ]] && AMANDA_PORTS_UDP=
- [[ -z "${AMANDA_PORTS_TCP}" ]] && AMANDA_PORTS_TCP=
- [[ -z "${AMANDA_PORTS_BOTH}" ]] && AMANDA_PORTS_BOTH=
- [[ -z "${AMANDA_PORTS}" ]] && AMANDA_PORTS=
+ : ${AMANDA_PORTS_UDP:=""}
+ : ${AMANDA_PORTS_TCP:=""}
+ : ${AMANDA_PORTS_BOTH:=""}
+ : ${AMANDA_PORTS:=""}
# What tar to use
- [[ -z "${AMANDA_TAR}" ]] && AMANDA_TAR=/bin/tar
+ : ${AMANDA_TAR:=/bin/tar}
# Now pull in the old stuff
- if [[ -f "${EROOT}${ENVDIR}/${ENVDFILE}" ]]; then
+ if [[ -f ${EROOT}${ENVDIR}/${ENVDFILE} ]]; then
# We don't just source it as we don't want everything in there.
eval $(egrep "^AMANDA_" "${EROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
fi
# Re-apply the new settings if any
- [ -n "${currentamanda}" ] && eval $(echo "${currentamanda}")
-
+ [[ -n ${currentamanda} ]] && eval $(echo "${currentamanda}")
}
pkg_setup() {
@@ -118,7 +117,7 @@ pkg_setup() {
# If USE=minimal, give out a warning, if AMANDA_SERVER is not set to
# another host than HOSTNAME.
- if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then
+ if use minimal && [[ ${AMANDA_SERVER} == ${HOSTNAME} ]]; then
elog "You are installing a client-only version of Amanda."
elog "You should set the variable \$AMANDA_SERVER to point at your"
elog "Amanda-tape-server, otherwise you will have to specify its name"
@@ -127,26 +126,24 @@ pkg_setup() {
elog "AMANDA_SERVER=\"myserver\" emerge amanda"
elog
fi
-
- enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}"
- enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}"
}
src_unpack() {
# we do not want the perl src_unpack
- default_src_unpack
+ default
}
src_prepare() {
+ default
# gentoo bug #331111
- sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am || die
- sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am || die
+ sed -i '/^check-local: check-perl$/d' config/automake/scripts.am || die
+ sed -i '/^check-local:/s,syntax-check,,g' perl/Makefile.am || die
# bug with glibc-2.16.0
- sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h || die
+ sed -i -e '/gets is a security/d' gnulib/stdio.in.h || die
# https://bugs.gentoo.org/701416 sandbox violation
- sed -i -e 's/case `"$SAMBA_CLIENT.*/case "Connection to nosuchhost.amanda.org failed" in/' "${S}"/config/amanda/dumpers.m4 || die
+ sed -i -e 's/case `"$SAMBA_CLIENT.*/case "Connection to nosuchhost.amanda.org failed" in/' config/amanda/dumpers.m4 || die
eautoreconf
@@ -160,14 +157,14 @@ src_prepare() {
local i # our iterator
local sedexpr # var for sed expr
sedexpr=''
- for i in ${ENV_SETTINGS_AMANDA} ; do
+ for i in ${ENV_SETTINGS_AMANDA}; do
local val
eval "val=\"\${${i}}\""
sedexpr="${sedexpr}s|__${i}__|${val}|g;"
done
# now apply the sed expr
- for i in "${FILESDIR}"/amanda-* ; do
+ for i in "${FILESDIR}"/amanda-*; do
sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" || die
done
@@ -189,126 +186,155 @@ src_configure() {
addpredict /run/blkid
addpredict /etc/blkid.tab
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
+ [[ ! -f ${TMPENVFILE} ]] && die "Variable setting file (${TMPENVFILE}) should exist!"
source "${TMPENVFILE}"
- local myconf
+ local myconf=()
einfo "Using ${AMANDA_SERVER_TAPE} for tape server."
- myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}"
+ myconf+=( --with-tape-server="${AMANDA_SERVER_TAPE}" )
einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
- myconf="${myconf} --with-tape-device=${AMANDA_SERVER_TAPE_DEVICE}"
+ myconf+=( --with-tape-device="${AMANDA_SERVER_TAPE_DEVICE}" )
einfo "Using ${AMANDA_SERVER_INDEX} for index server."
- myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}"
+ myconf+=( --with-index-server="${AMANDA_SERVER_INDEX}" )
einfo "Using ${AMANDA_USER_NAME} for amanda user."
- myconf="${myconf} --with-user=${AMANDA_USER_NAME}"
+ myconf+=( --with-user="${AMANDA_USER_NAME}" )
einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
- myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}"
+ myconf+=( --with-group="${AMANDA_GROUP_NAME}" )
einfo "Using ${AMANDA_TAR} as Tar implementation."
- myconf="${myconf} --with-gnutar=${AMANDA_TAR}"
+ myconf+=( --with-gnutar="${AMANDA_TAR}" )
einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
- myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}"
+ myconf+=( --with-gnutar-listdir="${AMANDA_TAR_LISTDIR}" )
einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
- myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}"
+ myconf+=( --with-config="${AMANDA_CONFIG_NAME}" )
einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
- myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}"
+ myconf+=( --with-tmpdir="${AMANDA_TMPDIR}" )
- if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then
+ 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
+ if [[ -n ${AMANDA_PORTS_UDP} ]]; then
einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}"
- myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}"
+ myconf+=( --with-udpportrange="${AMANDA_PORTS_UDP}" )
fi
- if [ -n "${AMANDA_PORTS_TCP}" ]; then
+ if [[ -n ${AMANDA_PORTS_TCP} ]]; then
einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
- myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}"
+ myconf+=( --with-tcpportrange="${AMANDA_PORTS_TCP}" )
fi
- if [ -n "${AMANDA_PORTS}" ]; then
+ if [[ -n ${AMANDA_PORTS} ]]; then
einfo "Using ports ${AMANDA_PORTS/,/-}"
- myconf="${myconf} --with-portrange=${AMANDA_PORTS}"
+ myconf+=( --with-portrange="${AMANDA_PORTS}" )
fi
# Extras
# Speed option
- myconf="${myconf} --with-buffered-dump"
+ myconf+=( --with-buffered-dump )
# "debugging" in the configuration is NOT debug in the conventional sense.
# It is actually just useful output in the application, and should remain
# enabled. There are some cases of breakage with MTX tape changers as of
# 2.5.1p2 that it exposes when turned off as well.
- myconf="${myconf} --with-debugging"
+ myconf+=( --with-debugging )
# Where to put our files
- myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}"
+ myconf+=( --localstatedir="${AMANDA_USER_HOMEDIR}" )
# Samba support
- myconf="${myconf} $(use_with samba smbclient /usr/bin/smbclient)"
+ myconf+=( $(use_with samba smbclient /usr/bin/smbclient) )
# Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
# default
- myconf="${myconf} --with-bsd-security"
- myconf="${myconf} --with-ssh-security"
- myconf="${myconf} --with-bsdudp-security"
- myconf="${myconf} --with-bsdtcp-security"
+ myconf+=( --with-bsd-security )
+ myconf+=( --with-ssh-security )
+ myconf+=( --with-bsdudp-security )
+ myconf+=( --with-bsdtcp-security )
# kerberos-security mechanism version 5
- myconf="${myconf} $(use_with kerberos krb5-security)"
+ myconf+=( $(use_with kerberos krb5-security) )
# Amazon S3 support
- myconf="${myconf} `use_enable s3 s3-device`"
+ myconf+=( $(use_enable s3 s3-device) )
# libcurl is required for S3 but otherwise optional
if ! use s3; then
- myconf="${myconf} $(use_with curl libcurl)"
+ myconf+=( $(use_with curl libcurl) )
fi
# Client only, as requested in bug #127725
- if use minimal ; then
- myconf="${myconf} --without-server"
+ if use minimal; then
+ myconf+=( --without-server )
else
# amplot
- myconf="${myconf} $(use_with gnuplot)"
+ myconf+=( $(use_with gnuplot) )
fi
# IPv6 fun.
- myconf="${myconf} `use_with ipv6`"
+ myconf+=( $(use_with ipv6) )
# This is to prevent the IPv6-is-working test
# As the test fails on binpkg build hosts with no IPv6.
use ipv6 && export amanda_cv_working_ipv6=yes
# I18N
- myconf="${myconf} `use_enable nls`"
+ myconf+=( $(use_enable nls) )
# Bug #296634: Perl location
perl_set_version
- myconf="${myconf} --with-amperldir=${VENDOR_LIB}"
+ myconf+=( --with-amperldir="${VENDOR_LIB}" )
# Bug 296633: --disable-syntax-checks
# Some tests are not safe for production systems
- myconf="${myconf} --disable-syntax-checks"
+ myconf+=( --disable-syntax-checks )
# build manpages
- myconf="${myconf} --enable-manpage-build"
+ myconf+=( --enable-manpage-build )
# Bug #636262
- myconf="${myconf} $(use_with ndmp ndmp)"
+ myconf+=( $(use_with ndmp ndmp) )
# bug #483120
tc-export AR
econf \
+ --disable-static \
$(use_with readline) \
- ${myconf}
+ "${myconf[@]}"
}
src_compile() {
# Again, do not want the perl-module src_compile
- default_src_compile
+ default
+}
+
+# We do not want the perl-module tests.
+src_test() {
+ default
+}
+
+# We have had reports of amanda file permissions getting screwed up.
+# Losing setuid, becoming too lax etc.
+# ONLY root and users in the amanda group should be able to run these binaries!
+amanda_permissions_fix() {
+ local root="$1"
+ [[ -z ${root} ]] && die "Failed to pass root argument to amanda_permissions_fix!"
+ local i le=/usr/libexec/amanda
+ for i in "${le}"/calcsize "${le}"/killpgrp "${le}"/rundump "${le}"/runtar; do
+ [[ -e ${root}/${i} ]] || continue
+ chown root:${AMANDA_GROUP_NAME} "${root}"/${i} || die
+ chmod u=srwx,g=rx,o= "${root}"/${i} || die
+ done
+
+ # amanda-security.conf is a config file with similar requirements:
+ # writable only by root
+ # world-readable
+ # 3.3.9: introduced in /etc/amanda-security.conf
+ # 3.4.2: moved to /etc/amanda/amanda-security.conf
+ f=/etc/amanda/amanda-security.conf
+ chown root:root "${root}""${f}" || die
+ chmod u=rw,go=r "${root}""${f}" || die
}
src_install() {
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
+ [[ ! -f ${TMPENVFILE} ]] && die "Variable setting file (${TMPENVFILE}) should exist!"
source ${TMPENVFILE}
einfo "Doing stock install"
@@ -316,18 +342,14 @@ src_install() {
# Build the envdir file
# Don't forget this..
- einfo "Building environment file"
- (
- echo "# These settings are what was present in the environment when this"
- echo "# Amanda was compiled. Changing anything below this comment will"
- echo "# have no effect on your application, but it merely exists to"
- echo "# preserve them for your next emerge of Amanda"
- cat "${TMPENVFILE}" | sed "s,=\$,='',g"
- ) >> "${MYFILESDIR}/${ENVDFILE}"
-
- # Env.d
einfo "Installing environment config file"
- doenvd "${MYFILESDIR}/${ENVDFILE}"
+ newenvd - "${ENVDFILE}" <<- _EOF_
+ # These settings are what was present in the environment when this
+ # Amanda was compiled. Changing anything below this comment will
+ # have no effect on your application, but it merely exists to
+ # preserve them for your next emerge of Amanda
+ $(cat "${TMPENVFILE}" | sed "s,=\$,='',g")
+ _EOF_
einfo "Installing systemd service and socket files for Amanda"
systemd_dounit "${FILESDIR}"/amanda.socket
@@ -338,7 +360,7 @@ src_install() {
# Installing Amanda Xinetd Services Definition
einfo "Installing xinetd service file"
insinto /etc/xinetd.d
- if use minimal ; then
+ if use minimal; then
newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda
else
newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda
@@ -347,7 +369,7 @@ src_install() {
if ! use minimal; then
einfo "Installing Sample Daily Cron Job for Amanda"
insinto /etc/cron.daily
- newins "${MYFILESDIR}/amanda-cron" amanda
+ newins "${MYFILESDIR}"/amanda-cron amanda
fi
insinto /etc/amanda
@@ -355,17 +377,17 @@ src_install() {
doins "${T}/amandahosts"
fperms 600 /etc/amanda/amandahosts
- dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts"
+ dosym "${AMANDA_USER_HOMEDIR}/.amandahosts" /etc/amanda/amandahosts
insinto "${AMANDA_USER_HOMEDIR}"
einfo "Installing .profile for ${AMANDA_USER_NAME} user"
- newins "${MYFILESDIR}/amanda-profile" .profile
+ newins "${MYFILESDIR}"/amanda-profile .profile
insinto /etc/amanda
- doins "${S}/example/amanda-client.conf"
- if ! use minimal ; then
+ doins example/amanda-client.conf
+ if ! use minimal; then
insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
- doins "${S}/example/amanda.conf"
- doins "${S}/example/disklist"
+ doins example/amanda.conf
+ doins example/disklist
keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
fi
@@ -376,8 +398,7 @@ src_install() {
use xfs && keepdir /var/xfsdump/inventory
local i
- for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
- "${AMANDA_TMPDIR}" /etc/amanda; do
+ for i in "${AMANDA_TMPDIR}" /etc/amanda; do
einfo "Securing directory (${i})"
fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i}
done
@@ -385,17 +406,17 @@ src_install() {
fperms 0700 \
"${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \
"${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \
- "${AMANDA_USER_HOMEDIR}/amanda" \
- /etc/amanda
+ "${AMANDA_USER_HOMEDIR}/amanda" \
+ /etc/amanda
- if ! use minimal ; then
+ if ! use minimal; then
fperms 0700 \
"${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
/etc/amanda/${AMANDA_CONFIG_NAME}
fi
einfo "Setting setuid permissions"
- amanda_permissions_fix "${D}"
+ amanda_permissions_fix "${ED}"
# Relax permissions again
insopts -m0644
@@ -405,42 +426,41 @@ src_install() {
dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING
# our inetd sample
einfo "Installing standard inetd sample"
- newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample
+ newdoc "${MYFILESDIR}"/amanda-inetd.amanda.sample-2.6.0_p2-r2 amanda-inetd.amanda.sample
# Amanda example configs
einfo "Installing example configurations"
- rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes} || die
- mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/" || die
+ rm "${ED}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes} || die
+ mv "${ED}"/usr/share/amanda/example "${ED}"/usr/share/doc/${PF}/ || die
docinto example1
- newdoc "${FILESDIR}/example_amanda.conf" amanda.conf
- newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist
- newdoc "${FILESDIR}/example_global.conf" global.conf
+ newdoc "${FILESDIR}"/example_amanda.conf amanda.conf
+ newdoc "${FILESDIR}"/example_disklist-2.5.1_p3-r1 disklist
+ newdoc "${FILESDIR}"/example_global.conf global.conf
einfo "Cleaning up dud .la files"
perl_set_version
- find "${D}"/"${VENDOR_LIB}" -name '*.la' -delete || die
+
+ find "${ED}" -name '*.la' -delete || die
}
pkg_postinst() {
- [ ! -f "${TMPENVFILE}" -a "$MERGE_TYPE" == "binary" ] && \
- TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}"
- [ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!"
+ [[ ! -f ${TMPENVFILE} && ${MERGE_TYPE} == "binary" ]] && TMPENVFILE="${EROOT}${ENVDIR}/${ENVDFILE}"
+ [[ ! -f ${TMPENVFILE} ]] && die "Variable setting file (${TMPENVFILE}) should exist!"
source "${TMPENVFILE}"
# Migration of amandates from /etc to $localstatedir/amanda
- if [ -f "${ROOT}/etc/amandates" -a \
- ! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then
+ if [[ -f ${EROOT}/etc/amandates && ! -f ${EROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates ]]; then
einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda"
einfo "A backup is also placed at /etc/amandates.orig"
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig" || die
- mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/" || die
- cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" || die
+ cp -dp "${EROOT}"/etc/amandates "${EROOT}"/etc/amandates.orig || die
+ mkdir -p "${EROOT}/${AMANDA_USER_HOMEDIR}/amanda/" || die
+ cp -dp "${EROOT}"/etc/amandates "${EROOT}"/${AMANDA_USER_HOMEDIR}/amanda/amandates || die
fi
- if [ -f "${ROOT}/etc/amandates" ]; then
+ if [[ -f ${EROOT}/etc/amandates ]]; then
einfo "If you have migrated safely, please delete /etc/amandates"
fi
einfo "Checking setuid permissions"
- amanda_permissions_fix "${ROOT}"
+ amanda_permissions_fix "${EROOT}"/
elog "You should configure Amanda in /etc/amanda now."
elog
@@ -468,33 +488,3 @@ pkg_postinst() {
elog "virtual/inetd, as it supports modes where an inetd is not needed"
elog "(see bug #506028 for details)."
}
-
-# We have had reports of amanda file permissions getting screwed up.
-# Losing setuid, becoming too lax etc.
-# ONLY root and users in the amanda group should be able to run these binaries!
-amanda_permissions_fix() {
- local root="$1"
- [ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!"
- local le="/usr/libexec/amanda"
- local i
- for i in "${le}"/calcsize "${le}"/killpgrp \
- "${le}"/rundump "${le}"/runtar ; do
- [ -e "${root}"/${i} ] || continue
- chown root:${AMANDA_GROUP_NAME} "${root}"/${i} || die
- chmod u=srwx,g=rx,o= "${root}"/${i} || die
- done
-
- # amanda-security.conf is a config file with similar requirements:
- # writable only by root
- # world-readable
- # 3.3.9: introduced in /etc/amanda-security.conf
- # 3.4.2: moved to /etc/amanda/amanda-security.conf
- f=/etc/amanda/amanda-security.conf
- chown root:root "${root}""${f}" || die
- chmod u=rw,go=r "${root}""${f}" || die
-}
-
-# We do not want the perl-module tests.
-src_test() {
- default_src_test
-}
diff --git a/app-backup/amanda/files/amanda-3.4.1-labelstr.patch b/app-backup/amanda/files/amanda-3.4.1-labelstr.patch
deleted file mode 100644
index b169c8ae6472..000000000000
--- a/app-backup/amanda/files/amanda-3.4.1-labelstr.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-diff --git a/installcheck/Amanda_Rest_Storages.pl b/installcheck/Amanda_Rest_Storages.pl
-index f3c699b..3e4e889 100644
---- a/installcheck/Amanda_Rest_Storages.pl
-+++ b/installcheck/Amanda_Rest_Storages.pl
-@@ -308,6 +308,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply),
- 'inventory' => [
- {'current' => 1,
- 'label' => "DISKFLAT-001",
-+ 'label_match' => '1',
- 'device_status' => '0',
- 'reserved' => 0,
- 'f_type' => '1',
-@@ -467,6 +468,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply),
- 'label' => 'DISKFLAT-001',
- 'datestamp' => '20140509113436',
- 'write_protected' => '',
-+ 'label_match' => '1',
- 'process' => 'Amanda::Rest::Storages',
- 'running_on' => 'amanda-server',
- 'component' => 'rest-server',
-diff --git a/installcheck/amtape.pl b/installcheck/amtape.pl
-index 1a3527f..700c5a2 100644
---- a/installcheck/amtape.pl
-+++ b/installcheck/amtape.pl
-@@ -177,13 +177,13 @@ like($Installcheck::Run::stderr,
- ok(run('amtape', 'TESTCONF', 'show'),
- "'amtape TESTCONF show'");
- like($Installcheck::Run::stderr,
-- qr/slot +2:.*label MyTape\nslot +3/,
-+ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/,
- "'amtape TESTCONF show' ..result correct");
-
- ok(run('amtape', 'TESTCONF', 'show', '2'),
- "'amtape TESTCONF show'");
- like($Installcheck::Run::stderr,
-- qr/^slot +2:.*label MyTape$/,
-+ qr/^slot +2:.*label MyTape \(label do not match labelstr\)$/,
- "'amtape TESTCONF show 2' ..result correct");
-
- ok(run('amtape', 'TESTCONF', 'show', '1,3'),
-@@ -252,13 +252,13 @@ like(run_err('amtape', 'TESTCONF', 'update'),
- ok(run('amtape', 'TESTCONF', 'show'),
- "'amtape TESTCONF show'");
- like($Installcheck::Run::stderr,
-- qr/slot +2:.*label MyTape\nslot +3/,
-+ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/,
- "..result correct");
-
- ok(run('amtape', 'TESTCONF', 'inventory'),
- "'amtape TESTCONF inventory'");
- like($Installcheck::Run::stdout,
-- qr/slot +1: blank\nslot +2: label MyTape \(current\)\nslot +3/,
-+ qr/slot +1: blank\nslot +2: label MyTape \(current\) \(label do not match labelstr\)\nslot +3/,
- "..result correct");
-
- ok(run('amtape', 'TESTCONF', 'taper'),
-diff --git a/perl/Amanda/Changer.pm b/perl/Amanda/Changer.pm
-index 92ed9b6..4b4aad4 100644
---- a/perl/Amanda/Changer.pm
-+++ b/perl/Amanda/Changer.pm
-@@ -60,9 +60,10 @@ sub local_message {
- } elsif ($self->{'code'} == 1100014) {
- return "$self->{'err'}";
- } elsif ($self->{'code'} == 1100015) {
-- return sprintf("slot %3s: date %-14s label %s%s", $self->{'slot'},
-+ return sprintf("slot %3s: date %-14s label %s%s%s", $self->{'slot'},
- $self->{'datestamp'}, $self->{'label'},
-- $self->{'write_protected'}?" (Write protected)":"");
-+ $self->{'write_protected'}?" (Write protected)":"",
-+ $self->{'label_match'}?"":" (label do not match labelstr)");
- } elsif ($self->{'code'} == 1100016) {
- return sprintf("slot %3s: unlabeled volume%s", $self->{'slot'},
- $self->{'write_protected'}?" (Write protected)":"");
-@@ -2014,6 +2015,13 @@ sub show {
- my $st = $dev->read_label();
- my $write_protected = !$dev->check_writable();
- if ($st == $DEVICE_STATUS_SUCCESS) {
-+ my $label_match = match_labelstr(
-+ $self->{'storage'}->{'labelstr'},
-+ $self->{'storage'}->{'autolabel'},
-+ $dev->volume_label(),
-+ $res->{'barcode'},
-+ $res->{'meta'},
-+ $self->{'storage'}->{'storage_name'});
- $params{'user_msg'}->(Amanda::Changer::Message->new(
- source_filename => __FILE__,
- source_line => __LINE__,
-@@ -2022,7 +2030,8 @@ sub show {
- slot => $last_slot,
- datestamp => $dev->volume_time(),
- label => $dev->volume_label(),
-- write_protected => $write_protected));
-+ write_protected => $write_protected,
-+ label_match => $label_match));
- } elsif ($st == $DEVICE_STATUS_VOLUME_UNLABELED) {
- $params{'user_msg'}->(Amanda::Changer::Message->new(
- source_filename => __FILE__,
-diff --git a/perl/Amanda/Rest/Storages.pm b/perl/Amanda/Rest/Storages.pm
-index 680115b..b1b59d2 100644
---- a/perl/Amanda/Rest/Storages.pm
-+++ b/perl/Amanda/Rest/Storages.pm
-@@ -436,6 +436,17 @@ sub inventory {
- $inv->{'retention_type'} = $tl->get_retention_name($retention_type);
- }
- }
-+ for my $inv (@$inventory) {
-+ if ($inv->{label}) {
-+ $inv->{'label_match'} = Amanda::Util::match_labelstr(
-+ $storage->{'labelstr'},
-+ $storage->{'autolabel'},
-+ $inv->{'label'},
-+ $inv->{'barcode'},
-+ $inv->{'metae'},
-+ $storage->{'storage_name'});
-+ }
-+ }
- push @result_messages, Amanda::Changer::Message->new(
- source_filename => __FILE__,
- source_line => __LINE__,
-diff --git a/server-src/amtape.pl b/server-src/amtape.pl
-index b63607e..d06eefe 100644
---- a/server-src/amtape.pl
-+++ b/server-src/amtape.pl
-@@ -30,7 +30,7 @@ use Text::Wrap;
- use Amanda::Device qw( :constants );
- use Amanda::Debug qw( :logging );
- use Amanda::Config qw( :init :getconf config_dir_relative );
--use Amanda::Util qw( :constants );
-+use Amanda::Util qw( :constants match_labelstr );
- use Amanda::Storage;
- use Amanda::Changer;
- use Amanda::Constants;
-@@ -219,6 +219,7 @@ sub {
- for my $sl (@$inv) {
- my $line = "slot $sl->{slot}:";
- my $tle;
-+ my $meta;
- if ($sl->{'state'} == Amanda::Changer::SLOT_EMPTY) {
- $line .= " empty";
- } elsif (!defined($sl->{device_status}) && !defined($sl->{label})) {
-@@ -230,6 +231,7 @@ sub {
- if (defined $tle) {
- if ($tle->{'meta'}) {
- $line .= " ($tle->{'meta'})";
-+ $meta = $tle->{'meta'};
- }
- }
- } elsif ($sl->{'device_status'} == $DEVICE_STATUS_VOLUME_UNLABELED) {
-@@ -263,6 +265,15 @@ sub {
- $line .= " [device error]";
- }
- }
-+ if ($sl->{'label'}) {
-+ if (!match_labelstr($storage->{'labelstr'},
-+ $storage->{'autolabel'},
-+ $sl->{label},
-+ $sl->{'barcode'}, $meta,
-+ $storage->{'storage_name'})) {
-+ $line .= " (label do not match labelstr)";
-+ }
-+ }
- if (defined $tle) {
- my $retention_type = Amanda::Tapelist::get_retention_type($tle->{pool}, $tle->{label});
- $line .= " [" . $tl->get_retention_name($retention_type) . "]";
diff --git a/app-backup/amanda/files/amanda-3.4.1-slots.patch b/app-backup/amanda/files/amanda-3.4.1-slots.patch
deleted file mode 100644
index 1e4e583ecc26..000000000000
--- a/app-backup/amanda/files/amanda-3.4.1-slots.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/perl/Amanda/Changer/aggregate.pm b/perl/Amanda/Changer/aggregate.pm
-index a2bd962..ecf9d28 100644
---- a/perl/Amanda/Changer/aggregate.pm
-+++ b/perl/Amanda/Changer/aggregate.pm
-@@ -391,7 +391,10 @@ sub info_key {
- my $kid = 0;
- for (@$kid_results) {
- my ($err, %kid_info) = @$_;
-- next unless exists($kid_info{'slots'});
-+ if (!exists($kid_info{'slots'})){
-+ $kid++;
-+ next;
-+ }
- my $kid_slots = $kid_info{'slots'};
- push @slots, map "$kid:$_", @{$kid_slots};
- $kid++;
diff --git a/app-backup/amanda/files/amanda-3.5.1-fno-common.patch b/app-backup/amanda/files/amanda-3.5.1-fno-common.patch
new file mode 100644
index 000000000000..3f77c3a709c5
--- /dev/null
+++ b/app-backup/amanda/files/amanda-3.5.1-fno-common.patch
@@ -0,0 +1,13 @@
+diff --git a/common-src/testutils.h b/common-src/testutils.h
+index 31f8973..3bb376f 100644
+--- a/common-src/testutils.h
++++ b/common-src/testutils.h
+@@ -75,7 +75,7 @@ typedef struct TestUtilsTest {
+ #define tu_dbg(...) if (tu_debugging_enabled) { g_fprintf(stderr, __VA_ARGS__); }
+
+ /* Is debugging enabled for this test run? (set internally) */
+-int tu_debugging_enabled;
++extern int tu_debugging_enabled;
+
+ /*
+ * Main loop
diff --git a/app-backup/backupninja/Manifest b/app-backup/backupninja/Manifest
index c2927f33982c..a4ac17477b37 100644
--- a/app-backup/backupninja/Manifest
+++ b/app-backup/backupninja/Manifest
@@ -1,2 +1 @@
-DIST backupninja-1.0.1.tar.gz 167991 BLAKE2B 736ded9f562e894ec74e78afb9677f61889c18310b5aabe76dab7aafd550653281fc8641b416c022d49062261d67f8e6ed2aeef9c9b7054b3538c5be983bf424 SHA512 24b898526c1efa91cde6b1a0f0f7c0820c7db5b11ea36f458b45a91e94adfc77636421d7ad2245c196999886a06a3be43253e52654bc07423b1ac5571275c580
DIST backupninja-backupninja_upstream-1.1.0.tar.gz 188991 BLAKE2B 0fb7b10b4a7e635ec29238590e1fae8778e3031cdcd906bb81c4fd97e3ddf083db0e063daadbdfd0c0efe6e2447a7704a25767f65f7229705dba8f8f64c2ee2b SHA512 bea1b024f5bb8d103618f942afa07a7677f0b1896cbef611c461ba586e98c4667112282aa57fdc195f899920072b9cde7cbf97dee7c332fff67df36bb5288f87
diff --git a/app-backup/backupninja/backupninja-1.0.1-r1.ebuild b/app-backup/backupninja/backupninja-1.0.1-r1.ebuild
deleted file mode 100644
index 5a0299e3f8f6..000000000000
--- a/app-backup/backupninja/backupninja-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools
-
-# This thing change with every release, how idiotic...
-NODE_NUMBER=275
-
-DESCRIPTION="lightweight, extensible meta-backup system"
-HOMEPAGE="https://riseuplabs.org/backupninja/"
-SRC_URI="https://labs.riseup.net/code/attachments/download/${NODE_NUMBER}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-util/dialog"
-DEPEND=""
-
-src_prepare() {
- default
- mv configure.in configure.ac
- eautoreconf
-}
-
-src_configure() {
- econf --localstatedir=/var #578614
-}
diff --git a/app-backup/bacula/files/newscripts/bacula-dir.initd b/app-backup/bacula/files/newscripts/bacula-dir.initd
index d717f07f7926..fdcfc7ef2b65 100644
--- a/app-backup/bacula/files/newscripts/bacula-dir.initd
+++ b/app-backup/bacula/files/newscripts/bacula-dir.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
command=/usr/sbin/bacula-dir
command_args="${DIR_OPTIONS}"
diff --git a/app-backup/borgbackup/Manifest b/app-backup/borgbackup/Manifest
index 8c31065c9000..828b5ae03af0 100644
--- a/app-backup/borgbackup/Manifest
+++ b/app-backup/borgbackup/Manifest
@@ -1,3 +1,4 @@
DIST borgbackup-1.1.11.tar.gz 3718055 BLAKE2B ea03d538bd7936cc12705f73c3f8e63dc28167f1930e84bdd04fc13bcc34c2b9f35e7e6ed945ba20b647dbdefe12c66c04645414c7efc974e53a312e3dff6991 SHA512 cf629f31d38d27ce6350670ff27b4937f2f30eddf9e0cd9209cd9d57a4ffa653f5a291ea1e1c79614dd2c08bcf5c50bc3e4e0f222e0d3cd1bbfb2d756b4a4573
DIST borgbackup-1.1.13.tar.gz 3754457 BLAKE2B 3d3dce66ad685fbde53cb78e288b4edc53af449ed54379e5f0b9ab3b10d8cf43ae983de5abeccb1874fbf1283f3e2796ac35ff9de349905d03d0b0c560f4fa93 SHA512 2480dba6c842659a248361b35b478120e50df3525b8f07d89dac4e78369bb1dad2679b9efa6a4d6f38637759666095dc2dcbb7750edccd97972e2c8980a51b84
DIST borgbackup-1.1.14.tar.gz 3769460 BLAKE2B b5a7025d9f7f0764d6532e9e0fd867b3e4c8bac3c584f7a83331a5e7ec39fda14f3f82465e9bf483596453b7cd96bffac3f273ba6171ed109e8a83fb4a1d766e SHA512 2aae851d38ec2431cd09f9390b3afa41ec44c2891a3698b01f036cebc5b64d7b7f328d7c95bf30fc29016b4bd2d2ada2613f895091e22148f3d4861f4facd35f
+DIST borgbackup-1.1.15.tar.gz 3777355 BLAKE2B 388f3cd33280c9d1a27b9cd43509d317aa1c95d08418a43c176146243d83cf07b3033707ab5423eeb097e92bb31cf016f65fc3738ebff1bb8c704a54c6e8dd12 SHA512 db2f06a96897c07a71e9c4531d4f219ef5451009c08ae933348b1a02b7d6c95b4e814a25b4cf465c0021ff670fdd46076c486c2a466d056dd931cb7eee8b1ef3
diff --git a/app-backup/borgbackup/borgbackup-1.1.14.ebuild b/app-backup/borgbackup/borgbackup-1.1.14.ebuild
index 4604e3b829a3..7661371e52af 100644
--- a/app-backup/borgbackup/borgbackup-1.1.14.ebuild
+++ b/app-backup/borgbackup/borgbackup-1.1.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ KEYWORDS="amd64 ~ppc64 x86"
fi
DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
diff --git a/app-backup/borgbackup/borgbackup-1.1.15.ebuild b/app-backup/borgbackup/borgbackup-1.1.15.ebuild
new file mode 100644
index 000000000000..4604e3b829a3
--- /dev/null
+++ b/app-backup/borgbackup/borgbackup-1.1.15.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/${PN}/borg.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
+HOMEPAGE="https://borgbackup.readthedocs.io/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="libressl"
+
+# Unfortunately we have a file conflict with app-office/borg, bug #580402
+RDEPEND="
+ !!app-office/borg
+ app-arch/lz4
+ virtual/acl
+ dev-python/llfuse[${PYTHON_USEDEP}]
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+"
+
+DEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ ${RDEPEND}
+"
+
+src_install() {
+ distutils-r1_src_install
+ doman docs/man/*
+}
diff --git a/app-backup/btrbk/Manifest b/app-backup/btrbk/Manifest
index 430abc79f2fb..2b40a1df6d4b 100644
--- a/app-backup/btrbk/Manifest
+++ b/app-backup/btrbk/Manifest
@@ -1,2 +1,3 @@
DIST btrbk-0.29.1.tar.xz 98320 BLAKE2B f7e4939fec27cc85847d7cae8797de9c59040de641ed4c3c4dcd37102daad1d3910e2ef40c3ad486614a167a7d2206c92b961ba6e5d78e351dedb8de565e3172 SHA512 78bb24fff3606bcf5cb3f4b7e31c5423ca01208cf667efa6a67978696b06ffd4f368aed372d57372ef268ea9329d51f8abd7e2e9dc59dfb0d3133c992d1d788e
DIST btrbk-0.30.0.tar.xz 101104 BLAKE2B f963fa64a409810552f1232e42d2d7ed740cbcf498098307ebff31a6e4db06d43a2c4fd5df6120847a009fd606ea4453ca93eaa6cf7a18744d557f94722876f8 SHA512 127d184fda13cb036c737f2cad428ef8313af46ceac0b6d273d670656f874d0e096bcd2daf96a2b6e7087a9985e47a99a905515376a9270171575166ca5d6449
+DIST btrbk-0.31.0.tar.xz 106064 BLAKE2B 4cac3502396debb97b6e842be75a643b6229209eb0a28a8fa8ee5ec9cb70621bd9e7f2ca5a06fda1e167d59ac1bbfef76ab00b6a2d041a5371b4286c76701df9 SHA512 df27c8e2785b1a49aae6031f1787a69d41b61cdab7e58b43bc87232c99e534b664b545121c909c0317fb9adfaee48085ba07be0a465dec05c4869ed620b8c94f
diff --git a/app-backup/btrbk/btrbk-0.30.0.ebuild b/app-backup/btrbk/btrbk-0.30.0.ebuild
index 11509324b00e..54cfb4dc81a1 100644
--- a/app-backup/btrbk/btrbk-0.30.0.ebuild
+++ b/app-backup/btrbk/btrbk-0.30.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,6 +27,10 @@ RDEPEND="dev-lang/perl
mbuffer? ( >=sys-block/mbuffer-20180505 )
>=sys-fs/btrfs-progs-4.12"
+PATCHES=(
+ "${FILESDIR}/${P}-make-install-race.patch"
+)
+
src_compile() {
emake clean
use doc && emake -C doc
diff --git a/app-backup/btrbk/btrbk-0.31.0.ebuild b/app-backup/btrbk/btrbk-0.31.0.ebuild
new file mode 100644
index 000000000000..f301c70cd559
--- /dev/null
+++ b/app-backup/btrbk/btrbk-0.31.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/digint/btrbk.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes"
+HOMEPAGE="https://digint.ch/btrbk/"
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="+mbuffer +doc +lsbtr"
+
+DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )"
+
+RDEPEND="dev-lang/perl
+ net-misc/openssh
+ mbuffer? ( >=sys-block/mbuffer-20180505 )
+ >=sys-fs/btrfs-progs-4.12"
+
+src_compile() {
+ emake clean
+ use doc && emake -C doc
+}
+src_install() {
+ local targets="install-bin install-etc install-share install-systemd"
+ use doc && targets="${targets} install-man install-doc"
+ use lsbtr && targets="${targets} install-bin-links"
+ emake \
+ DESTDIR="${D}" \
+ DOCDIR="/usr/share/doc/${PF}" \
+ SYSTEMDDIR="$(systemd_get_systemunitdir)" \
+ ${targets}
+}
+pkg_preinst() {
+ if has_version "<${CATEGORY}/${PN}-0.26.0" ; then
+ upgrade_0_26_0_warning="1"
+ fi
+ if has_version "<${CATEGORY}/${PN}-0.27.0" ; then
+ upgrade_0_27_0_warning="1"
+ fi
+}
+pkg_postinst() {
+ if [[ "${upgrade_0_26_0_warning}" == "1" ]]; then
+ ewarn "If you are using raw targets, make sure to run the"
+ ewarn "\"raw_suffix2sidecar\" utility in each target directory."
+ fi
+ if [[ "${upgrade_0_27_0_warning}" == "1" ]]; then
+ ewarn 'Due to a bugfix in the scheduler [1] [2], previously preserved'
+ ewarn 'monthly/yearly backups could get deleted when upgrading to'
+ ewarn 'btrbk-0.27.0.'
+ ewarn ''
+ ewarn 'Before upgrading to btrbk-0.27.0, make sure to stop all cron jobs'
+ ewarn 'or systemd timers calling btrbk.'
+ ewarn ''
+ ewarn 'After upgrading, run "btrbk prune --dry-run --print-schedule" and'
+ ewarn 'check if any snapshots/backups would get deleted. If you want to'
+ ewarn 'forcibly preserve a snapshot/backup forever, rename it:'
+ ewarn ''
+ ewarn ' mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever'
+ ewarn ''
+ ewarn 'Note that btrbk ignores subvolumes with unknown naming scheme, e.g.'
+ ewarn '(".keep_forever" suffix in the example above).'
+ ewarn ''
+ ewarn ' [1] https://github.com/digint/btrbk/issues/217'
+ ewarn ' [2] https://github.com/digint/btrbk/commit/719fb5f'
+ fi
+}
diff --git a/app-backup/btrbk/btrbk-9999.ebuild b/app-backup/btrbk/btrbk-9999.ebuild
index 9406cd634c9b..f301c70cd559 100644
--- a/app-backup/btrbk/btrbk-9999.ebuild
+++ b/app-backup/btrbk/btrbk-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then
SRC_URI=""
else
SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes"
diff --git a/app-backup/btrbk/files/btrbk-0.30.0-make-install-race.patch b/app-backup/btrbk/files/btrbk-0.30.0-make-install-race.patch
new file mode 100644
index 000000000000..518e7df61185
--- /dev/null
+++ b/app-backup/btrbk/files/btrbk-0.30.0-make-install-race.patch
@@ -0,0 +1,27 @@
+https://github.com/digint/btrbk/pull/341
+
+From ec123405669762aefe813801e2c49183800cc3a9 Mon Sep 17 00:00:00 2001
+From: Xiretza <xiretza@xiretza.xyz>
+Date: Mon, 28 Sep 2020 16:49:19 +0200
+Subject: [PATCH] Fix race condition in `make install`
+
+If run with -j, it's possible for install-bin-links to run before
+install-bin and subsequently fail because $(BINDIR) hasn't been created
+yet.
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 030b577..44ab19f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -54,7 +54,7 @@ install-bin:
+ install -d -m 755 "$(DESTDIR)$(BINDIR)"
+ install -p -m 755 $(BIN) "$(DESTDIR)$(BINDIR)"
+
+-install-bin-links:
++install-bin-links: install-bin
+ @echo 'installing symlinks...'
+ for name in $(BIN_LINKS); do \
+ ln -s -n -f $(BIN) "$(DESTDIR)$(BINDIR)/$$name"; \
diff --git a/app-backup/ccollect/ccollect-0.8.ebuild b/app-backup/ccollect/ccollect-0.8.ebuild
index f4da568241cd..4ece2b179dff 100644
--- a/app-backup/ccollect/ccollect-0.8.ebuild
+++ b/app-backup/ccollect/ccollect-0.8.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://www.nico.schottelius.org/software/${PN}/download/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 hppa ppc ~sparc x86"
+KEYWORDS="amd64 ~hppa ppc ~sparc x86"
IUSE="doc examples"
DEPEND="
diff --git a/app-backup/cdbkup/cdbkup-1.0-r2.ebuild b/app-backup/cdbkup/cdbkup-1.0-r2.ebuild
index d78d1f8553f2..e3d9898bb14b 100644
--- a/app-backup/cdbkup/cdbkup-1.0-r2.ebuild
+++ b/app-backup/cdbkup/cdbkup-1.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,8 +12,9 @@ SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE=""
-DEPEND="net-misc/openssh
- virtual/cdrtools
+DEPEND="
+ app-cdr/cdrtools
+ net-misc/openssh
virtual/eject
"
RDEPEND="${DEPEND}
diff --git a/app-backup/duplicity/duplicity-0.8.15.ebuild b/app-backup/duplicity/duplicity-0.8.15.ebuild
index dba9c8650138..02a72eb52aa0 100644
--- a/app-backup/duplicity/duplicity-0.8.15.ebuild
+++ b/app-backup/duplicity/duplicity-0.8.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://code.launchpad.net/${PN}/$(ver_cut 1-2)-series/$(ver_cut 1-3)/+
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="s3 test"
CDEPEND="
diff --git a/app-backup/duplicity/duplicity-0.8.16.ebuild b/app-backup/duplicity/duplicity-0.8.16.ebuild
index d203e83f4d26..1b6d867a74e4 100644
--- a/app-backup/duplicity/duplicity-0.8.16.ebuild
+++ b/app-backup/duplicity/duplicity-0.8.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://code.launchpad.net/${PN}/$(ver_cut 1-2)-series/$(ver_cut 1-3)/+
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="s3 test"
CDEPEND="
diff --git a/app-backup/duplicity/duplicity-0.8.17.ebuild b/app-backup/duplicity/duplicity-0.8.17.ebuild
index d203e83f4d26..1b6d867a74e4 100644
--- a/app-backup/duplicity/duplicity-0.8.17.ebuild
+++ b/app-backup/duplicity/duplicity-0.8.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://code.launchpad.net/${PN}/$(ver_cut 1-2)-series/$(ver_cut 1-3)/+
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="s3 test"
CDEPEND="
diff --git a/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild b/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild
index 29be81ef0e53..18bdc6dd8548 100644
--- a/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild
+++ b/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 hppa ppc x86"
+KEYWORDS="amd64 ~hppa ppc x86"
IUSE=""
RDEPEND="app-arch/mt-st"
diff --git a/app-backup/mkstage4/metadata.xml b/app-backup/mkstage4/metadata.xml
index aab9dae8d4d3..7cdb0b6d153d 100644
--- a/app-backup/mkstage4/metadata.xml
+++ b/app-backup/mkstage4/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>chr@chymera.eu</email>
+ <email>gentoo@chymera.eu</email>
<name>Horea Christian</name>
</maintainer>
<maintainer type="project">
diff --git a/app-backup/rear/rear-2.4.ebuild b/app-backup/rear/rear-2.4.ebuild
index 640524c9f0f7..82e78bdfc3b6 100644
--- a/app-backup/rear/rear-2.4.ebuild
+++ b/app-backup/rear/rear-2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -14,6 +14,7 @@ KEYWORDS="~amd64 ~x86"
IUSE="libressl udev samba"
RDEPEND="
+ app-cdr/cdrtools
net-dialup/mingetty
net-fs/nfs-utils
sys-apps/gawk
@@ -23,7 +24,6 @@ RDEPEND="
sys-apps/util-linux
sys-block/parted
sys-boot/syslinux
- virtual/cdrtools
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
samba? ( net-fs/cifs-utils )
diff --git a/app-backup/rear/rear-2.6.ebuild b/app-backup/rear/rear-2.6.ebuild
index 406ccef55f7e..a875e76f725d 100644
--- a/app-backup/rear/rear-2.6.ebuild
+++ b/app-backup/rear/rear-2.6.ebuild
@@ -15,6 +15,7 @@ KEYWORDS="amd64 x86"
IUSE="udev"
RDEPEND="
+ app-cdr/cdrtools
app-shells/bash
net-dialup/mingetty
net-fs/nfs-utils
@@ -25,7 +26,6 @@ RDEPEND="
sys-apps/util-linux
sys-block/parted
sys-boot/syslinux
- virtual/cdrtools
udev? ( virtual/udev )
"
diff --git a/app-backup/snapper/Manifest b/app-backup/snapper/Manifest
index 3162b303dc6b..745cd271c340 100644
--- a/app-backup/snapper/Manifest
+++ b/app-backup/snapper/Manifest
@@ -1,4 +1,3 @@
DIST snapper-0.5.6.tar.bz2 580047 BLAKE2B 3b945acbf734db1925dad5515323a64a2c08ee8226a593025f9160e0d1b1140734b2b498d036256946159900b50fec8567147dc0a974c281be747e977bcbd05b SHA512 392427d097cbe221bf7ca0ae20bc065dffaa4d0017ed750c41748d71128fc7ce054bb4425d6dbed7308a530df71815f80f56e60d72aab17ef3e0a16f3b3ba47e
-DIST snapper-0.8.6.tar.bz2 607016 BLAKE2B 3e496fa22b1ecce2079d79caeb530ca1538febcc6bdf04aa0256e5b43bb546ea66436e60eeaae6722bc869c60579bc47c556671c5878dd671c266102516f04bb SHA512 f01a309a8dcfff455bf480ff297108e8ec3603d469d50f08740176e22bc2b8dd211de678fa8ce12c1ccd828348a35c6d347ca51b829d7b8c30b3fbaba4e9e2d9
-DIST snapper-0.8.7.tar.bz2 622381 BLAKE2B 82d1a9c91beb309e87acfa914b55b2ff5900edc023a5ecd6f2bee6b1a15adb1336656f3f1fffea4a9971aa449b7825750e6c680806d4574faada5bba0a6d14f1 SHA512 6fa63c2453f93a724f0ac23d84ff2c5aafc654463e84a4f767bb8a75a0d4fb7ca7314811179d5fefddddce0df4441298c67b473596aa720d86eeefa43011b727
+DIST snapper-0.8.15.tar.gz 393310 BLAKE2B a977ed8cdcbd73b4e49713dc48407c9bdab88e3084f6d9030c555da860b7277961e8e742103bbe04a05a1efa9bbe916a08fc04da3c2bcb59df8d5e53c038c373 SHA512 cdcc811c4299373e22043780a2cc06e7d5bca44fbf62f92ecb76162e791849b6002b35fe804b8b89524fd5e3ed26ed4120f09b62b202e41fedb7339ab9fe267c
DIST snapper-0.8.9.tar.gz 373192 BLAKE2B 55c927136518e91b45631f3087fce13e8e08228274ef7c54164a7024e382a45bfa5b40687fd5e3d770fc87019d8e93af5c681013a023cd89dcb1f16863a77421 SHA512 5a3e45839cd4b5e621425df2e1214ca5014a391d17b489fdf7d315e8ac9959741c1f6fcf7adf644276ed11488bc0f88fcfa563198bd78824867d267df204659d
diff --git a/app-backup/snapper/files/snapper-0.8.15-testsuite.patch b/app-backup/snapper/files/snapper-0.8.15-testsuite.patch
new file mode 100644
index 000000000000..237e0705c98d
--- /dev/null
+++ b/app-backup/snapper/files/snapper-0.8.15-testsuite.patch
@@ -0,0 +1,83 @@
+diff --git a/configure.ac b/configure.ac
+index 839d012..ceac54d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -86,6 +86,12 @@ AS_IF([test "x$with_conf" != xno], [SYSCONFIG="${with_conf}"])
+
+ CPPFLAGS="${CPPFLAGS} -DCONF_DIR='\"${SYSCONFIG}\"'"
+
++AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests],[Disable internal tests support]),
++ [with_tests=$enableval],[with_tests=yes])
++AM_CONDITIONAL(ENABLE_TESTS, [test "x$with_tests" = "xyes"])
++if test "x$with_tests" = "xyes"; then
++ AC_DEFINE(ENABLE_TESTS, 1, [Enable internal tests support])
++fi
+
+ AC_ARG_ENABLE([btrfs], AC_HELP_STRING([--disable-btrfs],[Disable Btrfs internal snapshots support]),
+ [with_btrfs=$enableval],[with_btrfs=yes])
+diff --git a/testsuite-cmp/Makefile.am b/testsuite-cmp/Makefile.am
+index 81104bf..9c29477 100644
+--- a/testsuite-cmp/Makefile.am
++++ b/testsuite-cmp/Makefile.am
+@@ -2,6 +2,7 @@
+ # Makefile.am for snapper/testsuite-cmp
+ #
+
++if ENABLE_TESTS
+ AM_CPPFLAGS = -I$(top_srcdir)
+ AM_LDFLAGS = -lboost_system
+
+@@ -15,3 +16,4 @@ cmp_SOURCES = cmp.cc
+
+ EXTRA_DIST = $(noinst_SCRIPTS)
+
++endif
+diff --git a/testsuite-real/Makefile.am b/testsuite-real/Makefile.am
+index 717313a..527843d 100644
+--- a/testsuite-real/Makefile.am
++++ b/testsuite-real/Makefile.am
+@@ -2,6 +2,7 @@
+ # Makefile.am for snapper/testsuite-real
+ #
+
++if ENABLE_TESTS
+ CXXFLAGS += -std=gnu++0x
+
+ AM_CPPFLAGS = -I$(top_srcdir)
+@@ -53,3 +54,4 @@ ug_tests_SOURCES = ug-tests.cc
+
+ EXTRA_DIST = $(test_DATA) $(test_SCRIPTS)
+
++endif
+diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
+index d7e30b8..72ef5ee 100644
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -2,6 +2,7 @@
+ # Makefile.am for snapper/testsuite
+ #
+
++if ENABLE_TESTS
+ AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS)
+
+ LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework
+@@ -40,3 +41,4 @@ json_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils
+ getopts_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la
+
+ lvm_utils_test_LDADD = -lboost_unit_test_framework ../snapper/libsnapper.la
++endif
+diff --git a/zypp-plugin/testsuite/Makefile.am b/zypp-plugin/testsuite/Makefile.am
+index 7b52e13..71cb545 100644
+--- a/zypp-plugin/testsuite/Makefile.am
++++ b/zypp-plugin/testsuite/Makefile.am
+@@ -1,3 +1,5 @@
++
++if ENABLE_TESTS
+ if HAVE_ZYPP
+ TEST_LOG_DRIVER = $(SHELL) tap-driver.sh
+
+@@ -12,3 +14,4 @@ TESTS = $(check_SCRIPTS)
+
+ EXTRA_DIST = $(check_SCRIPTS) $(noinst_SCRIPTS) $(noinst_DATA) tap-driver.sh
+ endif
++endif
diff --git a/app-backup/snapper/snapper-0.8.7.ebuild b/app-backup/snapper/snapper-0.8.15-r1.ebuild
index 07c82b3cc5cc..5dad007f2450 100644
--- a/app-backup/snapper/snapper-0.8.7.ebuild
+++ b/app-backup/snapper/snapper-0.8.15-r1.ebuild
@@ -1,20 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit systemd bash-completion-r1
+inherit autotools systemd bash-completion-r1
DESCRIPTION="Command-line program for btrfs and lvm snapshot management"
HOMEPAGE="https://snapper.io/"
-SRC_URI="ftp://ftp.suse.com/pub/projects/snapper/${P}.tar.bz2"
+SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="lvm pam xattr"
+IUSE="doc lvm pam test systemd xattr"
+RESTRICT="test"
RDEPEND="dev-libs/boost:=[threads]
+ dev-libs/json-c
dev-libs/libxml2
dev-libs/icu:=
sys-apps/acl
@@ -28,11 +30,14 @@ RDEPEND="dev-libs/boost:=[threads]
xattr? ( sys-apps/attr )"
DEPEND="${RDEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
sys-devel/gettext
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/cron-confd.patch
+ "${FILESDIR}"/${P}-testsuite.patch
)
src_prepare() {
@@ -41,19 +46,25 @@ src_prepare() {
sed -e "s,/usr/lib/systemd/system,$(systemd_get_systemunitdir),g" \
-i data/Makefile.* \
|| die "Failed to fix systemd services and timers installation path"
+ eautoreconf
}
src_configure() {
# ext4 code does not work anymore
# snapper does not build without btrfs
local myeconfargs=(
+ --disable-silent-rules
--with-conf="/etc/conf.d"
- --disable-zypp
+ --enable-zypp
--enable-rollback
+ --enable-btrfs-quota
--disable-ext4
--enable-btrfs
+ $(use_enable doc)
$(use_enable lvm)
$(use_enable pam)
+ $(use_enable test tests)
+ $(use_enable systemd)
$(use_enable xattr xattrs)
)
diff --git a/app-backup/snapper/snapper-0.8.6.ebuild b/app-backup/snapper/snapper-0.8.6.ebuild
deleted file mode 100644
index ac6ebe25add2..000000000000
--- a/app-backup/snapper/snapper-0.8.6.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit systemd bash-completion-r1
-
-DESCRIPTION="Command-line program for btrfs and lvm snapshot management"
-HOMEPAGE="https://snapper.io/"
-SRC_URI="ftp://ftp.suse.com/pub/projects/snapper/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="lvm pam xattr"
-
-RDEPEND="dev-libs/boost:=[threads]
- dev-libs/libxml2
- dev-libs/icu:=
- sys-apps/acl
- sys-apps/dbus
- sys-apps/util-linux
- >=sys-fs/btrfs-progs-3.17.1
- sys-libs/zlib
- virtual/libintl
- lvm? ( sys-fs/lvm2 )
- pam? ( sys-libs/pam )
- xattr? ( sys-apps/attr )"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/cron-confd.patch
-)
-
-src_prepare() {
- default
-
- sed -e "s,/usr/lib/systemd/system,$(systemd_get_systemunitdir),g" \
- -i data/Makefile.* \
- || die "Failed to fix systemd services and timers installation path"
-}
-
-src_configure() {
- # ext4 code does not work anymore
- # snapper does not build without btrfs
- local myeconfargs=(
- --with-conf="/etc/conf.d"
- --disable-zypp
- --enable-rollback
- --disable-ext4
- --enable-btrfs
- $(use_enable lvm)
- $(use_enable pam)
- $(use_enable xattr xattrs)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # Existing configuration file required to function
- newconfd data/sysconfig.snapper snapper
- find "${D}" -name '*.la' -delete || die
- newbashcomp "${FILESDIR}"/${PN}.bash ${PN}
-}
-
-pkg_postinst() {
- elog "In order to use Snapper, you need to set up"
- elog "at least one config first. To do this, run:"
- elog "snapper create-config <subvolume>"
- elog "For more information, see man (8) snapper or"
- elog "http://snapper.io/documentation.html"
-}
diff --git a/app-backup/tarsnap/files/tarsnap-1.0.39-respect-AR.patch b/app-backup/tarsnap/files/tarsnap-1.0.39-respect-AR.patch
new file mode 100644
index 000000000000..f5a1115f161d
--- /dev/null
+++ b/app-backup/tarsnap/files/tarsnap-1.0.39-respect-AR.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/721914
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -124,7 +124,7 @@ CONFIG_HEADER = config.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+ LIBRARIES = $(noinst_LIBRARIES)
+-AR = ar
++AR := ar
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+
diff --git a/app-backup/tarsnap/metadata.xml b/app-backup/tarsnap/metadata.xml
index a9ceb1fc192f..c2bea158f1c8 100644
--- a/app-backup/tarsnap/metadata.xml
+++ b/app-backup/tarsnap/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
</maintainer>
<origin>gentoo-staging</origin>
</pkgmetadata>
diff --git a/app-backup/tarsnap/tarsnap-1.0.39.ebuild b/app-backup/tarsnap/tarsnap-1.0.39.ebuild
index 42bf7639963d..2d6ba5fde749 100644
--- a/app-backup/tarsnap/tarsnap-1.0.39.ebuild
+++ b/app-backup/tarsnap/tarsnap-1.0.39.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-inherit bash-completion-r1
+inherit bash-completion-r1 toolchain-funcs
DESCRIPTION="Online backups for the truly paranoid"
HOMEPAGE="https://www.tarsnap.com/"
@@ -26,6 +26,8 @@ RDEPEND="
DEPEND="${RDEPEND}
virtual/os-headers" # Required for "magic.h"
+PATCHES=( "${FILESDIR}"/${PN}-1.0.39-respect-AR.patch )
+
S=${WORKDIR}/${PN}-autoconf-${PV}
src_configure() {
@@ -37,6 +39,10 @@ src_configure() {
$(use_with lzma)
}
+src_compile() {
+ emake AR=$(tc-getAR)
+}
+
src_install() {
default
dobashcomp misc/bash_completion.d/*