]> git.pld-linux.org Git - packages/bacula.git/blobdiff - bacula.spec
- add add official patches
[packages/bacula.git] / bacula.spec
index e2855e6e7ad22b520d61aebda24743121b24784c..f3038320f58f270c330b50c5aee654f61c5226ee 100644 (file)
@@ -6,27 +6,53 @@
 # Conditional build:
 %bcond_without console_wx      # wx-console program
 %bcond_without gnome           # gnome-console program
+%bcond_with    sqlite          # use sqlite
+%bcond_without bat             # bat Qt4 GUI
+%bcond_without mysql           # use mysql
+%bcond_with    pgsql           # use PostgreSQL
 %bcond_with    python
 %bcond_with    rescue
 %bcond_with    sqlite3         # use sqlite3 insted sqlite
 %bcond_with    sqlite3_sync_off        # makes sqlite3 backend much faster, but less reliable
+%if %{with sqlite}
+%define                _database       sqlite
+%undefine       with_mysql
+%undefine       with_pgsql
+%endif
+%if %{with sqlite3}
+%define                _database       sqlite3
+%undefine       with_sqlite
+%undefine       with_mysql
+%undefine       with_pgsql
+%endif
+%if %{with pgsql}
+%define                _database       postgresql
+%undefine       with_sqlite
+%undefine       with_sqlite3
+%undefine       with_mysql
+%endif
+%if %{with mysql}
+%define                _database       mysql
+%undefine       with_sqlite
+%undefine       with_sqlite3
+%undefine       with_pgsql
+%undefine       with_sqlite3_sync_off
+%endif
 #
 Summary:       Bacula - The Network Backup Solution
-Summary(pl):   Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
+Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Name:          bacula
-Version:       2.0.2
-Release:       0.1
+Version:       2.2.6
+Release:       4
 Epoch:         0
 License:       extended GPL v2
 Group:         Networking/Utilities
 Source0:       http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz
-# Source0-md5: 299883ddd460336cfb613fd6d9bff989
-Source1:       http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.gz
-# Source1-md5: a114daae0e276ee274ccd558e42e13f0
-#Source2:      http://dl.sourceforge.net/bacula/%{name}-gui-%{version}.tar.gz
-## Source2-md5:        c46b03dbdd9becfd56e109badcad3593
-Source3:       http://dl.sourceforge.net/bacula/%{name}-rescue-2.0.0.tar.gz
-# Source3-md5: 4a21381f16355193771a34fc2eb4e806
+# Source0-md5: fe964931ab3fc538a8884204d23e8a5a
+Source1:       http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
+# Source1-md5: a251dc0b5a2c8250b43e2ae372526de2
+Source2:       http://dl.sourceforge.net/bacula/%{name}-rescue-%{version}.tar.gz
+# Source2-md5: 51bc4b1e5d60593cb9f9aa80d31ad8e4
 Source10:      %{name}-dir.init
 Source11:      %{name}-fd.init
 Source12:      %{name}-sd.init
@@ -36,9 +62,17 @@ Source15:    %{name}-fd.sysconfig
 Source16:      %{name}-sd.sysconfig
 Patch0:                %{name}-dvd-handler_path.patch
 Patch1:                %{name}-link.patch
-Patch2:                %{name}-compile.patch
-Patch3:                %{name}-wx28.patch
-Patch4:                %{name}-sqlite3_init_query.patch
+Patch2:                %{name}-mysql.patch
+Patch3:                %{name}-tinfo-readline.patch
+Patch4:                %{name}-branding.patch
+Patch5:                %{name}-conf.patch
+Patch10:       2.2.6-add.patch
+Patch11:       2.2.6-dvdwrite_trialfix.patch
+Patch12:       2.2.6-queued-msg.patch
+Patch13:       2.2.6-backup-restore-socket.patch
+Patch14:       2.2.6-mac-build.patch
+Patch15:       2.2.6-status.patch
+
 URL:           http://www.bacula.org/
 BuildRequires: acl-static
 BuildRequires: automake
@@ -60,14 +94,20 @@ BuildRequires:      pkgconfig
 %if %{with python}
 BuildRequires: python-static
 %endif
+%if %{with bat}
+BuildRequires:  qt4-build
+BuildRequires: qt4-qmake
+BuildRequires: qwt-devel >= 5.0.2-2
+BuildRequires: QtCore-devel
+BuildRequires: QtGui-devel
+%endif
 BuildRequires: readline-devel
 BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sed >= 4.0
