+# Platform Build Configuration
# basic defines for every build
%define depkgs ../depkgs
%define depkgs_version 24Jul03
%define tomsrtbt tomsrtbt-2.0.103
-#
-# You must build the package with at least one define parameter
-# e.g. rpmbuild -ba --define "build_rh7 1" bacula.spec
-#
-# If you want the MySQL version, use:
-# rpmbuild -ba --define "build_mysql 1" --define "build_rh7 1" bacula.spec
-#
-
+# platform defines - set one below or define the build_xxx on the command line
+# RedHat builds
%define rh7 0
%{?build_rh7:%define rh7 1}
-
%define rh8 0
%{?build_rh8:%define rh8 1}
-
%define rh9 0
%{?build_rh9:%define rh9 1}
-
+# Fedora Core 1 build
+%define fc1 0
+%{?build_fc1:%define fc1 1}
+# Whitebox Enterprise build
+%define wb3 0
+%{?build_wb3:%define wb3 1}
+# SuSE 9.0 build
+%define su9 0
+%{?build_su9:%define su9 1}
+
+# database defines
+# set mysql for MySQL support, leave unset for sqlite support
%define mysql 0
%{?build_mysql:%define mysql 1}
-
-%if %{rh7}
-%define rh_version rh7
-%endif
-%if %{rh8}
-%define rh_version rh8
-%endif
-%if %{rh9}
-%define rh_version rh9
-%endif
-
Summary: Bacula - The Network Backup Solution
Name: bacula
Version: @VERSION@
Vendor: The Bacula Team
Distribution: The Bacula Team
Packager: D. Scott Barninger <barninger@fairfieldcomputers.com>
-BuildRequires: readline-devel
+BuildRequires: readline-devel, atk-devel, ncurses-devel, pango-devel
+BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel
%if %{rh7}
+BuildRequires: libtermcap-devel
BuildRequires: gtk+-devel >= 1.2
BuildRequires: gnome-libs-devel >= 1.4
+BuildRequires: glibc-devel >= 2.2
+BuildRequires: ORBit-devel
+BuildRequires: bonobo-devel
+BuildRequires: GConf-devel
+%else if %{su9}
+BuildRequires: termcap
+BuildRequires: gtk2-devel >= 2.0
+BuildRequires: libgnomeui-devel >= 2.0
+BuildRequires: glibc-devel >= 2.3
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.0
+BuildRequires: libbonobo-devel >= 2.0
+BuildRequires: libbonoboui-devel >= 2.0
+BuildRequires: bonobo-activation-devel
+BuildRequires: gconf2-devel
+BuildRequires: linc-devel
%else
+BuildRequires: libtermcap-devel
BuildRequires: gtk2-devel >= 2.0
BuildRequires: libgnomeui-devel >= 2.0
+BuildRequires: glibc-devel >= 2.3
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.0
+BuildRequires: libbonobo-devel >= 2.0
+BuildRequires: libbonoboui-devel >= 2.0
+BuildRequires: bonobo-activation-devel
+BuildRequires: GConf2-devel
+BuildRequires: linc-devel
%endif
+
%if %{mysql}
BuildRequires: mysql-devel >= 3.23
%endif
Bacula source code has been released under the GPL version 2 license.
%if %{mysql}
-%package mysql-%{rh_version}
+%package mysql
%else
-%package sqlite-%{rh_version}
+%package sqlite
%endif
Summary: Bacula - The Network Backup Solution
Group: System Environment/Daemons
-Requires: readline
+Provides: bacula-dir, bacula-sd, bacula-fd
+Requires: readline, perl, atk, ncurses, pango, libstdc++
+Requires: libxml2, zlib
%if %{rh7}
Requires: gtk+ >= 1.2
Requires: gnome-libs >= 1.4
+Requires: glibc >= 2.2
+Requires: ORBit
+Requires: bonobo
+Requires: GConf
+Requires: libtermcap
+%else if %{su9}
+Requires: gtk2 >= 2.0
+Requires: libgnomeui >= 2.0
+Requires: glibc >= 2.3
+Requires: ORBit2
+Requires: libart_lgpl >= 2.0
+Requires: libbonobo >= 2.0
+Requires: libbonoboui >= 2.0
+Requires: bonobo-activation
+Requires: gconf2
+Requires: linc
+Requires: termcap
%else
Requires: gtk2 >= 2.0
Requires: libgnomeui >= 2.0
+Requires: glibc >= 2.3
+Requires: ORBit2
+Requires: libart_lgpl >= 2.0
+Requires: libbonobo >= 2.0
+Requires: libbonoboui >= 2.0
+Requires: bonobo-activation
+Requires: GConf2
+Requires: linc
+Requires: libtermcap
%endif
%if %{mysql}
Requires: mysql >= 3.23
%endif
%if %{mysql}
-%description mysql-%{rh_version}
+%description mysql
%else
-%description sqlite-%{rh_version}
+%description sqlite
%endif
Bacula - It comes by night and sucks the vital essence from your computers.
This build incorporates sqlite as the catalog database, statically compiled.
%endif
-%package client-%{rh_version}
+%package client
Summary: Bacula - The Network Backup Solution
Group: System Environment/Daemons
-Requires: readline
+Provides: bacula-fd
+Requires: readline, perl, libstdc++, zlib
%if %{rh7}
Requires: gtk+ >= 1.2
Requires: gnome-libs >= 1.4
+Requires: glibc >= 2.2
%else
Requires: gtk2 >= 2.0
Requires: libgnomeui >= 2.0
+Requires: glibc >= 2.3
%endif
-%description client-%{rh_version}
+%description client
Bacula - It comes by night and sucks the vital essence from your computers.
Bacula is a set of computer programs that permit you (or the system
Summary: Bacula - The Network Backup Solution
Group: System Environment/Daemons
-Requires: coreutils, util-linux, libc5
+Requires: coreutils, util-linux, libc5, bacula-fd
%description rescue
Bacula - It comes by night and sucks the vital essence from your computers.
%build
+%if %{su9}
+export LDFLAGS="-L/usr/lib/termcap"
+%endif
+
cwd=${PWD}
cd %{depkgs}
%if ! %{mysql}
# patch the make_sqlite_tables script for installation bindir
patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
+# patch the create_sqlite_database script for installation bindir
+patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
+
# patch the make_catalog_backup script for installation bindir
patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
--with-scriptdir=/etc/bacula \
--enable-smartalloc \
--enable-gnome \
- --enable-static-fd \
+ --enable-static-fd \
%if %{mysql}
--with-mysql \
%else
%install
cwd=${PWD}
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+mkdir -p $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
%endif
# install the init scripts
-cp platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
-cp platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
-cp platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
+%if %{su9}
+cp platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
+cp platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
+cp platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
+%else
+cp platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
+cp platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
+cp platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
+%endif
# install the menu stuff
cp scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
cp rescue/linux/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/
cp rescue/linux/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/
cp rescue/linux/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp rescue/linux/make_static_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/
cp rescue/linux/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/
cp rescue/linux/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/
cp rescue/linux/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/
%if %{mysql}
-%files mysql-%{rh_version}
+%files mysql
%defattr(-,root,root)
%attr(0754,root,root) /etc/bacula/bacula
%attr(0754,root,root) /etc/bacula/startmysql
%attr(0754,root,root) /etc/bacula/stopmysql
%attr(0754,root,root) /etc/bacula/mtx-changer
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-dir
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-sd
+%attr(0754,root,root) /etc/init.d/bacula-dir
+%attr(0754,root,root) /etc/init.d/bacula-fd
+%attr(0754,root,root) /etc/init.d/bacula-sd
%attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
%attr(0644,root,root) /usr/man/man1/*
%attr(0750,root,root) /usr/sbin/*
-%post mysql-%{rh_version}
+%post mysql
# delete then add our links
/sbin/chkconfig --del bacula-dir
/sbin/chkconfig --del bacula-fd
echo "Creating bacula tables..."
/etc/bacula/make_mysql_tables
-%preun mysql-%{rh_version}
+%preun mysql
# delete our links
/sbin/chkconfig --del bacula-dir
/sbin/chkconfig --del bacula-fd
%else
-%files sqlite-%{rh_version}
+%files sqlite
%defattr(-,root,root)
%attr(0754,root,root) /etc/bacula/bacula
%attr(0754,root,root) /etc/bacula/make_catalog_backup
%attr(0754,root,root) /etc/bacula/make_sqlite_tables
%attr(0754,root,root) /etc/bacula/mtx-changer
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-dir
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-sd
+%attr(0754,root,root) /etc/init.d/bacula-dir
+%attr(0754,root,root) /etc/init.d/bacula-fd
+%attr(0754,root,root) /etc/init.d/bacula-sd
%attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
%attr(0644,root,root) /usr/man/man1/*
%attr(0750,root,root) /usr/sbin/*
%attr(0750,root,root) /usr/lib/sqlite/sqlite
-%post sqlite-%{rh_version}
+%post sqlite
# delete then add our links
/sbin/chkconfig --del bacula-dir
/sbin/chkconfig --del bacula-fd
# add execute permission for console
chmod 0755 /usr/sbin/gnome-console
-# create the tables
+# create the database and tables
+echo "Creating SQLite database..."
+/etc/bacula/create_sqlite_database
+echo "Creating the SQLite tables..."
/etc/bacula/make_sqlite_tables
-%preun sqlite-%{rh_version}
+%preun sqlite
# delete our links
/sbin/chkconfig --del bacula-dir
/sbin/chkconfig --del bacula-fd
%endif
-%files client-%{rh_version}
+%files client
%defattr(-,root,root)
%attr(0754,root,root) /etc/bacula/fd
-%attr(0754,root,root) /etc/rc.d/init.d/bacula-fd
+%attr(0754,root,root) /etc/init.d/bacula-fd
%attr(0644,root,root) %doc COPYING ChangeLog INSTALL README ReleaseNotes doc/*
%attr(0644,root,root) /etc/logrotate.d/bacula
%attr(0750,root,root) /usr/sbin/smtp
-%post client-%{rh_version}
+%post client
# delete then add our links
/sbin/chkconfig --del bacula-fd
/sbin/chkconfig --add bacula-fd
-%preun client-%{rh_version}
+%preun client
# delete our links
/sbin/chkconfig --del bacula-fd
%attr(0754,root,root) /etc/bacula/rescue/format_floppy
%attr(0754,root,root) /etc/bacula/rescue/getdiskinfo
%attr(0754,root,root) /etc/bacula/rescue/make_rescue_disk
-%attr(0754,root,root) /etc/bacula/rescue/make_static_bacula
%attr(0754,root,root) /etc/bacula/rescue/restore_bacula
%attr(0754,root,root) /etc/bacula/rescue/restore_etc
%attr(0754,root,root) /etc/bacula/rescue/run_grub
rm -rf /etc/bacula/rescue/diskinfo/*
%changelog
+* Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- added build configuration for SuSE.
+- Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
+* Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- added patch for create_sqlite_database to fix the installed bindir
+- added execute of create_sqlite_database to post of sqlite package
+* Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- added virtual package Provides bacula-dir, bacula-sd, bacula-fd
+- added bacula-fd as Requires for rescue package
+- added build tag for Fedora Core 1
+- cleaned up dependancies for all builds
+* Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- removed rh_version from package names
+- added platform build configuration section to beginning of file
+* Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- removed make_static_bacula script from rescue package install
* Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
- Added define at top of file for depkgs version
- Added rescue sub-package