Gentoo Archives: gentoo-commits

From: "Wolfram Schlich (wschlich)" <wschlich@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-backup/bacula: ChangeLog bacula-2.2.4.ebuild
Date: Thu, 11 Oct 2007 00:22:50
Message-Id: E1Iflfg-00033t-Fh@stork.gentoo.org
1 wschlich 07/10/11 00:13:00
2
3 Modified: ChangeLog
4 Added: bacula-2.2.4.ebuild
5 Log:
6 version bump wrt bug #188477
7 (Portage version: 2.1.3.7)
8
9 Revision Changes Path
10 1.38 app-backup/bacula/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-backup/bacula/ChangeLog?rev=1.38&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-backup/bacula/ChangeLog?rev=1.38&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-backup/bacula/ChangeLog?r1=1.37&r2=1.38
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v
19 retrieving revision 1.37
20 retrieving revision 1.38
21 diff -u -r1.37 -r1.38
22 --- ChangeLog 21 Aug 2007 15:50:10 -0000 1.37
23 +++ ChangeLog 11 Oct 2007 00:12:59 -0000 1.38
24 @@ -1,6 +1,17 @@
25 # ChangeLog for app-backup/bacula
26 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v 1.37 2007/08/21 15:50:10 fmccor Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/ChangeLog,v 1.38 2007/10/11 00:12:59 wschlich Exp $
29 +
30 +*bacula-2.2.4 (10 Oct 2007)
31 +
32 + 10 Oct 2007; Wolfram Schlich <wschlich@g.o>
33 + +files/2.2.4/bacula-all-conf, +files/2.2.4/bacula-all-init,
34 + +files/2.2.4/bacula-default-configs.patch, +files/2.2.4/bacula-dir-conf,
35 + +files/2.2.4/bacula-dir-init, +files/2.2.4/bacula-fd-conf,
36 + +files/2.2.4/bacula-fd-init, +files/2.2.4/bacula-gnomesu2gksu.diff,
37 + +files/2.2.4/bacula-sd-conf, +files/2.2.4/bacula-sd-init,
38 + +bacula-2.2.4.ebuild:
39 + version bump
40
41 21 Aug 2007; Ferris McCormick <fmccor@g.o> bacula-2.0.3.ebuild:
42 Sparc stable --- Bug #153189 --- (requires ghostscript upgrade for USE=doc:
43
44
45
46 1.1 app-backup/bacula/bacula-2.2.4.ebuild
47
48 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-backup/bacula/bacula-2.2.4.ebuild?rev=1.1&view=markup
49 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-backup/bacula/bacula-2.2.4.ebuild?rev=1.1&content-type=text/plain
50
51 Index: bacula-2.2.4.ebuild
52 ===================================================================
53 # Copyright 1999-2007 Gentoo Foundation
54 # Distributed under the terms of the GNU General Public License v2
55 # $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/bacula-2.2.4.ebuild,v 1.1 2007/10/11 00:12:59 wschlich Exp $
56
57 #
58 # TODO:
59 # - install stuff from examples/:
60 # - examples/nagios/ + add nagios USE flag etc.
61 # (see also example/reports/check_bacula_pools.sh which is newer
62 # than examples/nagios/check_bacula_pools.sh)
63 # - examples/autochangers/
64 # - examples/devices/
65 # - examples/python/
66 # - examples/reports/baculareport.pl
67 # - correctly filter unneeded /usr/libexec/bacula/ stuff depending
68 # on selected USE flags, e.g. bacula-clientonly
69 # - install bacula-web and/or bweb from bacula-gui package
70 #
71
72 inherit eutils
73
74 IUSE="bacula-clientonly bacula-console bacula-nodir bacula-nosd bacula-split-init doc gnome ipv6 logrotate logwatch mysql postgres python qt4 readline sqlite sqlite3 ssl static tcpd wxwindows X"
75 KEYWORDS="~amd64 ~x86"
76
77 DESCRIPTION="Featureful client/server network backup suite"
78 HOMEPAGE="http://www.bacula.org/"
79
80 DOC_VER="${PV}"
81 SRC_URI="mirror://sourceforge/bacula/${P}.tar.gz
82 doc? ( mirror://sourceforge/bacula/${PN}-docs-${DOC_VER}.tar.bz2 )"
83
84 LICENSE="GPL-2"
85 SLOT="0"
86
87 DEPEND="
88 >=sys-libs/zlib-1.1.4
89 dev-libs/gmp
90 !bacula-clientonly? (
91 postgres? ( >=dev-db/postgresql-7.4.0 )
92 mysql? ( virtual/mysql )
93 sqlite? ( =dev-db/sqlite-2* )
94 sqlite3? ( >=dev-db/sqlite-3.0.0 )
95 virtual/mta
96 )
97 bacula-console? (
98 wxwindows? ( =x11-libs/wxGTK-2.6* )
99 qt4? (
100 =x11-libs/qt-4*
101 >=x11-libs/qwt-5
102 )
103 gnome? (
104 >=gnome-base/libgnome-2
105 x11-libs/gksu
106 )
107 )
108 ssl? ( dev-libs/openssl )
109 logrotate? ( app-admin/logrotate )
110 logwatch? ( sys-apps/logwatch )
111 tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
112 readline? ( >=sys-libs/readline-4.1 )
113 doc? (
114 virtual/ghostscript
115 dev-tex/latex2html
116 )"
117 RDEPEND="${DEPEND}
118 !bacula-clientonly? (
119 sys-block/mtx
120 app-arch/mt-st
121 )"
122
123 pkg_setup() {
124 local dbnum
125 declare -i dbnum=0
126 if ! useq bacula-clientonly; then
127 if useq mysql; then
128 export mydbtype='mysql'
129 let dbnum++
130 fi
131 if useq postgres; then
132 export mydbtype='postgresql'
133 let dbnum++
134 fi
135 if useq sqlite; then
136 export mydbtype='sqlite'
137 let dbnum++
138 fi
139 if useq sqlite3; then
140 export mydbtype='sqlite3'
141 let dbnum++
142 fi
143 if [[ "${dbnum}" -lt 1 ]]; then
144 eerror
145 eerror "To use ${P} it is required to set a database in the USE flags."
146 eerror "Supported databases are mysql, postgresql, sqlite, sqlite3"
147 eerror
148 die "No database type selected."
149 elif [[ "${dbnum}" -gt 1 ]]; then
150 eerror
151 eerror "You have set ${P} to use multiple database types."
152 eerror "I don't know which to set as the default!"
153 eerror "You can use /etc/portage/package.use to set per-package USE flags"
154 eerror "Set it so only one database type, mysql, postgres, sqlite, sqlite3"
155 eerror
156 die "Multiple database types selected."
157 fi
158 fi
159
160 # create the daemon group and user
161 if [ -z "$(egetent group bacula)" ]; then
162 enewgroup bacula
163 einfo
164 einfo "The group 'bacula' has been created. Any users you add to this"
165 einfo "group have access to files created by the daemons."
166 einfo
167 fi
168 if ! useq bacula-clientonly; then
169 if [ -z "$(egetent passwd bacula)" ]; then
170 enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw
171 einfo
172 einfo "The user 'bacula' has been created. Please see the bacula manual"
173 einfo "for information about running bacula as a non-root user."
174 einfo
175 fi
176 fi
177 }
178
179 src_unpack() {
180 unpack ${A}
181 cd ${S}
182
183 # adjusts default configuration files for several binaries
184 # to /etc/bacula/<config> instead of ./<config>
185 pushd src && epatch "${FILESDIR}/${PV}/${PN}"-default-configs.patch && popd
186
187 # replaces (deprecated) gnomesu with gksu in the gnome menu files
188 useq bacula-console && useq gnome && epatch "${FILESDIR}/${PV}/${PN}"-gnomesu2gksu.diff
189 }
190
191 src_compile() {
192 local myconf=''
193
194 if useq bacula-clientonly; then
195 myconf="${myconf} \
196 $(use_enable bacula-clientonly client-only) \
197 $(use_enable static static-fd)"
198 else
199 myconf="${myconf} \
200 --with-${mydbtype} \
201 $(use_enable static static-tools) \
202 $(use_enable static static-fd) \
203 $(use_enable !bacula-nodir build-dird) \
204 $(use_enable !bacula-nosd build-stored)"
205 if ! useq bacula-nodir; then
206 myconf="${myconf} $(use_enable static static-dir)"
207 fi
208 if ! useq bacula-nosd; then
209 myconf="${myconf} $(use_enable static static-sd)"
210 fi
211
212 fi
213
214 if useq bacula-console; then
215 if useq qt4 && has_version '<x11-libs/qwt-5'; then
216 eerror "x11-libs/qwt found in a version < 5, thus the"
217 eerror "compilation of 'bat' would fail (see"
218 eerror "http://bugs.gentoo.org/188477#c11 for details)."
219 eerror "please either unmerge <x11-libs/qwt-5 or disable"
220 eerror "the qt4 USE flag to disable building 'bat'."
221 die "incompatible slotted qwt version found"
222 fi
223 myconf="${myconf} \
224 $(use_with X x) \
225 $(use_enable gnome) \
226 $(use_enable gnome tray-monitor) \
227 $(use_enable wxwindows bwx-console) \
228 $(use_enable qt4 bat) \
229 $(use_enable static static-cons)"
230 fi
231
232 myconf="${myconf} \
233 $(use_with python) \
234 $(use_enable readline) \
235 $(use_with readline readline /usr) \
236 $(use_with ssl openssl) \
237 $(use_enable ipv6) \
238 $(use_with tcpd tcp-wrappers)"
239
240 ./configure \
241 --prefix=/usr \
242 --mandir=/usr/share/man \
243 --with-pid-dir=/var/run \
244 --sysconfdir=/etc/bacula \
245 --infodir=/usr/share/info \
246 --with-subsys-dir=/var/lock/subsys \
247 --with-working-dir=/var/lib/bacula \
248 --with-scriptdir=/usr/libexec/bacula \
249 --with-dir-user=bacula \
250 --with-dir-group=bacula \
251 --with-sd-user=root \
252 --with-sd-group=bacula \
253 --with-fd-user=root \
254 --with-fd-group=bacula \
255 --enable-smartalloc \
256 --host=${CHOST} \
257 ${myconf} \
258 || die "configure failed"
259
260 emake || die "emake failed"
261
262 # build docs from bacula-docs tarball
263 if useq doc; then
264 pushd "${WORKDIR}/${PN}-docs-${DOC_VER}"
265
266 ./configure \
267 --with-bacula=${S} \
268 || die "configure for bacula-docs failed"
269
270 # the main Makefile tries to build stuff in
271 # ./developer/ and ./bacula-web/, which is
272 # unfortunately broken in 2.0.3, so we only
273 # build stuff in ./manual/, which works.
274 pushd manual
275 emake -j1 || die "emake for bacula-docs failed"
276 popd
277
278 popd
279 fi
280 }
281
282 src_install() {
283 emake DESTDIR="${D}" install || die "emake install failed"
284
285 # install bat when enabled (for some reason ./configure doesn't pick this up)
286 if useq bacula-console && useq qt4; then
287 dosbin "${S}"/src/qt-console/bat
288 fi
289
290 # remove some scripts we don't need at all
291 rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql}
292
293 # rename statically linked apps
294 if useq static; then
295 pushd "${D}"/usr/sbin
296 mv static-bacula-fd bacula-fd
297 mv static-bconsole bconsole
298 if ! useq bacula-clientonly; then
299 mv static-bacula-dir bacula-dir
300 mv static-bacula-sd bacula-sd
301 fi
302 if useq bacula-console && useq gnome; then
303 mv static-gnome-console gnome-console
304 fi
305 if useq bacula-console && useq qt4; then
306 mv static-bat bat
307 fi
308 popd
309 fi
310
311 # gnome-console menu entries using gksu
312 if useq bacula-console && useq gnome; then
313 emake DESTDIR="${D}" install-menu-xsu \
314 || die "Failed to install gnome menu files"
315 fi
316
317 # extra files which 'make install' doesn't cover
318 if ! useq bacula-clientonly; then
319 # the database update scripts
320 diropts -m0750
321 insinto /usr/libexec/bacula/updatedb
322 insopts -m0754
323 doins "${S}"/updatedb/*
324 fperms 0640 /usr/libexec/bacula/updatedb/README
325
326 # the logrotate configuration
327 if useq logrotate; then
328 diropts -m0755
329 insinto /etc/logrotate.d
330 insopts -m0644
331 newins "${S}"/scripts/logrotate bacula
332 fi
333
334 # the logwatch scripts
335 if useq logwatch; then
336 diropts -m0750
337 dodir /etc/log.d/scripts/services
338 dodir /etc/log.d/conf/logfiles
339 dodir /etc/log.d/conf/services
340 cd "${S}"/scripts/logwatch
341 emake DESTDIR="${D}" install || die "Failed to install logwatch scripts"
342 cd "${S}"
343 fi
344 fi
345
346 # documentation
347 for d in "${S}"/{ChangeLog,LICENSE,README,ReleaseNotes,SUPPORT,kernstodo,projects}; do
348 dodoc "${d}"
349 done
350 # TODO FIXME: developers and bacula-web documentation is broken with 2.0.3 :-(
351 if useq doc; then
352 #! dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/developers/developers.pdf
353 dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/manual/bacula.pdf
354 diropts -m0755
355 #! dodir /usr/share/doc/"${PF}"/developers
356 dodir /usr/share/doc/"${PF}"/manual
357 insopts -m0644
358 #! insinto /usr/share/doc/"${PF}"/developers
359 #! doins "${WORKDIR}/${PN}-docs-${DOC_VER}"/developers/developers/*
360 insinto /usr/share/doc/"${PF}"/manual
361 doins "${WORKDIR}/${PN}-docs-${DOC_VER}"/manual/bacula/*
362 fi
363
364 # setup init scripts
365 myservices="fd"
366 if ! useq bacula-clientonly; then
367 if ! useq bacula-nodir; then
368 myservices="${myservices} dir"
369 fi
370 if ! useq bacula-nosd; then
371 myservices="${myservices} sd"
372 fi
373 fi
374 if useq bacula-split-init; then
375 myscripts=""
376 for service in ${myservices}; do
377 myscripts="${myscripts} bacula-${service}"
378 done
379 else
380 myscripts="bacula-all"
381 fi
382 for script in ${myscripts}; do
383 # copy over init script and config to a temporary location
384 # so we can modify them as needed
385 cp "${FILESDIR}/${PV}/${script}"-conf "${T}/${script}".conf
386 cp "${FILESDIR}/${PV}/${script}"-init "${T}/${script}".init
387 # set database dependancy for the all-in-one and director init scripts
388 case "${mydbtype}" in
389 sqlite*)
390 # sqlite + sqlite3 databases don't have daemons
391 sed -i -e "s:%database%::" "${T}/${script}".init
392 ;;
393 *)
394 # all other databases have daemons
395 sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".init
396 ;;
397 esac
398 # set services for the all-in-one init script
399 sed -i -e "s:%services%:${myservices}:" "${T}/${script}".conf
400 # install init script and config
401 newinitd "${T}/${script}".init "${script}"
402 newconfd "${T}/${script}".conf "${script}"
403 done
404
405 # make sure the working directory exists
406 diropts -m0750
407 keepdir /var/lib/bacula
408
409 # make sure bacula group can execute bacula libexec scripts
410 fowners root:bacula /usr/libexec/bacula/*
411 }
412
413 pkg_postinst() {
414 if useq bacula-clientonly; then
415 fowners root:bacula /var/lib/bacula
416 else
417 fowners bacula:bacula /var/lib/bacula
418 fi
419
420 if ! useq bacula-clientonly && ! useq bacula-nodir; then
421 einfo
422 einfo "If this is a new install, you must create the ${mydbtype} databases with:"
423 einfo " /usr/libexec/bacula/create_${mydbtype}_database"
424 einfo " /usr/libexec/bacula/make_${mydbtype}_tables"
425 einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges"
426 einfo
427 einfo "If you're upgrading from a major release, you must upgrade your bacula catalog database."
428 einfo "Please read the manual chapter for how to upgrade your database."
429 einfo "You can find database upgrade scripts in /usr/libexec/bacula/updatedb."
430 einfo
431 fi
432 }
433
434
435
436 --
437 gentoo-commits@g.o mailing list