backuppc.spec - BackupPC ver 2.1.0

Michał Panasiewicz wolvverine w tarchomin.pl
Pią, 26 Lis 2004, 19:52:53 CET


Dnia 26-11-2004, pią o godzinie 18:21 +0100, Andrzej Krzysztofowicz
napisał(a):
> =?iso-8859-2?Q?Micha=B3?= Panasiewicz wrote:
> > Dnia 26-11-2004, pią o godzinie 16:01 +0100, Andrzej Krzysztofowicz
> > napisał(a):
> > > =?iso-8859-2?Q?Micha=B3?= Panasiewicz wrote:
> > > > 
> > > > wersja ta jest jescze nieskonczona (%macra, uprawnienia) 
> > > > ale sie buduje i powinna działać.
> > > > robiona na podstawie speca w repozytorium (ktory nie działa)
> > > > 
> > > > 
> > > > przed budowanie trzeba utworzyć użytkownika i grupe
> > > > user:  backuppc:30
> > > > group: backuppc:110
> > > 
> > > Pierpszy numer jest juz zajety:
> > > 
> > > 30      pdns            pdns            no shell, no home, PowerDNS package
> > > 
> > 
> > no to jakis inny i w specu zmienic
> > pytanie jaki , i na przyszłosc czy jest przyznawanie numerów grup userów
> > jakos odgórnie uregulowane??? 
> 
> Tak
> PLD-doc/uid_gid.db.txt
> 
> I uzytkownikow sie dodaje nie przed zbudowaniem, a podczas instalacji
> pakietu, ktory go potrzebuje.

tutaj budowanie pakietu jest instalacją

poprawiona wersja w załączniku



-- 
jabber: wolvverine [ at ] chrome [ dot ] pl 
e-mail: wolvverine [ at ] tlen   [ dot ] pl 
-------------- następna część ---------
# $Revision: 1.5 $, $Date: 2004/11/05 10:40:37 $
%define BPCuser backuppc
%define BPCgroup backuppc
%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:	2
License:	GPL
Group:		Networking/Utilities
Source0:	http://dl.sourceforge.net/backuppc/BackupPC-%{version}.tar.gz
#Patch0:
URL:		http://backuppc.sourceforge.net/

BuildRequires:	fakeroot
BuildRequires:  perl-base
BuildRequires:	perl-devel >= 1:5.6.0
BuildRequires:	perl-Compress-Zlib
BuildRequires:	perl-Digest-MD5

Requires:  	perl-base
Requires:	tar > 1.13
Requires:	samba-client
Requires:	sperl
Requires:	webserver
Requires:	perl-Archive-Zip

Obsoletes:	BackupPC

BuildArch:	noarch
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
BackupPC is disk based and not tape based. This particularity allows
features not found in any other backup solution:
- Clever pooling scheme minimizes disk storage and disk I/O.
  Identical files across multiple backups of the same or different PC
  are stored only once (using hard links), resulting in substantial
  savings in disk storage and disk writes.
- Optional compression provides additional reductions in storage.
  CPU impact of compression is low since only new files (those not
  already in the pool) need to be compressed.
- A powerful http/cgi user interface allows administrators to view
  log files, configuration, current status and allows users to
  initiate and cancel backups and browse and restore files from
  backups very quickly.
- No client-side software is needed. On WinXX the SMB protocol is
  used. On Linux or unix clients, rsync or tar (over ssh/rsh/NFS) can
  be used.
- Flexible restore options. Single files can be downloaded from any
  backup directly from the CGI interface. Zip or Tar archives for
  selected files or directories can also be downloaded from the CGI
  interface.
- BackupPC supports mobile environments where laptops are only
  intermittently connected to the network and have dynamic IP
  addresses (DHCP).
- Flexible configuration parameters allow multiple backups to be
  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
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.
- Opcjonalna kompresja pozwala na dalsze ograniczenie rozmiaru.
  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.
- 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).
- 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...

%prep
%setup -q -n BackupPC-%{version}

%install
rm -rf $RPM_BUILD_ROOT

install -d $RPM_BUILD_ROOT{rc.d/init.d,backuppc,httpd/httpd.conf}
install -d $RPM_BUILD_ROOT%{_mandir}/man8/
install -d $RPM_BUILD_ROOT/var/lib/backuppc/pc/localhost