-%if %{with sqlite3}
-BuildRequires: sqlite3-devel
-%else
-BuildRequires: sqlite-devel
-%endif
+%{?with_sqlite3:BuildRequires:  sqlite3-devel}
+%{?with_sqlite:BuildRequires:  sqlite-devel}
+%{?with_mysql:BuildRequires:  mysql-devel}
+%{?with_pgsql:BuildRequires:  postgresql-devel}
 %if %{with console_wx}
 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
 %endif
@@ -93,21 +133,21 @@ Bacula is relatively easy to use and efficient, while offering many
 advanced storage management features that make it easy to find and
 recover lost or damaged files.
 
-%description -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+Bacula to zbiór programów umożliwiających administratorowi na
+zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
+sieci komputerów różnego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracujący w architekturze klient-serwer.
+Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
+wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
+ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
 
 %package common
 Summary:       Common files for bacula package
-Summary(pl):   Pliki wspólne dla pakietu bacula
+Summary(pl.UTF-8):     Pliki wspólne dla pakietu bacula
 Group:         Networking/Utilities
 Requires(post):        openssl-tools
 Requires(post):        sed >= 4.0
@@ -133,21 +173,21 @@ Bacula is relatively easy to use and efficient, while offering many
 advanced storage management features that make it easy to find and
 recover lost or damaged files.
 
-%description common -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description common -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+Bacula to zbiór programów umożliwiających administratorowi na
+zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
+sieci komputerów różnego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracujący w architekturze klient-serwer.
+Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
+wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
+ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
 
 %package dir
 Summary:       Bacula Director and Catalog services
-Summary(pl):   Us³ugi Bacula Director i Catalog
+Summary(pl.UTF-8):     Usługi Bacula Director i Catalog
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -168,24 +208,24 @@ record of all Volumes used, all Jobs run, and all Files saved. This
 build requires sqlite%{?with_sqlite3:3} to be installed separately as the catalog
 database.
 
-%description dir -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description dir -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Director to program nadzoruj±cy wszystkie operacje wykonywania
+Bacula Director to program nadzorujący wszystkie operacje wykonywania
 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
-Administrator u¿ywa Bacula Directora do szeregowania kopii zapasowych
-oraz odzyskiwania plików. Us³ugi katalogowe (Catalog services) s±
-u¿ywane przez programy odpowiedzialne za zarz±dzanie indeksami plików
-i baz± danych wolumenów dla wszystkich kopiowanych plików. Us³ugi
-katalogowe umo¿liwiaj± administratorowi lub u¿ytkownikowi szybko
-zlokalizowaæ i odtworzyæ dowolny plik, poniewa¿ utrzymuj± rekord ze
-wszystkimi u¿ywanymi wolumenami, uruchomionymi zadaniami i zapisanymi
-plikami. Pakiet wymaga sqlite%{?with_sqlite3:3} zainstalowanego oddzielnie jako bazy
+Administrator używa Bacula Directora do szeregowania kopii zapasowych
+oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
+używane przez programy odpowiedzialne za zarządzanie indeksami plików
+i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
+katalogowe umożliwiają administratorowi lub użytkownikowi szybko
+zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
+wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
+plikami. Pakiet wymaga %{_database} zainstalowanego oddzielnie jako bazy
 danych dla katalogu.
 
 %package console
 Summary:       Bacula Console
-Summary(pl):   Konsola Baculi
+Summary(pl.UTF-8):     Konsola Baculi
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -198,16 +238,16 @@ Bacula Console is the program that allows the administrator or user to
 communicate with the Bacula Director. This is the text only console
 interface.
 
-%description console -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description console -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+Bacula Console to program umożliwiający administratorowi lub
+użytkownikowi komunikowanie się z programem Bacula Director. To jest
 interfejs czysto tekstowy.
 
 %package console-wx
 Summary:       Bacula wxWidgets Console
-Summary(pl):   Konsola Baculi oparta na wxWidgets
+Summary(pl.UTF-8):     Konsola Baculi oparta na wxWidgets
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -220,16 +260,16 @@ Bacula Console is the program that allows the administrator or user to
 communicate with the Bacula Director. This is the wxWidgets GUI
 interface.
 
-%description console-wx -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description console-wx -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+Bacula Console to program umożliwiający administratorowi lub
+użytkownikowi komunikowanie się z programem Bacula Director. To jest
 interfejs graficzny oparty na wxWidgets.
 
 %package console-gnome
 Summary:       Bacula GNOME Console
-Summary(pl):   Konsola Baculi oparta dla GNOME
+Summary(pl.UTF-8):     Konsola Baculi oparta dla GNOME
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -241,13 +281,34 @@ computers.
 Bacula Console is the program that allows the administrator or user to
 communicate with the Bacula Director. This is the GNOME GUI interface.
 
