summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-backup')
-rw-r--r--app-backup/amanda/Manifest1
-rw-r--r--app-backup/amanda/amanda-3.5.4.ebuild523
-rw-r--r--app-backup/amanda/files/amanda-3.5.4-no-ndmp.patch32
-rw-r--r--app-backup/amanda/metadata.xml1
-rw-r--r--app-backup/backintime/Manifest2
-rw-r--r--app-backup/backintime/backintime-1.3.2-r1.ebuild77
-rw-r--r--app-backup/backintime/backintime-1.3.3-r1.ebuild4
-rw-r--r--app-backup/backintime/backintime-1.4.3-r1.ebuild108
-rw-r--r--app-backup/backintime/backintime-9999.ebuild25
-rw-r--r--app-backup/backintime/files/backintime-1.4.3-no-compress-docs-examples.patch120
-rw-r--r--app-backup/backuppc/backuppc-4.4.0-r1.ebuild7
-rw-r--r--app-backup/backuppc/backuppc-4.4.0-r2.ebuild195
-rw-r--r--app-backup/backuppc/files/4.4.0/backuppc-4.4.0-fix-config-write.patch48
-rw-r--r--app-backup/bacula/Manifest1
-rw-r--r--app-backup/bacula/bacula-15.0.2.ebuild449
-rw-r--r--app-backup/bacula/files/bacula-15.0.2-fix-static.patch63
-rw-r--r--app-backup/bacula/files/bacula-15.0.2-fix_slibtool.patch67
-rw-r--r--app-backup/bareos/Manifest2
-rw-r--r--app-backup/bareos/bareos-21.1.9.ebuild414
-rw-r--r--app-backup/bareos/bareos-22.1.4.ebuild434
-rw-r--r--app-backup/borgmatic/Manifest1
-rw-r--r--app-backup/borgmatic/borgmatic-1.8.11.ebuild79
-rw-r--r--app-backup/kup/Manifest1
-rw-r--r--app-backup/kup/kup-0.10.0.ebuild45
-rw-r--r--app-backup/luckybackup/metadata.xml5
-rw-r--r--app-backup/rdedup/Manifest32
-rw-r--r--app-backup/rdedup/rdedup-1.0.2-r1.ebuild74
-rw-r--r--app-backup/rdedup/rdedup-1.0.2.ebuild63
-rw-r--r--app-backup/tsm/Manifest1
-rw-r--r--app-backup/tsm/tsm-8.1.17.2-r1.ebuild252
-rw-r--r--app-backup/tsm/tsm-8.1.22.0.ebuild2
31 files changed, 2704 insertions, 424 deletions
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>
diff --git a/app-backup/backintime/Manifest b/app-backup/backintime/Manifest
index cdaa0118f8de..1fc3565c4733 100644
--- a/app-backup/backintime/Manifest
+++ b/app-backup/backintime/Manifest
@@ -1,2 +1,2 @@
-DIST backintime-1.3.2.tar.gz 714459 BLAKE2B cc53bd5391155705016248511e30cdfa7bc25f0a7cb170dfeeffda397e8be1b22f8e335063289d8c192f94c469430655064899ac8059f22f3b7582e3af87d373 SHA512 19f756d03cc7533e02bb5172ae3f8c167206bf5e8d60c0f3af1f647e01297a4eeb7889bbb5b58e46636bc31392ee436249b276ddbfa41697a0538c542fa26cb8
DIST backintime-1.3.3.tar.gz 751422 BLAKE2B 5c6723d1b190c5331b8453d4cf2b14e00a4bb64777d73e3b2a1405be51ebc5418f749fca654032154f1cec2389efcd41e52c571c1f9f1f982bbd0adcb0b7dd59 SHA512 f91157133166869665c8d7475c870cd5418135e17f5e7c8ae5788eb8cd3be39e8ea3d7652aa5945f64d9906b6baed0ed3ee16eb46b81a088210459333efe9372
+DIST backintime-1.4.3.tar.gz 1900866 BLAKE2B ee9f389a7995e0ca059dab7f94ce59b2a0285bc213ffa2fcdc2d3ed2b9920762c16beb0c2d961ac922837c55fa30e1ce27a9de26c6ad0e879f5c70e876644298 SHA512 d5470590d9807c5f4c1c6f46062465ecac9432831f15d1948a95b3f7ba06015939eb292bbb53d2f039ef9e967a93b6bea0e08b928a009370995d0cc2db1f7fdf
diff --git a/app-backup/backintime/backintime-1.3.2-r1.ebuild b/app-backup/backintime/backintime-1.3.2-r1.ebuild
deleted file mode 100644
index 6eb50a6b1a7d..000000000000
--- a/app-backup/backintime/backintime-1.3.2-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-single-r1 xdg
-
-DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
-HOMEPAGE="https://backintime.readthedocs.io/en/latest/ https://github.com/bit-team/backintime/"
-SRC_URI="https://github.com/bit-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="examples qt5"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/keyring[${PYTHON_USEDEP}]
- ')"
-RDEPEND="${DEPEND}
- virtual/openssh
- net-misc/rsync[xattr,acl]
- qt5? ( dev-python/PyQt5[gui,widgets] )"
-BDEPEND="sys-devel/gettext"
-
-PATCHES=( "${FILESDIR}/${PN}-1.2.1-no-compress-docs-examples.patch" )
-
-src_configure() {
- pushd common > /dev/null || die
- # Not autotools
- ./configure --python3 --no-fuse-group || die
- popd > /dev/null || die
-
- if use qt5 ; then
- pushd qt > /dev/null || die
- ./configure --python3 || die
- popd > /dev/null || die
- fi
-}
-
-src_compile() {
- pushd common > /dev/null || die
- emake
- popd > /dev/null || die
-
- if use qt5 ; then
- pushd qt > /dev/null || die
- emake
- popd > /dev/null || die
- fi
-}
-
-src_install() {
- pushd common > /dev/null || die
- emake DESTDIR="${D}" install
- popd > /dev/null || die
-
- if use qt5 ; then
- pushd qt > /dev/null || die
- emake DESTDIR="${D}" install
- popd > /dev/null || die
- fi
-
- einstalldocs
-
- if use examples ; then
- docinto examples
- dodoc common/{config-example-local,config-example-ssh}
- fi
-
- python_optimize "${D}"
-}
diff --git a/app-backup/backintime/backintime-1.3.3-r1.ebuild b/app-backup/backintime/backintime-1.3.3-r1.ebuild
index 4168adaf8d16..1c12af8e9f54 100644
--- a/app-backup/backintime/backintime-1.3.3-r1.ebuild
+++ b/app-backup/backintime/backintime-1.3.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 xdg
DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
diff --git a/app-backup/backintime/backintime-1.4.3-r1.ebuild b/app-backup/backintime/backintime-1.4.3-r1.ebuild
new file mode 100644
index 000000000000..9ab4a9338527
--- /dev/null
+++ b/app-backup/backintime/backintime-1.4.3-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-single-r1 xdg
+
+DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
+HOMEPAGE="https://backintime.readthedocs.io/en/latest/ https://github.com/bit-team/backintime/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/bit-team/backintime/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/bit-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples gui test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ ')
+"
+RDEPEND="
+ ${DEPEND}
+ virtual/openssh
+ net-misc/rsync[xattr,acl]
+ gui? ( dev-python/PyQt5[gui,widgets] )
+"
+BDEPEND="
+ sys-devel/gettext
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.4.3-no-compress-docs-examples.patch"
+)
+
+src_prepare() {
+ default
+
+ # Looks at host system too much, so too flaky
+ rm common/test/test_tools.py || die
+ # Fails with dbus/udev issue (likely sandbox)
+ rm common/test/test_snapshots.py || die
+}
+
+src_configure() {
+ # TODO: Review https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#dependencies
+ # for deps (some may be optfeatures).
+ pushd common > /dev/null || die
+ # Not autotools
+ ./configure --python="${PYTHON}" --no-fuse-group || die
+ popd > /dev/null || die
+
+ if use gui ; then
+ pushd qt > /dev/null || die
+ ./configure --python="${PYTHON}" || die
+ popd > /dev/null || die
+ fi
+}
+
+src_compile() {
+ emake -C common
+
+ if use gui ; then
+ emake -C qt
+ fi
+}
+
+src_test() {
+ # pytest should work but it can't find the backintime binary, so
+ # use the unittest-based runner instead.
+ # https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#how-to-contribute-to-back-in-time
+ emake -C common test-v
+}
+
+src_install() {
+ emake -C common DESTDIR="${D}" install
+
+ if use gui ; then
+ emake -C qt DESTDIR="${D}" install
+ fi
+
+ einstalldocs
+
+ if use examples ; then
+ docinto examples
+ dodoc common/{config-example-local,config-example-ssh}
+ fi
+
+ python_optimize "${D}"
+}
diff --git a/app-backup/backintime/backintime-9999.ebuild b/app-backup/backintime/backintime-9999.ebuild
index 70b61fb635db..c59ba0236bf8 100644
--- a/app-backup/backintime/backintime-9999.ebuild
+++ b/app-backup/backintime/backintime-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 xdg
DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
@@ -19,7 +19,7 @@ fi
LICENSE="GPL-2"
SLOT="0"
-IUSE="examples qt5 test"
+IUSE="examples gui test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -29,13 +29,14 @@ DEPEND="
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
')
"
RDEPEND="
${DEPEND}
virtual/openssh
net-misc/rsync[xattr,acl]
- qt5? ( dev-python/PyQt5[gui,widgets] )
+ gui? ( dev-python/PyQt6[gui,widgets] )
"
BDEPEND="
sys-devel/gettext
@@ -46,7 +47,9 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}/${PN}-1.2.1-no-compress-docs-examples.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.4.3-no-compress-docs-examples.patch"
+)
src_prepare() {
default
@@ -58,14 +61,16 @@ src_prepare() {
}
src_configure() {
+ # TODO: Review https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#dependencies
+ # for deps (some may be optfeatures).
pushd common > /dev/null || die
# Not autotools
- ./configure --python3 --no-fuse-group || die
+ ./configure --python="${PYTHON}" --no-fuse-group || die
popd > /dev/null || die
- if use qt5 ; then
+ if use gui ; then
pushd qt > /dev/null || die
- ./configure --python3 || die
+ ./configure --python="${PYTHON}" || die
popd > /dev/null || die
fi
}
@@ -73,7 +78,7 @@ src_configure() {
src_compile() {
emake -C common
- if use qt5 ; then
+ if use gui ; then
emake -C qt
fi
}
@@ -88,7 +93,7 @@ src_test() {
src_install() {
emake -C common DESTDIR="${D}" install
- if use qt5 ; then
+ if use gui ; then
emake -C qt DESTDIR="${D}" install
fi
diff --git a/app-backup/backintime/files/backintime-1.4.3-no-compress-docs-examples.patch b/app-backup/backintime/files/backintime-1.4.3-no-compress-docs-examples.patch
new file mode 100644
index 000000000000..9844f349b85e
--- /dev/null
+++ b/app-backup/backintime/files/backintime-1.4.3-no-compress-docs-examples.patch
@@ -0,0 +1,120 @@
+--- a/common/configure
++++ b/common/configure
+@@ -161,7 +161,7 @@ printf "DEST=\$(DESTDIR)\$(PREFIX)\n\n" >> ${MAKEFILE}
+
+ printf "all:\tbuild\n\n" >> ${MAKEFILE}
+
+-printf "build:\ttranslate compress\n\n" >> ${MAKEFILE}
++printf "build:\ttranslate\n\n" >> ${MAKEFILE}
+
+ printf "clean:\n" >> ${MAKEFILE}
+ printf "\trm -f po/*.mo\n" >> ${MAKEFILE}
+@@ -189,30 +189,11 @@ addInstallFiles "plugins/*.py" "/share/backintime/plugins"
+ addUninstallDir "/share/backintime"
+ addNewline
+
+-addComment "documentation"
+-addInstallDir "/share/doc/backintime-common"
+-addInstallFile "../debian/copyright" "/share/doc/backintime-common"
+-addInstallFile "../AUTHORS" "/share/doc/backintime-common"
+-addInstallFile "../LICENSE" "/share/doc/backintime-common"
+-addInstallFile "../README.md" "/share/doc/backintime-common"
+-addInstallFile "../TRANSLATIONS" "/share/doc/backintime-common"
+-addInstallFile "../VERSION" "/share/doc/backintime-common"
+-addInstallFile "../CHANGES" "/share/doc/backintime-common"
+-addNewline
+-
+-addComment "config-examples"
+-addInstallDir "/share/doc/backintime-common/examples"
+-addInstallFile "config-example-local.gz" "/share/doc/backintime-common/examples"
+-addInstallFile "config-example-ssh.gz" "/share/doc/backintime-common/examples"
+-addUninstallDir "/share/doc/backintime-common"
+-addUninstallDir "/share/doc"
+-addNewline
+-
+ addComment "man"
+ addInstallDir "/share/man/man1"
+-addInstallFile "man/C/backintime.1.gz" "/share/man/man1"
+-addInstallFile "man/C/backintime-askpass.1.gz" "/share/man/man1"
+-addInstallFile "man/C/backintime-config.1.gz" "/share/man/man1"
++addInstallFile "man/C/backintime.1" "/share/man/man1"
++addInstallFile "man/C/backintime-askpass.1" "/share/man/man1"
++addInstallFile "man/C/backintime-config.1" "/share/man/man1"
+ addUninstallDir "/share/man"
+ addNewline
+
+@@ -236,16 +217,6 @@ addSymlink "backintime" "/share/bash-completion/completions/backinti
+ addUninstallDir "/share/bash-completion"
+ addNewline
+
+-#compress
+-printf "compress:\n" >> ${MAKEFILE}
+-printf "\t#man pages\n" >> ${MAKEFILE}
+-printf "\tfor i in \$\$(ls -1 man/C/); do case \$\$i in *.gz|*~) continue;; *) gzip -n --best -c man/C/\$\$i > man/C/\$\${i}.gz;; esac; done\n\n" >> ${MAKEFILE}
+-
+-printf "\t#config-examples\n" >> ${MAKEFILE}
+-printf "\tgzip -n --best -c config-example-local > config-example-local.gz\n" >> ${MAKEFILE}
+-printf "\tgzip -n --best -c config-example-ssh > config-example-ssh.gz\n\n" >> ${MAKEFILE}
+-
+-#translate
+ printf "translate:\t$mos\n\n" >> ${MAKEFILE}
+
+ for lang in $langs; do
+--- a/qt/configure
++++ b/qt/configure
+@@ -138,7 +138,7 @@ printf "DEST=\$(DESTDIR)\$(PREFIX)\n\n" >> ${MAKEFILE}
+
+ printf "all:\tbuild\n\n" >> ${MAKEFILE}
+
+-printf "build:\tcompress\n\n" >> ${MAKEFILE}
++printf "build:\n\n" >> ${MAKEFILE}
+
+ printf "clean:\n" >> ${MAKEFILE}
+ printf "\trm -f po/*.mo\n" >> ${MAKEFILE}
+@@ -149,7 +149,6 @@ printf "install:\n" >> ${MAKEFILE}
+
+ # Migration
+ printf "\t#clean-up installed old files that were renamed or moved in later BiT versions\n" >> ${MAKEFILE}
+-printf "\trm -f /etc/dbus-1/system.d/net.launchpad.backintime.serviceHelper.conf\n" >> ${MAKEFILE}
+ printf "\trm -f \$(DEST)/share/backintime/plugins/qt4plugin.py\n" >> ${MAKEFILE}
+ addNewline
+
+@@ -193,17 +192,6 @@ addInstallFiles "net.launchpad.backintime*.policy" "/share/polkit-1/actions"
+ addUninstallDir "/share/polkit-1"
+ addNewline
+
+-addComment "documentation"
+-addInstallDir "/share/doc/backintime-qt"
+-addInstallFile "../debian/copyright" "/share/doc/backintime-qt"
+-addInstallFile "../AUTHORS" "/share/doc/backintime-qt"
+-addInstallFile "../LICENSE" "/share/doc/backintime-qt"
+-addInstallFile "../README.md" "/share/doc/backintime-qt"
+-addInstallFile "../TRANSLATIONS" "/share/doc/backintime-qt"
+-addInstallFile "../VERSION" "/share/doc/backintime-qt"
+-addInstallFile "../CHANGES" "/share/doc/backintime-qt"
+-addNewline
+-
+ addComment ".desktop"
+ addInstallDir "/share/applications"
+ addInstallFiles "*.desktop" "/share/applications"
+@@ -211,7 +199,7 @@ addNewline
+
+ addComment "man"
+ addInstallDir "/share/man/man1"
+-addInstallFile "man/C/backintime-qt.1.gz" "/share/man/man1"
++addInstallFile "man/C/backintime-qt.1" "/share/man/man1"
+ addUninstallDir "/share/man"
+ addNewline
+
+@@ -226,11 +214,6 @@ addUninstallDir "/share/icons"
+ addUninstallDir "/share"
+ addNewline
+
+-#compress
+-printf "compress:\n" >> ${MAKEFILE}
+-printf "\t#man pages\n" >> ${MAKEFILE}
+-printf "\tfor i in \$\$(ls -1 man/C/); do case \$\$i in *.gz|*~) continue;; *) gzip -n --best -c man/C/\$\$i > man/C/\$\${i}.gz;; esac; done\n\n" >> ${MAKEFILE}
+-
+ #uninstall
+ printf "uninstall: uninstall_files uninstall_dirs\n\n" >> ${MAKEFILE}
+ printf "uninstall_files:\n" >> ${MAKEFILE}
diff --git a/app-backup/backuppc/backuppc-4.4.0-r1.ebuild b/app-backup/backuppc/backuppc-4.4.0-r1.ebuild
index 3d1f23482625..3e0e0aebb803 100644
--- a/app-backup/backuppc/backuppc-4.4.0-r1.ebuild
+++ b/app-backup/backuppc/backuppc-4.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -64,7 +64,6 @@ need_apache2_4
src_prepare() {
default
-
# Fix docs location using the marker that we've patched in.
sed "s+__DOCDIR__+${DOCDIR}+" -i lib/BackupPC/CGI/View.pm || die
}
@@ -145,6 +144,10 @@ src_install() {
}
pkg_postinst() {
+ ewarn "WARNING: The --one-file-system option was added to RsyncArgs."
+ ewarn "If you update from a prior version keep in mind that"
+ ewarn "this prevents data of mounted partitions from being updated."
+ ewarn
elog "Installation finished, you may now start using BackupPC."
elog
elog "- Read the documentation in ${EROOT}/usr/share/doc/${PF}/BackupPC.html"
diff --git a/app-backup/backuppc/backuppc-4.4.0-r2.ebuild b/app-backup/backuppc/backuppc-4.4.0-r2.ebuild
new file mode 100644
index 000000000000..f367192beefc
--- /dev/null
+++ b/app-backup/backuppc/backuppc-4.4.0-r2.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="BackupPC-${PV}"
+MY_PN="BackupPC"
+
+inherit depend.apache systemd
+
+DESCRIPTION="High-performance backups to a server's disk"
+HOMEPAGE="https://backuppc.github.io/backuppc/index.html"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="rss samba"
+
+DEPEND="
+ acct-group/backuppc
+ acct-user/backuppc
+ app-admin/apache-tools
+ app-admin/makepasswd
+ dev-lang/perl
+"
+
+# The CGI modules are handled in ${RDEPEND}.
+APACHE_MODULES="apache2_modules_alias," # RedirectMatch
+APACHE_MODULES+="apache2_modules_authn_core," # AuthType
+APACHE_MODULES+="apache2_modules_authz_core," # Require
+APACHE_MODULES+="apache2_modules_authz_host," # Require host
+APACHE_MODULES+="apache2_modules_authz_user" # Require valid-user
+
+# Older versions of mod_perl think they're compatible with apache-2.4,
+# so we require the new one explicitly.
+RDEPEND="
+ ${DEPEND}
+ app-arch/par2cmdline
+ dev-perl/Archive-Zip
+ dev-perl/CGI
+ dev-perl/File-RsyncP
+ dev-perl/libwww-perl
+ dev-perl/BackupPC-XS
+ net-misc/rsync-bpc
+ virtual/mta
+ virtual/perl-IO-Compress
+ www-apache/mod_perl
+ www-apache/mpm_itk
+ || (
+ >=www-servers/apache-2.4[${APACHE_MODULES},apache2_modules_cgi]
+ >=www-servers/apache-2.4[${APACHE_MODULES},apache2_modules_cgid]
+ )
+ rss? ( dev-perl/XML-RSS )
+ samba? ( net-fs/samba )"
+
+PATCHES=(
+ "${FILESDIR}/4.4.0/${P}-fix-config-write.patch" #888085
+)
+
+CGIDIR="${EROOT}/usr/lib/backuppc/htdocs"
+CONFDIR="${EROOT}/etc/${MY_PN}"
+DATADIR="${EROOT}/var/lib/backuppc"
+DOCDIR="${EROOT}/usr/share/doc/${PF}"
+LOGDIR="${EROOT}/var/log/BackupPC"
+need_apache2_4
+
+src_prepare() {
+ default
+ # Fix docs location using the marker that we've patched in.
+ sed "s+__DOCDIR__+${DOCDIR}+" -i lib/BackupPC/CGI/View.pm || die
+}
+
+src_install() {
+ local myconf
+ if use samba ; then
+ myconf=(
+ --bin-path smbclient=$(type -p smbclient)
+ --bin-path nmblookup=$(type -p nmblookup)
+ )
+ fi
+
+ /usr/bin/env perl ./configure.pl \
+ --batch \
+ --bin-path perl=$(type -p perl) \
+ --bin-path tar=$(type -p tar) \
+ --bin-path rsync=$(type -p rsync) \
+ --bin-path ping=$(type -p ping) \
+ --bin-path df=$(type -p df) \
+ --bin-path ssh=$(type -p ssh) \
+ --bin-path sendmail=$(type -p sendmail) \
+ --bin-path hostname=$(type -p hostname) \
+ --bin-path gzip=$(type -p gzip) \
+ --bin-path bzip2=$(type -p bzip2) \
+ --config-dir "${CONFDIR}" \
+ --install-dir /usr \
+ --data-dir "${DATADIR}" \
+ --hostname 127.0.0.1 \
+ --uid-ignore \
+ --dest-dir "${D}" \
+ --html-dir "${CGIDIR}"/image \
+ --html-dir-url /image \
+ --cgi-dir "${CGIDIR}" \
+ --fhs \
+ ${myconf[@]} || die "failed the configure.pl script"
+
+ ebegin "Installing documentation"
+
+ pod2man \
+ -errors=none \
+ --section=8 \
+ --center="BackupPC manual" \
+ "${S}"/doc/BackupPC.pod backuppc.8 \
+ || die "failed to generate man page"
+
+ doman backuppc.8
+
+ # Place the documentation in the correct location
+ dodoc "${ED}/usr/share/doc/BackupPC/BackupPC.html"
+ dodoc "${ED}/usr/share/doc/BackupPC/BackupPC.pod"
+ rm -rf "${ED}/usr/share/doc" || die
+
+ eend 0
+
+ # Setup directories
+ dodir "${CONFDIR}/pc"
+
+ keepdir "${CONFDIR}"
+ keepdir "${CONFDIR}/pc"
+ keepdir "${DATADIR}"/{trash,pool,pc,cpool}
+ keepdir "${LOGDIR}"
+
+ ebegin "Setting up init.d/conf.d/systemd scripts"
+ newinitd "${S}"/systemd/init.d/gentoo-backuppc backuppc
+ newconfd "${S}"/systemd/init.d/gentoo-backuppc.conf backuppc
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/99_backuppc.conf
+
+ # Make sure that the ownership is correct
+ chown -R backuppc:backuppc "${D}${CONFDIR}" || die
+ chown -R backuppc:backuppc "${D}${DATADIR}" || die
+ chown -R backuppc:backuppc "${D}${LOGDIR}" || die
+
+ eend 0
+}
+
+pkg_postinst() {
+ ewarn "WARNING: The --one-file-system option was added to RsyncArgs."
+ ewarn "If you update from a prior version keep in mind that"
+ ewarn "this prevents data of mounted partitions from being updated."
+ ewarn
+ elog "Installation finished, you may now start using BackupPC."
+ elog
+ elog "- Read the documentation in ${EROOT}/usr/share/doc/${PF}/BackupPC.html"
+ elog " Please pay special attention to the security section."
+ elog
+ elog "- You can launch backuppc by running:"
+ elog
+ elog " # /etc/init.d/backuppc start"
+ elog
+ elog "- To enable the GUI, first edit ${EROOT}/etc/conf.d/apache2 and add,"
+ elog
+ elog " \"-D BACKUPPC -D PERL -D MPM_ITK\""
+ elog
+ elog " to the APACHE2_OPTS line."
+ elog
+ elog " Then you must edit ${EROOT}/etc/apache2/modules.d/00_mpm_itk.conf"
+ elog " and adjust the values of LimitUIDRange/LimitGIDRange to include"
+ elog " the UID and GID of the backuppc user."
+ elog
+ elog " Finally, start apache:"
+ elog
+ elog " # /etc/init.d/apache2 start"
+ elog
+ elog " The web interface should now be running on,"
+ elog
+ elog " http://127.0.0.1:8080/"
+ elog
+
+ # Generate a new password if there's no auth file
+ if [[ ! -f "${CONFDIR}/users.htpasswd" ]]; then
+ adminuser="backuppc"
+ adminpass=$(makepasswd --chars=12)
+ htpasswd -bc "${CONFDIR}/users.htpasswd" ${adminuser} ${adminpass}
+
+ elog ""
+ elog "- Created admin user ${adminuser} with password ${adminpass}"
+ elog " To add new users, run: "
+ elog ""
+ elog " # htpasswd ${CONFDIR}/users.htpasswd newUser"
+ fi
+}
diff --git a/app-backup/backuppc/files/4.4.0/backuppc-4.4.0-fix-config-write.patch b/app-backup/backuppc/files/4.4.0/backuppc-4.4.0-fix-config-write.patch
new file mode 100644
index 000000000000..d659c036ce45
--- /dev/null
+++ b/app-backup/backuppc/files/4.4.0/backuppc-4.4.0-fix-config-write.patch
@@ -0,0 +1,48 @@
+From 2c9270b9b849b2c86ae6301dd722c97757bc9256 Mon Sep 17 00:00:00 2001
+From: Craig Barratt <19445341+craigbarratt@users.noreply.github.com>
+Date: Fri, 15 Apr 2022 11:45:57 -0700
+Subject: [PATCH] remove erroneous 2nd argument to Data::Dumper; see #466
+
+---
+ configure.pl | 2 +-
+ lib/BackupPC/Storage/Text.pm | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.pl b/configure.pl
+index 6826ebc..d5deef5 100755
+--- a/configure.pl
++++ b/configure.pl
+@@ -668,7 +668,7 @@ if ( defined($Conf{CgiUserConfigEdit}) ) {
+ if ( defined($Conf{CgiUserConfigEdit}{$p}) );
+ }
+ $Conf{CgiUserConfigEdit} = $new;
+- my $d = Data::Dumper->new([$new], [*value]);
++ my $d = Data::Dumper->new([$new]);
+ $d->Indent(1);
+ $d->Terse(1);
+ $d->Sortkeys(1);
+diff --git a/lib/BackupPC/Storage/Text.pm b/lib/BackupPC/Storage/Text.pm
+index e9df664..09fcb24 100644
+--- a/lib/BackupPC/Storage/Text.pm
++++ b/lib/BackupPC/Storage/Text.pm
+@@ -422,7 +422,7 @@ sub ConfigFileMerge
+ my $var = $1;
+ $skipExpr = "\$fakeVar = $2\n";
+ if ( exists($newConf->{$var}) ) {
+- my $d = Data::Dumper->new([$newConf->{$var}], [*value]);
++ my $d = Data::Dumper->new([$newConf->{$var}]);
+ $d->Indent(1);
+ $d->Terse(1);
+ $d->Sortkeys(1);
+@@ -454,7 +454,7 @@ sub ConfigFileMerge
+ #
+ foreach my $var ( sort(keys(%$newConf)) ) {
+ next if ( $done->{$var} );
+- my $d = Data::Dumper->new([$newConf->{$var}], [*value]);
++ my $d = Data::Dumper->new([$newConf->{$var}]);
+ $d->Indent(1);
+ $d->Terse(1);
+ $d->Sortkeys(1);
+--
+2.43.2
+
diff --git a/app-backup/bacula/Manifest b/app-backup/bacula/Manifest
index 2642b530361f..79ac896cb237 100644
--- a/app-backup/bacula/Manifest
+++ b/app-backup/bacula/Manifest
@@ -1,2 +1,3 @@
DIST bacula-13.0.3.tar.gz 6235649 BLAKE2B c1053e784f995aa45f2810a8b1370211a6e42f9512c11e0290f059d0e39489c24d4a7951fa055a00ecd2c4acb44581cc220271952c6d477d15c86e0a7e8680f7 SHA512 59ec616535959bde26b5b03a60355f3f8d80ae7a719a079d354f41c0f103b0e467177b6f813ef3eb4d30866f73c393d766e8337e20bb97f19ffd7eba5e5c59c5
DIST bacula-13.0.4.tar.gz 6227040 BLAKE2B e54a754280178f74f97fdbb3c91a596b632d80739fedd5f847d183f0852ea9e82bba55ad9a745ee1ceb945bd527d33b117bc3c866783bd3073166bd20607a72a SHA512 5d33714d5575c351e28676cbd165fe7648ce15a1bc2a03f6d5635528083f3ec3bd6c7137a987690dcc8b232105e5768be91ba405a033ad60c4b82f3c88d73812
+DIST bacula-15.0.2.tar.gz 6524812 BLAKE2B 1dd0722ce2bb6363936ed9cc9df1b6d842945f17277c77f40884bafc4b0a254c5fdd2c21bd200c6ca8b77c8eb718a319552e50135c9925d2b4ad81a64ab819d2 SHA512 71bd206a2bb0cf3ca0f2cb6547b63946bc2a8a5f70c5506b9a589e5ed9871bb98b56205da7d12e54a41c9ab3539fe1114bc94d926f0f831ee9e15bba36f167f3
diff --git a/app-backup/bacula/bacula-15.0.2.ebuild b/app-backup/bacula/bacula-15.0.2.ebuild
new file mode 100644
index 000000000000..d5c84855a449
--- /dev/null
+++ b/app-backup/bacula/bacula-15.0.2.ebuild
@@ -0,0 +1,449 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop libtool qmake-utils systemd
+
+MY_PV=${PV/_beta/-b}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Featureful client/server network backup suite"
+HOMEPAGE="https://www.bacula.org/"
+SRC_URI="https://downloads.sourceforge.net/bacula/${MY_P}.tar.gz"
+
+S=${WORKDIR}/${MY_P}
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 logwatch mysql postgres qt5 readline selinux +sqlite ssl static tcpd vim-syntax X"
+
+DEPEND="
+ !bacula-clientonly? (
+ !bacula-nodir? ( virtual/mta )
+ postgres? ( dev-db/postgresql:=[threads(+)] )
+ mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) )
+ sqlite? ( dev-db/sqlite:3 )
+ )
+ dev-libs/gmp:0
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtsvg:5
+ x11-libs/qwt:6
+ )
+ logwatch? ( sys-apps/logwatch )
+ readline? ( sys-libs/readline:0 )
+ static? (
+ dev-libs/lzo[static-libs]
+ sys-libs/ncurses:=[static-libs]
+ sys-libs/zlib[static-libs]
+ acl? ( virtual/acl[static-libs(+)] )
+ ssl? (
+ dev-libs/openssl:0=[static-libs]
+ )
+ )
+ !static? (
+ dev-libs/lzo
+ sys-libs/ncurses:=
+ sys-libs/zlib
+ acl? ( virtual/acl )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ dev-util/patchelf
+"
+RDEPEND="${DEPEND}
+ acct-user/bacula
+ acct-group/bacula
+ !bacula-clientonly? (
+ !bacula-nosd? (
+ app-arch/mt-st
+ sys-block/mtx
+ )
+ )
+ selinux? ( sec-policy/selinux-bacula )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+"
+
+REQUIRED_USE="
+ !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) )
+ static? ( bacula-clientonly )
+"
+
+# suppress warning wrt 'implicit function declaration' in config logs
+# bug 900663
+QA_CONFIG_IMPL_DECL_SKIP=(
+ makedev # designed to check availability in
+ # used header file
+)
+
+pkg_setup() {
+ #XOR and !bacula-clientonly controlled by REQUIRED_USE
+ use mysql && export mydbtype="mysql"
+ use postgres && export mydbtype="postgresql"
+ use sqlite && export mydbtype="sqlite3"
+
+ if use bacula-clientonly && use static && use qt5; then
+ ewarn
+ ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # adjusts default configuration files for several binaries
+ # to /etc/bacula/<config> instead of ./<config>
+ pushd src >&/dev/null || die
+ for f in console/console.c dird/dird.c filed/filed.c \
+ stored/bcopy.c stored/bextract.c stored/bls.c \
+ stored/bscan.c stored/btape.c stored/stored.c \
+ qt-console/main.cpp; do
+ sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \
+ || die "sed on ${f} failed"
+ done
+ popd >&/dev/null || die
+
+ # bug 466688 drop deprecated categories from Desktop file
+ sed -i -e 's/Application;//' scripts/bat.desktop.in || die
+
+ # bug 466690 Use CXXFLAGS instead of CFLAGS
+ sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
+
+ # drop automatic install of unneeded documentation (for bug 356499)
+ eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch
+
+ # bug #310087
+ eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch
+
+ # bug #311161
+ eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch
+
+ # bat needs to respect LDFLAGS and CFLAGS
+ eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch
+
+ # tray-monitor needs to respect LDFLAGS and CFLAGS
+ eapply -p0 "${FILESDIR}"/tray-monitor-pro.patch
+
+ # bug #328701
+ eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
+
+ eapply -p0 "${FILESDIR}"/${PN}-15.0.2-fix-static.patch
+
+ # fix soname in libbaccat.so, see bugs #602952, #790140 and #845126
+ eapply "${FILESDIR}/bacula-fix-sonames-new.patch"
+
+ # correct library search path for slibtool usage (bug #914389)
+ eapply -p0 "${FILESDIR}/${PN}-15.0.2-fix_slibtool.patch"
+
+ # do not strip binaries
+ sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die
+ sed -i -e "s/strip /# strip /" src/console/Makefile.in || die
+ sed -i -e "s/+= qt$/+= qt nostrip/" \
+ src/qt-console/tray-monitor/tray-monitor.pro.in || die
+
+ eapply_user
+
+ # Fix systemd unit files:
+ # bug 497748
+ sed -i -e '/Requires/d' platforms/systemd/*.service.in || die
+ sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die
+ # bug 504370
+ sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die
+ # bug 584442 and 504368
+ sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die
+
+ # build 'bat' for Qt5
+ export QMAKE="$(qt5_get_bindir)"/qmake
+
+ # adapt to >=Qt-5.9 (see bug #644566)
+ # qmake needs an existing target file to generate install instructions
+ sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \
+ src/qt-console/bat.pro.in || die
+ mkdir src/qt-console/.libs || die
+ touch src/qt-console/.libs/bat || die
+ chmod 755 src/qt-console/.libs/bat || die
+
+ # same for tray-monitor (bug #915605)
+ sed -i -e 's#bins.files = bac#bins.files = .libs/bac#g' \
+ src/qt-console/tray-monitor/tray-monitor.pro.in || die
+ mkdir src/qt-console/tray-monitor/.libs || die
+ touch src/qt-console/tray-monitor/.libs/bacula-tray-monitor || die
+ chmod 755 src/qt-console/tray-monitor/.libs/bacula-tray-monitor || die
+
+ eapply -p0 "${FILESDIR}/fix_tray_monitor.patch" || die
+
+ # Don't let program install man pages directly
+ sed -i -e 's/ manpages//' Makefile.in || die
+
+ # correct installation for plugins to mode 0755 (bug #725946)
+ sed -i -e "s/(INSTALL_PROGRAM) /(INSTALL_LIB) /" src/plugins/fd/Makefile ||die
+ sed -i -e "s/(INSTALL_PROGRAM) /(INSTALL_LIB) /" src/plugins/fd/docker/Makefile ||die
+
+ # fix bundled libtool (bug 466696)
+ # But first move directory with M4 macros out of the way.
+ # It is only needed by autoconf and gives errors during elibtoolize.
+ mv autoconf/libtool autoconf/libtool1 || die
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=''
+
+ if use bacula-clientonly; then
+ myconf="${myconf} \
+ $(use_enable bacula-clientonly client-only) \
+ $(use_enable !static libtool) \
+ $(use_enable static static-cons) \
+ $(use_enable static static-fd)"
+ else
+ myconf="${myconf} \
+ $(use_enable !bacula-nodir build-dird) \
+ $(use_enable !bacula-nosd build-stored)"
+ # bug #311099
+ # database support needed by dir-only *and* sd-only
+ # build as well (for building bscan, btape, etc.)
+ myconf="${myconf}
+ --with-${mydbtype}"
+ fi
+
+ # do not build bat if 'static' clientonly
+ if ! use bacula-clientonly || ! use static; then
+ myconf="${myconf} \
+ $(use_enable qt5 bat)"
+ fi
+
+ myconf="${myconf} \
+ $(use_with X x) \
+ $(use_enable batch-insert) \
+ $(use_enable !readline conio) \
+ $(use_enable readline) \
+ $(use_with ssl openssl) \
+ $(use_enable ipv6) \
+ $(use_enable acl) \
+ $(use_with tcpd tcp-wrappers)"
+
+ econf \
+ --with-pid-dir=/var/run \
+ --sysconfdir=/etc/bacula \
+ --with-archivedir=/var/lib/bacula/tmp \
+ --with-subsys-dir=/var/lock/subsys \
+ --with-working-dir=/var/lib/bacula \
+ --with-logdir=/var/lib/bacula \
+ --with-scriptdir=/usr/libexec/bacula \
+ --with-systemd=$(systemd_get_systemunitdir) \
+ --with-dir-user=bacula \
+ --with-dir-group=bacula \
+ --with-sd-user=root \
+ --with-sd-group=bacula \
+ --with-fd-user=root \
+ --with-fd-group=bacula \
+ --enable-smartalloc \
+ --disable-afs \
+ --without-s3 \
+ --host=${CHOST} \
+ ${myconf}
+}
+
+src_compile() {
+ # Make build log verbose (bug #447806)
+ emake NO_ECHO=""
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ doicon scripts/bacula.png
+ keepdir /var/lib/bacula/tmp
+
+ # remove not needed .la files #840957
+ find "${ED}" -name '*.la' -delete || die
+
+ # install bat icon and desktop file when enabled
+ # (for some reason ./configure doesn't pick this up)
+ if use qt5 && ! use static ; then
+ doicon src/qt-console/images/bat_icon.png
+ domenu scripts/bat.desktop
+ fi
+
+ # remove some scripts we don't need at all
+ rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql}
+
+ # rename statically linked apps
+ if use bacula-clientonly && use static ; then
+ pushd "${D}"/usr/sbin || die
+ mv static-bacula-fd bacula-fd || die
+ mv static-bconsole bconsole || die
+ popd || die
+ fi
+
+ # extra files which 'make install' doesn't cover
+ if ! use bacula-clientonly; then
+ # the database update scripts
+ diropts -m0750
+ insinto /usr/libexec/bacula/updatedb
+ insopts -m0754
+ doins "${S}"/updatedb/*
+ fperms 0640 /usr/libexec/bacula/updatedb/README
+
+ # the logrotate configuration
+ # (now unconditional wrt bug #258187)
+ diropts -m0755
+ insinto /etc/logrotate.d
+ insopts -m0644
+ newins "${S}"/scripts/logrotate bacula
+
+ # the logwatch scripts
+ if use logwatch; then
+ diropts -m0750
+ dodir /usr/share/logwatch/scripts/services
+ dodir /usr/share/logwatch/scripts/shared
+ dodir /etc/logwatch/conf/logfiles
+ dodir /etc/logwatch/conf/services
+ pushd "${S}"/scripts/logwatch >&/dev/null || die
+ emake DESTDIR="${D}" install
+ popd >&/dev/null || die
+ fi
+ fi
+
+ # Install all man pages
+ doman "${S}"/manpages/*.[18]
+
+ if ! use qt5; then
+ rm -vf "${D}"/usr/share/man/man1/bat.1*
+ rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1*
+ fi
+
+ if use bacula-clientonly || use bacula-nodir ; then
+ rm -vf "${D}"/usr/libexec/bacula/create_*_database
+ rm -vf "${D}"/usr/libexec/bacula/drop_*_database
+ rm -vf "${D}"/usr/libexec/bacula/make_*_tables
+ rm -vf "${D}"/usr/libexec/bacula/update_*_tables
+ rm -vf "${D}"/usr/libexec/bacula/drop_*_tables
+ rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges
+ rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup
+ fi
+ if use bacula-clientonly || use bacula-nosd; then
+ rm -vf "${D}"/usr/libexec/bacula/disk-changer
+ rm -vf "${D}"/usr/libexec/bacula/mtx-changer
+ rm -vf "${D}"/usr/libexec/bacula/dvd-handler
+ fi
+
+ # documentation
+ dodoc ChangeLog ReleaseNotes SUPPORT
+
+ # install examples (bug #457504)
+ if use examples; then
+ docinto examples/
+ dodoc -r examples/*
+ fi
+
+ # vim-files
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins scripts/bacula.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ newins scripts/filetype.vim bacula_ft.vim
+ fi
+
+ # setup init scripts
+ myscripts="bacula-fd"
+ if ! use bacula-clientonly; then
+ if ! use bacula-nodir; then
+ myscripts="${myscripts} bacula-dir"
+ fi
+ if ! use bacula-nosd; then
+ myscripts="${myscripts} bacula-sd"
+ fi
+ fi
+ for script in ${myscripts}; do
+ # copy over init script and config to a temporary location
+ # so we can modify them as needed
+ cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd"
+ cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd"
+
+ # now set the database dependency for the director init script
+ case "${script}" in
+ bacula-dir)
+ case "${mydbtype}" in
+ sqlite3)
+ # sqlite databases don't have a daemon
+ sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die
+ ;;
+ *)
+ # all other databases have daemons
+ sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+
+ # install init script and config
+ newinitd "${T}/${script}".initd "${script}"
+ newconfd "${T}/${script}".confd "${script}"
+ done
+
+ systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service
+
+ # make sure the working directory exists
+ diropts -m0750
+ keepdir /var/lib/bacula
+
+ # make sure bacula group can execute bacula libexec scripts
+ fowners -R root:bacula /usr/libexec/bacula
+}
+
+pkg_postinst() {
+ if use bacula-clientonly; then
+ fowners root:bacula /var/lib/bacula
+ else
+ fowners bacula:bacula /var/lib/bacula
+ fi
+
+ einfo
+ einfo "A group 'bacula' has been created. Any users you add to this"
+ einfo "group have access to files created by the daemons."
+ einfo
+ einfo "A user 'bacula' has been created. Please see the bacula manual"
+ einfo "for information about running bacula as a non-root user."
+ einfo
+
+ if ! use bacula-clientonly && ! use bacula-nodir; then
+ einfo
+ einfo "If this is a new install, you must create the ${mydbtype} databases with:"
+ einfo " /usr/libexec/bacula/create_${mydbtype}_database"
+ einfo " /usr/libexec/bacula/make_${mydbtype}_tables"
+ einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges"
+ einfo
+
+ ewarn "ATTENTION!"
+ ewarn "The format of the database may have changed."
+ ewarn "If you just upgraded from a version below 9.0.0 you must run"
+ ewarn "'update_bacula_tables' now."
+ ewarn "Make sure to have a backup of your catalog before."
+ ewarn
+ fi
+
+ if use sqlite; then
+ einfo
+ einfo "Be aware that Bacula does not officially support SQLite database anymore."
+ einfo "Best use it only for a client-only installation. See Bug #445540."
+ einfo
+ fi
+
+ einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
+ einfo "you have to enable 'USE=qt5'."
+ einfo
+ einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during"
+ einfo "restores, so be sure to set it to an appropriate in dir in the bacula config."
+
+ einfo
+ einfo "If you adapt the port numbers for baculas components in the config files"
+ einfo "make sure to adapt the file names for the pidfile accordingly"
+ einfo "(see init.d scripts)."
+}
diff --git a/app-backup/bacula/files/bacula-15.0.2-fix-static.patch b/app-backup/bacula/files/bacula-15.0.2-fix-static.patch
new file mode 100644
index 000000000000..57963a271bba
--- /dev/null
+++ b/app-backup/bacula/files/bacula-15.0.2-fix-static.patch
@@ -0,0 +1,63 @@
+--- src/console/Makefile.in.orig 2017-07-25 19:03:05.664760298 +0200
++++ src/console/Makefile.in 2017-07-25 19:05:43.576706091 +0200
+@@ -24,6 +24,7 @@
+ CONSSRCS = console.c console_conf.c authenticate.c @CONS_SRC@
+ CONSOBJS = console.o console_conf.o authenticate.o @CONS_OBJ@
+ JSONOBJS = bbconsjson.o console_conf.o
++ZLIBS=@ZLIBS@
+
+ # these are the objects that are changed by the .configure process
+ EXTRAOBJS = @OBJLIST@
+@@ -50,18 +51,18 @@
+
+ bconsole: Makefile $(CONSOBJS) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) -L../lib -L../cats $(LDFLAGS) $(CONS_LDFLAGS) -o $@ $(CONSOBJS) \
+- $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) \
+- $(OPENSSL_LIBS)
++ $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(ZLIBS) $(GETTEXT_LIBS) \
++ $(OPENSSL_LIBS) $(LIBS)
+
+ bbconsjson: Makefile $(JSONOBJS) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) -L../lib -L../cats $(LDFLAGS) $(CONS_LDFLAGS) -o $@ $(JSONOBJS) \
+- $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) \
+- $(OPENSSL_LIBS)
++ $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(ZLIBS) $(GETTEXT_LIBS) \
++ $(OPENSSL_LIBS) $(LIBS)
+
+ static-bconsole: Makefile $(CONSOBJS) ../lib/libbac.a ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) -static -L../lib -L../cats $(LDFLAGS) $(CONS_LDFLAGS) -o $@ $(CONSOBJS) \
+- $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) \
+- $(OPENSSL_LIBS)
++ $(DLIB) $(CONS_LIBS) -lbaccfg -lbac -lm $(ZLIBS) $(GETTEXT_LIBS) \
++ $(OPENSSL_LIBS) $(LIBS)
+ strip $@
+
+
+--- src/filed/Makefile.in.orig 2017-07-25 19:09:19.655852979 +0200
++++ src/filed/Makefile.in 2017-07-25 19:11:39.519558592 +0200
+@@ -69,19 +69,19 @@
+ bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
+ @echo "Linking $@ ..."
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \
+- $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+- $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) $(IOKITLIBS)
++ $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm \
++ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) $(IOKITLIBS)
+
+ bfdjson: Makefile $(JSONOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
+ @echo "Linking $@ ..."
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(JSONOBJS) \
+- $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+- $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS)
++ $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm \
++ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS)
+
+ static-bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -L../findlib -o $@ $(SVROBJS) \
+- $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+- $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS)
++ $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm \
++ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS) $(ZSTD_LIBS)
+ strip $@
+
+ Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
diff --git a/app-backup/bacula/files/bacula-15.0.2-fix_slibtool.patch b/app-backup/bacula/files/bacula-15.0.2-fix_slibtool.patch
new file mode 100644
index 000000000000..96eddbc5fb46
--- /dev/null
+++ b/app-backup/bacula/files/bacula-15.0.2-fix_slibtool.patch
@@ -0,0 +1,67 @@
+# slibtool creates library in .libs directory but need -L. to find them
+# Bug #914389
+--- src/stored/Makefile.in.orig 2023-11-15 14:20:23.135630968 +0100
++++ src/stored/Makefile.in 2023-11-15 14:22:35.771246680 +0100
+@@ -267,7 +267,7 @@
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+ btape: Makefile $(TAPEOBJS) libbacsd.la drivers ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(TAPEOBJS) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(TAPEOBJS) \
+ $(SD_LIBS) $(DLIB) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+
+@@ -277,7 +277,7 @@
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+ cloud_test: Makefile cloud_test.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) $(BLSOBJS) libbacsd.la drivers
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(CLOUDTESTOBJS) $(DLIB) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(CLOUDTESTOBJS) $(DLIB) \
+ $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+ bcloud.o: bcloud.c
+@@ -286,7 +286,7 @@
+ -I$(basedir) $(DINCLUDE) $(S3_INC) $(CFLAGS) $<
+
+ bcloud: Makefile bcloud.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) $(BLSOBJS) libbacsd.la drivers
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(CLOUDCLIOBJS) $(DLIB) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(CLOUDCLIOBJS) $(DLIB) \
+ $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(S3_LIBS)
+
+ bls.o: bls.c
+@@ -296,7 +296,7 @@
+
+ bls: Makefile $(BLSOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Compiling $<"
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) \
+ $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+ bextract.o: bextract.c
+@@ -306,7 +306,7 @@
+
+ bextract: Makefile $(BEXTOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Compiling $<"
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(ZLIBS) $(LZO_LIBS) $(ZSTD_LIBS) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(ZLIBS) $(LZO_LIBS) $(ZSTD_LIBS) \
+ $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+ bscan.o: bscan.c
+@@ -316,7 +316,7 @@
+
+ bscan: Makefile $(SCNOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
+ ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE)
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) \
+ $(SD_LIBS) -lbacsql -lbaccats $(DB_LIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+ bcopy.o: bcopy.c
+@@ -325,7 +325,7 @@
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+ bcopy: Makefile $(COPYOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+- $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(COPYOBJS) \
++ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(COPYOBJS) \
+ $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+ cloud_parts_test: Makefile cloud_parts.c
diff --git a/app-backup/bareos/Manifest b/app-backup/bareos/Manifest
index 8206ffaf50c5..084b9c1489f4 100644
--- a/app-backup/bareos/Manifest
+++ b/app-backup/bareos/Manifest
@@ -1,4 +1,6 @@
DIST bareos-21.1.8.tar.gz 11663322 BLAKE2B 5f8c66d44c702b187f56434925417f3eff5f9f515f52d5707d5dce2edfcf566474bae52518adab1d6f87d479fd05cc906f48350eec4f21b858720a607f9b4311 SHA512 643561d4bd92989e0b9356dab500083073daa2717159b5b061f5680ab96e8532c13753e94480419239bcad9938818c203d43dc72b690404ae5a143fdd3cd0738
+DIST bareos-21.1.9.tar.gz 11670286 BLAKE2B 22486fdf2b80296fed4265afa8ea4f5c0708f7836172da6a0f081c3328eea84c2eaf7de62884c82aeb61ead38f5a872edc6718fce730c16d6e4e96ef520eff0e SHA512 337702bf5b38bdf6f96720748ec0ab154f698389d6ff535b59f0a9432783f021287b98ac446467a1da51614c6fd740b45b8a5363f56cb5bd855bfe333fc6cfac
DIST bareos-22.1.2.tar.gz 14746158 BLAKE2B 5d8c9c098f61bd35b11f907a3e215a7c08b504c3e529c67a4c8c5cbbf24775158966800e63efca260b4cc513417332cdf43a158d21684f09be3d89dd93258880 SHA512 76d53425b2a28f4f7887b323a70bf9b37df44302e0e25aff7156c1b3ee26ffa60bbfb45ed29a0f2fe763d5c38b8f7135ac2a3e405d8e2b10717f4893baf9c327
+DIST bareos-22.1.4.tar.gz 14747141 BLAKE2B 1b155c35f22120b07151a54ef314c6f8f42ea14c3f194d787a58ece41f8de148f0b34d0cc6a54f578b1bb5c4d3ae2a7736829f6d2cd642d8e001f1797a18052a SHA512 4285f0f524c6f30ae8f7dd67e2a732cf983663f56b053968a7f10d753e38bc2ee1e2673d1fb6a9b516994b51b45215fac153e301b893c9cb31a164ebff0d4c85
DIST bareos-23.0.1.tar.gz 14728566 BLAKE2B e5fe93f0e412fcc4b4cb31f3e7d7dbcd44b3c0f76c387f17685d97880af88949998faae502531e937201c1622350d226c2cc9f432b0dfda7893a3fb03e905b5f SHA512 5e3902c33c08dedbdd8dc7c74c5a1258da22288a728ada283b541316a7bff2f7773d1875b11f8fe12368afda3fd1bb2780242ff57441ef8fd596f71ea1af1e75
DIST bareos-23.0.2.tar.gz 14724410 BLAKE2B 0fe86c10d62ad322dfbcd5ac972aec27d6f0ad31e156d359398739b2bfd784a02ce89b26b6bdfcf279265114a4e6e13efe21edab8b87cff15f1f9f3ad055c64b SHA512 a8d8270c8060480fe87da9252de86a75eea1cc427db63536f848d19a2c23c499ca294a9656d9a6aac73a756f84c96a2d72f13d1cede7948e18bf93efc2ecfc29
diff --git a/app-backup/bareos/bareos-21.1.9.ebuild b/app-backup/bareos/bareos-21.1.9.ebuild
new file mode 100644
index 000000000000..ae6b1efd9be1
--- /dev/null
+++ b/app-backup/bareos/bareos-21.1.9.ebuild
@@ -0,0 +1,414 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+CMAKE_WARN_UNUSED_CLI=no
+#CMAKE_REMOVE_MODULES=yes
+
+inherit python-any-r1 systemd cmake tmpfiles
+
+DESCRIPTION="Featureful client/server network backup suite"
+HOMEPAGE="https://www.bareos.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+
+# some tests still fail propably due to missing bits in src_test -> TODO
+RESTRICT="mirror test"
+#RESTRICT="
+# mirror
+# !test? ( test )
+#"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X acl ceph clientonly +director glusterfs ipv6 lmdb
+ logwatch ndmp readline scsi-crypto split-usr
+ static +storage-daemon systemd tcpd test vim-syntax vmware xattr"
+
+# get cmake variables from core/cmake/BareosSetVariableDefaults.cmake
+DEPEND="
+ !app-backup/bacula
+ acct-group/${PN}
+ !x86? (
+ ceph? ( sys-cluster/ceph )
+ )
+ glusterfs? ( sys-cluster/glusterfs )
+ lmdb? ( dev-db/lmdb )
+ dev-libs/gmp:0
+ !clientonly? (
+ acct-user/${PN}
+ dev-db/postgresql:*[threads(+)]
+ director? (
+ virtual/mta
+ )
+ )
+ logwatch? ( sys-apps/logwatch )
+ ndmp? ( net-libs/rpcsvc-proto )
+ tcpd? ( sys-apps/tcp-wrappers )
+ readline? ( sys-libs/readline:0 )
+ static? (
+ acl? ( virtual/acl[static-libs] )
+ dev-libs/jansson:=[static-libs]
+ dev-libs/lzo[static-libs]
+ dev-libs/openssl:0=[static-libs]
+ sys-libs/ncurses:=[static-libs]
+ sys-libs/zlib[static-libs]
+ )
+ !static? (
+ acl? ( virtual/acl )
+ dev-libs/jansson:=
+ dev-libs/lzo
+ dev-libs/openssl:0=
+ sys-libs/ncurses:=
+ sys-libs/zlib
+ )
+ "
+RDEPEND="${DEPEND}
+ !clientonly? (
+ storage-daemon? (
+ sys-block/mtx
+ app-arch/mt-st
+ )
+ )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+ "
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ dev-cpp/gtest
+ dev-db/postgresql:*[server,threads(+)]
+ dev-db/mariadb:*[server]
+ )
+"
+
+REQUIRED_USE="
+ static? ( clientonly )
+ x86? ( !ceph )
+"
+
+S=${WORKDIR}/${PN}-Release-${PV}
+
+pkg_pretend() {
+ local active_removed_backend=""
+ if has_version "<app-backup/bareos-21[director,mysql]"; then
+ if grep -qhriE "dbdriver.*=.*mysql" /etc/bareos/; then
+ active_removed_backend=MySQL
+ fi
+ elif has_version "<app-backup/bareos-21[director,sqlite]"; then
+ if grep -qhriE "dbdriver.*=.*sqlite" /etc/bareos/; then
+ active_removed_backend=SQLite
+ fi
+ fi
+ if [[ -n $active_removed_backend ]]; then
+ ewarn
+ ewarn "You are currently using bareos with the $active_removed_backend"
+ ewarn "catalog backend."
+ ewarn
+ ewarn "THIS IS NOT SUPPORTED ANYMORE"
+ ewarn
+ ewarn "Beginning with version 21.0.0 bareos has dropped support for"
+ ewarn "MySQL and SQLite catalog backends."
+ ewarn
+ ewarn "To upgrade to bareos >=21.0.0 you need to migrate to PostgreSQL"
+ ewarn "catalog backend using the 'bareos-dbcopy' tool of your current"
+ ewarn "installation first."
+ ewarn
+ die "current catalog backend not supported anymore"
+ fi
+}
+
+src_test() {
+ # initialze catalog test database
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createuser -h "${T}" bareos || die
+ createdb -h "${T}" --owner bareos bareos || die
+ export PGHOST="${T}"
+
+ # initiale mariadb database for backup tests
+ # $USER must be set and != root
+ export USER=portage
+
+ default
+ cmake_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+ rm -rvf "${T}"/pgsql
+}
+
+src_prepare() {
+ # fix gentoo platform support
+ eapply -p1 "${FILESDIR}/${PN}-21-cmake-gentoo.patch"
+ eapply "${FILESDIR}/${PN}-21.1.2-werror.patch"
+ eapply "${FILESDIR}/${PN}-21.1.2-no-automagic-ccache.patch"
+ eapply "${FILESDIR}/${PN}-21.1.8-gcc14-fixes.patch"
+
+ # fix missing DESTDIR in symlink creation
+ sed -i '/bareos-symlink-default-db-backend.cmake/d' "${S}/core/src/cats/CMakeLists.txt"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=()
+
+ cmake_comment_add_subdirectory webui
+
+ if use clientonly; then
+ mycmakeargs+=(
+ -Dclient-only=ON
+ -Dstatic-cons=$(usex static)
+ -Dstatic-fd=$(usex static)
+ )
+ fi
+
+ for useflag in acl ipv6 ndmp scsi-crypto \
+ systemd lmdb; do
+ mycmakeargs+=( -D$useflag=$(usex $useflag) )
+ done
+
+ mycmakeargs+=(
+ -DHAVE_PYTHON=0
+ -Darchivedir=/var/lib/bareos/storage
+ -Dbackenddir=/usr/$(get_libdir)/${PN}/backend
+ -Dbasename="`hostname -s`"
+ -Dbatch-insert=yes
+ -Dbsrdir=/var/lib/bareos/bsr
+ -Dconfdir=/etc/bareos
+ -Dcoverage=no
+ -Ddb_password=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1`
+ -Ddir-group=bareos
+ -Ddir-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Ddir-user=bareos
+ -Ddocdir=/usr/share/doc/${PF}
+ -Ddynamic-cats-backends=yes
+ -Ddynamic-storage-backends=yes
+ -Dfd-group=bareos
+ -Dfd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dfd-user=root
+ -Dhost=${CHOST}
+ -Dhostname="`hostname -s`"
+ -Dhtmldir=/usr/share/doc/${PF}/html
+ -Dlibdir=/usr/$(get_libdir)
+ -Dlogdir=/var/log/bareos
+ -Dmandir=/usr/share/man
+ -Dmon-dir-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dmon-fd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dmon-sd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dopenssl=yes
+ -Dpiddir=/run/bareos
+ -Dplugindir=/usr/$(get_libdir)/${PN}/plugin
+ -Dsbin-perm=0755
+ -Dsbindir=/usr/sbin
+ -Dscriptdir=/usr/libexec/bareos
+ -Dsd-group=bareos
+ -Dsd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dsd-user=root
+ -Dsubsysdir=/run/lock/subsys
+ -Dsysconfdir=/etc
+ -Dworkingdir=/var/lib/bareos
+ -Dx=$(usex X)
+ )
+
+ # disable droplet support for now as it does not build with gcc 10
+ # ... and this is a bundled lib, which should have its own package
+ cd core && cmake_comment_add_subdirectory "src/droplet"
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove some scripts we don't need at all
+ rm -f "${D}"/usr/libexec/bareos/{bareos,bareos-ctl-dir,bareos-ctl-fd,bareos-ctl-sd}
+ rm -f "${D}"/usr/sbin/bareos
+
+ # remove upstream init scripts and systemd units
+ rm -f "${D}"/etc/init.d/bareos-* "${D}"/lib/systemd/system/bareos-*.service
+
+ # remove misc stuff we do not need in production
+ rm -f "${D}"/etc/bareos/bareos-regress.conf
+ rm -f "${D}"/etc/logrotate.d/bareos-dir
+
+ # remove duplicate binaries being installed in /usr/sbin and replace
+ # them by symlinks to not break systems that still use split-usr
+ if use split-usr; then
+ for f in bwild bregex bsmtp bconsole; do
+ rm -f "${D}/usr/sbin/$f" || die
+ ln -s "../bin/$f" "${D}/usr/sbin/$f" || die
+ done
+ fi
+
+ # get rid of py2 stuff
+ rm -rf "$D"/usr/lib64/python2.7 || die
+ rm -f "$D"/usr/lib64/bareos/plugin/python-fd.so || die
+ if ! use vmware; then
+ rm -f "$D"/usr/lib64/bareos/plugin/{BareosFdPluginVMware.py,bareos-fd-vmware.py}
+ fi
+
+ # rename statically linked apps
+ if use clientonly && use static ; then
+ pushd "${D}"/usr/sbin || die
+ mv static-bareos-fd bareos-fd || die
+ mv static-bconsole bconsole || die
+ popd || die
+ fi
+
+ # extra files which 'make install' doesn't cover
+ if ! use clientonly; then
+ # the logrotate configuration
+ # (now unconditional wrt bug #258187)
+ diropts -m0755
+ insinto /etc/logrotate.d
+ insopts -m0644
+ newins "${S}"/core/scripts/logrotate bareos
+
+ # the logwatch scripts
+ if use logwatch; then
+ diropts -m0750
+ dodir /etc/log.d/scripts/services
+ dodir /etc/log.d/scripts/shared
+ dodir /etc/log.d/conf/logfiles
+ dodir /etc/log.d/conf/services
+ pushd "${S}"/core/scripts/logwatch >&/dev/null || die
+
+ into /etc/log.d/scripts/services
+ dobin bareos
+
+ into /etc/log.d/scripts/shared
+ dobin applybareosdate
+
+ insinto /etc/log.d/conf/logfiles
+ newins logfile.bareos.conf bareos.conf
+
+ insinto /etc/log.d/conf/services
+ newins services.bareos.conf bareos.conf
+
+ popd >&/dev/null || die
+ fi
+ fi
+
+ rm -vf "${D}"/usr/share/man/man1/bareos-bwxconsole.1*
+ if use clientonly || ! use director; then
+ rm -vf "${D}"/usr/share/man/man8/bareos-dir.8*
+ rm -vf "${D}"/usr/share/man/man8/bareos-dbcheck.8*
+ rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
+ rm -vf "${D}"/usr/share/man/man8/bwild.8*
+ rm -vf "${D}"/usr/share/man/man8/bregex.8*
+ rm -vf "${D}"/usr/share/man/man8/bpluginfo.8*
+ rm -vf "${D}"/usr/libexec/bareos/create_*_database
+ rm -vf "${D}"/usr/libexec/bareos/drop_*_database
+ rm -vf "${D}"/usr/libexec/bareos/make_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/update_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/drop_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/grant_*_privileges
+ rm -vf "${D}"/usr/libexec/bareos/*_catalog_backup
+ fi
+ if use clientonly || ! use storage-daemon; then
+ rm -vf "${D}"/usr/share/man/man8/bareos-sd.8*
+ rm -vf "${D}"/usr/share/man/man8/bcopy.8*
+ rm -vf "${D}"/usr/share/man/man8/bextract.8*
+ rm -vf "${D}"/usr/share/man/man8/bls.8*
+ rm -vf "${D}"/usr/share/man/man8/bscan.8*
+ rm -vf "${D}"/usr/share/man/man8/btape.8*
+ rm -vf "${D}"/usr/libexec/bareos/disk-changer
+ rm -vf "${D}"/usr/libexec/bareos/mtx-changer
+ rm -vf "${D}"/usr/libexec/bareos/dvd-handler
+ rm -vf "${D}"/etc/bareos/mtx-changer.conf
+ fi
+ if ! use scsi-crypto; then
+ rm -vf "${D}"/usr/share/man/man8/bscrypto.8*
+ fi
+
+ # documentation
+ dodoc README.md
+ dodoc core/README.configsubdirectories
+ use glusterfs dodoc core/README.glusterfs
+ use ndmp && dodoc core/README.NDMP
+ use scsi-crypto && dodoc core/README.scsicrypto
+
+ # vim-files
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins core/scripts/bareos.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ newins core/scripts/filetype.vim bareos_ft.vim
+ fi
+
+ # setup init scripts
+ myscripts="bareos-fd"
+ if ! use clientonly; then
+ if use director; then
+ myscripts+=" bareos-dir"
+ fi
+ if use storage-daemon; then
+ myscripts+=" bareos-sd"
+ fi
+ fi
+ for script in ${myscripts}; do
+ # install init script and config
+ newinitd "${FILESDIR}/${script}-21-r1".initd "${script}"
+ newconfd "${FILESDIR}/${script}-21".confd "${script}"
+ done
+
+ # install systemd unit files
+ if use systemd; then
+ if ! use clientonly; then
+ use director && systemd_newunit "${FILESDIR}"/bareos-dir-21.service bareos-dir.service
+ use storage-daemon && systemd_dounit "${FILESDIR}"/bareos-sd.service
+ fi
+ systemd_dounit "${FILESDIR}"/bareos-fd.service
+ fi
+
+ # make sure the working directory exists
+ diropts -m0750
+ keepdir /var/lib/bareos
+ keepdir /var/lib/bareos/storage
+
+ # set log directory ownership
+ if ! use clientonly; then
+ diropts -m0755 -o bareos -g bareos
+ fi
+ keepdir /var/log/bareos
+
+ newtmpfiles "${FILESDIR}"/tmpfiles.d-bareos.conf bareos.conf
+
+ # make sure bareos group can execute bareos libexec scripts
+ fowners -R root:bareos /usr/libexec/bareos
+}
+
+pkg_postinst() {
+ tmpfiles_process bareos.conf
+
+ if use clientonly; then
+ fowners root:bareos /var/lib/bareos
+ else
+ fowners bareos:bareos /var/lib/bareos
+ fi
+
+ if ! use clientonly && use director; then
+ einfo
+ einfo "If this is a new install, you must create the database:"
+ einfo
+ einfo " su postgres -c '/usr/libexec/bareos/create_bareos_database'"
+ einfo " su postgres -c '/usr/libexec/bareos/make_bareos_tables'"
+ einfo " su postgres -c '/usr/libexec/bareos/grant_bareos_privileges'"
+ einfo
+ einfo "or run"
+ einfo
+ einfo " emerge --config app-backup/bareos"
+ einfo
+ einfo "to do this"
+ fi
+}
+
+pkg_config() {
+ su postgres -c '/usr/libexec/bareos/create_bareos_database' || die "could not create bareos database"
+ su postgres -c '/usr/libexec/bareos/make_bareos_tables' || die "could not create bareos database tables"
+ su postgres -c '/usr/libexec/bareos/grant_bareos_privileges' || die "could not grant bareos database privileges"
+}
diff --git a/app-backup/bareos/bareos-22.1.4.ebuild b/app-backup/bareos/bareos-22.1.4.ebuild
new file mode 100644
index 000000000000..d0de880031c4
--- /dev/null
+++ b/app-backup/bareos/bareos-22.1.4.ebuild
@@ -0,0 +1,434 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+CMAKE_WARN_UNUSED_CLI=no
+
+inherit python-any-r1 systemd cmake tmpfiles
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+ S=${WORKDIR}/${PN}-Release-${PV}
+fi
+
+DESCRIPTION="Featureful client/server network backup suite"
+HOMEPAGE="https://www.bareos.org/"
+
+# some tests still fail propably due to missing bits in src_test -> TODO
+RESTRICT="mirror test"
+#RESTRICT="
+# mirror
+# !test? ( test )
+#"
+
+LICENSE="AGPL-3"
+SLOT="0"
+IUSE="X acl ceph clientonly +director glusterfs ipv6 lmdb
+ logwatch ndmp readline scsi-crypto split-usr
+ static +storage-daemon systemd tcpd test vim-syntax vmware xattr"
+
+# get cmake variables from core/cmake/BareosSetVariableDefaults.cmake
+DEPEND="
+ !app-backup/bacula
+ acct-group/${PN}
+ !x86? (
+ ceph? ( sys-cluster/ceph )
+ )
+ glusterfs? ( sys-cluster/glusterfs )
+ lmdb? ( dev-db/lmdb )
+ dev-libs/gmp:0
+ !clientonly? (
+ acct-user/${PN}
+ dev-db/postgresql:*[threads(+)]
+ director? (
+ virtual/mta
+ )
+ )
+ logwatch? ( sys-apps/logwatch )
+ ndmp? ( net-libs/rpcsvc-proto )
+ tcpd? ( sys-apps/tcp-wrappers )
+ readline? ( sys-libs/readline:0 )
+ static? (
+ acl? ( virtual/acl[static-libs] )
+ dev-libs/jansson:=[static-libs]
+ dev-libs/lzo[static-libs]
+ dev-libs/openssl:0=[static-libs]
+ sys-libs/ncurses:=[static-libs]
+ sys-libs/zlib[static-libs]
+ )
+ !static? (
+ acl? ( virtual/acl )
+ dev-libs/jansson:=
+ dev-libs/lzo
+ dev-libs/openssl:0=
+ sys-libs/ncurses:=
+ sys-libs/zlib
+ )
+ X? (
+ dev-qt/qtwidgets:5=
+ )
+ "
+RDEPEND="${DEPEND}
+ !clientonly? (
+ storage-daemon? (
+ sys-block/mtx
+ app-arch/mt-st
+ )
+ )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+ "
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ dev-cpp/gtest
+ dev-db/postgresql:*[server,threads(+)]
+ dev-db/mariadb:*[server]
+ )
+"
+
+REQUIRED_USE="
+ static? ( clientonly )
+ x86? ( !ceph )
+"
+
+PATCHES=(
+ # fix gentoo platform support
+ "${FILESDIR}/${PN}-21-cmake-gentoo.patch"
+ "${FILESDIR}/${PN}-22.0.2-werror.patch"
+ "${FILESDIR}/${PN}-21.1.2-no-automagic-ccache.patch"
+)
+
+pkg_pretend() {
+ local active_removed_backend=""
+ if has_version "<app-backup/bareos-21[director,mysql]"; then
+ if grep -qhriE "dbdriver.*=.*mysql" /etc/bareos/; then
+ active_removed_backend=MySQL
+ fi
+ elif has_version "<app-backup/bareos-21[director,sqlite]"; then
+ if grep -qhriE "dbdriver.*=.*sqlite" /etc/bareos/; then
+ active_removed_backend=SQLite
+ fi
+ fi
+ if [[ -n $active_removed_backend ]]; then
+ ewarn
+ ewarn "You are currently using bareos with the $active_removed_backend"
+ ewarn "catalog backend."
+ ewarn
+ ewarn "THIS IS NOT SUPPORTED ANYMORE"
+ ewarn
+ ewarn "Beginning with version 21.0.0 bareos has dropped support for"
+ ewarn "MySQL and SQLite catalog backends."
+ ewarn
+ ewarn "To upgrade to bareos >=21.0.0 you need to migrate to PostgreSQL"
+ ewarn "catalog backend using the 'bareos-dbcopy' tool of your current"
+ ewarn "installation first."
+ ewarn
+ die "current catalog backend not supported anymore"
+ fi
+}
+
+src_test() {
+ # initialze catalog test database
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createuser -h "${T}" bareos || die
+ createdb -h "${T}" --owner bareos bareos || die
+ export PGHOST="${T}"
+
+ # initiale mariadb database for backup tests
+ # $USER must be set and != root
+ export USER=portage
+
+ default
+ cmake_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+ rm -rvf "${T}"/pgsql
+}
+
+src_prepare() {
+ # fix missing DESTDIR in symlink creation
+ sed -i '/bareos-symlink-default-db-backend.cmake/d' "${S}/core/src/cats/CMakeLists.txt"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=()
+
+ cmake_comment_add_subdirectory webui
+
+ if use clientonly; then
+ mycmakeargs+=(
+ -Dclient-only=ON
+ -Dstatic-cons=$(usex static)
+ -Dstatic-fd=$(usex static)
+ )
+ fi
+
+ for useflag in acl ipv6 ndmp scsi-crypto \
+ systemd lmdb; do
+ mycmakeargs+=( -D$useflag=$(usex $useflag) )
+ done
+ if use X; then
+ mycmakeargs+=( -Dtraymonitor=yes )
+ fi
+
+ mycmakeargs+=(
+ -DHAVE_PYTHON=0
+ -Darchivedir=/var/lib/bareos/storage
+ -Dbackenddir=/usr/$(get_libdir)/${PN}/backend
+ -Dbasename="`hostname -s`"
+ -Dbatch-insert=yes
+ -Dbsrdir=/var/lib/bareos/bsr
+ -Dconfdir=/etc/bareos
+ -Dcoverage=no
+ -Ddb_password=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1`
+ -Ddir-group=bareos
+ -Ddir-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Ddir-user=bareos
+ -Ddocdir=/usr/share/doc/${PF}
+ -Ddynamic-cats-backends=yes
+ -Ddynamic-storage-backends=yes
+ -Dfd-group=bareos
+ -Dfd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dfd-user=root
+ -Dhost=${CHOST}
+ -Dhostname="`hostname -s`"
+ -Dhtmldir=/usr/share/doc/${PF}/html
+ -Dlibdir=/usr/$(get_libdir)
+ -Dlogdir=/var/log/bareos
+ -Dmandir=/usr/share/man
+ -Dmon-dir-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dmon-fd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dmon-sd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dopenssl=yes
+ -Dpiddir=/run/bareos
+ -Dplugindir=/usr/$(get_libdir)/${PN}/plugin
+ -Dsbin-perm=0755
+ -Dsbindir=/usr/sbin
+ -Dscriptdir=/usr/libexec/bareos
+ -Dsd-group=bareos
+ -Dsd-password="`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`"
+ -Dsd-user=root
+ -Dsubsysdir=/run/lock/subsys
+ -Dsysconfdir=/etc
+ -Dworkingdir=/var/lib/bareos
+ -Dx=$(usex X)
+ )
+
+ # disable droplet support for now as it does not build with gcc 10
+ # ... and this is a bundled lib, which should have its own package
+ cd core && cmake_comment_add_subdirectory "src/droplet"
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove some scripts we don't need at all
+ rm -f "${D}"/usr/libexec/bareos/{bareos,bareos-ctl-dir,bareos-ctl-fd,bareos-ctl-sd}
+ rm -f "${D}"/usr/sbin/bareos
+
+ # remove upstream init scripts and systemd units
+ rm -f "${D}"/etc/init.d/bareos-* "${D}"/lib/systemd/system/bareos-*.service
+
+ # remove misc stuff we do not need in production
+ rm -f "${D}"/etc/bareos/bareos-regress.conf
+ rm -f "${D}"/etc/logrotate.d/bareos-dir
+
+ # remove duplicate binaries being installed in /usr/sbin and replace
+ # them by symlinks to not break systems that still use split-usr
+ if use split-usr; then
+ for f in bwild bregex bsmtp bconsole; do
+ rm -f "${D}/usr/sbin/$f" || die
+ ln -s "../bin/$f" "${D}/usr/sbin/$f" || die
+ done
+ fi
+
+ # get rid of py2 stuff
+ rm -rf "$D"/usr/lib64/python2.7 || die
+ rm -f "$D"/usr/lib64/bareos/plugin/python-fd.so || die
+ if ! use vmware; then
+ rm -f "$D"/usr/lib64/bareos/plugin/{BareosFdPluginVMware.py,bareos-fd-vmware.py}
+ fi
+
+ # rename statically linked apps
+ if use clientonly && use static ; then
+ pushd "${D}"/usr/sbin || die
+ mv static-bareos-fd bareos-fd || die
+ mv static-bconsole bconsole || die
+ popd || die
+ fi
+
+ # extra files which 'make install' doesn't cover
+ if ! use clientonly; then
+ # the logrotate configuration
+ # (now unconditional wrt bug #258187)
+ diropts -m0755
+ insinto /etc/logrotate.d
+ insopts -m0644
+ newins "${S}"/core/scripts/logrotate bareos
+
+ # the logwatch scripts
+ if use logwatch; then
+ diropts -m0750
+ dodir /etc/log.d/scripts/services
+ dodir /etc/log.d/scripts/shared
+ dodir /etc/log.d/conf/logfiles
+ dodir /etc/log.d/conf/services
+ pushd "${S}"/core/scripts/logwatch >&/dev/null || die
+
+ into /etc/log.d/scripts/services
+ dobin bareos
+
+ into /etc/log.d/scripts/shared
+ dobin applybareosdate
+
+ insinto /etc/log.d/conf/logfiles
+ newins logfile.bareos.conf bareos.conf
+
+ insinto /etc/log.d/conf/services
+ newins services.bareos.conf bareos.conf
+
+ popd >&/dev/null || die
+ fi
+ fi
+
+ rm -vf "${D}"/usr/share/man/man1/bareos-bwxconsole.1*
+ if use clientonly || ! use director; then
+ rm -vf "${D}"/usr/share/man/man8/bareos-dir.8*
+ rm -vf "${D}"/usr/share/man/man8/bareos-dbcheck.8*
+ rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
+ rm -vf "${D}"/usr/share/man/man8/bwild.8*
+ rm -vf "${D}"/usr/share/man/man8/bregex.8*
+ rm -vf "${D}"/usr/share/man/man8/bpluginfo.8*
+ rm -vf "${D}"/usr/libexec/bareos/create_*_database
+ rm -vf "${D}"/usr/libexec/bareos/drop_*_database
+ rm -vf "${D}"/usr/libexec/bareos/make_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/update_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/drop_*_tables
+ rm -vf "${D}"/usr/libexec/bareos/grant_*_privileges
+ rm -vf "${D}"/usr/libexec/bareos/*_catalog_backup
+ fi
+ if use clientonly || ! use storage-daemon; then
+ rm -vf "${D}"/usr/share/man/man8/bareos-sd.8*
+ rm -vf "${D}"/usr/share/man/man8/bcopy.8*
+ rm -vf "${D}"/usr/share/man/man8/bextract.8*
+ rm -vf "${D}"/usr/share/man/man8/bls.8*
+ rm -vf "${D}"/usr/share/man/man8/bscan.8*
+ rm -vf "${D}"/usr/share/man/man8/btape.8*
+ rm -vf "${D}"/usr/libexec/bareos/disk-changer
+ rm -vf "${D}"/usr/libexec/bareos/mtx-changer
+ rm -vf "${D}"/usr/libexec/bareos/dvd-handler
+ rm -vf "${D}"/etc/bareos/mtx-changer.conf
+ fi
+ if ! use scsi-crypto; then
+ rm -vf "${D}"/usr/share/man/man8/bscrypto.8*
+ fi
+
+ # documentation
+ dodoc README.md
+ dodoc core/README.configsubdirectories
+ use glusterfs dodoc core/README.glusterfs
+ use ndmp && dodoc core/README.NDMP
+ use scsi-crypto && dodoc core/README.scsicrypto
+
+ # vim-files
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins core/scripts/bareos.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ newins core/scripts/filetype.vim bareos_ft.vim
+ fi
+
+ # setup init scripts
+ myscripts="bareos-fd"
+ if ! use clientonly; then
+ if use director; then
+ myscripts+=" bareos-dir"
+ fi
+ if use storage-daemon; then
+ myscripts+=" bareos-sd"
+ fi
+ fi
+ for script in ${myscripts}; do
+ # install init script and config
+ newinitd "${FILESDIR}/${script}-21-r1".initd "${script}"
+ newconfd "${FILESDIR}/${script}-21".confd "${script}"
+ done
+
+ # install systemd unit files
+ if use systemd; then
+ if ! use clientonly; then
+ use director && systemd_newunit "${FILESDIR}"/bareos-dir-21.service bareos-dir.service
+ use storage-daemon && systemd_dounit "${FILESDIR}"/bareos-sd.service
+ fi
+ systemd_dounit "${FILESDIR}"/bareos-fd.service
+ fi
+
+ # make sure the working directory exists
+ diropts -m0750
+ keepdir /var/lib/bareos
+ keepdir /var/lib/bareos/storage
+
+ # set log directory ownership
+ if ! use clientonly; then
+ diropts -m0755 -o bareos -g bareos
+ fi
+ keepdir /var/log/bareos
+
+ newtmpfiles "${FILESDIR}"/tmpfiles.d-bareos.conf bareos.conf
+
+ # make sure bareos group can execute bareos libexec scripts
+ fowners -R root:bareos /usr/libexec/bareos
+}
+
+pkg_postinst() {
+ tmpfiles_process bareos.conf
+
+ if use clientonly; then
+ fowners root:bareos /var/lib/bareos
+ else
+ fowners bareos:bareos /var/lib/bareos
+ fi
+
+ if ! use clientonly && use director; then
+ einfo
+ einfo "If this is a new install, you must create the database:"
+ einfo
+ einfo " su postgres -c '/usr/libexec/bareos/create_bareos_database'"
+ einfo " su postgres -c '/usr/libexec/bareos/make_bareos_tables'"
+ einfo " su postgres -c '/usr/libexec/bareos/grant_bareos_privileges'"
+ einfo
+ einfo "or run"
+ einfo
+ einfo " emerge --config app-backup/bareos"
+ einfo
+ einfo "to do this"
+ einfo
+ einfo "For major upgrades you may need to run:"
+ einfo
+ einfo " su postgres -c '/usr/libexec/bareos/update_bareos_tables'"
+ einfo
+ einfo "Please see release notes for details."
+ einfo "( https://docs.bareos.org/Appendix/ReleaseNotes.html )"
+ einfo
+ fi
+}
+
+pkg_config() {
+ su postgres -c '/usr/libexec/bareos/create_bareos_database' || die "could not create bareos database"
+ su postgres -c '/usr/libexec/bareos/make_bareos_tables' || die "could not create bareos database tables"
+ su postgres -c '/usr/libexec/bareos/grant_bareos_privileges' || die "could not grant bareos database privileges"
+}
diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest
index e84c5f79c33b..4e03e8260e60 100644
--- a/app-backup/borgmatic/Manifest
+++ b/app-backup/borgmatic/Manifest
@@ -1,3 +1,4 @@
DIST borgmatic-1.8.10.tar.gz 599453 BLAKE2B 1ae994d452d29139d23940500d7c9f01e7fc1ddbd36254bf0c36d7f56064ccba7fb8434741dd0114d42271eb241098a12f8a07b83046447ae2225f7cd2ab12ae SHA512 10f5d962f6d25ef42ba4d076e238e1986dcfcd9832b3eea08560f367524824fdb0f80f42962ea6a471d711c6a0e293669b85abdc160475c20eed851ce7ad7f42
+DIST borgmatic-1.8.11.tar.gz 600265 BLAKE2B 04c5e419de892e636e644185681c3e9ce0ca2dd9b62a043dfdabd38a32ca2f101f6a845fd1ebc68a025625066ea9c53aff9ab1e831a2aeaa566bccb7ec4827c7 SHA512 da19a341713302378409c0e90395a0e5ac4759b1ef593fe53a50113a0c90f130af060d38f49dae80018b8d8605da87415b841fedfc2d2778eee4a690aa5cc311
DIST borgmatic-1.8.8.tar.gz 589575 BLAKE2B 09a3ca616bd1cf5fcc6c773d8066357d764b44230d691b7afa90bb1fdbce3aa3bfaac509e921adaa9086ba60310b24d1f2ba186849853c8f04e2a85c4b0ec94f SHA512 3984f6e34f8aed5c57df22799e60724903bfcec833e5c3215ad731977b7d376f36129fabd489c166f945d7103f272bcc132a9ea49010552001794b57f27fb5d5
DIST borgmatic-1.8.9.tar.gz 592715 BLAKE2B 3586404985b8cc0d5575f570ba6679c406e95b83453a7c2414872049067b1736010b9f8498fa92e91d281b1cdf75882bc09e40d6d9e443bff33c399ee1392ff9 SHA512 05386f6321d78e304030ebb78c495aee53a1b6f17241f101e73a097aa4208ac641d6105b1e8161cf714b2eab7c34fe682e082e9e997dc4ac6a6a4207253e8421
diff --git a/app-backup/borgmatic/borgmatic-1.8.11.ebuild b/app-backup/borgmatic/borgmatic-1.8.11.ebuild
new file mode 100644
index 000000000000..09e09f4eea4c
--- /dev/null
+++ b/app-backup/borgmatic/borgmatic-1.8.11.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd pypi
+
+DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
+HOMEPAGE="https://torsion.org/borgmatic/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
+IUSE="apprise"
+
+REQUIRED_USE="test? ( apprise )"
+
+# borg is called as an external tool, hence no pythonic stuff
+RDEPEND="app-backup/borgbackup
+ $(python_gen_cond_dep '
+ <dev-python/colorama-0.5[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ ')
+ apprise? ( $(python_gen_cond_dep '
+ dev-python/apprise[${PYTHON_USEDEP}]
+ ') )"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
+ ')
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.13-no_test_coverage.patch
+ "${FILESDIR}"/${PN}-1.7.14-systemd_service_bin_path.patch
+)
+
+# A fragile test whose only purpose is to make sure the NEWS file
+# has been updated for the current version.
+EPYTEST_DESELECT=(
+ tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
+)
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+ systemd_dounit sample/systemd/borgmatic.{service,timer}
+ keepdir /etc/borgmatic
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ elog "To generate a sample configuration file, run:"
+ elog " ${PN} config generate"
+ else
+ local oldver
+ for oldver in ${REPLACING_VERSIONS}; do
+ if ver_test "${oldver}" -lt 1.8.0; then
+ ewarn "Please be warned that ${PN}-1.8.0 has introduced several breaking changes."
+ ewarn "For details, please see"
+ ewarn
+ ewarn " https://github.com/borgmatic-collective/borgmatic/releases/tag/1.8.0"
+ ewarn
+ break
+ fi
+ done
+ fi
+ elog
+ elog "Systemd users wishing to periodically run ${PN} can use the provided timer and service units."
+}
diff --git a/app-backup/kup/Manifest b/app-backup/kup/Manifest
index 4f076b6f44c7..d9c2621faadb 100644
--- a/app-backup/kup/Manifest
+++ b/app-backup/kup/Manifest
@@ -1 +1,2 @@
+DIST kup-0.10.0.tar.xz 243176 BLAKE2B 081be05c54d9dcfc4f7a4f692efac3531d2d871c72d0ac71b514cd1d07b8ed78cde133ca2c27169113ad9986699bbc6613e118eab84d840c704dc7cd9a09be27 SHA512 3ee5241b4e918488cd4e6d2d54474bafa23749c9bf7132639ca3683ec0723eabb0626df7233f898f97bc0403fca36c7431386b37e1e3d4389d4ef614f5c916c9
DIST kup-0.9.1.tar.xz 205740 BLAKE2B a3200f69e1cd4500b3d74b0ba4bfaa53d63e00c8de73155075c579c7665663fd9285ca4c31e1b8abec62981b6e2d93b93a5db68820727567de77ebcf3d32fda1 SHA512 8906c33ce489fb049ce6223180693e1f5fa97762ff0a45eb68dbd8bad0b816b7ef500f13f1299a4ae75785a48825fc442b39fc0af1a5ef64b5f854d9fac9cc33
diff --git a/app-backup/kup/kup-0.10.0.ebuild b/app-backup/kup/kup-0.10.0.ebuild
new file mode 100644
index 000000000000..1bce91f08a35
--- /dev/null
+++ b/app-backup/kup/kup-0.10.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Backup scheduler for the Plasma desktop"
+HOMEPAGE="https://apps.kde.org/kup/"
+SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+ dev-libs/libgit2:=
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets]
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ kde-plasma/libplasma:6
+ kde-plasma/plasma5support:6
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ net-misc/rsync
+"
diff --git a/app-backup/luckybackup/metadata.xml b/app-backup/luckybackup/metadata.xml
index 879842225229..5213d130d742 100644
--- a/app-backup/luckybackup/metadata.xml
+++ b/app-backup/luckybackup/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">luckybackup</remote-id>
</upstream>
diff --git a/app-backup/rdedup/Manifest b/app-backup/rdedup/Manifest
index b53d5ede9b4c..cf6ef9f49eaa 100644
--- a/app-backup/rdedup/Manifest
+++ b/app-backup/rdedup/Manifest
@@ -1,32 +1,42 @@
DIST aho-corasick-0.5.3.crate 252052 BLAKE2B aba67d996b22c336165be78c89f53a2164605544f82587ceb1145bdb850326c2889d1bdcc3e95a6c5bb1dc0a996902130ab8425a7b0b88b38daffbfc9f58e309 SHA512 cc297b4882b869919edf9023ee2bd7100eb48709f6e7076fd26d1701dab3d8aa2cfb03752a764877cd92177ab7a4ce3dcdae76d16965eca2ff53667832afda31
-DIST argparse-0.2.1.crate 18969 BLAKE2B 68e4b5502409b2d2b8d2891164d114bde6b65babca241f8c881b07483dd78b114594c1450c06124f04946022303fa41d8b108122757ff2117ca6be3a0e619ad3 SHA512 f12aea4ddc0d619d40194f8d3db3c4d952521d1dfad6bc21b5b7cf8db91c30f70c5259bd6a0cf40d521e4d0cbaf3e4d59ae0bd40554772c79a4b200ebcfa73fe
+DIST argparse-0.2.2.crate 19440 BLAKE2B 7b15b2072ff52149bc08c5d02a266f2eef78a3aa8844e49154cf2ae1a9cb960ddc2a96a065b4aa44637aca8216211f2965291364d9f06ff6f68524a1f15dfed9 SHA512 97691566d3adc6f6be1c00cdca48424fd3576c372d1c995e7e31658bd20e17ef13553f7de21968ba189fd812928aeb93ef0fa89fe2fd258f45a0a8e095783706
+DIST cc-1.0.99.crate 76961 BLAKE2B d615f647bc5e4f7f580f878fc41baee172e9513f1157d421c491c36af2ca330dde2a6ddd4238c03aae27feed5e8cc042f4b790d7b145952a8676ac553f72e356 SHA512 2f6c9a0869b3b636b011390efade0085ed5fe616ecb33ff586c948779b9c9bea9169cb1c31441b0aeb63dbaa35cdb76b6e67ace38d561e2c150e06853a2b1757
DIST env_logger-0.3.5.crate 5950 BLAKE2B 89772523b6beaa965be1548a0193d92a0a334e301b23e94bcbd407c1e0d5c31ea999b75fbc48d007529ac7581f92866a654d0fd67cc2df329a1ba1ce53c0fdf6 SHA512 9650ba32bfaa8c013c04cf2eb68378874fed53a178332151bec8d7ac832ab2884f91fdc39c372d3c1677954b073212654fb570da1f3c708e4d5a25910d6c1181
-DIST flate2-0.2.17.crate 47795 BLAKE2B d6bcae7d12040f2fdddc33828e7c66ee8de47469c4b808ba10239ad3b31482ddeda0f39678a6660410a3772afc3546c03aa4050ca6f83ac532f051f39b8fe104 SHA512 609f2e3c71e8889ccc3682fa62ecf52a068c1e61040b2e0eebb7b8de7784dd595592bdef34c7a03e0587cb3e4c2e2d8de88eec113122a222676cd4fb7d8cc775
+DIST flate2-0.2.20.crate 61748 BLAKE2B 8538749b3bed9cde97762702cd4882a9582bb3b11c080d888aebbd31aa10da8ec056d5129d8d3af833da06d84b4b061e8ec5332948a4a43cc2cb0b61a40f1d18 SHA512 b8273301dd1ddd4d05d2767dd56b963ee7f5f777fc584d7b4ff887dc53578579945ecbd58cb0aaae2050cdd0c735b3662469098a377e68af08e9e0068c4410fb
DIST fs2-0.2.5.crate 12661 BLAKE2B c759986069c015e470fb622bccfea63b7d6b9c89e08fbc304765204a23e05552ab0408c9cf508a2ec5aaf1baac8bb992dcc39037e37d21c3adc7cae0c2025a85 SHA512 733598cf49f8725a98b91f65d1243dd0d078f129df62f68e8fb9ecd4cc58179627038586ab505d31a82932e7ee196e99f4967f5f82d08b90e3c7927a19006447
-DIST gcc-0.3.43.crate 26087 BLAKE2B abd5bfd81c628a2f726fb3fca90e87c87de8a78d58982b1db20b26dde2a182a708c4e30ae2b0714aec8d8d85c9e0af508b093e1a53a7ab9b41543d4dd508cc10 SHA512 27dd847b9466140d8cdd9bd4ac466d2ba26a93f858fcdcc1d58a59b08207f34f283004512faa53c4d8cf9632e0e9199c0f42db6df1db9a8d6b96e72e074af5e3
+DIST fuchsia-cprng-0.1.1.crate 2950 BLAKE2B 8519407ab5d1f04d03cc946a07050db4dd7bc70e03894e35b9e66910a3be11224084a86ba45103fdec845e94b7ba4defbd7c5217b035a0796c0c4a94b9562cd7 SHA512 ea9f5beb0dfcb023c22cfc2b37ce52dfcf3a2cbbed0f79ffffc332878858386805c65dce8469a431002367562d857a6c064e075688540c27fcb4056a110059d2
+DIST gcc-0.3.55.crate 37262 BLAKE2B 3341dc7136c14fa822a67fdeb72f7ea50b1264823e695e189d69604b8b8cce898ee2d40d8a536d0f520f5e190576afde16afa5d9cbe0a2c4b8600cf50bbd1447 SHA512 b045b60cf65c1deae44e4f40d0f511dab05c82be5065390dfbdaf5b51ee2d0653c3a6d8d1e7606e4bb6d234adfd22a8c68bde724406f3edb4bb6366617d46a86
DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b
-DIST libc-0.2.20.crate 121083 BLAKE2B 5ff063ccfb8eb0398cdb7307c9ee096a32fbce6da02418677324d6fe9901f3437c6060435867c781d4d617fe9183126a42a9c07acc9b5698c4af92121e6fbdbc SHA512 fb86e11f8317881c3e804e186ad9e2b7aee0ad4d0965ea67729ba74682e246e70bc2d283b170b6ab451c9907ee63fa6632a7211b2342f03e2ecb800fcaafd696
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST libsodium-sys-0.0.12.crate 13527 BLAKE2B 991f3ca1009af39a55d259e1b161750e4144ffd8098948934877af47a29cb8296fb0cb0c8a41556eac21713fe8d6374823afd3f351ecae9443fc1055e9b04e50 SHA512 9370a2b69fe6b0b1c69d07ebbbbff0f5677e8575bb4be43356c0d7bd6c64e7553396f3626e06e8a48a2ff03823bb164f18d768bd49732a5f7ab00168126dfdf1
-DIST log-0.3.6.crate 16110 BLAKE2B 6dc589c3c24f3bbecf60310bfbd187179ac18afae1a17e6d28abf38f322e740aa02d73d396926650c347dba24afc50e3bb4cdeccf74ec7511ff9a7277084f5ec SHA512 f2e5526a2613f70301a607cbc79213a946a6039f85473f9de28ceb2f3b464be61a584f34ca6381e077d8bf6ac751c93011087d1723649c0d7722281f1a2b7174
+DIST log-0.3.9.crate 16686 BLAKE2B 543a8a2425c88bd3cf00d4cd2b4790ef344f9743b61776d65f1d8aaaa1ee1069933e33aec114a2dcaada5cf698bbd983fb22354aa50bca58b161a36b2f1efc47 SHA512 1d49a0dcff0a17c1238aba6a6cbc485a61986e8c4768805ded912c5014d0fba6ca38c9bd038f3f53900a6309d41fc0216682f137362e63715878195453d2de6f
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
DIST memchr-0.1.11.crate 6977 BLAKE2B 44d270a5ad4916dfeb186b3997168cf80556f2afd1727b1e4c796942d48e8e453ea6182fd47526ecdfe5c6edf33ea9329b5a3864db9e681420e8c76cb726a9bc SHA512 96bbdb69913966326acba4bb82b8dfe0516edba225ac38b3355d60a2337ca620807750682fff3de7a2a38a7f70f0db7d8c1638701aacca7ab4c14098ba0fbcab
-DIST miniz-sys-0.1.9.crate 53242 BLAKE2B 1259dae3c0c1d37c68e947f9f64e8c4044ef7eb6d900cc8f6a8ef07a42454beba4565885c301021cf925096b605fbe482d22df6c6f9b44a228e7a6fe468ad7a8 SHA512 130d872d25ca30937cbe34d93c6c3be359b4613c192b2dd8c542c0f3c2893c15176afc84da8e9077368647bdc0cc584aa995b3cbc8927b5e7de059b6135be709
-DIST pkg-config-0.3.9.crate 11055 BLAKE2B 8c8c9a4badcb2d2691a953b06a6c479794eae97e40d95509051ae34665ac467554849f050eafd83c03070c9239709b7873e1c33604a06acce396ddf678c96e34 SHA512 084e18e8c91ba6a1b305624d16c06f8f7df994c93cf86ccf443bc8f2669368a15bfa9875bc4f2933e94aa268e15fef783235c98558ba596cfc79dbd31f0b69d1
-DIST rand-0.3.15.crate 55312 BLAKE2B bde7d5bf10e153d793d0ce9711c6626dab545e1b42296c6c4f0f104bd316bccc51fad3d6321c504069360fba96a74d2af756c92db3859675295c33d0be46c660 SHA512 4c812b1f742adf94fe45c806fd66a360a2490e474db6cc1d13acf4101fd63072429f1b50aa84b51cc742c1624a871a588769f4c12faa775f6f275a028fe96633
+DIST miniz-sys-0.1.12.crate 78209 BLAKE2B bd6aea3b23382b754a926e8f6f4ba4b1684ea86987100c16556d0567278297e6e5bcfed2ca8a114831f75814692f38ae147f6c1951d218cd5ddfd81231fde86c SHA512 e00ab08d024806ffe68f8d9d0404bf83e62c58d04398bd8b0f8993a6c60a38fcc3a50189cef7a699ad7a93682d9f2353a31f5596d62a72c5f6560d12cf0c0a02
+DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
+DIST rand-0.3.23.crate 11318 BLAKE2B 5ad9b187fcdfc515c606a73bd1e9aa3215e367659c35a013c9d4d0f80f9832331dfb971ca370a627c0a2afe2b8860514740e00b1d7572e221a557b5570cff6ff SHA512 a4f46fb7dfe39677dfc112eeb56fb3c28cec4cdaaf95f336f2a494f0b2b30fdf22ceb9ea956f90e13c7ffe711a68aef9fc1a80d9a911d93221ae263c243fb2c3
+DIST rand-0.4.6.crate 76401 BLAKE2B 5593ad2d7fb8214d917e2eb734f5eee548f48fd699c9fccc0de9c0c6ee49803a426492a25fda2ffcf844169e2bca00709d4dcd9ceede72a4667ec431f5502fda SHA512 a91c6da7188b426bf9cb832892ee2af87c4cd65fad505c34e9c63343da71efe8c0c67b75c405dca5345317b7940d1d0fc0b20be85afd6b3089203e5698d86f0a
+DIST rand_core-0.3.1.crate 15483 BLAKE2B 2e09b3b3306514c29bd7588498e79be7353de656d8cdeeb4dfc6a1ad092f15a861c2ac20591ff71f7f60d986de9a09c860de4a9f06799f04e736b31bc70a5fbe SHA512 5a7ae601124502bede760fd3179c2b28059ebc3b5983bfcb6b8fa62fb58df95cedc1aeb2734e792d894dfa4620801c13c29702f9cbee64243121575d4b6b9114
+DIST rand_core-0.4.2.crate 20243 BLAKE2B 22fee5e44127eee047ad8abcd9dd828befd0feee77ee9a0bcd4dd42174b1e650f2a19f1f3b39fde937e58c17afaabf7231e2aabf214c2eb22edf3f85b73f6eec SHA512 f7ae3b690e2cc1fbf2707ee04b752bc5472433f737ab581f9872f7c5660966bc6be45f0c5d2cd8771105df6d4a9d206c55f5cc6ffc1693b46e1ae03a2883b028
DIST rdedup-1.0.2.crate 7161 BLAKE2B 800eb6da28186b310a973ff4c5a678230e9455400d4262a774f64c8285bcf51feaceca3abd87b7b3445e2a4cd29568d7f24893a03eb5a478bad670ba359f00ac SHA512 f3999b6c981b52d237288c77c6bbb7b86a6531c0753d660d26cc6cfe540037c57e06f626315d1294b2fd312f0782494f273242b295a4ab9bc79a6a4de0cb8562
DIST rdedup-lib-1.0.2.crate 12851 BLAKE2B 9fe6536ab54c5288763e14b304e2bdd31bfd7b5ca3b675ad707c7a83bef2640bf97ff0573efb90033b4eaa666320770e62305c28e190e540ee836cc6443983e9 SHA512 563376d7423facd4831a87a444f57c597d909e3cee7c53cc5420ddf4dcc512d789d6c31da0d3c9edc8ce736bab71519424333ec6a4ab5c86ce4046a80b5d9703
-DIST redox_syscall-0.1.16.crate 11598 BLAKE2B c6fd512e6d61c5d96a4b5aa65f7bc383e61abd7ccd96c332d99f10c8afd1985c18cf0744769cd3e743a4abce55c1ef4824a5397021ebeb2d8b690b4ad8ecbfd2 SHA512 16b2a06549dbfd778e1bcbde2b1aa33951bc925d34cc910898563e400ca107221f32e022a131089831370aa7c056da1717ebb6f0947e2d8722bb443388462f2f
+DIST rdrand-0.4.0.crate 6456 BLAKE2B 330ee64d998a0358f95a3dce50b3e1bbda531a3b613db7e5ba4038a1cf7191b60be3a0f33416e05380c41040704ce52727928915e9d2f4565d39984d1c86fcd6 SHA512 6476275d124bee28747191471e8d8f321a3b1c148c1f2a7ece4175f5244a7de90afe5f99d2eba5244d886b92e38232398864bf90e6d434b09494533942c8d894
DIST regex-0.1.80.crate 185806 BLAKE2B d1bb6b363584528a11f0de67a0ebcda1d07a43d890acc7b5b8417f946e236d318708c6483fc6c7efdcb82509a116183400b39d939aed227821c9f5badba1c2a6 SHA512 a160d80f4ac9f1e17d1debe163584f2c6c2ba7a8c49c34a7e11ed945614fe1923714880515a31a1501566e254edad23be40307b452f9216915fa03d3dfaebda0
DIST regex-syntax-0.3.9.crate 117427 BLAKE2B 81b0fbd7565902c6b87619b5f66bab9a7e3fc5d64e4085a2b600daedaaa0a294add31790bfca3c653ec79033272f14c89f34f5f49b32dd9991c0199b209eeb24 SHA512 85513709816b148a163b73495b1e0100203da6c37d50a7d64368efb82fdac45fdd083d31bce4b193e1aa5926943e5278eaec5b23b174c425b5954d7b716fa506
DIST rollsum-0.2.1.crate 4171 BLAKE2B 61f255d1815d724492a3f8295d9584794520a9103d6b65704333e54488da2978829b70212d12e0d7d42428e747317f0cd3b0b78a0bbc20bcb1f828595f2d12ac SHA512 d179f8dd169a98a921affeb896cbef1368eeb393556c11a89386b6532239776fe4f1be9e80e41bd3c8f744bc36c5b0cc6fa2649e4235c6f69e948dad7917a58d
DIST rpassword-0.2.3.crate 3610 BLAKE2B 1a094674d11637d5c3ca9d067c9b324c05a90a1e4f7be762b4e5ebf124e5dbecc184e619c9238d18cad6daf72f4340a42bbbd63addf7bd79939e138d1813b5ae SHA512 16b8d627e56a581ee663c43c6ed63c8f45160b46c7bb4544614aa98911850edcf379c23e35c0d6682037b05f6990a96c86490f65d23a26d58928af096c556229
DIST rust-crypto-0.2.36.crate 857879 BLAKE2B c486a2e43eb9ac9d2558bb39a249dcd689e86eef51d9a7613a3964baa633cebec824d5a490254dc06eca7a5faa471126de92452d62c522a3dbf494b9940a13e1 SHA512 0fac026d8799ecde523f20e7b34b9486343e48b95e79cd76bb6c8bfaeaebed550e45d59d85d8a3a58595f10c02a4a5e55691da15c203a4336a9bdb5480cd2e90
-DIST rustc-serialize-0.3.22.crate 45545 BLAKE2B b367550233def2244b15cfffa7b089a0771e99047f477dab92a44c3b228b8879b92fba3f76998e9f6babb5b0a0ea8062f619bc8d9256f6e8edbb1680a4c548c3 SHA512 833649dc82e0a568eee051a37856983aadb3a33ca5d20c02e6ef057c7fad802c19d3131cc7108b33b098a964a2492e43d796f36b600fe3df4c93c76c9abb219c
+DIST rustc-serialize-0.3.25.crate 46114 BLAKE2B 54feaa72c7cda8aa4d4de225a99b3e2c78fa3893eef47c7666b6503e183bfd830d9693676a274e0dbf1d2f650489c4ba924ebf8650c47d11d561ec8bf8e85a11 SHA512 d7023ab949a1bcb43b3458a7bf3f6a8903a5a8e43ad87e8c635f5b1a43c72a27052b96bd9f2e9e8da4a532b5a97674850e5a11537ef8a1b17ef44017c7be1be8
DIST serde-0.7.15.crate 22719 BLAKE2B 4d9fbe17250097540c9b0188b4935a39befb52b8637c7296b848a971dabec89c8243e833d36c9640a81da6f42c5d28be17514a94e6ded500a82629654d9e48f2 SHA512 c7fe504876c3d654797c88b47af81d422129b427bb3bc8d9876106865913ac9863e7b323cb6a5098d654e7af0b18b39310bbb204d03d3b465dde38ad92912a7c
DIST sodiumoxide-0.0.12.crate 2068250 BLAKE2B 55e916af69c91d494137e19eeeb38db51ad2647cf774fa9fb487bd4c7ce9ba23a7717a445a00e661dc4e78b5b2758a8dadc27dc168093f5334948ec67827c8b5 SHA512 b47e9a1463185360886f23a8dc0b5f26784f639b204dec9ff6e830d845f42b201addc7cba87a4f75d19939fb1b21ee0fb7e3dc55dccbbe7e8d0f6c3ae7bac2a8
DIST termios-0.2.2.crate 8966 BLAKE2B df99537abec76fe65a51bb5172d69cf0626045447b5aebc9e388b9b36b685f99919f032075ff6a3da82612b6fee5a0fa57d347136b66a761dc24b84ca4128749 SHA512 ded990bf8c1fa2bc31087ce077903eb8955687cd8ada25b82c4ab030ce3a73cede0ed4c599963c2d0c05c51e2a0c26f0d29d328b364342d21a73eaf4fc153f2c
DIST thread-id-2.0.0.crate 6108 BLAKE2B 616ecca5907d78d8ce4326d69cea3e4af6d7076f701f59865c0c67f3ef2b62b5d9cdcc5fd0f4806ea4d4010afce2fbc288809d590330308818616faa9f6a862e SHA512 9fc73cb13dd70f6f323161667f7a253b48c4e11d074457fa033b3617dcaf7ba9aa95f12801c4c045e7e9c07dd4b63a83f79701b489a9d97aefde07970064d9b0
DIST thread_local-0.2.7.crate 10954 BLAKE2B 70a8545a0e9ab525c4246409d7b6c35e8675dffc58799b74f6286ee81f6b3a13a2d2d6a2fa38ed13cb83b5d6aad7e54d9896f004a8e623788d928d6cac975001 SHA512 adc9be75120fd9e27429d0116cc6774a519ed9a2348db122ea90864947e4c1e1c98aeef740e7f8d28861b1db0f4a9340e58e13c1b3ece1fb3320058ea7a47b35
-DIST time-0.1.36.crate 28333 BLAKE2B b87de9c713346b55eea1b738236608e7d9e14d619fb16e0d4772cc383c04b63a1ae5428d2248ad161d16fe37d282e3676dc04bc0b83ef86ecc6e5aeeaf998689 SHA512 1aa57438bb471344c1559610a0bb644dc488b0a69e354ad362c3cc95cd44c1c9269d9bd266c556c53796161d6ed381b35cba6fdcb62dfbef161ab4502300550a
+DIST time-0.1.45.crate 28911 BLAKE2B d43e2431752881f6885d572017f461b304d07ee5ef0d8b4898e62b47c8154268839c3bf69b141159090cfc0d90bd0113d6084fe99ea1f2b1e20668528ce21112 SHA512 e643fb8649f3efdaa1b0b6abc6a140d55ac550a55cad99d0cce9415dc51e155fb1ea240953eeaba5dc47ec73c49ab7f2962af79c693436289de0eb3ff60985ee
DIST utf8-ranges-0.1.3.crate 8422 BLAKE2B c044c53be4ae0ecba9117cfea6a2d8f26c326d4285ae4e3e5920a48c0a7817769dcef72974fdcb06d1428c2cf5a645fcb15268cf6a82de2bc2cbb858a888a338 SHA512 84bd9b67c423923b856452e113f0d786ac438bc7f9b4d4d9f31f6f91f141a8ac4c93f45f722ac5a8a4bac8eac0e355fe7db1eebc62391709326e9817eda8c374
+DIST wasi-0.10.0+wasi-snapshot-preview1.crate 26964 BLAKE2B 525db01649a5981ee82ad80a1a4bab9baffd235262452675619f36a1b454017a74593c53c129f8c30b865994bbe30ef19cebaad9d245ccf54b9b07ef70d5d8ec SHA512 88e2da617f50d9ebfb1e0c5857321fb86b5ee88ae8a8d199d3cc092e0f39688a2cb68503f7c6bb09dd6bc50a9a03597a1eb2e032150fbd0d0b8afa02ad771c88
DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
diff --git a/app-backup/rdedup/rdedup-1.0.2-r1.ebuild b/app-backup/rdedup/rdedup-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..b5cc8252eaf7
--- /dev/null
+++ b/app-backup/rdedup/rdedup-1.0.2-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.5.3
+ argparse@0.2.2
+ cc@1.0.99
+ env_logger@0.3.5
+ flate2@0.2.20
+ fs2@0.2.5
+ fuchsia-cprng@0.1.1
+ gcc@0.3.55
+ kernel32-sys@0.2.2
+ libc@0.2.155
+ libsodium-sys@0.0.12
+ log@0.3.9
+ log@0.4.21
+ memchr@0.1.11
+ miniz-sys@0.1.12
+ pkg-config@0.3.30
+ rand@0.3.23
+ rand@0.4.6
+ rand_core@0.3.1
+ rand_core@0.4.2
+ rdrand@0.4.0
+ regex@0.1.80
+ regex-syntax@0.3.9
+ rollsum@0.2.1
+ rpassword@0.2.3
+ rust-crypto@0.2.36
+ rustc-serialize@0.3.25
+ serde@0.7.15
+ sodiumoxide@0.0.12
+ termios@0.2.2
+ thread-id@2.0.0
+ thread_local@0.2.7
+ time@0.1.45
+ utf8-ranges@0.1.3
+ wasi@0.10.0+wasi-snapshot-preview1
+ winapi@0.2.8
+ winapi@0.3.9
+ winapi-build@0.1.1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ rdedup@${PV}
+ rdedup-lib@${PV}
+"
+
+inherit cargo
+
+DESCRIPTION="Data deduplication with compression and public key encryption"
+HOMEPAGE="https://github.com/dpc/rdedup"
+SRC_URI="${CARGO_CRATE_URIS}"
+
+LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-libs/libsodium-1.0.11:="
+DEPEND="${RDEPEND}"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+src_prepare() {
+ default
+ ln -sf "${WORKDIR}/cargo_home/gentoo/rdedup-lib-${PV}" lib || die
+}
+
+src_install() {
+ cargo_src_install
+ dodoc {CHANGELOG,README}.md
+}
diff --git a/app-backup/rdedup/rdedup-1.0.2.ebuild b/app-backup/rdedup/rdedup-1.0.2.ebuild
deleted file mode 100644
index db1c7985f566..000000000000
--- a/app-backup/rdedup/rdedup-1.0.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CRATES="
-aho-corasick-0.5.3
-argparse-0.2.1
-env_logger-0.3.5
-flate2-0.2.17
-fs2-0.2.5
-gcc-0.3.43
-kernel32-sys-0.2.2
-libc-0.2.20
-libsodium-sys-0.0.12
-log-0.3.6
-memchr-0.1.11
-miniz-sys-0.1.9
-pkg-config-0.3.9
-rand-0.3.15
-rdedup-lib-1.0.2
-regex-0.1.80
-regex-syntax-0.3.9
-rollsum-0.2.1
-rpassword-0.2.3
-rust-crypto-0.2.36
-rustc-serialize-0.3.22
-serde-0.7.15
-sodiumoxide-0.0.12
-termios-0.2.2
-thread-id-2.0.0
-thread_local-0.2.7
-time-0.1.36
-utf8-ranges-0.1.3
-winapi-0.2.8
-winapi-build-0.1.1
-rdedup-1.0.2
-rdedup-lib-1.0.2
-redox_syscall-0.1.16
-"
-
-inherit cargo
-
-DESCRIPTION="data deduplication with compression and public key encryption"
-HOMEPAGE="https://github.com/dpc/rdedup"
-SRC_URI="$(cargo_crate_uris ${CRATES})"
-
-LICENSE="Apache-2.0 BSD ISC MIT MPL-2.0 Unlicense"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/libsodium-1.0.11:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- ln -sf "${WORKDIR}/cargo_home/gentoo/rdedup-lib-${PV}" lib || die
-}
-
-src_install() {
- cargo_src_install
- dodoc {CHANGELOG,README}.md
-}
diff --git a/app-backup/tsm/Manifest b/app-backup/tsm/Manifest
index 4be9970efe09..5b1f5214da22 100644
--- a/app-backup/tsm/Manifest
+++ b/app-backup/tsm/Manifest
@@ -1,2 +1 @@
-DIST 8.1.17.2-TIV-TSMBAC-LinuxX86.tar 704153600 BLAKE2B a652ab860dd4c44ad75b669153df63e26b8eccaf7978c847162f2028b9fb1c263e4ccf2724e1d4b18b5cb47237070a1941a7cdeb9e15a1a5ff7ba9671fcade05 SHA512 0d90976f77d93b65582492547631adf5349dad83617fcc3b40c804111cd7f316fbe238c0f943cd23675b3427a36bfbeb81160b622a5664fca34d026693194cfe
DIST 8.1.22.0-TIV-TSMBAC-LinuxX86.tar 745175040 BLAKE2B 510ab45065f21e533bc776b886c6804021caa119d43b7693da4902f3d469d12deee71adc0cdd97d84c3cdaacb1b7ca878c6f6ee228f500651fbadd177def8f6f SHA512 b6c9ab9d9d33a060a6a69f5ecb62ba69df2d31506007e958313c7b62054e49735e8864fbe9f51876bf4398ef8f12c8fe27f3e0fec91def2c2ab016e3413f9e8b
diff --git a/app-backup/tsm/tsm-8.1.17.2-r1.ebuild b/app-backup/tsm/tsm-8.1.17.2-r1.ebuild
deleted file mode 100644
index de1a9b67bd7a..000000000000
--- a/app-backup/tsm/tsm-8.1.17.2-r1.ebuild
+++ /dev/null
@@ -1,252 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit readme.gentoo-r1 rpm systemd pax-utils
-
-DESCRIPTION="IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API"
-HOMEPAGE="https://www.ibm.com/docs/en/spectrum-protect"
-
-MY_PV_MAJOR=$(ver_cut 1)
-MY_PV_MINOR=$(ver_cut 2)
-MY_PV_TINY=$(ver_cut 3)
-MY_PV_PATCH=$(ver_cut 4)
-
-MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
-MY_PVR_ALLDOTS=${PV}
-
-if [[ ${MY_PV_PATCH} == 0 ]]; then
- MY_RELEASE_PATH=maintenance
-else
- MY_RELEASE_PATH=patches
-fi
-BASE_URI="https://public.dhe.ibm.com/storage/tivoli-storage-management/"
-BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
-BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
-SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
-SRC_URI="${BASE_URI}${SRC_TAR}"
-
-RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
-LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
- dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
- ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
- || ( BSD GPL-2+ ) gSOAP libpng tsm"
-
-SLOT="0"
-KEYWORDS="-* amd64"
-IUSE="acl java vmware +tsm-cit +tsm-hw"
-QA_PREBUILT="*"
-
-# not available (yet?)
-#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT ja:JA_JP
-# ko:KO_KR pl:PL_PL pt-BR:PT_BR ru:RU_RU zh-CN:ZH_CN zh-TW:ZH_TW"
-MY_LANG_PV="${MY_PVR_ALLDOTS}-"
-for lang in ${MY_LANGS}; do
- IUSE="${IUSE} l10n_${lang%:*}"
- SRC_URI="${SRC_URI} l10n_${lang%:*}? ( \
-${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
-${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
-done
-unset lang
-
-BDEPEND="
- app-arch/xz-utils[extra-filters]
-"
-DEPEND="
- acct-group/tsm
-"
-RDEPEND="
- acct-group/tsm
- dev-libs/expat
- dev-libs/libxml2
- sys-fs/fuse:0
- acl? ( sys-apps/acl )
- java? ( virtual/jre:1.8 )
- vmware? ( x11-libs/libXft media-libs/alsa-lib )
- || (
- sys-libs/libxcrypt[compat]
- sys-libs/glibc[crypt(-)]
- )
-"
-
-S="${WORKDIR}/bacli"
-
-pkg_setup() {
- DOC_CONTENTS="
- Note that you have to be root to be able to use the Tivoli Storage Manager
- client. The dsmtca trusted agent binary does not exist anymore.
-
- For information on how to give other users access, please see the following
- URLs:
- https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_cfg_nonadmin.html#c_macuninst_nonadmin
- https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_secure_pwd.html#c_secure_pwd__sec_no_tca
- "
-}
-
-src_unpack() {
- local rpm rpms lang
- mkdir bacli || die
- cd bacli || die
- unpack ${SRC_TAR}
-
- cd "${S}"
- for rpm in *.rpm; do
- case ${rpm} in
- TIVsm-APIcit.*|TIVsm-BAcit.*)
- use tsm-cit && rpms="${rpms} ./${rpm}"
- ;;
- TIVsm-BAhdw.*)
- use tsm-hw && rpms="${rpms} ./${rpm}"
- ;;
- TIVsm-JBB.*|*-filepath-*)
- # "journal based backup" for all filesystems
- # requires a kernel module.
- # "Linux Filepath source code" available
- # by request from vendor
- ;;
- *)
- rpms="${rpms} ./${rpm}"
- ;;
- esac
- done
- for rpm in ${A}; do
- case ${rpm} in
- *.rpm)
- rpms="${rpms} ${rpm}"
- ;;
- esac
- done
-
- rpm_unpack ${rpms}
-
- # Avoid strange error messages caused by read-only files
- chmod -R u+w "${S}" || die
-}
-
-src_install() {
- if ! use vmware; then
- rm -rf opt/tivoli/tsm/tdpvmware
- fi
- cp -a opt "${D}"/ || die
- cp -a usr "${D}"/ || die
-
- # The RPM files contain postinstall scripts which can be extracted
- # e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
- # Below we try to mimic the behaviour of these scripts.
- # We don't deal with SELinux compliance (yet), though.
- local RPM_INSTALL_PREFIX CLIENTDIR i
- RPM_INSTALL_PREFIX=/opt
- CLIENTDIR=${RPM_INSTALL_PREFIX}/tivoli/tsm/client
-
- # Create links for messages; this is spread over several postin scripts.
- #for i in $(cd "${D}"/${CLIENTDIR}/lang; ls -1d ??_??); do
- # dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
- # dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
- #done
-
- # Mimic TIVsm-API64 postinstall script
- for i in libgpfs.so libdmapi.so; do
- dosym ../..${CLIENTDIR}/api/bin64/${i} /usr/lib64/${i}
- done
-
- # The TIVsm-BA postinstall script only does messages and ancient upgrades
-
- # The gscrypt64 postinstall script only deals with s390[x] SELinux
- # and the symlink for the iccs library which we handle in the loop below.
-
- # Move stuff from /usr/local to /opt, #452332
- mv "${D}"/usr/local/ibm "${D}"/opt/ || die
- rmdir "${D}"/usr/local || die
-
- # Mimic gskssl64 postinstall script
- for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
- dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
- /usr/lib64/libgsk8${i}_64.so
- done
- for i in capicmd ver; do
- dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
- done
-
- # Done with the postinstall scripts as the RPMs contain them.
- # Now on to some more Gentoo-specific installation.
-
- rm -rf "${D}/usr/lib/.build-id" &> /dev/null
- [[ -d "${D}/usr/lib" ]] && rmdir "${D}/usr/lib" || die "Using 32bit lib dir in 64bit only system"
-
- # Avoid "QA Notice: Found an absolute symlink in a library directory"
- local target
- find "${D}"/usr/lib* -lname '/*' | while read i; do
- target=$(readlink "${i}")
- rm -v "${i}" || die
- dosym "../..${target}" "${i#${D}/}"
- done
-
- keepdir /var/log/tsm
- insinto /etc/logrotate.d
- newins "${FILESDIR}/tsm.logrotate" tsm
-
- keepdir /etc/tivoli
-
- cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
- echo ' PasswordDir "/etc/tivoli/"' >> "${D}"/etc/tivoli/dsm.sys
- echo ' PasswordAccess generate' >> "${D}"/etc/tivoli/dsm.sys
-
- # Added the hostname to be more friendly, the admin will need to edit this file anyway
- echo ' NodeName' `hostname` >> "${D}"/etc/tivoli/dsm.sys
- echo ' ErrorLogName "/var/log/tsm/dsmerror.log"' >> "${D}"/etc/tivoli/dsm.sys
- echo ' SchedLogName "/var/log/tsm/dsmsched.log"' >> "${D}"/etc/tivoli/dsm.sys
- dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
-
- cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
- dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
-
- # Setup the env
- dodir /etc/env.d
- ENV_FILE="${D}/etc/env.d/80tivoli"
- echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
- echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
- echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
- # echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
-
- echo 'SEARCH_DIRS_MASK="/opt/tivoli/tsm/client/ba/bin"' > "${T}/80${PN}" || die
- insinto "/etc/revdep-rebuild"
- doins "${T}/80${PN}"
-
- newconfd "${FILESDIR}/dsmc.conf.d" dsmc
- newinitd "${FILESDIR}/dsmc.init.d" dsmc
- newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
-
- # Need this for hardened, otherwise a cryptic "connection to server lost" message appears
- pax-mark -m "${D}/opt/tivoli/tsm/client/ba/bin/dsmc"
-
- systemd_dounit "${FILESDIR}/dsmc.service"
- systemd_dounit "${FILESDIR}/dsmcad.service"
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- local i dirs
- for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
- if [[ ! -e ${i} ]]; then
- touch ${i} || die
- chown :tsm ${i} || die
- chmod 0660 ${i} || die
- fi
- done
-
- # Bug #375041: the log directory itself should not be world writable.
- # Have to do this in postinst due to bug #141619
- chown root:tsm /var/log/tsm || die
- chmod 0750 /var/log/tsm || die
-
- # Bug 508052: directories used to be too restrictive, have to widen perms.
- dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
- chown root:root "${dirs[@]}" || die
- chmod 0755 "${dirs[@]}" || die
-
- FORCE_PRINT_ELOG=1
- DISABLE_AUTOFORMATTING=1
- readme.gentoo_print_elog
-}
diff --git a/app-backup/tsm/tsm-8.1.22.0.ebuild b/app-backup/tsm/tsm-8.1.22.0.ebuild
index 384b26cd4237..de1a9b67bd7a 100644
--- a/app-backup/tsm/tsm-8.1.22.0.ebuild
+++ b/app-backup/tsm/tsm-8.1.22.0.ebuild
@@ -34,7 +34,7 @@ LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exola
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
SLOT="0"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* amd64"
IUSE="acl java vmware +tsm-cit +tsm-hw"
QA_PREBUILT="*"