fakeroot %{__perl} configure.pl \
		--batch  \
    		--cgi-dir %{_datadir}/BackupPC/cgi-bin \
	        --data-dir /home/services/BackupPC \
		--dest-dir $RPM_BUILD_ROOT \
		--hostname localhost \
		--html-dir %{_var}/share/BackupPC/www/html \
		--html-dir-url /BackupPC \
		--install-dir %{_usr} \
		--uid-ignore
			
				

pod2man --section=8 --center="BackupPC manual" doc/BackupPC.pod doc/backuppc.8
#perl -e "s/.IX Title.*/.SH NAME\nbackuppc \\- BackupPC manual/g" -p -i.tmp backuppc.8
#rm -f $RPM_BUILD_ROOT%{_datadir}/backuppc/doc/*
#mv -f $RPM_BUILD_ROOT/var/lib/backuppc/conf/* $RPM_BUILD_ROOT/etc/backuppc
#mv -f $RPM_BUILD_ROOT%{_datadir}/backuppc/cgi-bin/* $RPM_BUILD_ROOT%{_datadir}/backuppc/cgi-bin/index.cgi
install --mode=755 init.d/linux-backuppc $RPM_BUILD_ROOT/etc/rc.d/init.d/
install --mode=644 conf/hosts $RPM_BUILD_ROOT/etc/backuppc
install --mode=644 doc/backuppc.8 $RPM_BUILD_ROOT%{_mandir}/man8/
install --mode=644 conf/BackupPC_stnd.css  $RPM_BUILD_ROOT/etc/backuppc
install --mode=644 conf/config.pl $RPM_BUILD_ROOT/etc/backuppc
#install --mode=644 debian/apache.conf $RPM_BUILD_ROOT/etc/httpd/httpd.conf/93_backuppc.conf
#(cd $RPM_BUILD_ROOT%{_datadir}/backuppc/cgi-bin; ln -s ../image)

cp $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/linux-backuppc $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/backuppc
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/linux-backuppc

gzip -c9 $RPM_BUILD_ROOT%{_mandir}/man8/backuppc.8
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/backuppc.8

%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 "systemowy użytkownik dla %{name}" -u 150 -r -d /home/services/BackupPC -s /bin/false -g %{BPCgroup} %{BPCuser} 1>&2
fi


%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(644,root,root,755)
%attr(750,root,root) %dir %{_var}/lib/backuppc
%attr(750,root,root) %{_var}/lib/backuppc/*
%attr(750,root,root) %dir /home/services/BackupPC
%attr(750,root,root) /home/services/BackupPC/*
%attr(750,root,root) %doc %dir /usr/doc
%attr(750,root,root) %doc /usr/doc/*
%attr(750,root,root) %doc %{_mandir}/man8/backuppc.8.gz
%attr(750,root,root) %dir %{_libdir}/BackupPC
%attr(750,root,root) %{_libdir}/BackupPC/*
#attr(750,root,root) %dir %{_libdir}/BackupPC/CGI
#attr(750,root,root) %{_libdir}/BackupPC/CGI
#attr(750,root,root) %dir %{_libdir}/BackupPC/Xfer
#attr(750,root,root) %{_libdir}/BackupPC/Xfer
#attr(750,root,root) %dir %{_libdir}/BackupPC/Zip
#attr(750,root,root) %{_libdir}/BackupPC/Zip
#attr(750,root,root) %{_libdir}/BackupPC/Lang/
%attr(750,root,root) %dir %{_datadir}/BackupPC/cgi-bin
%attr(750,root,root) %{_datadir}/BackupPC/cgi-bin/*
%attr(750,root,root) %dir /var/share/BackupPC/www/html
%attr(750,root,root) /var/share/BackupPC/www/html/*
%attr(750,root,root) %{_sysconfdir}/rc.d/init.d/backuppc
%config(noreplace) %verify(not md5 size mtime) %attr(640,root,root) %{_sysconfdir}/backuppc/*
%attr(755,root,root) %{_bindir}/*

%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org

$Log: backuppc.spec,v $
Revision 1.5  2004/11/05 10:40:37  paladine
- spaces->tabs
- cosmetics

Revision 1.4  2004/08/30 15:50:27  snurf
- typo / formatting / etc.

Revision 1.3  2004/05/09 05:22:00  ankry
- BR fixes, rel. 2

Revision 1.2  2003/10/21 17:03:13  qboosh
- pl, fixed dir in files

Revision 1.1  2003/10/16 22:59:52  arekm
- just started (waiting for someone to finish it)


Więcej informacji o liście dyskusyjnej pld-devel-pl