-%description console-gnome -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description console-gnome -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+Bacula Console to program umożliwiający administratorowi lub
+użytkownikowi komunikowanie się z programem Bacula Director. To jest
 interfejs graficzny oparty na GNOME.
 
+%package console-qt4
+Summary:       Bacula QT4 Console
+Summary(pl.UTF-8):     Konsola Baculi oparta na QT4
+Group:         Networking/Utilities
+Requires(post):        sed >= 4.0
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+
+%description console-qt4
+Bacula - It comes by night and sucks the vital essence from your
+computers.
+
+Bacula Console is the program that allows the administrator or user to
+communicate with the Bacula Director. This is the QT4 GUI interface.
+
+%description console-qt4 -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
+
+Bacula Console to program umożliwiający administratorowi lub
+użytkownikowi komunikowanie się z programem Bacula Director. To jest
+interfejs graficzny oparty na QT4.
+
 %package tray-monitor
 Summary:       Bacula Tray Monitor
 Group:         Networking/Utilities
@@ -266,7 +327,7 @@ configured.
 
 %package fd
 Summary:       Bacula File services (Client)
-Summary(pl):   Us³ugi Bacula File (klient)
+Summary(pl.UTF-8):     Usługi Bacula File (klient)
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -285,23 +346,23 @@ This program runs as a daemon on the machine to be backed up, and in
 some of the documentation, the File daemon is referred to as the
 Client (for example in Bacula configuration file).
 
-%description fd -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
-
-Us³ugi Bacula File (inaczej program kliencki) to oprogramowanie, które
-instaluje siê na maszynach, z których maj± byæ wykonywane kopie
-zapasowe. S± one specyficzne dla systemu operacyjnego, pod którym
-dzia³a dana maszyna i odpowiadaj± za dostarczanie atrybutów i danych
-plików na ¿±danie Directora. Us³ugi plikowe s± tak¿e odpowiedzialne za
-zale¿n± od systemu plików czê¶æ odzyskiwania atrybutów i danych plików
-podczas operacji odzyskiwania danych. Program dzia³a jako demon na
-maszynie, która ma byæ backupowana i w czê¶ci dokumentacji demon ten
-(File) jest nazywany klientem (na przyk³ad w pliku konfiguracyjnym
+%description fd -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
+
+Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
+instaluje się na maszynach, z których mają być wykonywane kopie
+zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
+działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
+plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
+zależną od systemu plików część odzyskiwania atrybutów i danych plików
+podczas operacji odzyskiwania danych. Program działa jako demon na
+maszynie, która ma być backupowana i w części dokumentacji demon ten
+(File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
 Baculi).
 
 %package sd
 Summary:       Bacula Storage services
-Summary(pl):   Us³ugi Bacula Storage
+Summary(pl.UTF-8):     Usługi Bacula Storage
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -318,20 +379,20 @@ is responsible for reading and writing your tapes (or other storage
 media, e.g. files). The Storage services runs as a daemon on the
 machine that has the backup device (usually a tape drive).
 
-%description sd -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description sd -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Us³ugi Bacula Storage sk³adaj± siê z programów obs³uguj±cych
-przechowywanie danych oraz odzyskiwanie atrybutów i danych na
-fizycznych no¶nikach lub wolumenach. Innymi s³owy, demon Storage jest
-odpowiedzialny za odczyt i zapis ta¶m (lub innych no¶ników do
-przechowywania danych, np. plików). Us³ugi Storage dzia³aj± jako demon
-na maszynie, która zawiera urz±dzenie backupowe (zwykle napêd
-tamowy).
+Usługi Bacula Storage składają się z programów obsługujących
+przechowywanie danych oraz odzyskiwanie atrybutów i danych na
+fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
+odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
+przechowywania danych, np. plików). Usługi Storage działają jako demon
+na maszynie, która zawiera urządzenie backupowe (zwykle napęd
+taśmowy).
 
 %package rescue
 Summary:       Bacula - The Network Backup Solution
-Summary(pl):   Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
+Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Group:         Networking/Utilities
 Requires:      %{name}-fd = %{epoch}:%{version}-%{release}
 Requires:      coreutils
@@ -358,38 +419,45 @@ To make the bacula rescue disk run "./make_rescue_disk
   recreate the rescue information for this system run ./getdiskinfo
   again.
 
-%description rescue -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description rescue -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+Bacula to zbiór programów umożliwiających administratorowi na
+zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
+sieci komputerów różnego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracujący w architekturze klient-serwer.
+Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
+wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
+ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
 
-Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkê
+Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
 ratunkowe do odtwarzania systemu od zera.
 
-Aby stworzyæ dyskietkê ratunkow± Baculi, nale¿y uruchomiæ "./make_rescue_disk
+Aby stworzyć dyskietkę ratunkową Baculi, należy uruchomić "./make_rescue_disk
 --copy-static-bacula - --copy-etc-files" z katalogu
-%{_sysconfdir}/rescue . Aby ponownie utworzyæ informacje ratunkowe dla
-danego systemu, nale¿y ponownie uruchomiæ ./getdiskinfo .
+%{_sysconfdir}/rescue . Aby ponownie utworzyć informacje ratunkowe dla
+danego systemu, należy ponownie uruchomić ./getdiskinfo .
 
 %prep
 %setup -q -a 1
+
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+
+%patch10 -p0
+%patch11 -p0
+%patch12 -p0
+%patch13 -p0
+%patch14 -p0
+%patch15 -p0
+
+tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
 
-#tar -xf %{SOURCE2}
-tar -xf %{SOURCE3} && ln -s bacula-rescue-* rescue
-sed -i -e 's#wx-config#wx-gtk2-unicode-config#g' configure*
-sed -i -e 's#-lreadline -lhistory -ltermcap#-lreadline -lhistory#g' configure*
 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
        src/cats/create_* src/cats/delete_* src/cats/drop_* \
        src/cats/grant_* src/cats/make_* src/cats/update_*
@@ -397,13 +465,18 @@ sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
 
 %build
 cp -f %{_datadir}/automake/config.sub autoconf
+cd autoconf && %{__aclocal} -I bacula-macros -I gettext-macros && cd ..
+%{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
+
 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
+WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
 %configure \
        --with-scriptdir=%{_libexecdir}/%{name} \
        --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \
+       %{?with_bat:--enable-bat} \
        --disable-conio \
        --enable-smartalloc \
-       %{?with_console_wx:--enable-wx-console} \
+       %{?with_console_wx:--enable-bwx-console} \
        --enable-tray-monitor \
        %{?with_python:--with-python} \
        --with-readline \
@@ -414,7 +487,8 @@ CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
        --with-smtp-host=localhost \
        --with-pid-dir=/var/run \
        --with-subsys-dir=/var/lock/subsys \
-       --with-sqlite%{?with_sqlite3:3} \
+       --enable-batch-insert \
+       --with-%{_database} \
        %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
        --with-dir-password="#FAKE-dir-password#" \
        --with-fd-password="#FAKE-fd-password#" \
@@ -422,8 +496,14 @@ CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
        --with-mon-dir-password="#FAKE-mon-dir-password#" \
        --with-mon-fd-password="#FAKE-mon-fd-password#" \
        --with-mon-sd-password="#FAKE-mon-sd-password#" \
-       --enable-static-fd \
        --with-openssl
+
+%if %{with bat}
+cd src/qt-console
+qt4-qmake bat.pro
+cd ../..
+%endif
+
 %{__make}
 
 %if %{with rescue}
@@ -439,14 +519,14 @@ rm -rf $RPM_BUILD_ROOT
 
 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
-install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir}}
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 # static daemon
-strip -R.comment -R.note src/filed/static-bacula-fd
-install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd
+#strip -R.comment -R.note src/filed/static-bacula-fd
+#install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd
 
 install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
@@ -469,6 +549,11 @@ sed -e 's#%{_sbindir}#%{_bindir}#' \
        scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
 %endif
 
+%if %{with bat}
+install src/qt-console/bat $RPM_BUILD_ROOT%{_sbindir}
+install scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
+%endif
+
 %if %{with rescue}
 # install the rescue stuff, these are the rescue scripts
 install rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
@@ -477,6 +562,8 @@ install rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
 install rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
 %endif
 
+touch $RPM_BUILD_ROOT/var/log/bacula/log
+
 # install the updatedb scripts
 install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
 
@@ -523,46 +610,43 @@ fi
 
 %post dir
 umask 077
+
+# XXX: Most of this upgrade procedure is safe for sqlite only. Other databases would require knowledge
+#      about currently used version so we can't easily support these :(
+
+%if %{with sqlite} || %{with sqlite3}
 [ -s %{_localstatedir}/bacula.db ] && \
        DB_VER=`echo "select * from Version;" | \
        %{_bindir}/sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | tail -n 1 2>/dev/null`
+
 if [ -z "$DB_VER" ]; then
 # grant privileges and create tables
        %{_libexecdir}/%{name}/grant_bacula_privileges > dev/null
        %{_libexecdir}/%{name}/create_bacula_database > dev/null
        %{_libexecdir}/%{name}/make_bacula_tables > dev/null
