app-backup/bareos: add 23.1.5

Signed-off-by: Marc Schiffbauer <mschiff@gentoo.org>
This commit is contained in:
Marc Schiffbauer 2025-12-18 00:02:09 +01:00
parent e9b5684209
commit a984612dcd
No known key found for this signature in database
GPG Key ID: 3837C63B4632EDBF
2 changed files with 440 additions and 0 deletions

View File

@ -3,5 +3,6 @@ DIST bareos-22.1.7.tar.gz 14760496 BLAKE2B 4ff502ea07c9c03e351ac4d3adb46051c1bf6
DIST bareos-22.1.8.tar.gz 14769894 BLAKE2B 4273427092edab5feb18ccc812640924c1a21b7dd21c8ffa47d4f449e1619027ed93a3a1b4589dfc9464fe024c5bcc8856539f62d498d1cfd21b6f7518a2abf4 SHA512 afee759140332a6203c96672d1327a73235fd09b47ef0954f604b6a040ca87f3cf223327a4143f42dad1ee49d808d2c404e164420989b1fc91ef977f63980d59 DIST bareos-22.1.8.tar.gz 14769894 BLAKE2B 4273427092edab5feb18ccc812640924c1a21b7dd21c8ffa47d4f449e1619027ed93a3a1b4589dfc9464fe024c5bcc8856539f62d498d1cfd21b6f7518a2abf4 SHA512 afee759140332a6203c96672d1327a73235fd09b47ef0954f604b6a040ca87f3cf223327a4143f42dad1ee49d808d2c404e164420989b1fc91ef977f63980d59
DIST bareos-23.1.3.tar.gz 14009664 BLAKE2B 767796804eb6baa6e108430a8e25de51562a99212537607a43e727702cdc3dfbd2b11365d2efca518d62518970ee53779ff2fa1d369995c4bee5b2478ee689a6 SHA512 bec95f0278a68a7ab6a96e6af97cd7c30af411a2b8eba5aa73fa1f9d33f952d5eb60c79b9d29010ce2a91855edff351d8a7143d4399709769a76925d8909e764 DIST bareos-23.1.3.tar.gz 14009664 BLAKE2B 767796804eb6baa6e108430a8e25de51562a99212537607a43e727702cdc3dfbd2b11365d2efca518d62518970ee53779ff2fa1d369995c4bee5b2478ee689a6 SHA512 bec95f0278a68a7ab6a96e6af97cd7c30af411a2b8eba5aa73fa1f9d33f952d5eb60c79b9d29010ce2a91855edff351d8a7143d4399709769a76925d8909e764
DIST bareos-23.1.4.tar.gz 14014536 BLAKE2B 1458f5c1a5bc1a9163ba63638949b7f7562b6d6e1c730982130043081eb8c942e86fb044b35fcfcc847c42b86f95f80f25c11f4e4200a1a40ad0df119c2146d7 SHA512 abe581a2cc792353770fe503f8037ec70d1a9284f088784b46504a2c39b4262387b20f27181c98b45f62128b8b631fc5f22d48b658f1e6aafb1ca17291728d39 DIST bareos-23.1.4.tar.gz 14014536 BLAKE2B 1458f5c1a5bc1a9163ba63638949b7f7562b6d6e1c730982130043081eb8c942e86fb044b35fcfcc847c42b86f95f80f25c11f4e4200a1a40ad0df119c2146d7 SHA512 abe581a2cc792353770fe503f8037ec70d1a9284f088784b46504a2c39b4262387b20f27181c98b45f62128b8b631fc5f22d48b658f1e6aafb1ca17291728d39
DIST bareos-23.1.5.tar.gz 14037537 BLAKE2B b0dbc9705e772e6f8ac00dc589cf04a43c849c4324831202c83cddad0ae666d21beeccd450cd98bec89f443c9667021bcbcd83d0f1b79b3ef090edee5281984f SHA512 ecea8add925853df3f9a7ec6eb334ac2cc96abc937a476c30c0fa3508d6a0fbf2a73f7c3fa2945cc2f21631f54ab084a4679fb77d2436390bc6950fb73cd4cea
DIST bareos-24.0.5.tar.gz 13392425 BLAKE2B 942189a1f51795e14602d88566f734dfdf349339fbd39b54239a9ba9aca4840f776724bc206ec470d66f1a2e9c27041249f3a838c6eb6100c183535bfdb62968 SHA512 ab4b179a2a087a961e2dfc26615b5208efb8dd5e2a300d600085ea4244599195fe5db0a31457dc865c38f9e9e1142de1a719aa930f5efd9ee1cd9393c5f1f9a6 DIST bareos-24.0.5.tar.gz 13392425 BLAKE2B 942189a1f51795e14602d88566f734dfdf349339fbd39b54239a9ba9aca4840f776724bc206ec470d66f1a2e9c27041249f3a838c6eb6100c183535bfdb62968 SHA512 ab4b179a2a087a961e2dfc26615b5208efb8dd5e2a300d600085ea4244599195fe5db0a31457dc865c38f9e9e1142de1a719aa930f5efd9ee1cd9393c5f1f9a6
DIST bareos-24.0.7.tar.gz 13402073 BLAKE2B 9b1d609cfe4d520042950b5cc672538e8a907a44a74573adf2f90e9009a99147ee85f6fe7f71e0093daa3239e99817a1c030cb7fa54ebb9b6c42916b723c7115 SHA512 79426e652dc6cc0a29dec3b8876fb319371cb53bc235fb3c6c344a46eded20add31181ddc827deeb0e10a9d460327261f7eb9e5f45faf5ca06b45d8bf9cfee6c DIST bareos-24.0.7.tar.gz 13402073 BLAKE2B 9b1d609cfe4d520042950b5cc672538e8a907a44a74573adf2f90e9009a99147ee85f6fe7f71e0093daa3239e99817a1c030cb7fa54ebb9b6c42916b723c7115 SHA512 79426e652dc6cc0a29dec3b8876fb319371cb53bc235fb3c6c344a46eded20add31181ddc827deeb0e10a9d460327261f7eb9e5f45faf5ca06b45d8bf9cfee6c

