public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-backup/amanda/, app-backup/amanda/files/
@ 2020-12-28 14:48 David Seifert
  0 siblings, 0 replies; 3+ messages in thread
From: David Seifert @ 2020-12-28 14:48 UTC (permalink / raw
  To: gentoo-commits

commit:     c8cc93c604b410649d703e5cfec9d54d30db6886
Author:     Jakov Smolic <jakov.smolic <AT> sartura <DOT> hr>
AuthorDate: Mon Dec 28 14:47:47 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Dec 28 14:47:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8cc93c6

app-backup/amanda: Port to EAPI 7 and GLEP 81

Closes: https://bugs.gentoo.org/707236
Package-Manager: Portage-3.0.9, Repoman-3.0.1
Signed-off-by: Jakov Smolic <jakov.smolic <AT> sartura.hr>
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 ...anda-3.5.1-r1.ebuild => amanda-3.5.1-r2.ebuild} | 94 +++++++++++-----------
 .../amanda/files/amanda-3.5.1-fno-common.patch     | 13 +++
 2 files changed, 59 insertions(+), 48 deletions(-)

diff --git a/app-backup/amanda/amanda-3.5.1-r1.ebuild b/app-backup/amanda/amanda-3.5.1-r2.ebuild
similarity index 89%
rename from app-backup/amanda/amanda-3.5.1-r1.ebuild
rename to app-backup/amanda/amanda-3.5.1-r2.ebuild
index 24ae22aa02c..98bcf0c20ae 100644
--- a/app-backup/amanda/amanda-3.5.1-r1.ebuild
+++ b/app-backup/amanda/amanda-3.5.1-r2.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,8 +64,8 @@ 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
@@ -75,13 +80,9 @@ 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.
@@ -127,9 +128,6 @@ 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() {
@@ -138,15 +136,16 @@ src_unpack() {
 }
 
 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
 
@@ -347,7 +346,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,10 +354,10 @@ 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"
@@ -376,8 +375,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,8 +383,8 @@ 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
 		fperms 0700 \
@@ -411,9 +409,9 @@ src_install() {
 	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
+	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

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 00000000000..3f77c3a709c
--- /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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-backup/amanda/, app-backup/amanda/files/
@ 2021-01-24 16:38 David Seifert
  0 siblings, 0 replies; 3+ messages in thread
From: David Seifert @ 2021-01-24 16:38 UTC (permalink / raw
  To: gentoo-commits

commit:     c4774115daa70bfcd0ce69c226ba567cfea74d04
Author:     Jakov Smolic <jakov.smolic <AT> sartura <DOT> hr>
AuthorDate: Sun Jan 24 16:37:52 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 16:37:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4774115

app-backup/amanda: Remove old

Bug: https://bugs.gentoo.org/756883
Signed-off-by: Jakov Smolic <jakov.smolic <AT> sartura.hr>
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 app-backup/amanda/Manifest                       |   1 -
 app-backup/amanda/amanda-3.3.9.ebuild            | 480 -----------------------
 app-backup/amanda/files/amanda-3.3.9-stuck.patch |  11 -
 3 files changed, 492 deletions(-)

diff --git a/app-backup/amanda/Manifest b/app-backup/amanda/Manifest
index 95116b4ada6..541ae789491 100644
--- a/app-backup/amanda/Manifest
+++ b/app-backup/amanda/Manifest
@@ -1,2 +1 @@
-DIST amanda-3.3.9.tar.gz 4673301 BLAKE2B 8123a4f0d1fd961562a1ae6b97c2bddc4d9cb735b994c3c5f2359fa8a475a20658fc7e94c86307ab11710f23989a98c77b320e34d881b38d56a51ab0ab2f1bbd SHA512 345670a20cff335453e8dcbf457d1fcdb9f266e4a03d729c2b1ba762f4fac323de4a87713d0fd54c11ca244a08dc97fb8c641625f7fa81cb241b3c17748b1b7e
 DIST amanda-3.5.1.tar.gz 5402093 BLAKE2B 4c342fb55b2b5fc0d338a1616bf26b1d844b0ecd6627432b849996c0072756090e1f695050605af0a5c3eda2daeb63131fbe16b5ac728af9137699f4d916b8e8 SHA512 8d5451b6b3f18f9a705592ba6baf8ffb7fb4fe62261eac8a4f4fae4eded3f7f447f547ac6f016bcb57ea43f116cf87fdc48f8e77b117bbdecf00d3e37dd0f39f

diff --git a/app-backup/amanda/amanda-3.3.9.ebuild b/app-backup/amanda/amanda-3.3.9.ebuild
deleted file mode 100644
index 9936440e11b..00000000000
--- a/app-backup/amanda/amanda-3.3.9.ebuild
+++ /dev/null
@@ -1,480 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils 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
-	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
-	"
-
-MYFILESDIR="${T}/files"
-ENVDIR="/etc/env.d"
-ENVDFILE="97amanda"
-TMPENVFILE="${T}/${ENVDFILE}"
-
-# This is a complete list of Amanda settings that the ebuild takes from the
-# build environment. This allows users to alter the behavior of the package as
-# upstream intended, but keeping with Gentoo style. We store a copy of them in
-# /etc/env.d/97amanda during the install, so that they are preserved for future
-# installed. This variable name must not start with AMANDA_, as we do not want
-# it captured into the env file.
-ENV_SETTINGS_AMANDA="
-AMANDA_GROUP_GID AMANDA_GROUP_NAME
-AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS
-AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX
-AMANDA_TAR_LISTDIR AMANDA_TAR
-AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS
-AMANDA_CONFIG_NAME AMANDA_TMPDIR"
-
-amanda_variable_setup() {
-
-	# Setting vars
-	local currentamanda
-
-	# Grab the current settings
-	currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
-
-	# First we set the defaults
-	[ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87
-	[ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda
-	[ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda
-	[ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87
-	[ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=/bin/bash
-	[ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda
-	[ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}"
-
-	# This installs Amanda, with the server. However, it could be a client,
-	# just specify an alternate server name in AMANDA_SERVER.
-	[ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}"
-	[ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}"
-	[ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}"
-	[ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists
-	[ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1
-	[ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda
-	[ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR"
-	# These are left empty by default
-	[ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP=
-	[ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP=
-	[ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH=
-	[ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS=
-
-	# What tar to use
-	[ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar
-
-	# Now pull in the old stuff
-	if [ -f "${ROOT}${ENVDIR}/${ENVDFILE}" ]; then
-		# We don't just source it as we don't want everything in there.
-		eval $(egrep "^AMANDA_" "${ROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS')
-	fi
-
-	# Re-apply the new settings if any
-	[ -n "${currentamanda}" ] && eval `echo "${currentamanda}"`
-
-}
-
-pkg_setup() {
-	amanda_variable_setup
-
-	# 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
-	sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am
-
-	# bug with glibc-2.16.0
-	sed -i -e '/gets is a security/d' "${S}"/gnulib/stdio.in.h
-
-	eautoreconf
-
-	# places for us to work in
-	mkdir -p "${MYFILESDIR}"
-	# Now we store the settings we just created
-	set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}"
-
-	# Prepare our custom files
-	einfo "Building custom configuration files"
-	local i # our iterator
-	local sedexpr # var for sed expr
-	sedexpr=''
-	for i in ${ENV_SETTINGS_AMANDA} ; do
-		local val
-		eval "val=\"\${${i}}\""
-		sedexpr="${sedexpr}s|__${i}__|${val}|g;"
-	done
-
-	# now apply the sed expr
-	for i in "${FILESDIR}"/amanda-* ; do
-		sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`"
-	done
-
-	(
-		cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1
-		use minimal || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1
-	) > "${T}"/amandahosts
-
-	if ! use minimal; then
-		sed -i -e 's:^\(my $amandahomedir\)=.*:\1 = $localstatedir;:' \
-			server-src/am{addclient,serverconfig}.pl || die
-	fi
-
-	epatch "${FILESDIR}"/${P}-stuck.patch
-}
-
-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_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-r1 '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 "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/files/amanda-3.3.9-stuck.patch b/app-backup/amanda/files/amanda-3.3.9-stuck.patch
deleted file mode 100644
index 88892e41be3..00000000000
--- a/app-backup/amanda/files/amanda-3.3.9-stuck.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/amanda/server-src/driver.c
-+++ b/amanda/server-src/driver.c
-@@ -3957,6 +3957,8 @@
-     driver_debug(2, _("new_data: %lld\n"), (long long)new_data);
-     driver_debug(2, _("data_free: %lld\n"), (long long)data_free);
- ;
-+    tapeq_size -= data_free;
-+    tapeq_size += new_data;
-     driver_debug(2, _("tapeq_size: %lld\n"), (long long)tapeq_size);
- 
-     sched_size = runq_size + tapeq_size + dumpers_size;
\ No newline at end of file


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-backup/amanda/, app-backup/amanda/files/
@ 2024-06-07 13:31 Joonas Niilola
  0 siblings, 0 replies; 3+ messages in thread
From: Joonas Niilola @ 2024-06-07 13:31 UTC (permalink / raw
  To: gentoo-commits

commit:     75ae4e8afe2fc84ced438d7d08fc39d5b52d4802
Author:     Doug Nazar <nazard <AT> nazar <DOT> ca>
AuthorDate: Sat Apr 20 17:45:09 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Jun  7 13:31:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75ae4e8a

app-backup/amanda: add 3.5.4

Signed-off-by: Doug Nazar <nazard <AT> nazar.ca>
Closes: https://github.com/gentoo/gentoo/pull/36333
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-backup/amanda/Manifest                         |   1 +
 app-backup/amanda/amanda-3.5.4.ebuild              | 523 +++++++++++++++++++++
 app-backup/amanda/files/amanda-3.5.4-no-ndmp.patch |  32 ++
 app-backup/amanda/metadata.xml                     |   1 +
 4 files changed, 557 insertions(+)

diff --git a/app-backup/amanda/Manifest b/app-backup/amanda/Manifest
index 541ae7894914..534503eb37c4 100644
--- a/app-backup/amanda/Manifest
+++ b/app-backup/amanda/Manifest
@@ -1 +1,2 @@
 DIST amanda-3.5.1.tar.gz 5402093 BLAKE2B 4c342fb55b2b5fc0d338a1616bf26b1d844b0ecd6627432b849996c0072756090e1f695050605af0a5c3eda2daeb63131fbe16b5ac728af9137699f4d916b8e8 SHA512 8d5451b6b3f18f9a705592ba6baf8ffb7fb4fe62261eac8a4f4fae4eded3f7f447f547ac6f016bcb57ea43f116cf87fdc48f8e77b117bbdecf00d3e37dd0f39f
+DIST tag-community-3.5.4.tar.gz 3926529 BLAKE2B 9f50786015535007554fcfe974f228e21028860d53a211b89f5da2294dc70314a5dce46a3bdca37e98357402461b59f3952311796818ab8f9556553324bc0c0b SHA512 748491e36776a02a1497ce061588d40dfe6eceb6967b7ea7505c086e084aa1d6f69d8a581b46aa305d17c4e6eba28ba746aa178cb6ab97e1fd96ccdad5910824

diff --git a/app-backup/amanda/amanda-3.5.4.ebuild b/app-backup/amanda/amanda-3.5.4.ebuild
new file mode 100644
index 000000000000..d22a6a2365e8
--- /dev/null
+++ b/app-backup/amanda/amanda-3.5.4.ebuild
@@ -0,0 +1,523 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools perl-module systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver"
+HOMEPAGE="http://www.amanda.org/"
+SRC_URI="https://github.com/zmanda/amanda/archive/refs/tags/tag-community-${PV}.tar.gz"
+
+S="${WORKDIR}/amanda-tag-community-${PV}"
+
+LICENSE="HPND BSD BSD-2 GPL-2+ GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="curl gnuplot ipv6 kerberos minimal ndmp nls readline s3 samba selinux systemd xfs"
+
+DEPEND="
+	acct-group/amanda
+	acct-user/amanda
+	app-arch/dump
+	app-arch/tar
+	dev-libs/glib:2
+	dev-lang/perl:=
+	dev-perl/Encode-Locale
+	dev-perl/JSON
+	virtual/openssh
+	sys-libs/readline:=
+	app-alternatives/awk
+	kerberos? ( app-crypt/mit-krb5 )
+	ndmp? ( net-libs/libtirpc:= )
+	nls? ( virtual/libintl )
+	samba? ( net-fs/samba:= )
+	s3? ( net-misc/curl )
+	!s3? ( curl? ( net-misc/curl ) )
+	xfs? ( sys-fs/xfsdump )
+	!minimal? (
+		app-arch/mt-st:=
+		app-crypt/aespipe
+		app-crypt/gnupg
+		dev-perl/XML-Simple
+		sys-block/mtx
+		virtual/mailx
+		gnuplot? ( sci-visualization/gnuplot )
+	)"
+RDEPEND="
+	${DEPEND}
+	selinux? ( sec-policy/selinux-amanda )
+"
+BDEPEND="
+	app-text/docbook-xsl-stylesheets
+	app-text/docbook-xml-dtd
+	dev-lang/swig
+	dev-libs/libxslt
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.5.1-configure-clang16.patch
+	"${FILESDIR}"/${PN}-3.5.4-no-ndmp.patch
+)
+
+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_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
+
+	# Grab the current settings
+	currentamanda="$(set | grep -E "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)"
+
+	# First we set the defaults
+	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.
+	: ${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
+	: ${AMANDA_PORTS_UDP:=""}
+	: ${AMANDA_PORTS_TCP:=""}
+	: ${AMANDA_PORTS_BOTH:=""}
+	: ${AMANDA_PORTS:=""}
+
+	# What tar to use
+	: ${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 $(grep -E "^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
+}
+
+src_unpack() {
+	# we do not want the perl src_unpack
+	default
+}
+
+src_prepare() {
+	default
+	# gentoo bug #331111
+	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' 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/' \
+		config/amanda/dumpers.m4 || die
+
+	# Generate file-list. Copied from autogen
+	(
+		cd config
+		for m4dir in amanda gettext-macros gnulib macro-archive; do
+			echo "## this file is automatically generated by autogen" > "$m4dir/file-list"
+			for f in $m4dir/*.m4; do echo "EXTRA_DIST += $f" >> "$m4dir/file-list"; done
+		done
+
+		echo "## this file is automatically generated by autogen" > "automake/file-list"
+		for f in automake/*.am; do echo "EXTRA_DIST += $f" >> "automake/file-list"; done
+	)
+
+	# Generate FULL_VERSION. Copied from autogen
+	config/set_full_version
+
+	eautoreconf
+
+	# places for us to work in
+	mkdir -p "${MYFILESDIR}" || die
+	# Now we store the settings we just created
+	set | grep -E "^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+=( --with-tape-server="${AMANDA_SERVER_TAPE}" )
+	einfo "Using ${AMANDA_SERVER_TAPE_DEVICE} for tape server."
+	myconf+=( --with-tape-device="${AMANDA_SERVER_TAPE_DEVICE}" )
+	einfo "Using ${AMANDA_SERVER_INDEX} for index server."
+	myconf+=( --with-index-server="${AMANDA_SERVER_INDEX}" )
+	einfo "Using ${AMANDA_USER_NAME} for amanda user."
+	myconf+=( --with-user="${AMANDA_USER_NAME}" )
+	einfo "Using ${AMANDA_GROUP_NAME} for amanda group."
+	myconf+=( --with-group="${AMANDA_GROUP_NAME}" )
+	einfo "Using ${AMANDA_TAR} as Tar implementation."
+	myconf+=( --with-gnutar="${AMANDA_TAR}" )
+	einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir."
+	myconf+=( --with-gnutar-listdir="${AMANDA_TAR_LISTDIR}" )
+	einfo "Using ${AMANDA_CONFIG_NAME} as default config name."
+	myconf+=( --with-config="${AMANDA_CONFIG_NAME}" )
+	einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory."
+	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+=( --with-udpportrange="${AMANDA_PORTS_UDP}" )
+	fi
+	if [[ -n ${AMANDA_PORTS_TCP} ]]; then
+		einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}"
+		myconf+=( --with-tcpportrange="${AMANDA_PORTS_TCP}" )
+	fi
+	if [[ -n ${AMANDA_PORTS} ]]; then
+		einfo "Using ports ${AMANDA_PORTS/,/-}"
+		myconf+=( --with-portrange="${AMANDA_PORTS}" )
+	fi
+
+	# Extras
+	# Speed option
+	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+=( --with-debugging )
+	# Where to put our files
+	myconf+=( --localstatedir="${AMANDA_USER_HOMEDIR}" )
+
+	# Samba support
+	myconf+=( $(use_with samba smbclient /usr/bin/smbclient) )
+
+	# Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by
+	# default
+	myconf+=( --with-bsd-security )
+	myconf+=( --with-ssh-security )
+	myconf+=( --with-bsdudp-security )
+	myconf+=( --with-bsdtcp-security )
+
+	# kerberos-security mechanism version 5
+	myconf+=( $(use_with kerberos krb5-security) )
+
+	# Amazon S3 support
+	myconf+=( $(use_enable s3 s3-device) )
+
+	# libcurl is required for S3 but otherwise optional
+	if ! use s3; then
+		myconf+=( $(use_with curl libcurl) )
+	fi
+
+	# Client only, as requested in bug #127725
+	if use minimal; then
+		myconf+=( --without-server )
+	else
+		# amplot
+		myconf+=( $(use_with gnuplot) )
+	fi
+
+	# IPv6 fun.
+	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+=( $(use_enable nls) )
+
+	# Bug #296634: Perl location
+	perl_set_version
+	myconf+=( --with-amperldir="${VENDOR_LIB}" )
+
+	# Bug 296633: --disable-syntax-checks
+	# Some tests are not safe for production systems
+	myconf+=( --disable-syntax-checks )
+
+	# build manpages
+	myconf+=( --enable-manpage-build )
+
+	# Bug #636262
+	myconf+=( $(use_with ndmp ndmp) )
+
+	# bug #483120
+	tc-export AR
+
+	econf \
+		--disable-static \
+		$(use_with readline) \
+		"${myconf[@]}"
+}
+
+src_compile() {
+	# Again, do not want the perl-module 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
+	# must be in /etc as all files in /etc/amanda should be owned by amanda user/group
+	f=/etc/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!"
+	source ${TMPENVFILE}
+
+	einfo "Doing stock install"
+	emake DESTDIR="${D}" install
+
+	# Build the envdir file
+	# Don't forget this..
+	einfo "Installing environment config file"
+	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
+	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 "${AMANDA_USER_HOMEDIR}/.amandahosts" /etc/amanda/amandahosts
+	insinto "${AMANDA_USER_HOMEDIR}"
+	einfo "Installing .profile for ${AMANDA_USER_NAME} user"
+	newins "${MYFILESDIR}"/amanda-profile .profile
+
+	insinto /etc/amanda
+	doins example/amanda-client.conf
+	if ! use minimal; then
+		insinto "/etc/amanda/${AMANDA_CONFIG_NAME}"
+		doins example/amanda.conf
+		doins example/disklist
+		keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index"
+	fi
+
+	keepdir "${AMANDA_TAR_LISTDIR}"
+	keepdir "${AMANDA_USER_HOMEDIR}/amanda"
+	# Just make sure it exists for XFS to work...
+	use xfs && keepdir /var/xfsdump/inventory
+
+	newtmpfiles - amanda.conf <<- _EOF_
+		d	${AMANDA_TMPDIR}	0700	${AMANDA_USER_NAME}	${AMANDA_GROUP_NAME}
+	_EOF_
+
+	local i
+	for i in /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_USER_HOMEDIR}/amanda" \
+		/etc/amanda
+
+	if ! use minimal; then
+		fperms 0700 \
+			 "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \
+			 /etc/amanda/${AMANDA_CONFIG_NAME}
+	fi
+
+	# move example security file to production location
+	mv "${ED}/etc/amanda/amanda-security.conf" "${ED}/etc/amanda-security.conf"
+
+	einfo "Setting setuid permissions"
+	amanda_permissions_fix "${ED}"
+
+	# Relax permissions again
+	insopts -m0644
+
+	# docs
+	einfo "Installing documentation"
+	dodoc AUTHORS ChangeLog DEVELOPING NEWS 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 "${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
+
+	einfo "Cleaning up dud .la files"
+	perl_set_version
+
+	find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+	[[ ! -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 ${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 "${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 ${EROOT}/etc/amandates ]]; then
+		einfo "If you have migrated safely, please delete /etc/amandates"
+	fi
+
+	einfo "Checking setuid permissions"
+	amanda_permissions_fix "${EROOT}"/
+
+	tmpfiles_process amanda.conf
+
+	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)."
+}

diff --git a/app-backup/amanda/files/amanda-3.5.4-no-ndmp.patch b/app-backup/amanda/files/amanda-3.5.4-no-ndmp.patch
new file mode 100644
index 000000000000..71919e8e7877
--- /dev/null
+++ b/app-backup/amanda/files/amanda-3.5.4-no-ndmp.patch
@@ -0,0 +1,32 @@
+diff -ur amanda-tag-community-3.5.4.orig/perl/Makefile.am amanda-tag-community-3.5.4/perl/Makefile.am
+--- amanda-tag-community-3.5.4.orig/perl/Makefile.am	2024-04-13 03:27:58.245243730 -0400
++++ amanda-tag-community-3.5.4/perl/Makefile.am	2024-04-13 02:57:41.721169046 -0400
+@@ -139,8 +139,10 @@
+ libDevice_la_LIBADD = amglue/libamglue.la \
+ 	$(top_builddir)/device-src/libamdevice.la \
+ 	$(top_builddir)/xfer-src/libamxfer.la \
+-	$(top_builddir)/ndmp-src/libndmlib.la \
+ 	$(top_builddir)/common-src/libamanda.la
++if WANT_NDMP
++libDevice_la_LIBADD += $(top_builddir)/ndmp-src/libndmlib.la
++endif
+ Amanda_DATA += Amanda/Device.pm
+ MAINTAINERCLEANFILES += Amanda/Device.c Amanda/Device.pm
+ endif
+diff -ur amanda-tag-community-3.5.4.orig/server-src/Makefile.am amanda-tag-community-3.5.4/server-src/Makefile.am
+--- amanda-tag-community-3.5.4.orig/server-src/Makefile.am	2024-04-13 03:27:58.249243801 -0400
++++ amanda-tag-community-3.5.4/server-src/Makefile.am	2024-04-13 03:28:59.274321715 -0400
+@@ -90,9 +90,12 @@
+ 	libamserver.la               \
+ 	../device-src/libamdevice.la     \
+ 	../xfer-src/libamxfer.la         \
+-	../ndmp-src/libndmlib.la         \
+ 	../common-src/libamanda.la
+ 
++if WANT_NDMP
++LDADD += ../ndmp-src/libndmlib.la
++endif
++
+ libamserver_la_SOURCES=	amindex.c	cmdfile.c \
+ 			diskfile.c	driverio.c	cmdline.c  \
+ 			holding.c	infofile.c	logfile.c	\

diff --git a/app-backup/amanda/metadata.xml b/app-backup/amanda/metadata.xml
index 8372298b14c7..1afce8b34304 100644
--- a/app-backup/amanda/metadata.xml
+++ b/app-backup/amanda/metadata.xml
@@ -21,5 +21,6 @@
 	</use>
 	<upstream>
 		<remote-id type="sourceforge">amanda</remote-id>
+		<remote-id type="github">zmanda/amanda</remote-id>
 	</upstream>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-07 13:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-07 13:31 [gentoo-commits] repo/gentoo:master commit in: app-backup/amanda/, app-backup/amanda/files/ Joonas Niilola
  -- strict thread matches above, loose matches on Subject: below --
2021-01-24 16:38 David Seifert
2020-12-28 14:48 David Seifert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox