app-backup/bareos: bump version

Package-Manager: portage-2.2.25
This commit is contained in:
Marc Schiffbauer
2015-11-25 02:05:33 +01:00
parent babad23f24
commit 34ca9e54e5
2 changed files with 421 additions and 0 deletions

View File

@@ -2,3 +2,4 @@ DIST bareos-13.2.4.tar.gz 3467542 SHA256 def68891d074438e55d7a3e570cfaae1c1a8c94
DIST bareos-14.2.2.tar.gz 3811787 SHA256 8792fe79689f7a1053ecb493ba52258acb29d0998b71d65178a311d46b7cf2bf SHA512 be490ab2f8085975f164ac554cac7d6bbef1af01c8350b5816b2033a37827de4a81bead6ce1e699fe5cc44085dce2b6a0330b91239fb87907e22f9c8dc710156 WHIRLPOOL 384415d553d61e7aa1eaa22611cc9d9eacf8338df82d911409e52a774e756b0539810c60be3dade91eadcc679794ad7c3bb5a155d7d699171f6a4fdead5a5470
DIST bareos-14.2.5.tar.gz 3820963 SHA256 f42bc34afa913cfb4d6b7ef8856c7195d8b13b21c987da1039d46e6c60f06720 SHA512 600cdf8175b1199b73ddcf8a32df7bca446c294c4c830038f93fe3f053482916745675df3a51bc494cdab00b362d57657a34a94e78bac4bae3acced06347023d WHIRLPOOL 361c0edb411c824f128ccb5e27f4d637ecfdf4f2de7a428a8c4eace6d5c23a33a3868cc1b380dcbf6e06d6c7bb71ff222abad923ea9a0bfb74e78f0445c4058b
DIST bareos-15.2.1.tar.gz 3899227 SHA256 8c44496e19f1bfd3e06bb886967c06db5e9c9a991511d99eefb30deb8a8391d2 SHA512 5c03063ad27d3474431d39354a4dd217e90ad9a3c8c60742b544b33955667b62365e8b4ee5d2b773dfc11c7e154a2713bf8f7cf44d536d6a96288c9f007efb49 WHIRLPOOL 3498c584e8800692adfb92950124643f78bb237364fe7e00c9a4ae26083465ac01250a7fe20f98905db6080de35ec71f943739cea9f6d666e65afdf695f95871
DIST bareos-15.2.2.tar.gz 3928079 SHA256 7c7e07c877956385870475382184d39df7232ecd9791c3a3942624473410da93 SHA512 5eb372da510e69fe75175cd6c28e1e2d65372eb0ea58193a6747fceccd4398a343a84abbb379f67849f96242d818f26f2dec3093be56c9f64ea59a1504339d6d WHIRLPOOL 0a79a88fbf6087536f8442fc413f7adbe03ad5affe6dc5550a8e05ded172e15357789637e8a5e606f172a1a0e319d2af20dfbd5144331e37693bbf0543de52e2

View File

@@ -0,0 +1,420 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
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 logwatch
mysql ndmp postgres python qt4 rados rados-striper readline scsi-crypto sql-pooling
+sqlite ssl static +storage-daemon tcpd vim-syntax"
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? ( dev-libs/openssl:0[static-libs] )
gnutls? ( net-libs/gnutls[static-libs] )
)
)
!static? (
acl? ( virtual/acl )
dev-libs/lzo
ssl? (
!gnutls? ( dev-libs/openssl: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=''
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
}