-#TO DO:
-# - polish translation %{_libdir}/BackupPC/Lang/pl.pm
-
-%define BPCuser backuppc
-%define BPCgroup backuppc
+# - now path in browser is http://localhost/cgi/BackupPC/BackupPC_Admin
+# TODO:
+# - patch for service user - now is static backuppc
+# - edit apache configuration, autorizations - SOURCES: backuppc_apache.conf
+# - patch at user and gid/uid user - http://sourceforge.net/mailarchive/forum.php?thread_id=6201024&forum_id=17540
+# - compliant to FHS - http://sourceforge.net/mailarchive/forum.php?thread_id=5602342&forum_id=17540
+# - change or/and add Requires for --bin-path sendmail=%{_sbindir}/sendmail
+# - ping not working --bin-path ping=/bin/ping
+
+%define BPCuser http
+%define BPCgroup http
%include /usr/lib/rpm/macros.perl
Summary: A high-performance, enterprise-grade system for backing up PCs
Summary(pl): Wysoko wydajny, profesjonalnej klasy system do kopii zapasowych z PC
Name: backuppc
-Version: 2.1.0
-Release: 0.5
+Version: 2.1.1
+Release: 0.1
License: GPL
Group: Networking/Utilities
Source0: http://dl.sourceforge.net/backuppc/BackupPC-%{version}.tar.gz
-# Source0-md5: 4e201f00842c88cf241e0429643c6ec4
+# Source0-md5: fadbce1c3d4679dffc98514e48ed7917
Source1: %{name}_apache.conf
Source2: %{name}_htaccess
+Source3: %{name}-pl.pm
Patch0: %{name}-usernotexist.patch
URL: http://backuppc.sourceforge.net/
BuildRequires: perl-Compress-Zlib
BuildRequires: perl-base
BuildRequires: perl-devel >= 1:5.6.0
BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: sed >= 4.0
Requires: apache
+Requires: apache-mod_perl
Requires: samba-client
Requires: sperl
Requires: tar > 1.13
u¿ytkownikom rozpoczynaæ lub przerywaæ tworzenie kopii oraz szybko
przegl±daæ i odtwarzaæ pliki z kopii zapasowych.
- Nie jest wymagane oprogramowanie po stronie klienta. Na WinXX
- u¿ywany jest protokó³ SMB. Na klientach linuksowych lub uniksowych
- mo¿na u¿ywaæ rsynca lub tara (po ssh/rsh/NFS).
+ u¿ywany jest protokó³ SMB lub rsync (specjalnie przygotowana wersja
+ pod cygwinem). Na klientach linuksowych lub uniksowych mo¿na u¿ywaæ
+ rsynca lub tara (po ssh/rsh/NFS).
- Dostêpne s± elastyczne opcje odzyskiwania. Mo¿na ¶ci±gaæ pojedyncze
pliki z kopii bezpo¶rednio z interfejsu CGI. Tak¿e archiwa zip lub
tar z wybranymi plikami lub katalogami mog± byæ ¶ci±gane z poziomu
sed -i -e 's#!/bin/perl#!%{__perl}#' */src/*
sed -i -e 's#!/bin/perl#!%{__perl}#' */*/*/*.pm
+
+
pod2man --section=8 --center="BackupPC manual" doc/BackupPC.pod backuppc.8
-perl -e "s/.IX Title.*/.SH NAME\nbackuppc \\- BackupPC manual/g" -p -i.tmp backuppc.8
+%{__perl} -e "s/.IX Title.*/.SH NAME\nbackuppc \\- BackupPC manual/g" -p -i.tmp backuppc.8
%install
rm -rf $RPM_BUILD_ROOT
-install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,httpd/httpd.conf} \
- $RPM_BUILD_ROOT%{_usr}/share/%{name}/www/html \
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,httpd/httpd.conf} \
+ $RPM_BUILD_ROOT%{_mandir}/man8 \
+ $RPM_BUILD_ROOT%{_datadir}/%{name}/www/{html,cgi-bin} \
$RPM_BUILD_ROOT%{_var}/{lib/%{name}/pc/localhost,log} \
$RPM_BUILD_ROOT%{_datadir}/%{name}/conf \
- $RPM_BUILD_ROOT/home/services/httpd/cgi-bin/%{name}
%{__perl} configure.pl \
--batch \
--bin-path smbclient=%{_bindir}/smbclient \
--bin-path nmblookup=%{_bindir}/nmblookup \
--bin-path rsync=%{_bindir}/rsync \
- --bin-path ping=/bin/ping \
+ --bin-path ping=/bin/echo \
--bin-path df=/bin/df \
--bin-path ssh=%{_bindir}/ssh \
--bin-path sendmail=%{_sbindir}/sendmail \
--bin-path cat=/bin/cat \
--bin-path gzip=/bin/gzip \
--bin-path bzip2=%{_bindir}/bzip2 \
- --cgi-dir /home/services/httpd/cgi-bin/%{name} \
+ --cgi-dir %{_datadir}/%{name}/www/cgi-bin \
--data-dir %{_var}/lib/%{name} \
--dest-dir $RPM_BUILD_ROOT \
--hostname localhost \
- --html-dir %{_usr}/share/%{name}/www/html \
+ --html-dir %{_datadir}/%{name}/www/html \
--html-dir-url /BackupPC \
- --install-dir %{_usr} \
+ --install-dir %{_usr} \
--uid-ignore
# --config-path
-install init.d/linux-backuppc $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/backuppc
-install conf/BackupPC_stnd.css $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf/BackupPC_stnd.css
+#change user in init script
+sed -i -e 's#--user backuppc#--user %{BPCuser}#' init.d/linux-backuppc
+#change user in config file
+sed -i -e "s#'backuppc';#'%{BPCuser}';#" $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf/config.pl
+sed -i -e 's/$Conf{SendmailPath} =/#$Conf{SendmailPath} =/' $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf/config.pl
+
+install init.d/linux-backuppc $RPM_BUILD_ROOT/etc/rc.d/init.d/backuppc
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/httpd.conf/93_backuppc.conf
-install %{SOURCE2} $RPM_BUILD_ROOT/home/services/httpd/cgi-bin/%{name}/.htaccess
+install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}/www/cgi-bin/.htaccess
+install backuppc.8 $RPM_BUILD_ROOT%{_mandir}/man8
+cp %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/BackupPC/Lang/pl.pm
# Cleanups:
rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/CVS
# symlinks
cd $RPM_BUILD_ROOT%{_sysconfdir}
-ln -s %{_var}/lib/%{name}/conf %{name}
+ln -sf %{_var}/lib/%{name}/conf %{name}
cd $RPM_BUILD_ROOT%{_var}/log
-ln -s %{_var}/lib/%{name}/log %{name}
+ln -sf %{_var}/lib/%{name}/log %{name}
+
+cd $RPM_BUILD_ROOT%{_datadir}/%{name}/www/cgi-bin
+ln -sf BackupPC_Admin index.cgi
+
+cd $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf
+ln -sf %{_datadir}/%{name}/www/html/BackupPC_stnd.css BackupPC_stnd.css
-cd $RPM_BUILD_ROOT/home/services/httpd/cgi-bin/%{name}
-ln -s /home/services/httpd/cgi-bin/%{name}/BackupPC_Admin index.cgi
%pre
# Add the "backuppc" user and group
-if [ -n "`/usr/bin/getgid %{BPCgroup}`" ]; then
- if [ "`/usr/bin/getgid %{BPCgroup}`" != "150" ]; then
- echo "Error: group %{BPCgroup} doesn't have gid=150. Correct this before installing %{name}." 1>&2
- exit 1
- fi
-else
- /usr/sbin/groupadd -g 150 %{BPCgroup}
-fi
-if [ -n "`/bin/id -u %{BPCuser} 2>/dev/null`" ]; then
- if [ "`/bin/id -u %{BPCuser}`" != 150 ]; then
- echo "Error: user %{BPCuser} doesn't have uid=150. Correct this before installing %{name}." 1>&2
- exit 1
- fi
-else
- /usr/sbin/useradd -c "system user for %{name}" -u 150 \
- -d /home/services/BackupPC -s /bin/false -g %{BPCgroup} %{BPCuser} 1>&2
-fi
+#if [ -n "`/usr/bin/getgid %{BPCgroup}`" ]; then
+# if [ "`/usr/bin/getgid %{BPCgroup}`" != "150" ]; then
+# echo "Error: group %{BPCgroup} doesn't have gid=150. Correct this before installing %{name}." 1>&2
+# exit 1
+# fi
+#else
+# /usr/sbin/groupadd -g 150 %{BPCgroup}
+#fi
+#if [ -n "`/bin/id -u %{BPCuser} 2>/dev/null`" ]; then
+# if [ "`/bin/id -u %{BPCuser}`" != 150 ]; then
+# echo "Error: user %{BPCuser} doesn't have uid=150. Correct this before installing %{name}." 1>&2
+# exit 1
+# fi
+#else
+# /usr/sbin/useradd -c "system user for %{name}" -u 150 \
+# -d /home/services/BackupPC -s /bin/false -g %{BPCgroup} %{BPCuser} 1>&2
+#fi
%post
/etc/init.d/backuppc restart
%attr(755,root,root) %{_bindir}/*
%doc %{_usr}/doc/*.html
%doc %{_usr}/doc/BackupPC.pod
-%dir /home/services/httpd/cgi-bin/%{name}/
-%attr(755,root,root)/home/services/httpd/cgi-bin/%{name}/*
-%dir %{_usr}/share/%{name}/www/html/
-%{_usr}/share/%{name}/www/html/*
-%dir %{_libdir}/BackupPC/
-%{_libdir}/BackupPC/CGI/*
-%{_libdir}/BackupPC/Xfer/*
-%{_libdir}/BackupPC/Zip/*
+%attr(755,root,root) %{_datadir}/%{name}/www/cgi-bin/BackupPC_Admin
+%config(noreplace) %verify(not md5 size mtime) %{_datadir}/%{name}/www/cgi-bin/.htaccess
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/www
+%dir %{_datadir}/%{name}/www/html
+%dir %{_datadir}/%{name}/www/cgi-bin
+%{_datadir}/%{name}/www/html/*.gif
+%config(noreplace) %verify(not md5 size mtime) %{_datadir}/%{name}/www/html/BackupPC_stnd.css
+%dir %{_libdir}/BackupPC
+%{_libdir}/BackupPC/Attrib.pm
+%{_libdir}/BackupPC/FileZIO.pm
+%{_libdir}/BackupPC/Lib.pm
+%{_libdir}/BackupPC/PoolWrite.pm
+%{_libdir}/BackupPC/View.pm
+%{_libdir}/BackupPC/CGI
+%{_libdir}/BackupPC/Xfer
+%{_libdir}/BackupPC/Zip
+%dir %{_libdir}/BackupPC/Lang
%lang(en) %{_libdir}/BackupPC/Lang/en.pm
%lang(de) %{_libdir}/BackupPC/Lang/de.pm
%lang(fr) %{_libdir}/BackupPC/Lang/fr.pm
%lang(es) %{_libdir}/BackupPC/Lang/es.pm
%lang(it) %{_libdir}/BackupPC/Lang/it.pm
%lang(nl) %{_libdir}/BackupPC/Lang/nl.pm
-%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/cpool/
-%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/log/
-%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pc/
-%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pool/
-%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/trash/
-%dir %{_var}/lib/%{name}/conf/
+%lang(pl) %{_libdir}/BackupPC/Lang/pl.pm
+%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/cpool
+%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/log
+%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pc
+%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/pool
+%dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/trash
+%dir %attr(755,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/conf
%dir %{_var}/log/%{name}
-%attr(755,root,root) %{_sysconfdir}/rc.d/init.d/backuppc
+%attr(754,root,root) /etc/rc.d/init.d/backuppc
%{_sysconfdir}/httpd/httpd.conf/93_backuppc.conf
%dir %{_sysconfdir}/%{name}
-%config(noreplace) %verify(not md5 size mtime) %attr(640,root,root) /home/services/httpd/cgi-bin/%{name}/.htaccess
-%config(noreplace) %verify(not md5 size mtime) %{_var}/lib/%{name}/conf/*
+%dir %{_var}/lib/%{name}
+%config(noreplace) %verify(not md5 size mtime) %attr(644,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/conf/*
+%{_mandir}/man8/backuppc*