X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=gui%2Fbacula-gui.spec.in;h=02097bf76b763b7e891a197574890f16374e729b;hb=0912d2a317fc067f8b46dd86f73264f101a54790;hp=5b7a5e3dc69a3350b64d11d54b4cc7c011f6cd0d;hpb=0a654f5f31d7cd14a19737b22a2426e991651ab9;p=bacula%2Fbacula diff --git a/gui/bacula-gui.spec.in b/gui/bacula-gui.spec.in index 5b7a5e3dc6..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 @@ -41,15 +43,20 @@ exit 1 %define datagroup www %endif +%define groupmod /usr/sbin/groupmod +%define groupfile /etc/group + Summary: Bacula - The Network Backup Solution Name: bacula-gui Version: @VERSION@ Release: 1 Group: System Environment/Daemons -Copyright: GPL v2 +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 @@ -102,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 @@ -118,9 +179,25 @@ 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}/ +cp -p %{bimagemgr}-%{version}/config.pm $RPM_BUILD_ROOT%{cgidir}/ cp -p %{bimagemgr}-%{version}/create_cdimage_table.pl $RPM_BUILD_ROOT%{sysconfdir}/ cp -p %{bimagemgr}-%{version}/README $RPM_BUILD_ROOT%{sysconfdir}/README.bimagemgr cp -p %{bimagemgr}-%{version}/bimagemgr.gif $RPM_BUILD_ROOT%{docdir}/ @@ -129,6 +206,7 @@ cp -p %{bimagemgr}-%{version}/clearpixel.gif $RPM_BUILD_ROOT%{docdir}/ cp -p %{bimagemgr}-%{version}/temp.html $RPM_BUILD_ROOT%{docdir}/ chmod 755 $RPM_BUILD_ROOT%{cgidir}/bimagemgr.pl +chmod 750 $RPM_BUILD_ROOT%{cgidir}/config.pm chmod 750 $RPM_BUILD_ROOT%{sysconfdir}/create_cdimage_table.pl chmod 644 $RPM_BUILD_ROOT%{sysconfdir}/README.bimagemgr chmod 644 $RPM_BUILD_ROOT%{docdir}/*.gif @@ -140,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 @@ -150,8 +265,14 @@ 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}/ +cp -p %{bimagemgr}-%{version}/ChangeLog docs/%{bimagemgr}/ +cp -p %{bimagemgr}-%{version}/ReleaseNotes docs/%{bimagemgr}/ +cp -p bacula-docs-%{version}/manual/%{bimagemgr}.pdf docs/%{bimagemgr}/ cp -p %{web}-%{version}/README docs/%{web}/ cp -p %{web}-%{version}/ChangeLog docs/%{web}/ @@ -159,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 @@ -177,6 +306,7 @@ rm -rf docs %defattr(-,%{dataowner},%{datagroup}) %{docdir}/temp.html +%config(noreplace) %{cgidir}/config.pm %files web %defattr(-,root,root) @@ -197,10 +327,105 @@ rm -rf docs %{docdir}/%{web}/templates %{docdir}/%{web}/templates_c +%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 - refine files section for web - add documentation +- add config.pm for bimagemgr +- add post script bimagemgr to add web server user to group bacula * Sat May 06 2006 D. Scott Barninger - was bimagemgr spec convert to bacula-gui spec. include bacula-web * Thu Dec 09 2004 D. Scott Barninger