]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/bacula-gui.spec.in
Tweak .gitignore
[bacula/bacula] / gui / bacula-gui.spec.in
index 523607a9dbd07c47489a4458fb5ef7fb42537840..02097bf76b763b7e891a197574890f16374e729b 100644 (file)
@@ -1,5 +1,5 @@
 # Bacula Web GUI RPM spec file
-# Copyright (C) 2004-2006 Kern Sibbald
+# Copyright (C) 2004-2007 Free Software Foundation Europe e.V.
 
 # Platform defines
 
@@ -21,6 +21,8 @@ exit 1
 # source package names
 %define web bacula-web
 %define bimagemgr bimagemgr
+%define bweb bweb
+%define brestore brestore
 
 # set destination directories
 %define cgidir /var/www/cgi-bin
@@ -42,6 +44,7 @@ exit 1
 %endif
 
 %define groupmod /usr/sbin/groupmod
+%define groupfile /etc/group
 
 Summary: Bacula - The Network Backup Solution
 Name: bacula-gui
@@ -52,6 +55,8 @@ License: GPL v2
 Source0: %{web}-%{version}.tar.gz
 Source1: %{bimagemgr}-%{version}.tar.gz
 Source2: bacula-docs-%{version}.tar.gz
+Source3: %{bweb}-%{version}.tar.gz
+Source4: %{brestore}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-root
 URL: http://www.bacula.org/
 BuildArchitectures: noarch
@@ -104,11 +109,65 @@ administrator) to manage backup, recovery, and verification of computer
 data across a network of computers of different kinds. bacula-web is a 
 web server based utility to monitor your bacula server.
 
+%package libbweb
+Summary: Bacula - The Network Backup Solution
+Group: System Environment/Daemons
+
+Requires: perl, perl-DBI, perl-DBD-mysql, perl-DBD-Pg, perl-GDGraph, perl-GD
+Requires: perl-HTML-Template, perl-Time-modules
+
+%if %{suse}
+Requires: perl-CGI-Application
+%else
+Requires: perl-CGI
+%endif
+
+%description libbweb
+Bacula is a set of computer programs that permit you (or the system 
+administrator) to manage backup, recovery, and verification of computer 
+data across a network of computers of different kinds. libbweb is a set 
+of perl modules required by bacula-gui-bweb and bacula-gui-brestore utilities.
+
+%package brestore
+Summary: Bacula - The Network Backup Solution
+Group: System Environment/Daemons
+
+Requires: perl, perl-DBI, perl-DBD-mysql, perl-DBD-Pg, perl-Expect, perl-libwww-perl
+Requires: perl-Gtk2-GladeXML, bacula-gui-libbweb = %{version}
+
+%description brestore
+Bacula is a set of computer programs that permit you (or the system 
+administrator) to manage backup, recovery, and verification of computer 
+data across a network of computers of different kinds. brestore is a file 
+restoration interface.
+
+%package bweb
+Summary: Bacula - The Network Backup Solution
+Group: System Environment/Daemons
+
+Requires: perl, perl-DBI, perl-DBD-mysql, perl-DBD-Pg, perl-GDGraph
+Requires: perl-HTML-Template, perl-Time-modules, bacula-gui-libbweb
+Requires: bacula-server
+
+%if %{suse}
+Requires: perl-CGI-Application
+%else
+Requires: perl-CGI
+%endif
+
+%description bweb
+Bacula is a set of computer programs that permit you (or the system 
+administrator) to manage backup, recovery, and verification of computer 
+data across a network of computers of different kinds. bweb is a web based 
+interface for a bacula server.
+
 %prep
 
 # unpack both sources inside a directory with package name and version
 %setup -c %{name} -D -b 1
 %setup -c %{name} -T -D -b 2
+%setup -c %{name} -T -D -b 3
+%setup -c %{name} -T -D -b 4
 
 %build
 
@@ -120,6 +179,21 @@ rm -rf docs
 mkdir -p $RPM_BUILD_ROOT%{cgidir}
 mkdir -p $RPM_BUILD_ROOT%{docdir}/%{web}
 mkdir -p $RPM_BUILD_ROOT%{sysconfdir}
