app-backup/bareos: Drop Qt4-based

Closes: https://bugs.gentoo.org/644568
Package-Manager: Portage-2.3.36, Repoman-2.3.9
This commit is contained in:
Andreas Sturmlechner
2018-05-10 21:51:24 +02:00
parent 304df6a54e
commit ded9d68ffa
7 changed files with 0 additions and 1320 deletions

View File

@@ -1,3 +1 @@
DIST bareos-15.2.2.tar.gz 3928036 BLAKE2B ac331008e45c029bb3320a9a40264d350aedbb5550d65a606a95372241f5ec9c8a7e73f365f8b0c3972e59fa907764995b0173dcd762971cd2fdce1e025c75e2 SHA512 07b11c51695a6ff348317965625e5cdb8e296d4f3a4037718a98e266d94650ed1fb905c220ac791123d8ed92d0aed24854a6ab52887249849dbc00697d3300c3
DIST bareos-16.2.4.tar.gz 4275141 BLAKE2B e7b8a5658a697436401659ecd24148f4f1ad982cbd6dd46c39f3d29ba461b54737950d6fe6ec2c36e7892d414306c7038af5221c28652109e047f66f2d9daa2e SHA512 91f7f2b3d9889f4faa9834dc414e2250015d3d26bf8bd0c04c1f3fd882a50a4066ced145f7c8609c070e8f74b53574953e3fef344726c6863cd7bbc73c76a88c
DIST bareos-16.2.7.tar.gz 4282998 BLAKE2B 9101a49d1178e0bcc4843cc4472a2082827a7bd7595389c0fa3699d36651ca70fce674509eeaddc8f806a5df1dba6afc89c05be183e7561e013d23bd157ef294 SHA512 028f38dd77fed5e3af6ee50aa44cb2f82349bd38e40eadebc552a95100166291ae0c68073daa2513919da330c66bb54a3050f1d99cbf3b5354f2450a789f6c00

View File

@@ -1,428 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit eutils multilib python-single-r1 qt4-r2 user
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 python qt4 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
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? (
postgres? ( dev-db/postgresql:*[threads] )
mysql? ( virtual/mysql )
sqlite? ( dev-db/sqlite:3 )
director? (
virtual/mta
jansson? ( dev-libs/jansson )
)
)
qt4? (
dev-qt/qtsvg:4
x11-libs/qwt:5
)
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
)
python? ( ${PYTHON_DEPS} )
"
RDEPEND="${DEPEND}
!clientonly? (
storage-daemon? (
sys-block/mtx
app-arch/mt-st
)
)
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
REQUIRED_USE="static? ( clientonly )
python? ( ${PYTHON_REQUIRED_USE} )"
S=${WORKDIR}/${PN}-Release-${PV}
pkg_setup() {
use mysql && export mydbtypes+="mysql"
use postgres && export mydbtypes+=" postgresql"
use sqlite && export mydbtypes+=" sqlite"
# create the daemon group and user
if [ -z "$(egetent group bareos 2>/dev/null)" ]; then
enewgroup bareos
einfo
einfo "The group 'bareos' has been created. Any users you add to this"
einfo "group have access to files created by the daemons."
einfo
fi
if use clientonly && use static && use qt4; then
ewarn
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' useflag."
ewarn
fi
if ! use clientonly; then
if [ -z "$(egetent passwd bareos 2>/dev/null)" ]; then
enewuser bareos -1 -1 /var/lib/bareos bareos,disk,tape,cdrom,cdrw
einfo
einfo "The user 'bareos' has been created. Please see the bareos manual"
einfo "for information about running bareos as a non-root user."
einfo
fi
fi
use python && python-single-r1_pkg_setup
}
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 \
qt-console/main.cpp; do
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bareos/|g' "${f}" \
|| die "sed on ${f} failed"
done
popd >&/dev/null || die
# bug 466690 Use CXXFLAGS instead of CFLAGS
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
# stop build for errors in subdirs
epatch "${FILESDIR}"/${PN}-12.4.5-Makefile.patch
# bat needs to respect LDFLAGS
epatch "${FILESDIR}"/${PN}-12.4.5-bat-ldflags.patch
# do not strip binaries
for d in filed console dird stored; do
sed -i -e "s/strip /# strip /" src/$d/Makefile.in || die
done
}
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
# do not build bat and traymonitor if 'static' clientonly
if ! use clientonly || ! use static; then
myconf="${myconf} \
$(use_enable qt4 bat) \
$(use_enable qt4 traymonitor)"
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 python) \
$(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 \
--libdir=/usr/$(get_libdir) \
--docdir=/usr/share/doc/${PF} \
--htmldir=/usr/share/doc/${PF}/html \
--with-pid-dir=/run/bareos \
--sysconfdir=/etc \
--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 \
--enable-dynamic-cats-backends \
--enable-dynamic-storage-backends \
--enable-batch-insert \
--disable-afs \
--host=${CHOST} \
${myconf}
# correct configuration for QT based bat
if use qt4 ; then
pushd src/qt-console
eqmake4
popd
pushd src/qt-tray-monitor
eqmake4
popd
fi
}
src_compile() {
# workaround for build failing with high -j values
# if ndmp is enabled
use ndmp && MAKEOPTS="$MAKEOPTS -j1"
# Make build log verbose (bug #447806)
emake NO_ECHO=""
}
src_install() {
emake DESTDIR="${D}" install
newicon src/images/bareos_logo_shadow.png bareos.png
# install bat icon and desktop file when enabled
# (for some reason ./configure doesn't pick this up)
if use qt4 && ! use static ; then
doicon src/images/bat.png
domenu scripts/bat.desktop
fi
# 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 qt4; then
rm -vf "${D}"/usr/share/man/man1/bat.1*
fi
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
if ! use qt4; then
rm -vf "${D}"/usr/share/man/man1/bareos-tray-monitor.1*
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 "${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
# 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 databases with:"
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
einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
einfo "you have to enable 'USE=qt4'."
einfo
}

View File

@@ -1,428 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit eutils multilib python-single-r1 qt4-r2 user
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 python qt4 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
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? (
postgres? ( dev-db/postgresql:*[threads] )
mysql? ( virtual/mysql )
sqlite? ( dev-db/sqlite:3 )
director? (
virtual/mta
jansson? ( dev-libs/jansson )
)
)
qt4? (
dev-qt/qtsvg:4
x11-libs/qwt:5
)
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
)
python? ( ${PYTHON_DEPS} )
"
RDEPEND="${DEPEND}
!clientonly? (
storage-daemon? (
sys-block/mtx
app-arch/mt-st
)
)
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
REQUIRED_USE="static? ( clientonly )
python? ( ${PYTHON_REQUIRED_USE} )"
S=${WORKDIR}/${PN}-Release-${PV}
pkg_setup() {
use mysql && export mydbtypes+="mysql"
use postgres && export mydbtypes+=" postgresql"
use sqlite && export mydbtypes+=" sqlite"
# create the daemon group and user
if [ -z "$(egetent group bareos 2>/dev/null)" ]; then
enewgroup bareos
einfo
einfo "The group 'bareos' has been created. Any users you add to this"
einfo "group have access to files created by the daemons."
einfo
fi
if use clientonly && use static && use qt4; then
ewarn
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' useflag."
ewarn
fi
if ! use clientonly; then
if [ -z "$(egetent passwd bareos 2>/dev/null)" ]; then
enewuser bareos -1 -1 /var/lib/bareos bareos,disk,tape,cdrom,cdrw
einfo
einfo "The user 'bareos' has been created. Please see the bareos manual"
einfo "for information about running bareos as a non-root user."
einfo
fi
fi
use python && python-single-r1_pkg_setup
}
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 \
qt-console/main.cpp; do
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bareos/|g' "${f}" \
|| die "sed on ${f} failed"
done
popd >&/dev/null || die
# bug 466690 Use CXXFLAGS instead of CFLAGS
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
# stop build for errors in subdirs
epatch "${FILESDIR}"/${PN}-12.4.5-Makefile.patch
# bat needs to respect LDFLAGS
epatch "${FILESDIR}"/${PN}-12.4.5-bat-ldflags.patch
# do not strip binaries
for d in filed console dird stored; do
sed -i -e "s/strip /# strip /" src/$d/Makefile.in || die
done
}
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
# do not build bat and traymonitor if 'static' clientonly
if ! use clientonly || ! use static; then
myconf="${myconf} \
$(use_enable qt4 bat) \
$(use_enable qt4 traymonitor)"
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 python) \
$(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 \
--libdir=/usr/$(get_libdir) \
--docdir=/usr/share/doc/${PF} \
--htmldir=/usr/share/doc/${PF}/html \
--with-pid-dir=/run/bareos \
--sysconfdir=/etc \
--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 \
--enable-dynamic-cats-backends \
--enable-dynamic-storage-backends \
--enable-batch-insert \
--disable-afs \
--host=${CHOST} \
${myconf}
# correct configuration for QT based bat
if use qt4 ; then
pushd src/qt-console
eqmake4
popd
pushd src/qt-tray-monitor
eqmake4
popd
fi
}
src_compile() {
# workaround for build failing with high -j values
# if ndmp is enabled
use ndmp && MAKEOPTS="$MAKEOPTS -j1"
# Make build log verbose (bug #447806)
emake NO_ECHO=""
}
src_install() {
emake DESTDIR="${D}" install
newicon src/images/bareos_logo_shadow.png bareos.png
# install bat icon and desktop file when enabled
# (for some reason ./configure doesn't pick this up)
if use qt4 && ! use static ; then
doicon src/images/bat.png
domenu scripts/bat.desktop
fi
# 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 qt4; then
rm -vf "${D}"/usr/share/man/man1/bat.1*
fi
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
if ! use qt4; then
rm -vf "${D}"/usr/share/man/man1/bareos-tray-monitor.1*
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 "${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
# 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 databases with:"
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
einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
einfo "you have to enable 'USE=qt4'."
einfo
}

View File

