X-Git-Url: http://git.pld-linux.org/?p=packages%2FBackupPC.git;a=blobdiff_plain;f=BackupPC.spec;h=827392ae3e09ffb55a2d456af2e925cd5231d0b4;hp=6813d7f9932327be903d5ff0cae6d1520399b22e;hb=c821092f66925cff1b7e8b40d3808bfb7f7c9fc9;hpb=dbca77df21c9070f8c1e5697fdfa36504b85072d diff --git a/BackupPC.spec b/BackupPC.spec index 6813d7f..827392a 100644 --- a/BackupPC.spec +++ b/BackupPC.spec @@ -1,55 +1,62 @@ # - now path in browser is http://localhost/cgi/BackupPC/BackupPC_Admin # TODO: +# - trigers # - polish translation in SOURCE/backuppc-pl.pm -# - patch for service user - now is static backuppc # - 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 - directory /var/log/backuppc # - change or/and add Requires for --bin-path sendmail=%{_sbindir}/sendmail # - correct config file +%define oldname backuppc %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.2 -Release: 2 +Summary: A high-performance, enterprise-grade system for backing up +Summary(pl.UTF-8): Wysoko wydajny, profesjonalnej klasy system do kopii zapasowych +Name: BackupPC +Version: 3.0.0 +Release: 0.1 License: GPL Group: Networking/Utilities -Source0: http://dl.sourceforge.net/backuppc/BackupPC-%{version}.tar.gz -# Source0-md5: 72fc0f09084f44c42ba5d22451cfe29b -Source1: %{name}_apache.conf -Source2: %{name}_htaccess -Source3: %{name}-pl.pm -Patch0: %{name}-usernotexist.patch -Patch1: %{name}-pathtodocs.patch +Source0: http://dl.sourceforge.net/backuppc/%{name}-%{version}.tar.gz +# Source0-md5: dc37728c1dc9225354523f279045f3f3 +Source1: %{oldname}_apache.conf +Source2: %{oldname}-pl.pm +Patch0: %{oldname}-usernotexist.patch +Patch1: %{oldname}-pathtodocs.patch URL: http://backuppc.sourceforge.net/ BuildRequires: perl-Compress-Zlib BuildRequires: perl-Digest-MD5 BuildRequires: perl-devel >= 1:5.6.0 BuildRequires: rpm-perlprov -BuildRequires: rpmbuild(macros) >= 1.202 +BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: sed >= 4.0 -Requires: apache -Requires: perl-File-RsyncP >= 0.52 -Requires: perl-Compress-Zlib +Requires(post,preun): /sbin/chkconfig +Requires: apache(mod_auth) +Requires: apache(mod_perl) +Requires: par2cmdline Requires: perl-Archive-Zip Requires: perl-Compress-Bzip2 +Requires: perl-Compress-Zlib +Requires: perl-File-RsyncP >= 0.52 +Requires: rc-scripts Requires: rsync -Requires: apache-mod_perl -Requires: par2cmdline Requires: samba-client Requires: sperl Requires: tar > 1.13 +Requires: webapps Provides: group(%{BPCgroup}) Provides: user(%{BPCuser}) Obsoletes: BackupPC +Obsoletes: backuppc BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _webapps /etc/webapps +%define _webapp %{name} +%define _libdir /usr/lib + %description BackupPC is disk based and not tape based. This particularity allows features not found in any other backup solution: @@ -77,57 +84,54 @@ features not found in any other backup solution: performed in parallel. - and more to discover in the manual... -%description -l pl -BackupPC jest oparty na dyskach, a nie ta¶mach. Ta osobliwo¶æ daje -mo¿liwo¶ci, których nie maj± inne rozwi±zania problemu kopii +%description -l pl.UTF-8 +BackupPC jest oparty na dyskach, a nie taśmach. Ta osobliwość daje +możliwości, których nie mają inne rozwiązania problemu kopii zapasowych: -- Inteligentny schemat ¶ci±gania minimalizuje zajmowane miejsce i - ilo¶æ operacji wej¶cia/wyj¶cia na dysku. Takie same pliki s± - przechowywane tylko raz (przy u¿yciu twardych dowi±zañ), co daje - znacz±c± oszczêdno¶æ w miejscu na dysku i czasie zapisu. +- Inteligentny schemat ściągania minimalizuje zajmowane miejsce i + ilość operacji wejścia/wyjścia na dysku. Takie same pliki są + przechowywane tylko raz (przy użyciu twardych dowiązań), co daje + znaczącą oszczędność w miejscu na dysku i czasie zapisu. - Opcjonalna kompresja pozwala na dalsze ograniczenie rozmiaru. - Obci±¿enie procesora jest ma³e, poniewa¿ tylko nowe pliki musz± byæ + Obciążenie procesora jest małe, ponieważ tylko nowe pliki muszą być kompresowane. -- Potê¿ny interfejs u¿ytkownika HTTP/CGI pozwala administratorom - przegl±daæ pliki logów, konfiguracjê i aktualny stan oraz u¿ytkownikom - rozpoczynaæ lub przerywaæ tworzenie kopii oraz szybko przegl±daæ i - odtwarzaæ pliki z kopii zapasowych. +- Potężny interfejs użytkownika HTTP/CGI pozwala administratorom + przeglądać pliki logów, konfigurację i aktualny stan oraz 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 lub rsync (specjalnie przygotowana wersja - pod cygwinem). Na klientach linuksowych lub uniksowych mo¿na u¿ywaæ + 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 +- 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 interfejsu CGI. -- BackupPC obs³uguje ¶rodowiska przeno¶ne, gdzie laptopy s± pod³±czane - do sieci tylko z przerwami i maj± dynamiczne adresy IP (z DHCP). -- Elastyczna konfiguracja parametrów pozwala na wykonywanie wielu - kopii równolegle. -- Wiele wiêcej mo¿na odkryæ w manualu... +- BackupPC obsługuje środowiska przenośne, gdzie laptopy są podłączane + do sieci tylko z przerwami i mają dynamiczne adresy IP (z DHCP). +- Elastyczna konfiguracja parametrów pozwala na wykonywanie wielu + kopii równolegle. +- Istnieje możliwość nagrywania backupu na inne nośniki (tasmy, + DVD-R/RW, CD-R/RW i inne) +- Wiele więcej można odkryć w manualu... %prep -%setup -q -n BackupPC-%{version} -%patch0 -p1 -%patch1 -p1 +%setup -q -%build sed -i -e 's#!/bin/perl#!%{__perl}#' configure.pl sed -i -e 's#!/bin/perl#!%{__perl}#' {bin,cgi-bin,doc}/* 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 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,httpd/httpd.conf} \ +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,html/doc} \ - $RPM_BUILD_ROOT%{_var}/{lib/%{name}/pc/localhost,log} \ + $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/doc \ + $RPM_BUILD_ROOT%{_var}/{lib/%{name}/{pc/localhost,log},log} \ $RPM_BUILD_ROOT%{_datadir}/%{name}/conf \ $RPM_BUILD_ROOT%{_sysconfdir}/%{name} @@ -155,29 +159,29 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,httpd/httpd.conf} \ --html-dir %{_datadir}/%{name}/www/html \ --html-dir-url /BackupPC \ --install-dir %{_usr} \ - --uid-ignore -# --config-path + --uid-ignore \ + --no-set-perms \ + --fhs \ + --dest-dir $RPM_BUILD_ROOT \ + --compress-level=3 \ + --backuppc-user=%{BPCuser} +# --config-path=%{_sysconfdir}/%{name}/config.pl #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 +#sed -i -e "s#'backuppc';#'%{BPCuser}';#" $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.pl +#sed -i -e 's/$Conf{SendmailPath} =/#$Conf{SendmailPath} =/' $RPM_BUILD_ROOTT%{_sysconfdir}/%{name}/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%{_datadir}/%{name}/www/cgi-bin/.htaccess install backuppc.8 $RPM_BUILD_ROOT%{_mandir}/man8 -#install %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/BackupPC/Lang/pl.pm +install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/BackupPC/Lang/pl.pm install doc/* $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/doc # Cleanups: rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/CVS -rm -rdf $RPM_BUILD_ROOT/usr/doc +rm -rdf $RPM_BUILD_ROOT%{_prefix}/doc # symlinks -mv $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name} -rm -rdf $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf - cd $RPM_BUILD_ROOT%{_var}/lib/%{name} ln -sf %{_sysconfdir}/%{name} $RPM_BUILD_ROOT%{_var}/lib/%{name}/conf @@ -187,45 +191,34 @@ ln -sf %{_var}/lib/%{name}/log %{name} cd $RPM_BUILD_ROOT%{_datadir}/%{name}/www/cgi-bin ln -sf BackupPC_Admin index.cgi -mv $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/BackupPC_stnd.css \ - $RPM_BUILD_ROOT/%{_sysconfdir}/%{name} +mv $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html/*.css \ + $RPM_BUILD_ROOT%{_sysconfdir}/%{name} cd $RPM_BUILD_ROOT%{_datadir}/%{name}/www/html ln -sf %{_sysconfdir}/%{name}/BackupPC_stnd.css BackupPC_stnd.css +ln -sf %{_sysconfdir}/%{name}/BackupPC_stnd.css BackupPC.css +install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp} +install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf +install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf +touch $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/htpasswd %if 0 - %pre # Add the "backuppc" user and "http" group %groupadd -g 150 %{BPCgroup} %useradd -c "system user for %{name}" -u 150 -d /var/lib/backuppc -s /bin/false -g %{BPCgroup} %{BPCuser} %endif +%post +%service backuppc restart "BackupPC" + %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/backuppc ]; then - /etc/rc.d/init.d/backuppc stop - fi + %service backuppc stop /sbin/chkconfig --del backuppc fi - -%post -if [ ! -f /etc/backuppc/password ]; then -# FIXME? $PASS variable cames from? - openssl rand -base64 6 > $PASS - /usr/bin/htpasswd -cb /etc/backuppc/password admin $PASS - echo "Your web pasword is: $PASS ." - echo "Change this: htpasswd -b /etc/backuppc/password user password" -fi - -if [ -f /var/lock/subsys/backuppc ]; then - /etc/rc.d/init.d/backuppc restart -else - echo "Run \"/etc/rc.d/init.d/backuppc start\" to start BackupPC." -fi - %postun if [ "$1" = "0" ]; then %userremove %{BPCuser} @@ -239,24 +232,30 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/* %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/html/doc %{_datadir}/%{name}/www/html/doc/* %dir %{_datadir}/%{name}/www %dir %{_datadir}/%{name}/www/html %dir %{_datadir}/%{name}/www/cgi-bin +%{_datadir}/%{name}/www/html/*.png %{_datadir}/%{name}/www/html/*.gif -%config(noreplace) %verify(not md5 mtime size) %{_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 +%config(noreplace) %verify(not md5 mtime size) %{_datadir}/%{name}/www/html/*.css +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/CGI/* +%{_libdir}/%{name}/Xfer/* +%dir %{_libdir}/%{name}/Storage +%{_libdir}/%{name}/Storage/* +%{_libdir}/%{name}/Zip/* +%dir %{_libdir}/%{name}/Config +%{_libdir}/%{name}/Config/* +%{_libdir}/%{name}/Attrib.pm +%{_libdir}/%{name}/Config.pm +%{_libdir}/%{name}/FileZIO.pm +%{_libdir}/%{name}/Lib.pm +%{_libdir}/%{name}/PoolWrite.pm +%{_libdir}/%{name}/Storage.pm +%{_libdir}/%{name}/View.pm %dir %attr(755,%{BPCuser},%{BPCgroup}) %{_libdir}/BackupPC/Lang %lang(en) %{_libdir}/BackupPC/Lang/en.pm %lang(de) %{_libdir}/BackupPC/Lang/de.pm @@ -264,7 +263,8 @@ rm -rf $RPM_BUILD_ROOT %lang(es) %{_libdir}/BackupPC/Lang/es.pm %lang(it) %{_libdir}/BackupPC/Lang/it.pm %lang(nl) %{_libdir}/BackupPC/Lang/nl.pm -#%lang(pl) %{_libdir}/BackupPC/Lang/pl.pm +%lang(pl) %{_libdir}/BackupPC/Lang/pl.pm +%lang(pt_br) %{_libdir}/BackupPC/Lang/pt_br.pm %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name} %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/cpool %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/log @@ -274,7 +274,10 @@ rm -rf $RPM_BUILD_ROOT %dir %attr(755,%{BPCuser},%{BPCgroup}) %{_var}/lib/%{name}/conf %dir %attr(750,%{BPCuser},%{BPCgroup}) %{_var}/log/%{name} %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 mtime size) %attr(644,%{BPCuser},%{BPCgroup}) %{_sysconfdir}/%{name}/* %{_mandir}/man8/backuppc* +%config(noreplace) %verify(not md5 mtime size) %attr(644,%{BPCuser},%{BPCgroup}) %{_sysconfdir}/%{name}/* +%dir %attr(750,root,http) %{_webapps}/%{_webapp} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/htpasswd