# basic defines for every build
%define depkgs ../depkgs
-%define depkgs_version 28Mar06
+%define depkgs_version 25Jun06
%define sqlite_bindir /usr/lib/bacula/sqlite
%define working_dir /var/bacula
+
+# NOTE these defines are used in some rather complex useradd and groupadd
+# commands. If you change them examine the post scripts for consequences.
%define director_daemon_user bacula
%define storage_daemon_user bacula
%define file_daemon_user root
%define daemon_group bacula
# group that has write access to tape devices, usually disk on Linux
%define storage_daemon_group disk
+
%define user_file /etc/passwd
%define group_file /etc/group
%define useradd /usr/sbin/useradd
%define groupadd /usr/sbin/groupadd
%define usermod /usr/sbin/usermod
-%define _rescuever 1.8.3
+%define _rescuever 1.8.6
# platform defines - set one below or define the build_xxx on the command line
# RedHat builds
%{?build_fc3:%define fc3 1}
%define fc4 0
%{?build_fc4:%define fc4 1}
+%define fc5 0
+%{?build_fc5:%define fc5 1}
# Whitebox Enterprise build
%define wb3 0
%{?build_wb3:%define wb3 1}
%{?build_mdv:%define mdk 1}
# test for a platform definition
-%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{mdk}
+%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{mdk}
%{error: You must specify a platform. Please examine the spec file.}
exit 1
%endif
%define mysql 0
%{?build_mysql:%define mysql 1}
# if using mysql 4.x define this and mysql above
-# currently: Mandrake 10.1, SuSE 9.2, RHEL4 and Fedora Core 4
+# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4
%define mysql4 0
%{?build_mysql4:%define mysql4 1}
%{?build_mysql4:%define mysql 1}
+# if using mysql 5.x define this and mysql above
+# currently: SuSE 10.1 and Fedora Core 5
+%define mysql5 0
+%{?build_mysql5:%define mysql5 1}
+%{?build_mysql5:%define mysql 1}
%define sqlite 0
%{?build_sqlite:%define sqlite 1}
%define postgresql 0
%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4}
%define _dist %(grep Red /etc/redhat-release)
%endif
-%if %{fc1} || %{fc4}
+%if %{fc1} || %{fc4} || %{fc5}
%define _dist %(grep Fedora /etc/redhat-release)
%endif
%if %{centos4} || %{centos3}
BuildRequires: GConf2-devel
BuildRequires: freetype-devel
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4}
+%if %{fc5}
+BuildRequires: libtermcap-devel
+BuildRequires: glibc-devel >= 2.4
+%endif
+%if %{fc5} && %{gconsole}
+BuildRequires: gtk2-devel >= 2.8
+BuildRequires: libgnomeui-devel >= 2.14
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.14
+BuildRequires: libbonoboui-devel >= 2.14
+BuildRequires: GConf2-devel
+BuildRequires: freetype-devel
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
BuildRequires: libtermcap-devel
BuildRequires: glibc-devel >= 2.3
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && %{gconsole}
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && %{gconsole}
BuildRequires: gtk2-devel >= 2.0
BuildRequires: libgnomeui-devel >= 2.0
BuildRequires: ORBit2-devel
BuildRequires: freetype-devel
%endif
-%if %{mysql} && ! %{mysql4}
+%if %{mysql} && ! %{mysql4} && ! %{mysql5}
BuildRequires: mysql-devel >= 3.23
%endif
BuildRequires: mysql-devel >= 4.0
%endif
+%if %{mysql} && %{mysql5}
+BuildRequires: mysql-devel >= 5.0
+%endif
+
%if %{postgresql} && %{wb3}
BuildRequires: rh-postgresql-devel >= 7
%endif
Requires: glibc >= 2.3
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10}
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
+%if %{fc5}
+Requires: glibc >= 2.4
+Requires: libtermcap
+%endif
-%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4}
+%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5}
Requires: mysql >= 3.23
Requires: mysql-server >= 3.23
%endif
Requires: mysql >= 4.0
Requires: mysql-server >= 4.0
%endif
+%if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-server >= 5.0
+%endif
%if %{mysql} && %{su9} && ! %{mysql4}
Requires: mysql >= 3.23
Requires: mysql >= 4.0
Requires: mysql-client >= 4.0
%endif
+%if %{mysql} && %{su10} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-client >= 5.0
+%endif
%if %{mysql} && %{mdk} && ! %{mysql4}
Requires: mysql >= 3.23
Requires: glibc >= 2.3
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10}
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
+%if %{fc5}
+Requires: glibc >= 2.4
+Requires: libtermcap
+%endif
%description client
%{blurb}
Requires: GConf2
Requires: freetype
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4}
+%if %{gconsole} && %{fc5}
+Requires: gtk2 >= 2.8
+Requires: libgnomeui >= 2.14
+Requires: glibc >= 2.4
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.14
+Requires: libbonoboui >= 2.14
+Requires: GConf2
+Requires: freetype
+%endif
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
Requires: gtk2 >= 2.0
Requires: libgnomeui >= 2.0
Requires: glibc >= 2.3
Requires: gtk2 >= 2.6
%endif
+%if %{wxconsole} && %{fc5}
+Requires: gtk2 >= 2.8
+%endif
+
%if %{wxconsole}
%description wxconsole
%{blurb}
cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
%endif
-%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{mdk}
+%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{mdk}
%define iftrick 1
%else
%define iftrick 0
# this will be a unique group on redhat type systems or the group users on some systems
HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
if [ -z "$HAVE_BACULA" ]; then
- %{useradd} -r -c "Bacula" -d %{working_dir} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
+ %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
echo "The user %{storage_daemon_user} has been added to %{user_file}."
echo "See the manual chapter \"Running Bacula\" for details."
fi
HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
if [ -z "$HAVE_BACULA" ]; then
- %{useradd} -r -c "Bacula" -d %{working_dir} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
+ %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
echo "The user %{director_daemon_user} has been added to %{user_file}."
echo "See the manual chapter \"Running Bacula\" for details."
fi
HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
if [ -z "$HAVE_BACULA" ]; then
- %{useradd} -r -c "Bacula" -d %{working_dir} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
+ %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
echo "The user %{file_daemon_user} has been added to %{user_file}."
echo "See the manual chapter \"Running Bacula\" for details."
fi
# we only do this if the user is NOT root
IS_ROOT=%{director_daemon_user}
if [ "$IS_ROOT" != "root" ]; then
-%{usermod} %{director_daemon_user} -G %{daemon_group}
+%{usermod} -G %{daemon_group} %{director_daemon_user}
fi
IS_ROOT=%{storage_daemon_user}
if [ "$IS_ROOT" != "root" ]; then
-%{usermod} %{storage_daemon_user} -G %{daemon_group},%{storage_daemon_group}
+%{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
fi
IS_ROOT=%{file_daemon_user}
if [ "$IS_ROOT" != "root" ]; then
-%{usermod} %{file_daemon_user} -G %{daemon_group}
+%{usermod} -G %{daemon_group} %{file_daemon_user}
fi
%if %{mysql}
# this will be a unique group on redhat type systems or the group users on some systems
HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
if [ -z "$HAVE_BACULA" ]; then
- %{useradd} -r -c "Bacula" -d %{working_dir} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
+ %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
echo "The user %{file_daemon_user} has been added to %{user_file}."
echo "See the manual chapter \"Running Bacula\" for details."
fi
# we only do this if the user is NOT root
IS_ROOT=%{file_daemon_user}
if [ "$IS_ROOT" != "root" ]; then
-%{usermod} %{file_daemon_user} -G %{daemon_group}
+%{usermod} -G %{daemon_group} %{file_daemon_user}
fi
%post client
%endif
%changelog
+* Sat Jul 01 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- update rescuever to 1.8.6
+* Sun Jun 25 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- update depkgs to 25Jun06
+- add mysql5 build tag
+* Mon Jun 12 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 1.38.10 bump rescue version
+* Sun Jun 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix usermod statements
+- add fc5 target
+* Thu Apr 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add -g param back to useradd statements Bug 605
* Mon Apr 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
- redundant code cleanup
* Sun Apr 16 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>