@@ -1,428 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit eutils multilib python-single-r1 qt4-r2 user
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 python qt4 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
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? (
postgres? ( dev-db/postgresql:*[threads] )
mysql? ( virtual/mysql )
sqlite? ( dev-db/sqlite:3 )
director? (
virtual/mta
jansson? ( dev-libs/jansson )
)
)
qt4? (
dev-qt/qtsvg:4
x11-libs/qwt:5
)
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
)
python? ( ${PYTHON_DEPS} )
"
RDEPEND="${DEPEND}
!clientonly? (
storage-daemon? (
sys-block/mtx
app-arch/mt-st
)
)
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
REQUIRED_USE="static? ( clientonly )
python? ( ${PYTHON_REQUIRED_USE} )"
S=${WORKDIR}/${PN}-Release-${PV}
pkg_setup() {
use mysql && export mydbtypes+="mysql"
use postgres && export mydbtypes+=" postgresql"
use sqlite && export mydbtypes+=" sqlite"
# create the daemon group and user
if [ -z "$(egetent group bareos 2>/dev/null)" ]; then
enewgroup bareos
einfo
einfo "The group 'bareos' has been created. Any users you add to this"
einfo "group have access to files created by the daemons."
einfo
fi
if use clientonly && use static && use qt4; then
ewarn
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' useflag."
ewarn
fi
if ! use clientonly; then
if [ -z "$(egetent passwd bareos 2>/dev/null)" ]; then
enewuser bareos -1 -1 /var/lib/bareos bareos,disk,tape,cdrom,cdrw
einfo
einfo "The user 'bareos' has been created. Please see the bareos manual"
einfo "for information about running bareos as a non-root user."
einfo
fi
fi
use python && python-single-r1_pkg_setup
}
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 \
qt-console/main.cpp; do
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bareos/|g' "${f}" \
|| die "sed on ${f} failed"
done
popd >&/dev/null || die
# bug 466690 Use CXXFLAGS instead of CFLAGS
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
# stop build for errors in subdirs
epatch "${FILESDIR}"/${PN}-12.4.5-Makefile.patch
# bat needs to respect LDFLAGS
epatch "${FILESDIR}"/${PN}-12.4.5-bat-ldflags.patch
# do not strip binaries
for d in filed console dird stored; do
sed -i -e "s/strip /# strip /" src/$d/Makefile.in || die
done
}
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
# do not build bat and traymonitor if 'static' clientonly
if ! use clientonly || ! use static; then
myconf="${myconf} \
$(use_enable qt4 bat) \
$(use_enable qt4 traymonitor)"
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 python) \
$(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 \
--libdir=/usr/$(get_libdir) \
--docdir=/usr/share/doc/${PF} \
--htmldir=/usr/share/doc/${PF}/html \
--with-pid-dir=/run/bareos \
--sysconfdir=/etc \
--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 \
--enable-dynamic-cats-backends \
--enable-dynamic-storage-backends \
--enable-batch-insert \
--disable-afs \
--host=${CHOST} \
${myconf}
# correct configuration for QT based bat
if use qt4 ; then
pushd src/qt-console
eqmake4
popd
pushd src/qt-tray-monitor
eqmake4
popd
fi
}
src_compile() {
# workaround for build failing with high -j values
# if ndmp is enabled
use ndmp && MAKEOPTS="$MAKEOPTS -j1"
# Make build log verbose (bug #447806)
emake NO_ECHO=""
}
src_install() {
emake DESTDIR="${D}" install
newicon src/images/bareos_logo_shadow.png bareos.png
# install bat icon and desktop file when enabled
# (for some reason ./configure doesn't pick this up)
if use qt4 && ! use static ; then
doicon src/images/bat.png
domenu scripts/bat.desktop
fi
# 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 qt4; then
rm -vf "${D}"/usr/share/man/man1/bat.1*
fi
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
if ! use qt4; then
rm -vf "${D}"/usr/share/man/man1/bareos-tray-monitor.1*
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
# 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 databases with:"
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
einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
einfo "you have to enable 'USE=qt4'."
einfo
}

View File

@@ -1,17 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Config file for /etc/init.d/bareos-dir
# Bareos can use more than one catalog database and each one can
# be of any supported type.
# If a database server where you store a bareos catalog
# is on a different machine, you might want to remove the corresponding
# type from the rc_need variable.
rc_need="%databasetypes%"
# Options for the director daemon.
# The director can be run as a non-root user, however
# please ensure that this user has proper permissions to
# access your backup devices.
DIR_OPTIONS="-u root -g bareos -c /etc/bareos/bareos-dir.conf"

View File

@@ -1,7 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Config file for /etc/init.d/bareos-fd
# Options for the file daemon.
FD_OPTIONS="-u root -g bareos -c /etc/bareos/bareos-fd.conf"

View File

@@ -1,10 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Config file for /etc/init.d/bareos-sd
# Options for the storage daemon.
# The storage daemon can be run as a non-root user, however
# please ensure that this user has proper permissions to
# access your backup devices.
SD_OPTIONS="-u root -g bareos -c /etc/bareos/bareos-sd.conf"