Gentoo Archives: gentoo-commits

From: Marc Schiffbauer <mschiff@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-backup/bareos/files/, app-backup/bareos/
Date: Sat, 27 Oct 2018 21:01:23
Message-Id: 1540674064.e8fb9eb76185b0f7d6d8484e1417f5a5a4ea0af3.mschiff@gentoo
1 commit: e8fb9eb76185b0f7d6d8484e1417f5a5a4ea0af3
2 Author: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
3 AuthorDate: Fri Oct 26 21:48:11 2018 +0000
4 Commit: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 27 21:01:04 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8fb9eb7
7
8 app-backup/bareos: added version 17.2.6
9
10 Fixes: 642658
11 Signed-off-by: Marc Schiffbauer <mschiff <AT> gentoo.org>
12 Package-Manager: Portage-2.3.49, Repoman-2.3.10
13
14 app-backup/bareos/Manifest | 1 +
15 app-backup/bareos/bareos-17.2.6.ebuild | 388 +++++++++++++++++++++++++++++
16 app-backup/bareos/files/bareos-dir.service | 13 +
17 app-backup/bareos/files/bareos-fd.service | 12 +
18 app-backup/bareos/files/bareos-sd.service | 12 +
19 5 files changed, 426 insertions(+)
20
21 diff --git a/app-backup/bareos/Manifest b/app-backup/bareos/Manifest
22 index 3805dbf289d..5943022b495 100644
23 --- a/app-backup/bareos/Manifest
24 +++ b/app-backup/bareos/Manifest
25 @@ -1 +1,2 @@
26 DIST bareos-16.2.7.tar.gz 4282998 BLAKE2B 9101a49d1178e0bcc4843cc4472a2082827a7bd7595389c0fa3699d36651ca70fce674509eeaddc8f806a5df1dba6afc89c05be183e7561e013d23bd157ef294 SHA512 028f38dd77fed5e3af6ee50aa44cb2f82349bd38e40eadebc552a95100166291ae0c68073daa2513919da330c66bb54a3050f1d99cbf3b5354f2450a789f6c00
27 +DIST bareos-17.2.6.tar.gz 4181984 BLAKE2B a1666b38626228ebf00f6a42f1a5b74c78c26a7178fa5333c9c8fb24ccfda146d20c35d35cbe43b6f53ba1b0ce1dd9b8ad30309997689c39493b51a0db9f5c9b SHA512 5f5ac8cfe028c97fa3120e149f1eb029406b74530517bf6e21574bd726e26c6b78740977635b45cbc2232fda0ee28f1b4338d91a8fa0a86ba05209cce82cd0b2
28
29 diff --git a/app-backup/bareos/bareos-17.2.6.ebuild b/app-backup/bareos/bareos-17.2.6.ebuild
30 new file mode 100644
31 index 00000000000..25469bc0f10
32 --- /dev/null
33 +++ b/app-backup/bareos/bareos-17.2.6.ebuild
34 @@ -0,0 +1,388 @@
35 +# Copyright 1999-2018 Gentoo Foundation
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI="6"
39 +
40 +PYTHON_COMPAT=( python2_7 )
41 +PYTHON_REQ_USE="threads"
42 +
43 +inherit eutils multilib python-single-r1 systemd user
44 +
45 +DESCRIPTION="Featureful client/server network backup suite"
46 +HOMEPAGE="http://www.bareos.org/"
47 +SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
48 +RESTRICT="mirror"
49 +
50 +LICENSE="AGPL-3"
51 +SLOT="0"
52 +KEYWORDS="~amd64 ~x86"
53 +IUSE="X acl cephfs clientonly +director fastlz glusterfs gnutls ipv6 jansson lmdb libressl
54 + logwatch mysql ndmp +postgres python rados rados-striper readline scsi-crypto
55 + sql-pooling sqlite ssl static +storage-daemon tcpd vim-syntax"
56 +REQUIRED_USE="!clientonly? ( || ( mysql postgres sqlite ) )"
57 +
58 +DEPEND="
59 + !app-backup/bacula
60 + cephfs? ( sys-cluster/ceph )
61 + rados? ( sys-cluster/ceph )
62 + rados-striper? ( >=sys-cluster/ceph-0.94.2 )
63 + glusterfs? ( sys-cluster/glusterfs )
64 + lmdb? ( dev-db/lmdb )
65 + dev-libs/gmp:0
66 + !clientonly? (
67 + postgres? ( dev-db/postgresql:*[threads] )
68 + mysql? ( virtual/mysql )
69 + sqlite? ( dev-db/sqlite:3 )
70 + director? (
71 + virtual/mta
72 + jansson? ( dev-libs/jansson )
73 + )
74 + )
75 + fastlz? ( dev-libs/bareos-fastlzlib )
76 + logwatch? ( sys-apps/logwatch )
77 + tcpd? ( sys-apps/tcp-wrappers )
78 + readline? ( sys-libs/readline:0 )
79 + static? (
80 + acl? ( virtual/acl[static-libs] )
81 + sys-libs/zlib[static-libs]
82 + dev-libs/lzo[static-libs]
83 + sys-libs/ncurses:=[static-libs]
84 + ssl? (
85 + !gnutls? (
86 + !libressl? ( dev-libs/openssl:0=[static-libs] )
87 + libressl? ( dev-libs/libressl:0=[static-libs] )
88 + )
89 + gnutls? ( net-libs/gnutls[static-libs] )
90 + )
91 + )
92 + !static? (
93 + acl? ( virtual/acl )
94 + dev-libs/lzo
95 + ssl? (
96 + !gnutls? (
97 + !libressl? ( dev-libs/openssl:0= )
98 + libressl? ( dev-libs/libressl:0= )
99 + )
100 + gnutls? ( net-libs/gnutls )
101 + )
102 + sys-libs/ncurses:=
103 + sys-libs/zlib
104 + )
105 + python? ( ${PYTHON_DEPS} )
106 + "
107 +RDEPEND="${DEPEND}
108 + !clientonly? (
109 + storage-daemon? (
110 + sys-block/mtx
111 + app-arch/mt-st
112 + )
113 + )
114 + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
115 +
116 +REQUIRED_USE="static? ( clientonly )
117 + python? ( ${PYTHON_REQUIRED_USE} )"
118 +
119 +S=${WORKDIR}/${PN}-Release-${PV}
120 +
121 +pkg_setup() {
122 + use mysql && export mydbtypes+="mysql"
123 + use postgres && export mydbtypes+=" postgresql"
124 + use sqlite && export mydbtypes+=" sqlite"
125 +
126 + # create the daemon group and user
127 + if [ -z "$(egetent group bareos 2>/dev/null)" ]; then
128 + enewgroup bareos
129 + einfo
130 + einfo "The group 'bareos' has been created. Any users you add to this"
131 + einfo "group have access to files created by the daemons."
132 + einfo
133 + fi
134 +
135 + if ! use clientonly; then
136 + if [ -z "$(egetent passwd bareos 2>/dev/null)" ]; then
137 + enewuser bareos -1 -1 /var/lib/bareos bareos,disk,tape,cdrom,cdrw
138 + einfo
139 + einfo "The user 'bareos' has been created. Please see the bareos manual"
140 + einfo "for information about running bareos as a non-root user."
141 + einfo
142 + fi
143 + fi
144 +
145 + use python && python-single-r1_pkg_setup
146 +}
147 +
148 +src_prepare() {
149 + # adjusts default configuration files for several binaries
150 + # to /etc/bareos/<config> instead of ./<config>
151 + pushd src >&/dev/null || die
152 + for f in console/console.c dird/dird.c filed/filed.c \
153 + stored/bcopy.c stored/bextract.c stored/bls.c \
154 + stored/bscan.c stored/btape.c stored/stored.c; do
155 + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bareos/|g' "${f}" \
156 + || die "sed on ${f} failed"
157 + done
158 + popd >&/dev/null || die
159 +
160 + # enables default database driver in catalog
161 + pushd src/defaultconfigs/bareos-dir.d/catalog >&/dev/null || die
162 + sed -i -e 's/#dbdriver/dbdriver/' -e '/XXX_REPLACE/d' MyCatalog.conf.in \
163 + || die "sed on MyCatalog.conf.in failed"
164 + popd >&/dev/null || die
165 +
166 + # bug 466690 Use CXXFLAGS instead of CFLAGS
167 + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
168 +
169 + # do not strip binaries
170 + for d in filed console dird stored; do
171 + sed -i -e "s/strip /# strip /" src/$d/Makefile.in || die
172 + done
173 +
174 + eapply_user
175 +}
176 +
177 +src_configure() {
178 + local myconf=''
179 +
180 + addpredict /var/lib/logrotate.status
181 +
182 + if use clientonly; then
183 + myconf="${myconf} \
184 + $(use_enable clientonly client-only) \
185 + $(use_enable !static libtool) \
186 + $(use_enable static static-cons) \
187 + $(use_enable static static-fd)"
188 + fi
189 +
190 + myconf="${myconf} \
191 + $(use_with X x) \
192 + $(use_enable acl) \
193 + $(use_enable ipv6) \
194 + $(use_enable ndmp) \
195 + $(use_enable readline) \
196 + $(use_enable !readline conio) \
197 + $(use_enable scsi-crypto) \
198 + $(use_enable sql-pooling) \
199 + $(use_with fastlz) \
200 + $(use_with mysql) \
201 + $(use_with postgres postgresql) \
202 + $(use_with python) \
203 + $(use_with readline) \
204 + $(use_with sqlite sqlite3) \
205 + $(use sqlite || echo "--without-sqlite3") \
206 + $(use_with ssl openssl) \
207 + $(use_with tcpd tcp-wrappers) \
208 + $(use_enable lmdb) \
209 + $(use_with glusterfs) \
210 + $(use_with rados) \
211 + $(use_with rados-striper) \
212 + $(use_with cephfs) \
213 + $(use_with jansson) \
214 + "
215 +
216 + econf \
217 + --libdir=/usr/$(get_libdir) \
218 + --docdir=/usr/share/doc/${PF} \
219 + --htmldir=/usr/share/doc/${PF}/html \
220 + --with-pid-dir=/run/bareos \
221 + --sysconfdir=/etc \
222 + --with-subsys-dir=/run/lock/subsys \
223 + --with-working-dir=/var/lib/bareos \
224 + --with-logdir=/var/log/bareos \
225 + --with-scriptdir=/usr/libexec/bareos \
226 + --with-plugindir=/usr/$(get_libdir)/${PN}/plugin \
227 + --with-backenddir=/usr/$(get_libdir)/${PN}/backend \
228 + --with-dir-user=bareos \
229 + --with-dir-group=bareos \
230 + --with-sd-user=root \
231 + --with-sd-group=bareos \
232 + --with-fd-user=root \
233 + --with-fd-group=bareos \
234 + --with-sbin-perm=0755 \
235 + --with-systemd \
236 + --with-db-password=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1` \
237 + --enable-dynamic-cats-backends \
238 + --enable-dynamic-storage-backends \
239 + --enable-batch-insert \
240 + --disable-afs \
241 + --host=${CHOST} \
242 + ${myconf}
243 +}
244 +
245 +src_compile() {
246 + # Make build log verbose (bug #447806)
247 + emake NO_ECHO=""
248 +}
249 +
250 +src_install() {
251 + emake DESTDIR="${D}" install
252 + newicon src/images/bareos_logo_shadow.png bareos.png
253 +
254 + # remove some scripts we don't need at all
255 + rm -f "${D}"/usr/libexec/bareos/{bareos,bareos-ctl-dir,bareos-ctl-fd,bareos-ctl-sd,startmysql,stopmysql}
256 + rm -f "${D}"/usr/sbin/bareos
257 +
258 + # remove upstream init scripts
259 + rm -f "${D}"/etc/init.d/bareos-*
260 +
261 + # rename statically linked apps
262 + if use clientonly && use static ; then
263 + pushd "${D}"/usr/sbin || die
264 + mv static-bareos-fd bareos-fd || die
265 + mv static-bconsole bconsole || die
266 + popd || die
267 + fi
268 +
269 + # extra files which 'make install' doesn't cover
270 + if ! use clientonly; then
271 + # the logrotate configuration
272 + # (now unconditional wrt bug #258187)
273 + diropts -m0755
274 + insinto /etc/logrotate.d
275 + insopts -m0644
276 + newins "${S}"/scripts/logrotate bareos
277 +
278 + # the logwatch scripts
279 + if use logwatch; then
280 + diropts -m0750
281 + dodir /etc/log.d/scripts/services
282 + dodir /etc/log.d/scripts/shared
283 + dodir /etc/log.d/conf/logfiles
284 + dodir /etc/log.d/conf/services
285 + pushd "${S}"/scripts/logwatch >&/dev/null || die
286 + emake DESTDIR="${D}" install
287 + popd >&/dev/null || die
288 + fi
289 + fi
290 +
291 + rm -vf "${D}"/usr/share/man/man1/bareos-bwxconsole.1*
292 + if use clientonly || ! use director; then
293 + rm -vf "${D}"/usr/share/man/man8/bareos-dir.8*
294 + rm -vf "${D}"/usr/share/man/man8/bareos-dbcheck.8*
295 + rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
296 + rm -vf "${D}"/usr/share/man/man8/bwild.8*
297 + rm -vf "${D}"/usr/share/man/man8/bregex.8*
298 + rm -vf "${D}"/usr/share/man/man8/bpluginfo.8*
299 + rm -vf "${D}"/usr/libexec/bareos/create_*_database
300 + rm -vf "${D}"/usr/libexec/bareos/drop_*_database
301 + rm -vf "${D}"/usr/libexec/bareos/make_*_tables
302 + rm -vf "${D}"/usr/libexec/bareos/update_*_tables
303 + rm -vf "${D}"/usr/libexec/bareos/drop_*_tables
304 + rm -vf "${D}"/usr/libexec/bareos/grant_*_privileges
305 + rm -vf "${D}"/usr/libexec/bareos/*_catalog_backup
306 + fi
307 + if use clientonly || ! use storage-daemon; then
308 + rm -vf "${D}"/usr/share/man/man8/bareos-sd.8*
309 + rm -vf "${D}"/usr/share/man/man8/bcopy.8*
310 + rm -vf "${D}"/usr/share/man/man8/bextract.8*
311 + rm -vf "${D}"/usr/share/man/man8/bls.8*
312 + rm -vf "${D}"/usr/share/man/man8/bscan.8*
313 + rm -vf "${D}"/usr/share/man/man8/btape.8*
314 + rm -vf "${D}"/usr/libexec/bareos/disk-changer
315 + rm -vf "${D}"/usr/libexec/bareos/mtx-changer
316 + rm -vf "${D}"/usr/libexec/bareos/dvd-handler
317 + rm -vf "${D}"/etc/bareos/mtx-changer.conf
318 + fi
319 + if ! use scsi-crypto; then
320 + rm -vf "${D}"/usr/share/man/man8/bscrypto.8*
321 + fi
322 +
323 + # documentation
324 + dodoc README.md
325 + use ndmp && dodoc README.NDMP
326 + use scsi-crypto && dodoc README.scsicrypto
327 +
328 + # vim-files
329 + if use vim-syntax; then
330 + insinto /usr/share/vim/vimfiles/syntax
331 + doins scripts/bareos.vim
332 + insinto /usr/share/vim/vimfiles/ftdetect
333 + newins scripts/filetype.vim bareos_ft.vim
334 + fi
335 +
336 + # setup init scripts
337 + myscripts="bareos-fd"
338 + if ! use clientonly; then
339 + if use director; then
340 + myscripts="${myscripts} bareos-dir"
341 + fi
342 + if use storage-daemon; then
343 + myscripts="${myscripts} bareos-sd"
344 + fi
345 + fi
346 + for script in ${myscripts}; do
347 + # copy over init script and config to a temporary location
348 + # so we can modify them as needed
349 + cp "${FILESDIR}/${script}".confd-16 "${T}/${script}".confd || die "failed to copy ${script}.confd"
350 + cp "${FILESDIR}/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd"
351 +
352 + # now set the database dependency for the director init script
353 + case "${script}" in
354 + bareos-dir)
355 + sed -i -e "s:%databasetypes%:${mydbtypes}:" "${T}/${script}".confd || die
356 + ;;
357 + *)
358 + ;;
359 + esac
360 +
361 + # install init script and config
362 + newinitd "${T}/${script}".initd "${script}"
363 + newconfd "${T}/${script}".confd "${script}"
364 + done
365 +
366 + # install systemd unit files
367 + use director && systemd_dounit "${FILESDIR}"/bareos-dir.service
368 + use storage-daemon && systemd_dounit "${FILESDIR}"/bareos-sd.service
369 + systemd_dounit "${FILESDIR}"/bareos-fd.service
370 +
371 + # make sure the working directory exists
372 + diropts -m0750
373 + keepdir /var/lib/bareos
374 +
375 + # make sure bareos group can execute bareos libexec scripts
376 + fowners -R root:bareos /usr/libexec/bareos
377 +}
378 +
379 +pkg_postinst() {
380 + if use clientonly; then
381 + fowners root:bareos /var/lib/bareos
382 + else
383 + fowners bareos:bareos /var/lib/bareos
384 + fi
385 +
386 + if ! use clientonly && use director; then
387 + einfo
388 + einfo "If this is a new install, you must create the database:"
389 + if use postgres; then
390 + einfo
391 + einfo "For postgresql:"
392 + einfo " su postgres -c '/usr/libexec/bareos/create_bareos_database postgresql'"
393 + einfo " su postgres -c '/usr/libexec/bareos/make_bareos_tables postgresql'"
394 + einfo " su postgres -c '/usr/libexec/bareos/grant_bareos_privileges postgresql'"
395 + fi
396 + if use mysql; then
397 + einfo
398 + einfo "For mysql:"
399 + einfo
400 + einfo " Make sure root has direct access to your mysql server. You may want to"
401 + einfo " create a /root/.my.cnf file with"
402 + einfo " [client]"
403 + einfo " user=root"
404 + einfo " password=YourPasswordForAccessingMysqlAsRoot"
405 + einfo " before running:"
406 + einfo " /usr/libexec/bareos/create_bareos_database mysql"
407 + einfo " /usr/libexec/bareos/make_bareos_tables mysql"
408 + einfo " /usr/libexec/bareos/grant_bareos_privileges mysql"
409 + fi
410 + einfo
411 + fi
412 +
413 + if use sqlite; then
414 + einfo
415 + einfo "Be aware that Bareos does not officially support SQLite database."
416 + einfo "Best use it only for a client-only installation. See Bug #445540."
417 + einfo
418 + einfo "It is strongly recommended to use either postgresql or mysql as"
419 + einfo "catalog database backend."
420 + einfo
421 + fi
422 +}
423
424 diff --git a/app-backup/bareos/files/bareos-dir.service b/app-backup/bareos/files/bareos-dir.service
425 new file mode 100644
426 index 00000000000..440d3c3be98
427 --- /dev/null
428 +++ b/app-backup/bareos/files/bareos-dir.service
429 @@ -0,0 +1,13 @@
430 +[Unit]
431 + Description=Bareos Director
432 + After=syslog.target network.target
433 + Requires=bareos-sd.service bareos-fd.service
434 +
435 +[Install]
436 + WantedBy=multi-user.target
437 +
438 +[Service]
439 + Type=forking
440 + User=root
441 + ExecStartPre=-/bin/mkdir /run/bareos
442 + ExecStart=/usr/sbin/bareos-dir
443
444 diff --git a/app-backup/bareos/files/bareos-fd.service b/app-backup/bareos/files/bareos-fd.service
445 new file mode 100644
446 index 00000000000..10328609425
447 --- /dev/null
448 +++ b/app-backup/bareos/files/bareos-fd.service
449 @@ -0,0 +1,12 @@
450 +[Unit]
451 + Description=Bareos File Daemon
452 + After=syslog.target network.target
453 +
454 +[Install]
455 + WantedBy=multi-user.target
456 +
457 +[Service]
458 + Type=forking
459 + User=root
460 + ExecStartPre=-/bin/mkdir /run/bareos
461 + ExecStart=/usr/sbin/bareos-fd
462
463 diff --git a/app-backup/bareos/files/bareos-sd.service b/app-backup/bareos/files/bareos-sd.service
464 new file mode 100644
465 index 00000000000..6c617ec6a37
466 --- /dev/null
467 +++ b/app-backup/bareos/files/bareos-sd.service
468 @@ -0,0 +1,12 @@
469 +[Unit]
470 + Description=Bareos Storage Daemon
471 + After=syslog.target network-online.target
472 +
473 +[Install]
474 + WantedBy=multi-user.target
475 +
476 +[Service]
477 + Type=forking
478 + User=root
479 + ExecStartPre=-/bin/mkdir /run/bareos
480 + ExecStart=/usr/sbin/bareos-sd