diff options
Diffstat (limited to 'app-backup')
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="*" |