-elif [ "$DB_VER" -lt "9" ]; then
+else
        echo "Backing up bacula tables"
        echo ".dump" | sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2
-       echo "Upgrading bacula tables"
-       %if %{with sqlite3}
-               type=sqlite3
-               if [ "$DB_VER" -lt "9" ]; then
-                       %{_libexecdir}/%{name}/update_${type}_tables_8_to_9
-               fi
-       %else
-               type=sqlite
-               if [ "$DB_VER" -lt "9" ]; then
-                       if [ "$DB_VER" -lt "8" ]; then
-                               if [ "$DB_VER" -lt "7" ]; then
-                                       if [ "$DB_VER" -lt "6" ]; then
-                                               if [ "$DB_VER" -lt "5" ]; then
-                                                       %{_libexecdir}/%{name}/update_${type}_tables_4_to_5
-                                               fi
-                                               %{_libexecdir}/%{name}/update_${type}_tables_5_to_6
-                                       fi
-                                       %{_libexecdir}/%{name}/update_${type}_tables_6_to_7
-                               fi
-                               %{_libexecdir}/%{name}/update_${type}_tables_7_to_8
-                       fi
-                       %{_libexecdir}/%{name}/update_${type}_tables_8_to_9
+
+       db_type="%{_database}"
+
+       next_ver=$(($DB_VER + 1))
+       # support up to version 30; increase this if needed
+       for ver in $(seq $next_ver 30); do
+               prev_ver=$(($ver - 1))
+
+               if [ -x %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver} ]; then
+                       echo "Upgrading bacula database: db=${db_type} from ${prev_ver} to ${ver}..."
+                       %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver}
                fi
-       %endif
+       done
+
        %{_libexecdir}/%{name}/update_bacula_tables
        echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2"
 fi
 chown -R bacula:bacula %{_localstatedir}
 chmod -R u+rX,go-rwx %{_localstatedir}/*
+%endif
 
 echo "Updating Bacula passwords and names..."
 cd /etc/bacula
@@ -649,6 +733,15 @@ for f in *-password ; do
 done
 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
 
+%post console-qt4
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+       p=`cat $f`
+       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
 %post tray-monitor
 echo "Updating Bacula passwords and names..."
 cd /etc/bacula
@@ -693,12 +786,14 @@ fi
 %{_libexecdir}/%{name}/btraceback.dbx
 %{_libexecdir}/%{name}/btraceback.gdb
 %attr(770,root,bacula) %dir %{_localstatedir}
+%attr(750,bacula,logs) %dir /var/log/bacula
+%attr(640,bacula,logs) %ghost /var/log/bacula/log
 
 %files dir
 %defattr(644,root,root,755)
 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
-%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
+#%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
 %ghost %{_sysconfdir}/.pw.sed
 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
@@ -717,7 +812,8 @@ fi
 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
-%else
+%endif
+%if %{with sqlite}
 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_tables
@@ -725,6 +821,22 @@ fi
 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
 %endif
+%if %{with mysql}
+%attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
+%endif
+%if %{with pgsql}
+%attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
+%endif
 %attr(755,root,root) %{_libexecdir}/%{name}/create_bacula_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_tables
@@ -746,7 +858,6 @@ fi
 %files sd
 %defattr(644,root,root,755)
 %doc LICENSE
-%dir %{_sysconfdir}
 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
@@ -779,9 +890,9 @@ fi
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bacula-wx.desktop
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/wx-console.conf
-%attr(755,root,root) %{_sbindir}/wx-console
-%{_mandir}/man1/bacula-wxconsole.1*
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
+%attr(755,root,root) %{_sbindir}/bwx-console
+%{_mandir}/man1/bacula-bwxconsole.1*
 %endif
 
 %if %{with gnome}
@@ -790,9 +901,20 @@ fi
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bacula.desktop
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnome-console.conf
-%attr(755,root,root) %{_sbindir}/gnome-console
-%{_mandir}/man1/bacula-console-gnome.1*
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bgnome-console.conf
+%attr(755,root,root) %{_sbindir}/bgnome-console
+%{_mandir}/man1/bacula-bgnome-console.1*
+%endif
+
+%if %{with bat}
+%files console-qt4
+%defattr(644,root,root,755)
+%doc LICENSE
+%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/bat.desktop
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
+%attr(755,root,root) %{_sbindir}/bat
+%{_mandir}/man1/bat.1*
 %endif
 
 %if %{with console_wx}
This page took 0.065924 seconds and 4 git commands to generate.