Gentoo Archives: gentoo-commits

From: "Thomas Beierlein (tomjbe)" <tomjbe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-backup/bacula: bacula-7.0.4.ebuild ChangeLog
Date: Sat, 21 Jun 2014 10:01:23
Message-Id: 20140621100120.22A862004E@flycatcher.gentoo.org
1 tomjbe 14/06/21 10:01:20
2
3 Modified: ChangeLog
4 Added: bacula-7.0.4.ebuild
5 Log:
6 Bugfix release
7
8 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x762053D5)
9
10 Revision Changes Path
11 1.166 app-backup/bacula/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/bacula/ChangeLog?rev=1.166&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/bacula/ChangeLog?rev=1.166&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/bacula/ChangeLog?r1=1.165&r2=1.166
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v
20 retrieving revision 1.165
21 retrieving revision 1.166
22 diff -u -r1.165 -r1.166
23 --- ChangeLog 10 Apr 2014 16:13:10 -0000 1.165
24 +++ ChangeLog 21 Jun 2014 10:01:19 -0000 1.166
25 @@ -1,6 +1,11 @@
26 # ChangeLog for app-backup/bacula
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v 1.165 2014/04/10 16:13:10 tomjbe Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v 1.166 2014/06/21 10:01:19 tomjbe Exp $
30 +
31 +*bacula-7.0.4 (21 Jun 2014)
32 +
33 + 21 Jun 2014; Thomas Beierlein <tomjbe@g.o> +bacula-7.0.4.ebuild:
34 + Bugfix release
35
36 *bacula-7.0.2 (10 Apr 2014)
37
38
39
40
41 1.1 app-backup/bacula/bacula-7.0.4.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/bacula/bacula-7.0.4.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/bacula/bacula-7.0.4.ebuild?rev=1.1&content-type=text/plain
45
46 Index: bacula-7.0.4.ebuild
47 ===================================================================
48 # Copyright 1999-2014 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/bacula-7.0.4.ebuild,v 1.1 2014/06/21 10:01:19 tomjbe Exp $
51
52 EAPI="5"
53
54 inherit eutils multilib qt4-r2 systemd user
55
56 MY_PV=${PV/_beta/-b}
57 MY_P=${PN}-${MY_PV}
58
59 DESCRIPTION="Featureful client/server network backup suite"
60 HOMEPAGE="http://www.bacula.org/"
61 SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz"
62
63 LICENSE="AGPL-3"
64 SLOT="0"
65 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
66 IUSE="acl bacula-clientonly bacula-nodir bacula-nosd examples ipv6 logwatch mysql postgres qt4 readline +sqlite3 ssl static tcpd vim-syntax X"
67
68 DEPEND="
69 dev-libs/gmp
70 !bacula-clientonly? (
71 postgres? ( dev-db/postgresql-base[threads] )
72 mysql? ( virtual/mysql )
73 sqlite3? ( dev-db/sqlite:3 )
74 !bacula-nodir? ( virtual/mta )
75 )
76 qt4? (
77 dev-qt/qtsvg:4
78 x11-libs/qwt:5
79 )
80 logwatch? ( sys-apps/logwatch )
81 tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
82 readline? ( >=sys-libs/readline-4.1 )
83 static? (
84 acl? ( virtual/acl[static-libs] )
85 sys-libs/zlib[static-libs]
86 dev-libs/lzo[static-libs]
87 sys-libs/ncurses[static-libs]
88 ssl? ( dev-libs/openssl[static-libs] )
89 )
90 !static? (
91 acl? ( virtual/acl )
92 sys-libs/zlib
93 dev-libs/lzo
94 sys-libs/ncurses
95 ssl? ( dev-libs/openssl )
96 )"
97 RDEPEND="${DEPEND}
98 !bacula-clientonly? (
99 !bacula-nosd? (
100 sys-block/mtx
101 app-arch/mt-st
102 )
103 )
104 vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
105
106 REQUIRED_USE="|| ( ^^ ( mysql postgres sqlite3 ) bacula-clientonly )
107 static? ( bacula-clientonly )"
108
109 S=${WORKDIR}/${MY_P}
110
111 pkg_setup() {
112 #XOR and !bacula-clientonly controlled by REQUIRED_USE
113 use mysql && export mydbtype="mysql"
114 use postgres && export mydbtype="postgresql"
115 use sqlite3 && export mydbtype="sqlite3"
116
117 # create the daemon group and user
118 if [ -z "$(egetent group bacula 2>/dev/null)" ]; then
119 enewgroup bacula
120 einfo
121 einfo "The group 'bacula' has been created. Any users you add to this"
122 einfo "group have access to files created by the daemons."
123 einfo
124 fi
125
126 if use bacula-clientonly && use static && use qt4; then
127 ewarn
128 ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' useflag."
129 ewarn
130 fi
131
132 if ! use bacula-clientonly; then
133 if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then
134 enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw
135 einfo
136 einfo "The user 'bacula' has been created. Please see the bacula manual"
137 einfo "for information about running bacula as a non-root user."
138 einfo
139 fi
140 fi
141 }
142
143 src_prepare() {
144 # adjusts default configuration files for several binaries
145 # to /etc/bacula/<config> instead of ./<config>
146 pushd src >&/dev/null || die
147 for f in console/console.c dird/dird.c filed/filed.c \
148 stored/bcopy.c stored/bextract.c stored/bls.c \
149 stored/bscan.c stored/btape.c stored/stored.c \
150 qt-console/main.cpp; do
151 sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \
152 || die "sed on ${f} failed"
153 done
154 popd >&/dev/null || die
155
156 # bug 466688 drop deprecated categories from Desktop file
157 sed -i -e 's/Application;//' scripts/bat.desktop.in || die
158
159 # bug 466690 Use CXXFLAGS instead of CFLAGS
160 sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
161
162 # drop automatic install of unneeded documentation (for bug 356499)
163 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-doc.patch
164
165 # bug #310087
166 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch
167
168 # bug #311161
169 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-lib-search-path.patch
170
171 # stop build for errors in subdirs
172 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-Makefile.patch
173
174 # bat needs to respect LDFLAGS
175 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-ldflags.patch
176
177 # bug #328701
178 epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
179
180 epatch "${FILESDIR}"/7.0.2/${PN}-7.0.2-fix-static.patch
181
182 # do not strip binaries
183 sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die
184 sed -i -e "s/strip /# strip /" src/console/Makefile.in || die
185
186 # fix file not found error during make depend
187 epatch "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch
188
189 # Fix systemd unit files:
190 # bug 497748
191 sed -i -e '/Requires/d' platforms/systemd/*.service.in || die
192 sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die
193 # bug 504370
194 sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die
195 }
196
197 src_configure() {
198 local myconf=''
199
200 if use bacula-clientonly; then
201 myconf="${myconf} \
202 $(use_enable bacula-clientonly client-only) \
203 $(use_enable !static libtool) \
204 $(use_enable static static-cons) \
205 $(use_enable static static-fd)"
206 else
207 myconf="${myconf} \
208 $(use_enable !bacula-nodir build-dird) \
209 $(use_enable !bacula-nosd build-stored)"
210 # bug #311099
211 # database support needed by dir-only *and* sd-only
212 # build as well (for building bscan, btape, etc.)
213 myconf="${myconf} \
214 --with-${mydbtype} \
215 --enable-batch-insert"
216 fi
217
218 # do not build bat if 'static' clientonly
219 if ! use bacula-clientonly || ! use static; then
220 myconf="${myconf} \
221 $(use_enable qt4 bat)"
222 fi
223
224 myconf="${myconf} \
225 $(use_with X x) \
226 $(use_enable !readline conio) \
227 $(use_enable readline) \
228 $(use_with readline readline /usr) \
229 $(use_with ssl openssl) \
230 $(use_enable ipv6) \
231 $(use_enable acl) \
232 $(use_with tcpd tcp-wrappers)"
233
234 econf \
235 --libdir=/usr/$(get_libdir) \
236 --docdir=/usr/share/doc/${PF} \
237 --htmldir=/usr/share/doc/${PF}/html \
238 --with-pid-dir=/var/run \
239 --sysconfdir=/etc/bacula \
240 --with-subsys-dir=/var/lock/subsys \
241 --with-working-dir=/var/lib/bacula \
242 --with-logdir=/var/lib/bacula \
243 --with-scriptdir=/usr/libexec/bacula \
244 --with-systemd=$(systemd_get_unitdir) \
245 --with-dir-user=bacula \
246 --with-dir-group=bacula \
247 --with-sd-user=root \
248 --with-sd-group=bacula \
249 --with-fd-user=root \
250 --with-fd-group=bacula \
251 --enable-smartalloc \
252 --disable-afs \
253 --host=${CHOST} \
254 ${myconf}
255 # correct configuration for QT based bat
256 if use qt4 ; then
257 pushd src/qt-console
258 eqmake4
259 popd
260 fi
261 }
262
263 src_compile() {
264 # Make build log verbose (bug #447806)
265 emake NO_ECHO=""
266 }
267
268 src_install() {
269 emake DESTDIR="${D}" install
270 doicon scripts/bacula.png
271
272 # install bat icon and desktop file when enabled
273 # (for some reason ./configure doesn't pick this up)
274 if use qt4 && ! use static ; then
275 doicon src/qt-console/images/bat_icon.png
276 domenu scripts/bat.desktop
277 fi
278
279 # remove some scripts we don't need at all
280 rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql}
281
282 # rename statically linked apps
283 if use bacula-clientonly && use static ; then
284 pushd "${D}"/usr/sbin || die
285 mv static-bacula-fd bacula-fd || die
286 mv static-bconsole bconsole || die
287 popd || die
288 fi
289
290 # extra files which 'make install' doesn't cover
291 if ! use bacula-clientonly; then
292 # the database update scripts
293 diropts -m0750
294 insinto /usr/libexec/bacula/updatedb
295 insopts -m0754
296 doins "${S}"/updatedb/*
297 fperms 0640 /usr/libexec/bacula/updatedb/README
298
299 # the logrotate configuration
300 # (now unconditional wrt bug #258187)
301 diropts -m0755
302 insinto /etc/logrotate.d
303 insopts -m0644
304 newins "${S}"/scripts/logrotate bacula
305
306 # the logwatch scripts
307 if use logwatch; then
308 diropts -m0750
309 dodir /etc/log.d/scripts/services
310 dodir /etc/log.d/scripts/shared
311 dodir /etc/log.d/conf/logfiles
312 dodir /etc/log.d/conf/services
313 pushd "${S}"/scripts/logwatch >&/dev/null || die
314 emake DESTDIR="${D}" install
315 popd >&/dev/null || die
316 fi
317 fi
318
319 if ! use qt4; then
320 rm -vf "${D}"/usr/share/man/man1/bat.1*
321 fi
322 rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1*
323 if use bacula-clientonly || use bacula-nodir; then
324 rm -vf "${D}"/usr/share/man/man8/bacula-dir.8*
325 rm -vf "${D}"/usr/share/man/man8/dbcheck.8*
326 rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
327 rm -vf "${D}"/usr/libexec/bacula/create_*_database
328 rm -vf "${D}"/usr/libexec/bacula/drop_*_database
329 rm -vf "${D}"/usr/libexec/bacula/make_*_tables
330 rm -vf "${D}"/usr/libexec/bacula/update_*_tables
331 rm -vf "${D}"/usr/libexec/bacula/drop_*_tables
332 rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges
333 rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup
334 fi
335 if use bacula-clientonly || use bacula-nosd; then
336 rm -vf "${D}"/usr/share/man/man8/bacula-sd.8*
337 rm -vf "${D}"/usr/share/man/man8/bcopy.8*
338 rm -vf "${D}"/usr/share/man/man8/bextract.8*
339 rm -vf "${D}"/usr/share/man/man8/bls.8*
340 rm -vf "${D}"/usr/share/man/man8/bscan.8*
341 rm -vf "${D}"/usr/share/man/man8/btape.8*
342 rm -vf "${D}"/usr/libexec/bacula/disk-changer
343 rm -vf "${D}"/usr/libexec/bacula/mtx-changer
344 rm -vf "${D}"/usr/libexec/bacula/dvd-handler
345 fi
346
347 # documentation
348 dodoc ChangeLog ReleaseNotes SUPPORT technotes
349
350 # install examples (bug #457504)
351 if use examples; then
352 docinto examples/
353 dodoc -r examples/*
354 fi
355
356 # vim-files
357 if use vim-syntax; then
358 insinto /usr/share/vim/vimfiles/syntax
359 doins scripts/bacula.vim
360 insinto /usr/share/vim/vimfiles/ftdetect
361 newins scripts/filetype.vim bacula_ft.vim
362 fi
363
364 # setup init scripts
365 myscripts="bacula-fd"
366 if ! use bacula-clientonly; then
367 if ! use bacula-nodir; then
368 myscripts="${myscripts} bacula-dir"
369 fi
370 if ! use bacula-nosd; then
371 myscripts="${myscripts} bacula-sd"
372 fi
373 fi
374 for script in ${myscripts}; do
375 # copy over init script and config to a temporary location
376 # so we can modify them as needed
377 cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd"
378 cp "${FILESDIR}/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd"
379
380 # now set the database dependancy for the director init script
381 case "${script}" in
382 bacula-dir)
383 case "${mydbtype}" in
384 sqlite3)
385 # sqlite3 databases don't have a daemon
386 sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die
387 ;;
388 *)
389 # all other databases have daemons
390 sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die
391 ;;
392 esac
393 ;;
394 *)
395 ;;
396 esac
397
398 # install init script and config
399 newinitd "${T}/${script}".initd "${script}"
400 newconfd "${T}/${script}".confd "${script}"
401 done
402
403 systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service
404 systemd_dotmpfilesd "${S}"/platforms/systemd/bacula.conf
405
406 # make sure the working directory exists
407 diropts -m0750
408 keepdir /var/lib/bacula
409
410 # make sure bacula group can execute bacula libexec scripts
411 fowners -R root:bacula /usr/libexec/bacula
412 }
413
414 pkg_postinst() {
415 if use bacula-clientonly; then
416 fowners root:bacula /var/lib/bacula
417 else
418 fowners bacula:bacula /var/lib/bacula
419 fi
420
421 if ! use bacula-clientonly && ! use bacula-nodir; then
422 einfo
423 einfo "If this is a new install, you must create the ${mydbtype} databases with:"
424 einfo " /usr/libexec/bacula/create_${mydbtype}_database"
425 einfo " /usr/libexec/bacula/make_${mydbtype}_tables"
426 einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges"
427 einfo
428 fi
429
430 if use sqlite3; then
431 einfo
432 einfo "Be aware that Bacula does not officially support SQLite database anymore."
433 einfo "Best use it only for a client-only installation. See Bug #445540."
434 einfo
435 fi
436
437 einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
438 einfo "you have to enable 'USE=qt4'."
439 einfo
440 }