2 %define depkgs ../depkgs
5 # You must build the package with at least one define
6 # e.g. rpmbuild -ba --define "build_rh7 1" bacula.spec
8 # If you want the MySQL version, use:
9 # rpmbuild -ba --define "build_mysql 1" --define "build_rh7 1" bacula.spec
13 %{?build_rh7:%define rh7 1}
16 %{?build_rh8:%define rh8 1}
19 %{?build_rh9:%define rh9 1}
22 %{?build_mysql:%define mysql 1}
26 %define rh_version rh7
29 %define rh_version rh8
32 %define rh_version rh9
35 Summary: Bacula - The Network Backup Solution
39 Group: System Environment/Daemons
41 Source: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
42 BuildRoot: %{_tmppath}/%{name}-root
43 URL: http://www.bacula.org/
44 Vendor: The Bacula Team
45 Distribution: The Bacula Team
46 Packager: D. Scott Barninger <barninger@fairfieldcomputers.com>
47 Requires: gnome-libs >= 1.4
49 BuildRequires: gnome-libs-devel >= 1.4
50 BuildRequires: readline-devel
52 Requires: mysql >= 3.23
53 Requires: mysql-server >= 3.23
54 BuildRequires: mysql-devel >= 3.23
59 Bacula - It comes by night and sucks the vital essence from your computers.
61 Bacula is a set of computer programs that permit you (or the system
62 administrator) to manage backup, recovery, and verification of computer
63 data across a network of computers of different kinds. In technical terms,
64 it is a network client/server based backup program. Bacula is relatively
65 easy to use and efficient, while offering many advanced storage management
66 features that make it easy to find and recover lost or damaged files.
67 Bacula source code has been released under the GPL version 2 license.
70 %package mysql-%{rh_version}
72 %package sqlite-%{rh_version}
75 Summary: Bacula - The Network Backup Solution
76 Group: System Environment/Daemons
79 %description mysql-%{rh_version}
81 %description sqlite-%{rh_version}
84 Bacula - It comes by night and sucks the vital essence from your computers.
86 Bacula is a set of computer programs that permit you (or the system
87 administrator) to manage backup, recovery, and verification of computer
88 data across a network of computers of different kinds. In technical terms,
89 it is a network client/server based backup program. Bacula is relatively
90 easy to use and efficient, while offering many advanced storage management
91 features that make it easy to find and recover lost or damaged files.
92 Bacula source code has been released under the GPL version 2 license.
95 This build requires MySQL to be installed separately as the catalog database.
97 This build incorporates sqlite as the catalog database, statically compiled.
100 %package client-%{rh_version}
101 Summary: Bacula - The Network Backup Solution
102 Group: System Environment/Daemons
103 %description client-%{rh_version}
104 Bacula - It comes by night and sucks the vital essence from your computers.
106 Bacula is a set of computer programs that permit you (or the system
107 administrator) to manage backup, recovery, and verification of computer
108 data across a network of computers of different kinds. In technical terms,
109 it is a network client/server based backup program. Bacula is relatively
110 easy to use and efficient, while offering many advanced storage management
111 features that make it easy to find and recover lost or damaged files.
112 Bacula source code has been released under the GPL version 2 license.
114 This is the File daemon (Client) only package.
131 # patch the make_sqlite_tables script for installation bindir
132 patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
136 --sbindir=/usr/sbin \
137 --sysconfdir=/etc/bacula \
138 --with-scriptdir=/etc/bacula \
139 --enable-smartalloc \
144 --with-sqlite=${cwd}/../depkgs/sqlite \
146 --with-working-dir=/var/bacula \
147 --with-pid-dir=/var/run \
148 --with-subsys-dir=/var/lock/subsys
154 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
155 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
157 mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
158 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
161 mkdir -p $RPM_BUILD_ROOT/usr/lib/sqlite
165 prefix=$RPM_BUILD_ROOT/usr \
166 sbindir=$RPM_BUILD_ROOT/usr/sbin \
167 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
168 scriptdir=$RPM_BUILD_ROOT/etc/bacula \
169 working_dir=$RPM_BUILD_ROOT/var/bacula \
174 prefix=$RPM_BUILD_ROOT/usr \
175 sbindir=$RPM_BUILD_ROOT/usr/sbin \
176 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
177 working_dir=$RPM_BUILD_ROOT/var/bacula \
178 mandir=$RPM_BUILD_ROOT/usr/man \
183 # fixme - make installs the mysql start/stop scripts for sqlite build
184 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
185 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
186 rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
189 # fixme - make installs test script /etc/bacula/gconsole
190 rm -f $RPM_BUILD_ROOT/etc/bacula/gconsole
192 # install the init scripts
193 cp platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
194 cp platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
195 cp platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
197 # install the menu stuff
198 cp scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
199 cp scripts/bacula.desktop.gnome1 $RPM_BUILD_ROOT/usr/share/gnome/apps/System/bacula.desktop
200 cp scripts/bacula.desktop.gnome2 $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
204 cp ../depkgs/sqlite/sqlite $RPM_BUILD_ROOT/usr/lib/sqlite/sqlite
205 cp ../depkgs/sqlite/sqlite.h $RPM_BUILD_ROOT/usr/lib/sqlite/sqlite.h
206 cp ../depkgs/sqlite/libsqlite.a $RPM_BUILD_ROOT/usr/lib/sqlite/libsqlite.a
210 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
214 %files mysql-%{rh_version}
215 %defattr(-,root,root)
217 %attr(0754,root,root) /etc/bacula/bacula
218 %attr(0754,root,root) /etc/bacula/console
219 %attr(0754,root,root) /etc/bacula/fd
220 %attr(0754,root,root) /etc/bacula/create_mysql_database
221 %attr(0754,root,root) /etc/bacula/delete_catalog_backup
222 %attr(0754,root,root) /etc/bacula/drop_bacula_tables
223 %attr(0754,root,root) /etc/bacula/drop_mysql_tables
224 %attr(0754,root,root) /etc/bacula/make_bacula_tables
225 %attr(0754,root,root) /etc/bacula/make_catalog_backup
226 %attr(0754,root,root) /etc/bacula/make_mysql_tables
227 %attr(0754,root,root) /etc/bacula/grant_mysql_privileges
228 %attr(0754,root,root) /etc/bacula/startmysql
229 %attr(0754,root,root) /etc/bacula/stopmysql
230 %attr(0754,root,root) /etc/bacula/mtx-changer
231 %attr(0754,root,root) /etc/rc.d/init.d/bacula-dir
232 %attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
233 %attr(0754,root,root) /etc/rc.d/init.d/bacula-sd
235 %attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
236 %attr(0644,root,root) /usr/man/man1/*
237 %attr(0644,root,root) /usr/share/pixmaps/bacula.png
239 %attr(0644,root,root) /usr/share/gnome/apps/System/bacula.desktop
240 %attr(0644,root,root) /usr/share/applications/bacula.desktop
242 %attr(0644,root,root) %config(noreplace) /etc/bacula/gnome-console.conf
244 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-dir.conf
245 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-fd.conf
246 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-sd.conf
247 %attr(0640,root,root) %config(noreplace) /etc/bacula/console.conf
248 %attr(0640,root,root) /etc/bacula/query.sql
249 %attr(0640,root,root) %dir /var/bacula
251 %attr(0750,root,root) /usr/sbin/*
253 %post mysql-%{rh_version}
254 # delete then add our links
255 /sbin/chkconfig --del bacula-dir
256 /sbin/chkconfig --del bacula-fd
257 /sbin/chkconfig --del bacula-sd
258 /sbin/chkconfig --add bacula-dir
259 /sbin/chkconfig --add bacula-fd
260 /sbin/chkconfig --add bacula-sd
262 # add execute permissions for console
263 chmod 0755 /usr/sbin/gnome-console
265 # grant privileges and create tables
266 # this will error out harmlessly if tables already exist
267 echo "Granting privileges for MySQL user bacula..."
268 /etc/bacula/grant_mysql_privileges
269 echo "Creating MySQL bacula database..."
270 /etc/bacula/create_mysql_database
271 echo "Creating bacula tables..."
272 /etc/bacula/make_mysql_tables
274 %preun mysql-%{rh_version}
276 /sbin/chkconfig --del bacula-dir
277 /sbin/chkconfig --del bacula-fd
278 /sbin/chkconfig --del bacula-sd
282 %files sqlite-%{rh_version}
283 %defattr(-,root,root)
285 %attr(0754,root,root) /etc/bacula/bacula
286 %attr(0754,root,root) /etc/bacula/console
287 %attr(0754,root,root) /etc/bacula/fd
288 %attr(0754,root,root) /etc/bacula/create_sqlite_database
289 %attr(0754,root,root) /etc/bacula/delete_catalog_backup
290 %attr(0754,root,root) /etc/bacula/drop_bacula_tables
291 %attr(0754,root,root) /etc/bacula/drop_sqlite_tables
292 %attr(0754,root,root) /etc/bacula/make_bacula_tables
293 %attr(0754,root,root) /etc/bacula/make_catalog_backup
294 %attr(0754,root,root) /etc/bacula/make_sqlite_tables
295 %attr(0754,root,root) /etc/bacula/mtx-changer
296 %attr(0754,root,root) /etc/rc.d/init.d/bacula-dir
297 %attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
298 %attr(0754,root,root) /etc/rc.d/init.d/bacula-sd
300 %attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
301 %attr(0644,root,root) /usr/man/man1/*
302 %attr(0644,root,root) /usr/share/pixmaps/bacula.png
304 %attr(0644,root,root) /usr/share/gnome/apps/System/bacula.desktop
305 %attr(0644,root,root) /usr/share/applications/bacula.desktop
307 %attr(0644,root,root) %config(noreplace) /etc/bacula/gnome-console.conf
309 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-dir.conf
310 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-fd.conf
311 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-sd.conf
312 %attr(0640,root,root) %config(noreplace) /etc/bacula/console.conf
313 %attr(0640,root,root) /etc/bacula/query.sql
314 %attr(0640,root,root) /usr/lib/sqlite/libsqlite.a
315 %attr(0640,root,root) /usr/lib/sqlite/sqlite.h
316 %attr(0640,root,root) %dir /var/bacula
318 %attr(0750,root,root) /usr/sbin/*
319 %attr(0750,root,root) /usr/lib/sqlite/sqlite
321 %post sqlite-%{rh_version}
322 # delete then add our links
323 /sbin/chkconfig --del bacula-dir
324 /sbin/chkconfig --del bacula-fd
325 /sbin/chkconfig --del bacula-sd
326 /sbin/chkconfig --add bacula-dir
327 /sbin/chkconfig --add bacula-fd
328 /sbin/chkconfig --add bacula-sd
330 # add execute permission for console
331 chmod 0755 /usr/sbin/gnome-console
334 /etc/bacula/make_sqlite_tables
336 %preun sqlite-%{rh_version}
338 /sbin/chkconfig --del bacula-dir
339 /sbin/chkconfig --del bacula-fd
340 /sbin/chkconfig --del bacula-sd
344 %files client-%{rh_version}
345 %defattr(-,root,root)
347 %attr(0754,root,root) /etc/bacula/fd
348 %attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
350 %attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
352 %attr(0640,root,root) %config(noreplace) /etc/bacula/bacula-fd.conf
353 %attr(0640,root,root) %dir /var/bacula
355 %attr(0750,root,root) /usr/sbin/bacula-fd
356 %attr(0750,root,root) /usr/sbin/btraceback
357 %attr(0750,root,root) /usr/sbin/btraceback.gdb
358 %attr(0750,root,root) /usr/sbin/smtp
361 %post client-%{rh_version}
362 # delete then add our links
363 /sbin/chkconfig --del bacula-fd
364 /sbin/chkconfig --add bacula-fd
366 %preun client-%{rh_version}
368 /sbin/chkconfig --del bacula-fd
371 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
372 - Misc changes to mysql/sqlite build and rh7/8 menu differences
373 - Added rh_version to sub-package names
374 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
375 - Update spec for version 1.31 and combine client
376 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>