diff --git a/bacula.spec b/bacula.spec index 51440cf..35521e5 100644 --- a/bacula.spec +++ b/bacula.spec @@ -1,286 +1,285 @@ -Summary: Cross platform network backup for Linux, Unix, Mac and Windows -Name: bacula -Version: 2.4.4 -Release: 3%{?dist} -License: GPL -Group: System Environment/Daemons -Source0: http://download.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -Source1: http://download.sourceforge.net/%{name}/%{name}-docs-%{version}.tar.bz2 -Source3: %{name}-gconsole.desktop -Source4: %{name}-wxconsole.desktop -Source5: %{name}-traymonitor.desktop -Source6: %{name}.logrotate -Source7: %{name}-fd.init -Source8: %{name}-dir.init -Source9: %{name}-sd.init -Patch0: %{name}-director-configuration.patch -Patch1: %{name}-config.patch -Patch3: %{name}-pamd.patch -URL: http://www.%{name}.org -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: openssl-devel, atk-devel, ncurses-devel, pango-devel, perl -BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel, pkgconfig -BuildRequires: libtermcap-devel, gtk2-devel, libgnomeui-devel, GConf2-devel -BuildRequires: glibc-devel, ORBit2-devel, libart_lgpl-devel, freetype-devel -BuildRequires: libbonobo-devel, libbonoboui-devel, bonobo-activation-devel -BuildRequires: mysql-devel, cdrecord, postgresql-devel, wxGTK-devel -BuildRequires: desktop-file-utils, python-devel, sqlite-devel, sed, -BuildRequires: libacl-devel, latex2html, tetex-latex, tetex, ghostscript +Summary: Cross platform network backup for Linux, Unix, Mac and Windows +Name: bacula +Version: 2.4.4 +Release: 3%{?dist} +License: GPL +Group: System Environment/Daemons +URL: http://www.%{name}.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: http://download.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Source1: http://download.sourceforge.net/%{name}/%{name}-docs-%{version}.tar.bz2 +Source3: %{name}-gconsole.desktop +Source4: %{name}-wxconsole.desktop +Source5: %{name}-traymonitor.desktop +Source6: %{name}.logrotate +Source7: %{name}-fd.init +Source8: %{name}-dir.init +Source9: %{name}-sd.init + +Patch0: %{name}-director-configuration.patch +Patch1: %{name}-config.patch +Patch3: %{name}-pamd.patch + +BuildRequires: openssl-devel, atk-devel, ncurses-devel, pango-devel, perl +BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel, pkgconfig +BuildRequires: libtermcap-devel, gtk2-devel, libgnomeui-devel, GConf2-devel +BuildRequires: glibc-devel, ORBit2-devel, libart_lgpl-devel, freetype-devel +BuildRequires: libbonobo-devel, libbonoboui-devel, bonobo-activation-devel +BuildRequires: mysql-devel, cdrecord, postgresql-devel, wxGTK-devel +BuildRequires: desktop-file-utils, python-devel, sqlite-devel, sed, +BuildRequires: libacl-devel, latex2html, tetex-latex, tetex, ghostscript %if "%{fedora}" >= "7" -BuildRequires: tcp_wrappers-devel +BuildRequires: tcp_wrappers-devel %else -BuildRequires: tcp_wrappers +BuildRequires: tcp_wrappers %endif %description -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture and is -efficient and relatively easy to use, while offering many advanced -storage management features that make it easy to find and recover lost -or damaged files. - - -%package director-mysql -Summary: Bacula Director with MySQL database support -Group: System Environment/Daemons -Provides: %{name}-director = %{version}-%{release} -Requires: %{name}-director-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Requires: mysql-server -Conflicts: director-sqlite, director-postgresql - -%description director-mysql -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the %{name} director, the server which controls -your backup run. -This director has support for the MySQL database. - - -%package director-sqlite -Summary: Bacula Director with sqlite database support -Group: System Environment/Daemons -Provides: %{name}-director = %{version}-%{release} -Requires: %{name}-director-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Conflicts: director-mysql, director-postgresql +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture and is efficient and relatively easy to +use, while offering many advanced storage management features that make it easy +to find and recover lost or damaged files. + + +%package director-mysql +Summary: Bacula Director with MySQL database support +Group: System Environment/Daemons +Provides: %{name}-director = %{version}-%{release} +Requires: %{name}-director-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires: mysql-server +Conflicts: director-sqlite, director-postgresql + +%description director-mysql +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the %{name} director, the server which controls your +backup run. This director has support for the MySQL database. + + +%package director-sqlite +Summary: Bacula Director with sqlite database support +Group: System Environment/Daemons +Provides: %{name}-director = %{version}-%{release} +Requires: %{name}-director-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Conflicts: director-mysql, director-postgresql %description director-sqlite -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the %{name} director, the server which controls -your backup run. -This director has support for the sqlite database. - - -%package director-postgresql -Summary: Bacula Director with PostgresSQL database support -Group: System Environment/Daemons -Provides: %{name}-director = %{version}-%{release} -Requires: %{name}-director-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Requires: postgresql-server -Conflicts: director-mysql, director-sqlite - -%description director-postgresql -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the %{name} director, the server which controls -your backup run. -This director has support for the PostgresSQL database. - - -%package director-common -Summary: Common Bacula Director files -Group: System Environment/Daemons -Requires: %{name}-director = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Requires(pre): fedora-usermgmt -Requires(postun): fedora-usermgmt +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the %{name} director, the server which controls your +backup run. This director has support for the SQLite database. + + +%package director-postgresql +Summary: Bacula Director with PostgresSQL database support +Group: System Environment/Daemons +Provides: %{name}-director = %{version}-%{release} +Requires: %{name}-director-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires: postgresql-server +Conflicts: director-mysql, director-sqlite + +%description director-postgresql +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the %{name} director, the server which controls your +backup run. This director has support for the PostgresSQL database. + + +%package director-common +Summary: Common Bacula Director files +Group: System Environment/Daemons +Requires: %{name}-director = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires(pre): fedora-usermgmt +Requires(postun): fedora-usermgmt %description director-common -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the common director files, which are shared -between all database backends. You have to select a possible -database backend though, which provides the needed %{name}-director -dependency. Please choose from %{name}-director-mysql, -%{name}-director-sqlite or %{name}-director-postgresql. - - -%package client -Summary: Bacula backup client -Group: System Environment/Daemons -Requires: %{name}-common = %{version}-%{release} -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(postun): /sbin/service - -%description client -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the %{name} client, the daemon running on the -system to be backed up. - - -%package storage-common -Summary: Common Bacula storage daemon files -Group: System Environment/Daemons -Requires: %{name}-storage = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} - -%description storage-common -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the storage daemon, the daemon responsible for -writing the data received from the clients onto tape drives or other -mass storage devices. - - -%package storage-mysql -Summary: MySQL Bacula storage daemon files -Group: System Environment/Daemons -Provides: %{name}-storage = %{version}-%{release} -Requires: %{name}-storage-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Requires: mysql-server -Conflicts: storage-sqlite, storage-postgresql - -%description storage-mysql -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the storage daemon, the daemon responsible for -writing the data received from the clients onto tape drives or other -mass storage devices. - - -%package storage-sqlite -Summary: SQLite Bacula storage daemon files -Group: System Environment/Daemons -Provides: %{name}-storage = %{version}-%{release} -Requires: %{name}-storage-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Conflicts: storage-mysql, storage-postgresql - -%description storage-sqlite -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the storage daemon, the daemon responsible for -writing the data received from the clients onto tape drives or other -mass storage devices. - - -%package storage-postgresql -Summary: Common Bacula storage daemon files -Group: System Environment/Daemons -Provides: %{name}-storage = %{version}-%{release} -Requires: %{name}-storage-common = %{version}-%{release} -Requires: %{name}-common = %{version}-%{release} -Requires: postgresql-server -Conflicts: storage-mysql, storage-sqlite - -%description storage-postgresql -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - -This package contains the storage daemon, the daemon responsible for -writing the data received from the clients onto tape drives or other -mass storage devices. - - -%package common -Summary: Common Bacula utilities -Group: System Environment/Daemons -Requires(pre): fedora-usermgmt -Requires(postun): fedora-usermgmt - -%description common -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. - - -%package console -Summary: Bacula management console -Group: System Environment/Daemons - -%description console -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the common director files, which are shared between all +database backends. You have to select a possible database backend though, which +provides the needed %{name}-director dependency. Please choose from +%{name}-director-mysql, %{name}-director-sqlite or %{name}-director-postgresql. + + +%package client +Summary: Bacula backup client +Group: System Environment/Daemons +Requires: %{name}-common = %{version}-%{release} +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(postun): /sbin/service + +%description client +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the %{name} client, the daemon running on the system to be +backed up. + + +%package storage-common +Summary: Common Bacula storage daemon files +Group: System Environment/Daemons +Requires: %{name}-storage = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} + +%description storage-common +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the storage daemon, the daemon responsible for writing +the data received from the clients onto tape drives or other mass storage +devices. You have to select a possible storage backend though, which +provides the needed %{name}-storage dependency. Please choose from +%{name}-storage-mysql, %{name}-storage-sqlite or %{name}-storage-postgresql. + + +%package storage-mysql +Summary: MySQL Bacula storage daemon files +Group: System Environment/Daemons +Provides: %{name}-storage = %{version}-%{release} +Requires: %{name}-storage-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires: mysql-server +Conflicts: storage-sqlite, storage-postgresql + +%description storage-mysql +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the storage daemon, the daemon responsible for writing +the data received from the clients onto tape drives or other mass storage +devices. This storage has support for the MySQL database. + + +%package storage-sqlite +Summary: SQLite Bacula storage daemon files +Group: System Environment/Daemons +Provides: %{name}-storage = %{version}-%{release} +Requires: %{name}-storage-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Conflicts: storage-mysql, storage-postgresql + +%description storage-sqlite +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the storage daemon, the daemon responsible for writing +the data received from the clients onto tape drives or other mass storage +devices. This storage has support for the SQLite database. + + +%package storage-postgresql +Summary: Common Bacula storage daemon files +Group: System Environment/Daemons +Provides: %{name}-storage = %{version}-%{release} +Requires: %{name}-storage-common = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires: postgresql-server +Conflicts: storage-mysql, storage-sqlite + +%description storage-postgresql +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + +This package contains the storage daemon, the daemon responsible for writing +the data received from the clients onto tape drives or other mass storage +devices. This storage has support for the PostgresSQL database. + + +%package common +Summary: Common Bacula utilities +Group: System Environment/Daemons +Requires(pre): fedora-usermgmt +Requires(postun): fedora-usermgmt + +%description common +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. + + +%package console +Summary: Bacula management console +Group: System Environment/Daemons + +%description console +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. This package contains the command-line management console for the %{name} backup system. -%package console-gnome -Summary: Bacula console for the Gnome desktop environment -Group: System Environment/Daemons -Requires: usermode +%package console-gnome +Summary: Bacula console for the Gnome desktop environment +Group: System Environment/Daemons +Requires: usermode -%description console-gnome -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. +%description console-gnome +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. -This package contains the gnome version of the %{name} management console +This package contains the gnome version of the %{name} management console. -%package console-wxwidgets -Summary: Bacula console using the wx widgets toolkit -Group: System Environment/Daemons -Requires: usermode +%package console-wxwidgets +Summary: Bacula console using the wx widgets toolkit +Group: System Environment/Daemons +Requires: usermode -%description console-wxwidgets -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. +%description console-wxwidgets +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. -This package contains the wxWidgets version of the %{name} management -console. +This package contains the wxWidgets version of the %{name} management console. -%package traymonitor -Summary: Bacula monitor for the Gnome and KDE system tray -Group: System Environment/Daemons +%package traymonitor +Summary: Bacula monitor for the Gnome and KDE system tray +Group: System Environment/Daemons -%description traymonitor -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. +%description traymonitor +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. -This package contains the Gnome- and KDE-compatible tray monitor to -monitor your %{name} server. +This package contains the Gnome and KDE compatible tray monitor to monitor your +%{name} server. -%package docs -Summary: Bacula documentation -Group: Documentation +%package docs +Summary: Bacula documentation +Group: Documentation -%description docs -Bacula is a set of programs that allow you to manage the backup, -recovery, and verification of computer data across a network of -different computers. It is based on a client/server architecture. +%description docs +Bacula is a set of programs that allow you to manage the backup, recovery, and +verification of computer data across a network of different computers. It is +based on a client/server architecture. This package contains the documentation for most of the %{name}-packages. @@ -310,42 +309,43 @@ find -type f -name '*.h' | xargs chmod -x # We are building the source several times, each with a different storage backend mkdir %{name}-mysql %{name}-postgresql %{name}-sqlite + %build # Shell function to configure and build a Bacula tree build() { cp -rl ../%{name}-%{version}/* . %configure \ - --sysconfdir=%{_sysconfdir}/%{name} \ - --with-dir-user=%{name} \ - --with-dir-group=%{name} \ - --with-sd-user=%{name} \ - --with-sd-group=%{name} \ - --with-fd-user=root \ - --with-fd-group=root \ - --with-dir-password=@@DIR_PASSWORD@@ \ - --with-fd-password=@@FD_PASSWORD@@ \ - --with-sd-password=@@SD_PASSWORD@@ \ - --with-mon-dir-password=@@MON_DIR_PASSWORD@@ \ - --with-mon-fd-password=@@MON_FD_PASSWORD@@ \ - --with-mon-sd-password=@@MON_SD_PASSWORD@@ \ - --with-working-dir=%{_localstatedir}/spool/%{name} \ - --with-scriptdir=%{_libexecdir}/%{name} \ - --with-smtp-host=localhost \ - --with-subsys-dir=%{_localstatedir}/lock/subsys \ - --with-pid-dir=%{_localstatedir}/run \ - --enable-conio \ - --enable-largefile \ - --enable-gnome \ - --enable-bwx-console \ - --enable-tray-monitor \ - --enable-build-dird \ - --enable-build-stored \ - --with-openssl \ - --with-tcp-wrappers \ - --with-python \ - --enable-smartalloc \ - --with-x \ - $* + --sysconfdir=%{_sysconfdir}/%{name} \ + --with-dir-user=%{name} \ + --with-dir-group=%{name} \ + --with-sd-user=%{name} \ + --with-sd-group=%{name} \ + --with-fd-user=root \ + --with-fd-group=root \ + --with-dir-password=@@DIR_PASSWORD@@ \ + --with-fd-password=@@FD_PASSWORD@@ \ + --with-sd-password=@@SD_PASSWORD@@ \ + --with-mon-dir-password=@@MON_DIR_PASSWORD@@ \ + --with-mon-fd-password=@@MON_FD_PASSWORD@@ \ + --with-mon-sd-password=@@MON_SD_PASSWORD@@ \ + --with-working-dir=%{_localstatedir}/spool/%{name} \ + --with-scriptdir=%{_libexecdir}/%{name} \ + --with-smtp-host=localhost \ + --with-subsys-dir=%{_localstatedir}/lock/subsys \ + --with-pid-dir=%{_localstatedir}/run \ + --enable-conio \ + --enable-largefile \ + --enable-gnome \ + --enable-bwx-console \ + --enable-tray-monitor \ + --enable-build-dird \ + --enable-build-stored \ + --with-openssl \ + --with-tcp-wrappers \ + --with-python \ + --enable-smartalloc \ + --with-x \ + $* if test $? != 0; then tail -500 config.log @@ -360,89 +360,90 @@ fi # Build sqlite director pushd %{name}-sqlite %if 0%{?fedora}%{?rhel} - %if 0%{?fedora} - %if "%{fedora}" >= "5" - %define sqlite_suffix 3 - build --with-sqlite3 - %else - build --with-sqlite - %endif - %endif - %if 0%{?rhel} - %if "%{rhel}" >= "5" - %define sqlite_suffix 3 - build --with-sqlite3 - %else - build --with-sqlite - %endif - %endif + %if 0%{?fedora} + %if "%{fedora}" >= "5" + %define sqlite_suffix 3 + build --with-sqlite3 + %else + build --with-sqlite + %endif + %endif + %if 0%{?rhel} + %if "%{rhel}" >= "5" + %define sqlite_suffix 3 + build --with-sqlite3 + %else + build --with-sqlite + %endif + %endif %else - echo 'Neither %%{fedora} nor %%{rhel} are defined.' - echo 'Please call rpmbuild with at least --define "fedora 7" or --define "rhel 5"' - echo 'depending on your release version you are building on.' - exit 1 + echo 'Neither %%{fedora} nor %%{rhel} are defined.' + echo 'Please call rpmbuild with at least --define "fedora 7" or --define "rhel 5"' + echo 'depending on your release version you are building on.' + exit 1 %endif popd # Build MySQL director pushd %{name}-mysql - build --with-mysql + build --with-mysql popd # Build PostgreSQL director pushd %{name}-postgresql - build --with-postgresql + build --with-postgresql popd # Build the docs pushd %{name}-docs-%{version} - %configure --with-%{name}=%{_builddir}/%{name}-%{version}/%{name}-%{version} - make + %configure --with-%{name}=%{_builddir}/%{name}-%{version}/%{name}-%{version} + make popd + %install rm -rf %{buildroot} pushd %{name}-sqlite - make install DESTDIR=%{buildroot} - mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.sqlite - mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.sqlite - mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.sqlite - mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.sqlite - - for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ - grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ - update_%{name}_tables; do - mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.sqlite - done + make install DESTDIR=%{buildroot} + mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.sqlite + mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.sqlite + mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.sqlite + mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.sqlite + + for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ + grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ + update_%{name}_tables; do + mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.sqlite + done popd pushd %{name}-mysql - make install DESTDIR=%{buildroot} - mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.mysql - mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.mysql - mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.mysql - mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.mysql - - for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ - grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ - update_%{name}_tables; do - mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.mysql - done + make install DESTDIR=%{buildroot} + mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.mysql + mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.mysql + mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.mysql + mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.mysql + + for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ + grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ + update_%{name}_tables; do + mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.mysql + done popd pushd %{name}-postgresql - make install DESTDIR=%{buildroot} - mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.postgresql - mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.postgresql - mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.postgresql - mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.postgresql - - for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ - grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ - update_%{name}_tables; do - mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.postgresql - done + make install DESTDIR=%{buildroot} + mv %{buildroot}%{_sbindir}/%{name}-dir %{buildroot}%{_sbindir}/%{name}-dir.postgresql + mv %{buildroot}%{_sbindir}/dbcheck %{buildroot}%{_sbindir}/dbcheck.postgresql + mv %{buildroot}%{_sbindir}/bcopy %{buildroot}%{_sbindir}/bcopy.postgresql + mv %{buildroot}%{_sbindir}/bscan %{buildroot}%{_sbindir}/bscan.postgresql + + for script in create_%{name}_database drop_%{name}_database drop_%{name}_tables \ + grant_%{name}_privileges make_%{name}_tables make_catalog_backup \ + update_%{name}_tables; do + mv %{buildroot}%{_libexecdir}/%{name}/${script} %{buildroot}%{_libexecdir}/%{name}/${script}.postgresql + done popd rm %{buildroot}%{_mandir}/man1/bat.1.gz @@ -453,7 +454,6 @@ rm -f %{buildroot}%{_libexecdir}/%{name}/gconsole mv %{buildroot}%{_sbindir}/bwx-console %{buildroot}%{_sbindir}/bwxconsole mv %{buildroot}%{_sysconfdir}/%{name}/bwx-console.conf %{buildroot}%{_sysconfdir}/%{name}/bwxconsole.conf - # Desktop Integration for the console apps and the traymonitor mkdir -p %{buildroot}%{_bindir} install -m 644 -D %{name}-sqlite/scripts/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png @@ -471,60 +471,53 @@ desktop-file-install --vendor="fedora" --dir=%{buildroot}%{_datadir}/application desktop-file-install --vendor="fedora" --dir=%{buildroot}%{_datadir}/applications %{SOURCE4} desktop-file-install --vendor="fedora" --dir=%{buildroot}%{_datadir}/applications %{SOURCE5} - # logrotate mkdir -p %{buildroot}%{_localstatedir}/log/%{name} install -m 644 -D %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} - # And logwatch install -m 755 -D %{name}-sqlite/scripts/logwatch/%{name} %{buildroot}%{_sysconfdir}/logwatch/scripts/services/%{name} install -m 644 -D %{name}-sqlite/scripts/logwatch/logfile.%{name}.conf %{buildroot}%{_sysconfdir}/logwatch/conf/logfiles/%{name}.conf install -m 644 -D %{name}-sqlite/scripts/logwatch/services.%{name}.conf %{buildroot}%{_sysconfdir}/logwatch/conf/services/%{name}.conf - # Initscripts install -m 755 -D %{SOURCE7} %{buildroot}%{_initrddir}/%{name}-fd install -m 755 -D %{SOURCE8} %{buildroot}%{_initrddir}/%{name}-dir install -m 755 -D %{SOURCE9} %{buildroot}%{_initrddir}/%{name}-sd - # Wipe backup files from the multiple make install calls rm -vf %{buildroot}%{_sysconfdir}/%{name}/*.{new,old} rm -vf %{buildroot}%{_libexecdir}/%{name}/*.{new,old} - # Create the spooling mkdir -p %{buildroot}%{_localstatedir}/spool/%{name} - # Move some files around mv %{buildroot}%{_libexecdir}/%{name}/query.sql %{buildroot}%{_sysconfdir}/%{name}/query.sql - # Nuke the scripts we do not need rm -vf %{buildroot}%{_libexecdir}/%{name}/{%{name},%{name}-ctl-*,startmysql,stopmysql} - # Fix up some perms so rpmlint does not complain too much chmod 755 %{buildroot}%{_sbindir}/* chmod 755 %{buildroot}%{_libexecdir}/%{name}/* chmod 644 %{buildroot}%{_libexecdir}/%{name}/btraceback.* + %clean rm -rf %{buildroot} %post director-mysql #/usr/sbin/alternatives --install /usr/sbin/%{name}-dir %{name}-dir /usr/sbin/%{name}-dir.mysql 50 \ -# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.mysql \ -# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.mysql \ -# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.mysql \ -# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.mysql \ -# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.mysql \ -# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.mysql \ -# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.mysql \ -# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.mysql +# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.mysql \ +# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.mysql \ +# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.mysql \ +# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.mysql \ +# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.mysql \ +# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.mysql \ +# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.mysql \ +# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.mysql replace_symlink() { alternatives_name=$1 suffix=$2 @@ -546,14 +539,14 @@ replace_symlink /usr/libexec/%{name}/update_%{name}_tables mysql %post director-sqlite #/usr/sbin/alternatives --install /usr/sbin/%{name}-dir %{name}-dir /usr/sbin/%{name}-dir.sqlite 40 \ -# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.sqlite \ -# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.sqlite \ -# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.sqlite \ -# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.sqlite \ -# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.sqlite \ -# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.sqlite \ -# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.sqlite \ -# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.sqlite +# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.sqlite \ +# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.sqlite \ +# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.sqlite \ +# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.sqlite \ +# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.sqlite \ +# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.sqlite \ +# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.sqlite \ +# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.sqlite replace_symlink() { alternatives_name=$1 suffix=$2 @@ -575,14 +568,14 @@ replace_symlink /usr/libexec/%{name}/update_%{name}_tables sqlite %post director-postgresql #/usr/sbin/alternatives --install /usr/sbin/%{name}-dir %{name}-dir /usr/sbin/%{name}-dir.postgresql 60 \ -# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.postgresql \ -# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.postgresql \ -# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.postgresql \ -# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.postgresql \ -# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.postgresql \ -# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.postgresql \ -# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.postgresql \ -# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.postgresql +# --slave /usr/sbin/dbcheck %{name}-dbcheck /usr/sbin/dbcheck.postgresql \ +# --slave /usr/libexec/%{name}/create_%{name}_database create_%{name}_database /usr/libexec/%{name}/create_%{name}_database.postgresql \ +# --slave /usr/libexec/%{name}/drop_%{name}_database drop_%{name}_database /usr/libexec/%{name}/drop_%{name}_database.postgresql \ +# --slave /usr/libexec/%{name}/drop_%{name}_tables drop_%{name}_tables /usr/libexec/%{name}/drop_%{name}_tables.postgresql \ +# --slave /usr/libexec/%{name}/grant_%{name}_privileges grant_%{name}_privileges /usr/libexec/%{name}/grant_%{name}_privileges.postgresql \ +# --slave /usr/libexec/%{name}/make_%{name}_tables make_%{name}_tables /usr/libexec/%{name}/make_%{name}_tables.postgresql \ +# --slave /usr/libexec/%{name}/make_catalog_backup make_catalog_backup /usr/libexec/%{name}/make_catalog_backup.postgresql \ +# --slave /usr/libexec/%{name}/update_%{name}_tables update_%{name}_tables /usr/libexec/%{name}/update_%{name}_tables.postgresql replace_symlink() { alternatives_name=$1 suffix=$2 @@ -606,11 +599,11 @@ REMAINING_ITEMS=$1 remove_fake_alternative() { filename=$1 suffix=$2 - if [ ! -h $filename ]; then + if [ ! -h $filename ]; then if [ $REMAINING_ITEMS -eq 0 ]; then - rm -f $filename - fi - fi + rm -f $filename + fi + fi } remove_all_fake_dir_alternatives() { @@ -628,7 +621,6 @@ remove_all_fake_dir_alternatives() { remove_all_fake_dir_alternatives mysql # As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - %preun director-sqlite REMAINING_ITEMS=$1 remove_fake_alternative() { @@ -656,7 +648,6 @@ remove_all_fake_dir_alternatives() { remove_all_fake_dir_alternatives sqlite # As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - %preun director-postgresql REMAINING_ITEMS=$1 remove_fake_alternative() { @@ -683,13 +674,10 @@ remove_all_fake_dir_alternatives() { } remove_all_fake_dir_alternatives postgresql -# As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - - %pre common /usr/sbin/fedora-groupadd 33 -r %{name} &>/dev/null || : /usr/sbin/fedora-useradd 33 -r -s /sbin/nologin -d /var/spool/%{name} -M \ - -c 'Bacula Backup System' -g %{name} %{name} &>/dev/null || : + -c 'Bacula Backup System' -g %{name} %{name} &>/dev/null || : %postun common @@ -732,7 +720,7 @@ cp /usr/sbin/bscan.sqlite /usr/sbin/dbcheck %post storage-postgresql #/usr/sbin/alternatives --install /usr/sbin/bcopy %{name}-sd /usr/sbin/bcopy.postgresql 60 \ -# --slave /usr/sbin/dbcheck %{name}-bscan /usr/sbin/bscan.postgresql +# --slave /usr/sbin/dbcheck %{name}-bscan /usr/sbin/bscan.postgresql replace_symlink() { alternatives_name=$1 suffix=$2 @@ -764,7 +752,6 @@ remove_fake_alternative /usr/sbin/bcopy mysql remove_fake_alternative /usr/sbin/dbcheck mysql # As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - %preun storage-sqlite REMAINING_ITEMS=$1 remove_fake_alternative() { @@ -780,7 +767,6 @@ remove_fake_alternative /usr/sbin/bcopy sqlite remove_fake_alternative /usr/sbin/dbcheck sqlite # As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - %preun storage-postgresql REMAINING_ITEMS=$1 remove_fake_alternative() { @@ -795,22 +781,20 @@ remove_fake_alternative() { remove_fake_alternative /usr/sbin/bcopy postgresql remove_fake_alternative /usr/sbin/dbcheck postgresql -# As proposed on epel-devel, we will not re-enable alternatives in EPEL-5 - %post client /sbin/chkconfig --add %{name}-fd %preun client if [ $1 = 0 ]; then - /sbin/service %{name}-fd stop >/dev/null 2>&1 || : - /sbin/chkconfig --del %{name}-fd + /sbin/service %{name}-fd stop >/dev/null 2>&1 || : + /sbin/chkconfig --del %{name}-fd fi %postun client if [ "$1" -ge "1" ]; then - /sbin/service %{name}-fd condrestart >/dev/null 2>&1 || : + /sbin/service %{name}-fd condrestart >/dev/null 2>&1 || : fi @@ -820,14 +804,14 @@ fi %preun director-common if [ $1 = 0 ]; then - /sbin/service %{name}-dir stop >/dev/null 2>&1 || : - /sbin/chkconfig --del %{name}-dir + /sbin/service %{name}-dir stop >/dev/null 2>&1 || : + /sbin/chkconfig --del %{name}-dir fi %postun director-common if [ "$1" -ge "1" ]; then - /sbin/service %{name}-dir condrestart >/dev/null 2>&1 || : + /sbin/service %{name}-dir condrestart >/dev/null 2>&1 || : fi @@ -837,14 +821,14 @@ fi %preun storage-common if [ $1 = 0 ]; then - /sbin/service %{name}-sd stop >/dev/null 2>&1 || : - /sbin/chkconfig --del %{name}-sd + /sbin/service %{name}-sd stop >/dev/null 2>&1 || : + /sbin/chkconfig --del %{name}-sd fi %postun storage-common if [ "$1" -ge "1" ]; then - /sbin/service %{name}-sd condrestart >/dev/null 2>&1 || : + /sbin/service %{name}-sd condrestart >/dev/null 2>&1 || : fi @@ -866,7 +850,6 @@ fi %dir %attr(750, %{name}, %{name}) %{_localstatedir}/log/%{name} %dir %attr(750, %{name}, %{name}) %{_localstatedir}/spool/%{name} - %files client %defattr(-,root,root,-) %{_sbindir}/%{name}-fd @@ -875,14 +858,12 @@ fi %dir %{_localstatedir}/spool/%{name} %{_mandir}/man8/%{name}-fd.8* - %files console %defattr(-,root,root,-) %{_sbindir}/bconsole %config(noreplace) %{_sysconfdir}/%{name}/bconsole.conf %{_mandir}/man8/bconsole.8* - %files console-gnome %defattr(-,root,root,-) %config %{_sysconfdir}/security/console.apps/bgnome-console @@ -894,7 +875,6 @@ fi %{_datadir}/applications/fedora-%{name}-gconsole.desktop %{_datadir}/pixmaps/%{name}.png - %files console-wxwidgets %defattr(-,root,root,-) %config %{_sysconfdir}/security/console.apps/bwxconsole @@ -906,7 +886,6 @@ fi %{_datadir}/applications/fedora-%{name}-wxconsole.desktop %{_datadir}/pixmaps/wxwin16x16.xpm - %files director-common %doc %{name}-%{version}/updatedb/ %defattr(-,root,root,-) @@ -922,7 +901,6 @@ fi %{_mandir}/man8/%{name}-dir.8* %{_libexecdir}/%{name}/delete_catalog_backup - %files director-mysql %defattr(-,root,root,-) %{_sbindir}/%{name}-dir.mysql @@ -941,8 +919,6 @@ fi %{_libexecdir}/%{name}/make_catalog_backup.mysql %{_libexecdir}/%{name}/update_%{name}_tables.mysql - - %files director-sqlite %defattr(-,root,root,-) %{_sbindir}/%{name}-dir.sqlite @@ -962,7 +938,6 @@ fi %{_libexecdir}/%{name}/make_catalog_backup.sqlite %{_libexecdir}/%{name}/update_%{name}_tables.sqlite - %files director-postgresql %defattr(-,root,root,-) %{_sbindir}/%{name}-dir.postgresql @@ -981,7 +956,6 @@ fi %{_libexecdir}/%{name}/make_catalog_backup.postgresql %{_libexecdir}/%{name}/update_%{name}_tables.postgresql - %files storage-common %defattr(-,root,root,-) %{_sbindir}/%{name}-sd @@ -1000,25 +974,21 @@ fi %{_mandir}/man8/btape.8* %{_mandir}/man8/%{name}-sd.8* - %files storage-mysql %defattr(-,root,root,-) %{_sbindir}/bcopy.mysql %{_sbindir}/bscan.mysql - %files storage-sqlite %defattr(-,root,root,-) %{_sbindir}/bcopy.sqlite %{_sbindir}/bscan.sqlite - %files storage-postgresql %defattr(-,root,root,-) %{_sbindir}/bcopy.postgresql %{_sbindir}/bscan.postgresql - %files traymonitor %defattr(-,root,root,-) %{_sbindir}/%{name}-tray-monitor @@ -1027,7 +997,6 @@ fi %{_datadir}/applications/fedora-%{name}-traymonitor.desktop %{_datadir}/pixmaps/%{name}-tray-monitor.xpm - %files docs %doc %{name}-docs-%{version}/%{name}-web/%{name}-web.pdf %doc %{name}-docs-%{version}/%{name}-web/%{name}-web/ @@ -1042,6 +1011,7 @@ fi - Removed commented stuff that will never come back. - Cleaned up init files. - Get rid of useless defines. +- Spec file formatting. * Sun Feb 28 2010 Felix Schwarz 2.4.4-2 - Implement workaround for broken alternatives in 2.0.3-10