+mkdir -p $RPM_BUILD_ROOT%{perl_sitearch}
+mkdir -p $RPM_BUILD_ROOT/usr/bin
+mkdir -p $RPM_BUILD_ROOT/usr/share/brestore
+mkdir -p $RPM_BUILD_ROOT/usr/share/applications
+mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
+
+mkdir -p $RPM_BUILD_ROOT%{cgidir}/bweb
+chmod 755 $RPM_BUILD_ROOT%{cgidir}/bweb
+mkdir -p $RPM_BUILD_ROOT/usr/share/bweb/tpl
+mkdir -p $RPM_BUILD_ROOT%{docdir}/%{bweb}
+
+%if !%{suse}
+mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
+mkdir -p $RPM_BUILD_ROOT/etc/pam.d
+%endif
 
 # install bimagemgr files
 cp -p %{bimagemgr}-%{version}/bimagemgr.pl $RPM_BUILD_ROOT%{cgidir}/
@@ -144,6 +218,43 @@ cp -r -p %{web}-%{version}/* $RPM_BUILD_ROOT%{docdir}/%{web}/
 
 chmod 644 $RPM_BUILD_ROOT%{sysconfdir}/README.bacula-web
 
+# install the libbweb files
+cp -p %{bweb}-%{version}/lib/*.pm $RPM_BUILD_ROOT%{perl_sitearch}/
+chmod 644 $RPM_BUILD_ROOT%{perl_sitearch}/*.pm
+
+# install the brestore files
+cp -p %{brestore}-%{version}/brestore.pl $RPM_BUILD_ROOT/usr/bin/
+cp -p %{brestore}-%{version}/brestore.glade $RPM_BUILD_ROOT/usr/share/brestore/
+%if %{suse}
+cp -p %{brestore}-%{version}/brestore.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/brestore.desktop
+%else
+cp -p %{brestore}-%{version}/brestore.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/brestore.desktop
+cp -p %{brestore}-%{version}/brestore.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/brestore
+cp -p %{brestore}-%{version}/brestore.pamd $RPM_BUILD_ROOT/etc/pam.d/brestore
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/brestore
+%endif
+cp -p %{brestore}-%{version}/brestore.png $RPM_BUILD_ROOT/usr/share/pixmaps/
+chmod 755 $RPM_BUILD_ROOT/usr/bin/brestore.pl
+chmod 644 $RPM_BUILD_ROOT/usr/share/brestore/brestore.glade
+chmod 644 $RPM_BUILD_ROOT/usr/share/applications/brestore.desktop
+chmod 644 $RPM_BUILD_ROOT/usr/share/pixmaps/brestore.png
+
+# install the bweb files
+cp -p %{bweb}-%{version}/cgi/*.pl $RPM_BUILD_ROOT%{cgidir}/bweb/
+chmod 755 $RPM_BUILD_ROOT%{cgidir}/bweb/*
+echo "template_dir = /usr/share/bweb/tpl" > $RPM_BUILD_ROOT%{sysconfdir}/bweb.conf
+cp -p %{bweb}-%{version}/tpl/*.tpl $RPM_BUILD_ROOT/usr/share/bweb/tpl/
+chmod 644 $RPM_BUILD_ROOT/usr/share/bweb/tpl/*
+cp -p %{bweb}-%{version}/html/*.js $RPM_BUILD_ROOT%{docdir}/%{bweb}/
+cp -p %{bweb}-%{version}/html/*.png $RPM_BUILD_ROOT%{docdir}/%{bweb}/
+cp -p %{bweb}-%{version}/html/*.css $RPM_BUILD_ROOT%{docdir}/%{bweb}/
+cp -p %{bweb}-%{version}/html/*.gif $RPM_BUILD_ROOT%{docdir}/%{bweb}/
+cp -p %{bweb}-%{version}/html/*.html $RPM_BUILD_ROOT%{docdir}/%{bweb}/
+chmod 644 $RPM_BUILD_ROOT%{docdir}/%{bweb}/*
+cp -p %{bweb}-%{version}/script/bweb-postgresql.sql $RPM_BUILD_ROOT%{sysconfdir}
+chmod 644 $RPM_BUILD_ROOT%{sysconfdir}/bweb-postgresql.sql
+
+
 # remove the standard doc files from the install directory
 rm -f $RPM_BUILD_ROOT%{docdir}/%{web}/ChangeLog
 rm -f $RPM_BUILD_ROOT%{docdir}/%{web}/CONTACT
@@ -154,6 +265,8 @@ rm -f $RPM_BUILD_ROOT%{docdir}/%{web}/TODO
 # setup the docs dir
 mkdir -p docs/%{bimagemgr}
 mkdir docs/%{web}
+mkdir docs/%{brestore}
+mkdir docs/%{bweb}
 
 cp -p %{bimagemgr}-%{version}/README docs/%{bimagemgr}/
 cp -p %{bimagemgr}-%{version}/COPYING docs/%{bimagemgr}/
@@ -167,6 +280,14 @@ cp -p %{web}-%{version}/CONTACT docs/%{web}/
 cp -p %{web}-%{version}/COPYING docs/%{web}/
 cp -p bacula-docs-%{version}/%{web}/%{web}.pdf docs/%{web}/
 
+cp -p %{brestore}-%{version}/README docs/%{brestore}/
+cp -p %{brestore}-%{version}/COPYING docs/%{brestore}/
+cp -p %{brestore}-%{version}/ReleaseNotes docs/%{brestore}/
+
+cp -p %{bweb}-%{version}/INSTALL docs/%{bweb}/
+cp -p %{bweb}-%{version}/COPYING docs/%{bweb}/
+cp -p %{bweb}-%{version}/ReleaseNotes docs/%{bweb}/
+
 %clean
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
 rm -rf docs
@@ -206,16 +327,98 @@ rm -rf docs
 %{docdir}/%{web}/templates
 %{docdir}/%{web}/templates_c
 
-%post bimagemgr
+%files libbweb
+%defattr(-,root,root)
+%{perl_sitearch}/*.pm
+
+%files brestore
+%defattr(-,root,root)
+/usr/bin/brestore.pl
+/usr/share/brestore/brestore.glade
+/usr/share/applications/brestore.desktop
+/usr/share/pixmaps/brestore.png
+%doc docs/%{brestore}/*
+%if !%{suse}
+# add the console helper files
+%config(noreplace,missingok) /etc/pam.d/brestore
+%config(noreplace,missingok) /etc/security/console.apps/brestore
+/usr/bin/brestore
+%endif
 
+%files bweb
+%defattr(-,%{binowner},%{bingroup})
+%{cgidir}/bweb/*.pl
+/usr/share/bweb/tpl/*.tpl
+%{docdir}/bweb/*
+%{sysconfdir}/bweb-postgresql.sql
+%doc docs/%{bweb}/*
+
+%defattr(-,%{binowner},%{datagroup})
+%dir %{sysconfdir}
+
+%defattr(-,%{dataowner},%{datagroup})
+%{sysconfdir}/bweb.conf
+
+%post bimagemgr
+%if %{suse}
 # add the web server user to group bacula
 %{groupmod} -A %{dataowner} bacula
+%else
+# do it the hard way
+cp -p %{groupfile} %{groupfile}.old
+awk '{if (/bacula:/) print $0",%{dataowner}"; else print $0}' %{groupfile}.old > %{groupfile}
+%endif
 
 %postun bimagemgr
+%if %{suse}
+# remove the web server user to group bacula
+%{groupmod} -R %{dataowner} bacula
+%else
+echo
+echo "You should remove user %{dataowner} from group bacula."
+echo
+%endif
+
+%post bweb
+%if %{suse}
+# add the web server user to group bacula
+%{groupmod} -A %{dataowner} bacula
+%else
+# do it the hard way
+cp -p %{groupfile} %{groupfile}.old
+awk '{if (/bacula:/) print $0",%{dataowner}"; else print $0}' %{groupfile}.old > %{groupfile}
+%endif
+echo
+echo If you are using postgresql, you should load %{sysconfdir}/bweb-postgresql.sql into
+echo your database.
+echo postgres:~$ psql bacula < %{sysconfdir}/bweb-postgresql.sql
+echo
+
+%postun bweb
+%if %{suse}
 # remove the web server user to group bacula
 %{groupmod} -R %{dataowner} bacula
+%else
+echo
+echo "You should remove user %{dataowner} from group bacula."
+echo
+%endif
 
 %changelog
+* Sun Dec 31 2006 ebl
+- move /etc/bweb/config to /etc/bacula/bweb.conf
+* Sun Sep 24 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- it's bweb not brestore that needs to add dataowner to group bacula
+- brestore will need to run xsu or consolehelper
+* Sun Sep 03 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- seems that groupmod -A or -R is only available on SuSE
+- use awk or add warning for other platforms
+* Sat Aug 26 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add brestore menu entry and post script
+- add /etc/bweb/bweb-postgresql.sql
+- add bweb and brestore docs
+* Sun Aug 20 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add libbweb, bweb and brestore packages
 * Sun May 14 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>
 - add bimagemgr manual
 * Sun May 07 2006 D. Scott Barninger <barninger at fairfieldcomputers.com>