forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-backup/bareos: bump 17.2 + remove py2 support
Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Marc Schiffbauer <[email protected]>
- Loading branch information
Showing
2 changed files
with
361 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST bareos-17.2.10.tar.gz 4190783 BLAKE2B d2deb9368438b5281ea36768b80cc15840135a77a19952daa895c4e30ee6ad231d9ecf28a6d860bd372eb08c1c34f9f827843745c87f465d3a59ab048aecc001 SHA512 3e145627a08927790deb8f75e5167e6e69710733eb1866a93adb34617c274c2b51145a6b1253388784f67bc4886fec7fbb423893a36d377bb96334a2dc7768f2 | ||
DIST bareos-17.2.9.tar.gz 4190637 BLAKE2B 266627ac023695971acc5d730765c08ddde673ba75398547687d5f2ccbfb7c440221b8c0a617bc6a3b0d2089cd22604ebe838decc65ce3c1f7ae5cdb99833118 SHA512 ac40f867d495aa64693a209dbfceb55f22425a2079dc000dabd8c6ffce79b1a2578bc0110970a6aace7c3e039c7110d1d395c31b372c0d3e5f18b43e682a70a9 | ||
DIST bareos-18.2.8.tar.gz 10552800 BLAKE2B c13aabbb7f450c1c9c02f39b130d34057cfc4cec590c68acde5d3592d0f238c0e52bf3acbb55e697610252b3f6bd528c2e87ea09c83aba02f303d144a62b44b2 SHA512 61c9155a02ec0f3a21e06db4f5701dabb25411219d98940b50912c16ac38ec007584a7ef9728f2f12acf2823339a25eba3c9b34a6fa9e625a1d2d0778653b860 | ||
DIST bareos-19.2.7.tar.gz 12602338 BLAKE2B 31fa9c9966b22913c2af6eaa6c6f704396d353341878817a574388925f35b437331b057b2a147a8217502f9198b39539d2fa68c4047e191dc918123c0f674a7d SHA512 cb467846a41d42a469704d48c3a1b03ebf5fdc71b9268c1e438e46b86073d55993dfd9bf26242db593db8b1814009c060fd65122d434bad2986c24613f6865c6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,360 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI="7" | ||
|
||
inherit desktop systemd | ||
|
||
DESCRIPTION="Featureful client/server network backup suite" | ||
HOMEPAGE="http://www.bareos.org/" | ||
SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz" | ||
RESTRICT="mirror" | ||
|
||
LICENSE="AGPL-3" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="X acl cephfs clientonly +director fastlz glusterfs gnutls ipv6 jansson lmdb libressl | ||
logwatch mysql ndmp +postgres rados rados-striper readline scsi-crypto | ||
sql-pooling sqlite ssl static +storage-daemon tcpd vim-syntax" | ||
REQUIRED_USE="!clientonly? ( || ( mysql postgres sqlite ) )" | ||
|
||
DEPEND=" | ||
!app-backup/bacula | ||
acct-group/${PN} | ||
cephfs? ( sys-cluster/ceph ) | ||
rados? ( sys-cluster/ceph ) | ||
rados-striper? ( >=sys-cluster/ceph-0.94.2 ) | ||
glusterfs? ( sys-cluster/glusterfs ) | ||
lmdb? ( dev-db/lmdb ) | ||
dev-libs/gmp:0 | ||
!clientonly? ( | ||
acct-user/${PN} | ||
postgres? ( dev-db/postgresql:*[threads] ) | ||
mysql? ( dev-db/mysql-connector-c:0= ) | ||
sqlite? ( dev-db/sqlite:3 ) | ||
director? ( | ||
virtual/mta | ||
jansson? ( dev-libs/jansson ) | ||
) | ||
) | ||
fastlz? ( dev-libs/bareos-fastlzlib ) | ||
logwatch? ( sys-apps/logwatch ) | ||
tcpd? ( sys-apps/tcp-wrappers ) | ||
readline? ( sys-libs/readline:0 ) | ||
static? ( | ||
acl? ( virtual/acl[static-libs] ) | ||
sys-libs/zlib[static-libs] | ||
dev-libs/lzo[static-libs] | ||
sys-libs/ncurses:=[static-libs] | ||
ssl? ( | ||
!gnutls? ( | ||
!libressl? ( dev-libs/openssl:0=[static-libs] ) | ||
libressl? ( dev-libs/libressl:0=[static-libs] ) | ||
) | ||
gnutls? ( net-libs/gnutls[static-libs] ) | ||
) | ||
) | ||
!static? ( | ||
acl? ( virtual/acl ) | ||
dev-libs/lzo | ||
ssl? ( | ||
!gnutls? ( | ||
!libressl? ( dev-libs/openssl:0= ) | ||
libressl? ( dev-libs/libressl:0= ) | ||
) | ||
gnutls? ( net-libs/gnutls ) | ||
) | ||
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 ) )" | ||
|
||
REQUIRED_USE="static? ( clientonly )" | ||
|
||
S=${WORKDIR}/${PN}-Release-${PV} | ||
|
||
pkg_setup() { | ||
use mysql && export mydbtypes+="mysql" | ||
use postgres && export mydbtypes+=" postgresql" | ||
use sqlite && export mydbtypes+=" sqlite" | ||
} | ||
|
||
src_prepare() { | ||
# adjusts default configuration files for several binaries | ||
# to /etc/bareos/<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; do | ||
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bareos/|g' "${f}" \ | ||
|| die "sed on ${f} failed" | ||
done | ||
popd >&/dev/null || die | ||
|
||
# enables default database driver in catalog | ||
pushd src/defaultconfigs/bareos-dir.d/catalog >&/dev/null || die | ||
sed -i -e 's/#dbdriver/dbdriver/' -e '/XXX_REPLACE/d' MyCatalog.conf.in \ | ||
|| die "sed on MyCatalog.conf.in failed" | ||
popd >&/dev/null || die | ||
|
||
# bug 466690 Use CXXFLAGS instead of CFLAGS | ||
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die | ||
|
||
# do not strip binaries | ||
for d in filed console dird stored; do | ||
sed -i -e "s/strip /# strip /" src/$d/Makefile.in || die | ||
done | ||
|
||
eapply_user | ||
} | ||
|
||
src_configure() { | ||
local myconf='' | ||
|
||
addpredict /var/lib/logrotate.status | ||
|
||
if use clientonly; then | ||
myconf="${myconf} \ | ||
$(use_enable clientonly client-only) \ | ||
$(use_enable !static libtool) \ | ||
$(use_enable static static-cons) \ | ||
$(use_enable static static-fd)" | ||
fi | ||
|
||
myconf="${myconf} \ | ||
$(use_with X x) \ | ||
$(use_enable acl) \ | ||
$(use_enable ipv6) \ | ||
$(use_enable ndmp) \ | ||
$(use_enable readline) \ | ||
$(use_enable !readline conio) \ | ||
$(use_enable scsi-crypto) \ | ||
$(use_enable sql-pooling) \ | ||
$(use_with fastlz) \ | ||
$(use_with mysql) \ | ||
$(use_with postgres postgresql) \ | ||
$(use_with readline) \ | ||
$(use_with sqlite sqlite3) \ | ||
$(use sqlite || echo "--without-sqlite3") \ | ||
$(use_with ssl openssl) \ | ||
$(use_with tcpd tcp-wrappers) \ | ||
$(use_enable lmdb) \ | ||
$(use_with glusterfs) \ | ||
$(use_with rados) \ | ||
$(use_with rados-striper) \ | ||
$(use_with cephfs) \ | ||
$(use_with jansson) \ | ||
" | ||
|
||
econf \ | ||
--without-python \ | ||
--with-pid-dir=/run/bareos \ | ||
--with-subsys-dir=/run/lock/subsys \ | ||
--with-working-dir=/var/lib/bareos \ | ||
--with-logdir=/var/log/bareos \ | ||
--with-scriptdir=/usr/libexec/bareos \ | ||
--with-plugindir=/usr/$(get_libdir)/${PN}/plugin \ | ||
--with-backenddir=/usr/$(get_libdir)/${PN}/backend \ | ||
--with-dir-user=bareos \ | ||
--with-dir-group=bareos \ | ||
--with-sd-user=root \ | ||
--with-sd-group=bareos \ | ||
--with-fd-user=root \ | ||
--with-fd-group=bareos \ | ||
--with-sbin-perm=0755 \ | ||
--with-systemd \ | ||
--with-db-password=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1` \ | ||
--enable-dynamic-cats-backends \ | ||
--enable-dynamic-storage-backends \ | ||
--enable-batch-insert \ | ||
--disable-afs \ | ||
--host=${CHOST} \ | ||
${myconf} | ||
} | ||
|
||
src_compile() { | ||
# Make build log verbose (bug #447806) | ||
emake NO_ECHO="" | ||
} | ||
|
||
src_install() { | ||
emake DESTDIR="${D}" install | ||
newicon src/images/bareos_logo_shadow.png bareos.png | ||
|
||
# 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,startmysql,stopmysql} | ||
rm -f "${D}"/usr/sbin/bareos | ||
|
||
# remove upstream init scripts | ||
rm -f "${D}"/etc/init.d/bareos-* | ||
|
||
# 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}"/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}"/scripts/logwatch >&/dev/null || die | ||
emake DESTDIR="${D}" install | ||
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 | ||
use ndmp && dodoc README.NDMP | ||
use scsi-crypto && dodoc README.scsicrypto | ||
|
||
# vim-files | ||
if use vim-syntax; then | ||
insinto /usr/share/vim/vimfiles/syntax | ||
doins scripts/bareos.vim | ||
insinto /usr/share/vim/vimfiles/ftdetect | ||
newins scripts/filetype.vim bareos_ft.vim | ||
fi | ||
|
||
# setup init scripts | ||
myscripts="bareos-fd" | ||
if ! use clientonly; then | ||
if use director; then | ||
myscripts="${myscripts} bareos-dir" | ||
fi | ||
if use storage-daemon; then | ||
myscripts="${myscripts} bareos-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-16 "${T}/${script}".confd || die "failed to copy ${script}.confd" | ||
cp "${FILESDIR}/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" | ||
|
||
# now set the database dependency for the director init script | ||
case "${script}" in | ||
bareos-dir) | ||
sed -i -e "s:%databasetypes%:${mydbtypes}:" "${T}/${script}".confd || die | ||
;; | ||
*) | ||
;; | ||
esac | ||
|
||
# install init script and config | ||
newinitd "${T}/${script}".initd "${script}" | ||
newconfd "${T}/${script}".confd "${script}" | ||
done | ||
|
||
# install systemd unit files | ||
use director && systemd_dounit "${FILESDIR}"/bareos-dir.service | ||
use storage-daemon && systemd_dounit "${FILESDIR}"/bareos-sd.service | ||
systemd_dounit "${FILESDIR}"/bareos-fd.service | ||
|
||
# make sure the working directory exists | ||
diropts -m0750 | ||
keepdir /var/lib/bareos | ||
|
||
# make sure bareos group can execute bareos libexec scripts | ||
fowners -R root:bareos /usr/libexec/bareos | ||
} | ||
|
||
pkg_postinst() { | ||
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:" | ||
if use postgres; then | ||
einfo | ||
einfo "For postgresql:" | ||
einfo " su postgres -c '/usr/libexec/bareos/create_bareos_database postgresql'" | ||
einfo " su postgres -c '/usr/libexec/bareos/make_bareos_tables postgresql'" | ||
einfo " su postgres -c '/usr/libexec/bareos/grant_bareos_privileges postgresql'" | ||
fi | ||
if use mysql; then | ||
einfo | ||
einfo "For mysql:" | ||
einfo | ||
einfo " Make sure root has direct access to your mysql server. You may want to" | ||
einfo " create a /root/.my.cnf file with" | ||
einfo " [client]" | ||
einfo " user=root" | ||
einfo " password=YourPasswordForAccessingMysqlAsRoot" | ||
einfo " before running:" | ||
einfo " /usr/libexec/bareos/create_bareos_database mysql" | ||
einfo " /usr/libexec/bareos/make_bareos_tables mysql" | ||
einfo " /usr/libexec/bareos/grant_bareos_privileges mysql" | ||
fi | ||
einfo | ||
fi | ||
|
||
if use sqlite; then | ||
einfo | ||
einfo "Be aware that Bareos does not officially support SQLite database." | ||
einfo "Best use it only for a client-only installation. See Bug #445540." | ||
einfo | ||
einfo "It is strongly recommended to use either postgresql or mysql as" | ||
einfo "catalog database backend." | ||
einfo | ||
fi | ||
} |