View File

@ -0,0 +1,439 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
CMAKE_WARN_UNUSED_CLI=no
inherit python-any-r1 systemd cmake tmpfiles flag-o-matic
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/"
LICENSE="AGPL-3"
SLOT="0"
IUSE="X acl ceph clientonly cpu_flags_x86_avx +director glusterfs ipv6 lmdb
logwatch ndmp readline scsi-crypto split-usr
static +storage-daemon systemd tcpd test vim-syntax vmware xattr"
# some tests still fail propably due to missing bits in src_test -> TODO
RESTRICT="mirror test"
#RESTRICT="
# mirror
# !test? ( test )
#"
# get cmake variables from core/cmake/BareosSetVariableDefaults.cmake
DEPEND="
!app-backup/bacula
acct-group/${PN}
!x86? (
ceph? ( sys-cluster/ceph )
)
dev-libs/libfmt
dev-libs/utfcpp
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]
virtual/zlib:=[static-libs]
)
!static? (
acl? ( virtual/acl )
dev-libs/jansson:=
dev-libs/lzo
dev-libs/openssl:0=
sys-libs/ncurses:=
virtual/zlib:=
)
X? (
dev-qt/qtbase:6[widgets]
)
"
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 )
clientonly? ( !director !storage-daemon !ceph !glusterfs !lmdb !ndmp !scsi-crypto )
x86? ( !ceph )
"
PATCHES=(
"${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=()
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
-DCPM_USE_LOCAL_PACKAGES=1
-DCPM_LOCAL_PACKAGES_ONLY=1
-DENABLE_WEBUI=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)
)
use cpu_flags_x86_avx && append-flags "-DXXH_X86DISPATCH_ALLOW_AVX"
# 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"
}