X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=gui%2Fbacula-gui.spec.in;h=02097bf76b763b7e891a197574890f16374e729b;hb=5d241ecd8d31fcfd4ada9b2843ccd852bcbb7591;hp=523607a9dbd07c47489a4458fb5ef7fb42537840;hpb=0aa74bc3329029638e3e4600adef145821352a9d;p=bacula%2Fbacula diff --git a/gui/bacula-gui.spec.in b/gui/bacula-gui.spec.in index 523607a9db..02097bf76b 100644 --- a/gui/bacula-gui.spec.in +++ b/gui/bacula-gui.spec.in @@ -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 +- 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 +- 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 +- 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 +- add libbweb, bweb and brestore packages * Sun May 14 2006 D. Scott Barninger - add bimagemgr manual * Sun May 07 2006 D. Scott Barninger