app-backup/bareos: drop 23.0.4, 23.1.0-r2

Signed-off-by: Marc Schiffbauer <mschiff@gentoo.org>
This commit is contained in:
Marc Schiffbauer
2025-03-27 13:23:55 +01:00
parent e0e65b38ee
commit c37435fb7d
3 changed files with 0 additions and 875 deletions

View File

@@ -2,8 +2,6 @@ DIST bareos-21.1.10.tar.gz 11671111 BLAKE2B 047901ee6de2f2ba086d7c0406b623d36514
DIST bareos-21.1.11.tar.gz 11669843 BLAKE2B 17dfb0b667e6d5e932ff464ecc9f6f5fdf23c694e71fe81848aca38629095b44a8ebee6ad117dd5090e803d3a8a0f6ea9dff47d7760b90a65e11a92b705523e9 SHA512 34ca24352529639b9608fa1bd68bc593b52d9f03d3f6e95ab7be67983bc28fc5a1807a94ea7cc23b4119dfb27ad2c38aedb2899a425edf62afb89884bb8fe644
DIST bareos-22.1.5.tar.gz 14747894 BLAKE2B 560bc1ceb34fccfb370e8643d24917e24b2440158dd267532c2cb7e4a543d29b81b033e7a34c46eda4c6d71165e48da9332605c3bcd073fbafa38f3ba8be69a2 SHA512 8138f2142f705e2448f8bc2e00f39fe4f734ce8fe687e3cf00c9ff9bda9a3df73ebd7fb86d850ba755588cdaca324e1ba9034987ecb975ce47dd279395ee03b4
DIST bareos-22.1.6.tar.gz 14758055 BLAKE2B e49c2f6b38394b71a15e4826286a761e78b8c301429843630bbf024a76505381a84581296e7bcdd537bf04194e10abc3c8b4f358234ae968a10163993c9451bc SHA512 6fda879ed6ac05843d9c8c0da16228e2b009ee094230ce7cec0deb9125723f1bd8964517c355f61fda34ee5664ebaf4e76b3c6ce2b0e9b88c66788abf5d9b93e
DIST bareos-23.0.4.tar.gz 13954430 BLAKE2B dfeea6ca63be1cb376507a1270cc835d8f6ea336a8cf9c07ac74a2817d84f044da7ac974b11a34b3d6c8a66ed4cb27a1e9ba06b4dad697937e6068181f42eb03 SHA512 50686548cb2bb398d524fa208db97a68e30f40e53ac8a8f57182157e713d743baf8a3177453327943b17de128f6dd6c5b5de0fe65ddcedf7cbca715e7ae05bd5
DIST bareos-23.1.0.tar.gz 14002357 BLAKE2B f063bf0d4ce422766f8d71133e69ed39bf914672f2ff3321d792cd28bf58d6e2daac53a1fe48586e4accd6a895e9ef83b17e51e3f6b4dabccf7c54bf02fb2680 SHA512 480a7f420c7f0a626f5261e0b9c136f3ed71f08ee09ce9d493b66645e0f2c5dc00455719a3ce06a57a5424206b1c0f62cd19904f83bcaaa45066726a6b223281
DIST bareos-23.1.1.tar.gz 14010988 BLAKE2B ee56a93fdffaee51ff43fda272f48f18b811447401885538afa5fa7a59bc5b31eac884a7552439765955e08a20708101725b7561526ab7204970bcfb67dffca3 SHA512 3ff7bb42537d2654dfaa967e4b63f624953572499f118f870857bfb9f83c84d6e27adcf34ef3a1347e7dd23c54d1bcb17db7820070268f29dda69a89e661791b
DIST bareos-23.1.3.tar.gz 14009664 BLAKE2B 767796804eb6baa6e108430a8e25de51562a99212537607a43e727702cdc3dfbd2b11365d2efca518d62518970ee53779ff2fa1d369995c4bee5b2478ee689a6 SHA512 bec95f0278a68a7ab6a96e6af97cd7c30af411a2b8eba5aa73fa1f9d33f952d5eb60c79b9d29010ce2a91855edff351d8a7143d4399709769a76925d8909e764
DIST bareos-24.0.1.tar.gz 13332658 BLAKE2B 1b5468a18816df51d77f465ff0ee9fc142b6b32e69e9875e0ae5deba8e57329f3eb142ad838c6889c2e6d7bae9cdf7e52358bd9c9dd36c6a62b98c4be21f9581 SHA512 ec510282f9b4bc5b80fddd706111ed891d776a713f4f2548fc48ea45bb59f636b92ae0c2d146c11c598f3d47a5bd9975220b0435123d084ed351ca3053110a8c

View File

@@ -1,435 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..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 )
)
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=(
"${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)
)
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"
}

View File

@@ -1,438 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..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
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 )
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"
}