]> git.pld-linux.org Git - packages/dar.git/blob - dar.spec
- corrected man files entry
[packages/dar.git] / dar.spec
1 #
2 # Conditional build:
3 %bcond_without  ea              # build without support for linux extented attributes
4 %bcond_without  static          # build without dar_static
5 %bcond_without  static_libs     # don't build static libraries
6 #
7 %if %{with static}
8 %define with_static_libs 1
9 %endif
10 #
11 Summary:        dar makes backup of a directory tree and files
12 Summary(pl.UTF-8):      dar - narzędzie do tworzenia kopii zapasowych drzew katalogów i plików
13 Name:           dar
14 Version:        2.3.3
15 Release:        1
16 License:        GPL v2
17 Group:          Applications/Archiving
18 Source0:        http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
19 # Source0-md5:  30b2e488f11e1ab60510fa198de23791
20 Patch0:         %{name}-opt.patch
21 URL:            http://dar.linux.free.fr/
22 %{?with_ea:BuildRequires:       attr-devel >= 2.4.16-3}
23 BuildRequires:  autoconf >= 2.59
24 BuildRequires:  automake
25 BuildRequires:  bzip2-devel
26 BuildRequires:  doxygen >= 1:1.3
27 %ifarch alpha
28 # ICE in 3.3.x up to 3.3.2 - require patched version
29 BuildRequires:  gcc-c++ >= 5:3.3.2-0.3
30 %endif
31 BuildRequires:  gettext-devel
32 BuildRequires:  groff
33 BuildRequires:  libstdc++-devel
34 BuildRequires:  libtool >= 2:1.4d
35 BuildRequires:  openssl-devel >= 0.9.7k
36 BuildRequires:  zlib-devel
37 %if %{with static}
38 %{?with_ea:BuildRequires:       attr-static}
39 BuildRequires:  bzip2-static
40 BuildRequires:  glibc-static
41 BuildRequires:  libstdc++-static
42 BuildRequires:  openssl-static
43 BuildRequires:  zlib-static
44 %endif
45 Requires:       %{name}-libs = %{version}-%{release}
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 # don't generate `Requires' for sample scripts
49 %define _noautoreq bash perl
50
51 %description
52 dar is a shell command, that makes backup of a directory tree and
53 files.
54
55 FILTERS: dar is able to backup from total file system to a single
56 file. Additionally a mechanism of filters permits, based on the
57 filename, to exclude or include some files while backing up or
58 restoring a directory tree. In the other side, a secondary filter
59 mechanism permits to exclude some branches of a directory tree, or to
60 only include some branches.
61
62 DIFFERENTIAL BACKUP: When making a backup with dar, you have the
63 possibility to make a full backup or a differential backup. A full
64 backup, as expected makes backup of all files as specified on the
65 command line (with or without filters). Instead, a differential
66 backup, (over filter mechanism), saves only files that have changed
67 since a given reference backup. Additionally, files that existed in
68 the reference backup and which do no more exist at the time of the
69 differential backup are recorded in the backup. At recovery time,
70 (unless you deactivate it), restoring a differential backup will
71 update changed files and new files, but also remove files that have
72 been recorded as deleted. Note that the reference backup can be a full
73 backup or another differential backup. This way you can make a first
74 full backup, then many differential backup, each taking as reference
75 the last backup made.
76
77 SLICES: Dar stands for Disk ARchive. From the beginning it was
78 designed to be able to split an archive over several removable media
79 whatever their number is and whatever their size is. Thus dar is able
80 to save over old floppy disk, CD-R, DVD-R, CD-RW, DVD-RW, Zip, Jazz,
81 etc... Dar is not concerned by un/mounting a removable medium, instead
82 it is independent of hardware. Given the size, it will split the
83 archive in several files (called SLICES), eventually pausing before
84 creating the next one, allowing this way, the user to un/mount a
85 medium, burn the file on CD-R, send it by email (if your mail system
86 does not allow huge file in emails, dar can help you here also). By
87 default, (no size specified), dar will make one slice whatever its
88 size is. Additionally, the size of the first slice can be specified
89 separately, if for example you want first to fulfil a partially filled
90 disk before starting using empty ones. Last, at restoration time, dar
91 will just pause and prompt the user asking a slice only if it is
92 missing.
93
94 COMPRESSION: last, dar can use compression. By default no compression
95 is used. Actually only gzip algorithm is implemented, but some room
96 has been done for bzip2 and any other compression algorithm. Note
97 that, compression is made before slices, which means that using
98 compression with slices, will not make slices smaller, but will
99 probably make less slices in the backup.
100
101 DIRECT ACCESS: even using compression dar has not to read the whole
102 backup to extract one file. This way if you just want to restore one
103 file from a huge backup, the process will be much faster than using
104 tar. Dar first reads the catalogue (i.e. the contents of the backup),
105 then it goes directly to the location of the saved file(s) you want to
106 restore and proceed to restoration. In particular using slices dar
107 will ask only for the slice(s) containing the file(s) to restore.
108
109 HARD LINK CONSIDERATION: hard links are now properly saved. They are
110 properly restored if possible. If for example restoring across a
111 mounted filesystem, hard linking will fail, but dar will then
112 duplicate the inode and file content, issuing a warning.
113
114 EXTENDED ATTRIBUTES: support for extended attributes have to be
115 activated at compilation time (see INSTALL). Dar is able to save and
116 restore EA, all or just those of a given namespace (system or user).
117 If no EA have been saved and restoration occurs over a file that has
118 EA, they will be preserved. But if they have been saved empty for a
119 given file, any existing EA for that file will be removed at
120 restoration time, unless -u and/or -U is given on command-line.
121
122 ARCHIVE TESTING thanks to CRC (cyclic redundancy checks), dar is able
123 to detect data corruption in the archive. Only the file where data
124 corruption occurred will not be possible to restore, but dar will
125 restore the other even when compression is used.
126
127 USING PIPES dar is now able to produce an archive to its standard
128 output or named pipe. it is also able to read an archive through a
129 pair of pipes, to take a remote archive as reference, or even to
130 restore data from a remote archive. This way it is now possible to
131 store an archive remotely and in total security (if using encrypted
132 means)
133
134 ISOLATION the catalogue (i.e.: the contents of an archive), can be
135 extracted (this operation is called isolation) to a small file, that
136 can in turn be used as reference for differential archive. There is no
137 more need to provide an archive to be able to create a differential
138 backup over it, just its catalogue is necessary.
139
140 RE-SHAPE SLICES OF AN EXISTING ARCHIVE the external program named
141 "dar_xform" is able to change the size of slices of a given archive.
142 The resulting archive is totally identical to archives directly
143 created by dar. Source archive can be taken from a set of slice, from
144 standard input or even a named pipe.
145
146 %description -l pl.UTF-8
147 dar jest poleceniem powłoki, które tworzy kopie zapasowe drzew
148 katalogów i plików. Możliwości:
149 - Filtry: dar może tworzyć kopię zapasową całego systemu plików do
150   pojedynczego pliku; mechanizm filtrów pozwala wyłączać lub dołączać
151   pliki przy tworzeniu kopii lub odtwarzaniu z niej.
152 - Backup różnicowy: dar może tworzyć kopie pełne lub różnicowe
153   (zawierające tylko te pliki, które zmieniły się od innego backupu)
154 - Części (slices): dar oznacza "Disk ARchive". Od początku ma
155   możliwość dzielenia archiwów na różne nośniki wymienialne,
156   niezależnie od ich liczby i rozmiaru (można tworzyć kopie na CD-R,
157   DVD-R, CD-RW, Zip, Jazz...).
158 - Kompresja: domyślnie dar nie kompresuje danych; ma zaimplementowany
159   algorytm gzip, jest przygotowywany do bzip2 i innych. Kompresja jest
160   wykonywana przed podziałem na części.
161 - Bezpośredni dostęp: nawet w przypadku użycia kompresji, dar nie musi
162   czytać całej kopii aby odtworzyć jeden plik. Najpierw odczytuje
163   katalog, następnie skacze od razu do właściwego miejsca.
164 - Obsługa twardych dowiązań: dar zachowuje i odtwarza je w miarę
165   możliwości; w przypadku niemożliwości wykonania dowiązania, powiela
166   plik i wypisuje ostrzeżenie.
167 - Obsługa rozszerzonych atrybutów (zależnie od opcji kompilacji): dar
168   potrafi zachowywać i odtwarzać rozszerzone atrybuty - wszystkie lub
169   tylko dotyczące danej przestrzeni nazw (systemowej lub użytkownika).
170 - Testowanie archiwów: dzięki użyciu CRC dar wykrywa uszkodzone dane;
171   tylko uszkodzone pliki nie zostaną odtworzone, reszta tak - nawet w
172   przypadku użycia kompresji.
173 - Użycie rurek - dar może wyprodukować archiwum na standardowe wyjście
174   lub do nazwanej rurki. Może także czytać archiwum z pary rurek, a
175   nawet odtwarzać ze zdalnego archiwum.
176 - Rozdzielenie: katalog (zawartość archiwum) może być wyciągnięty do
177   małego pliku, który może być używany jako odniesienie dla
178   różnicowego backupu.
179 - Przekształcanie części istniejącego archiwum: zewnętrzny program o
180   nazwie dar_xform jest w stanie zmieniać rozmiary części podanego
181   archiwum. Może czytać z zestawu kawałków, standardowego wejścia lub
182   nazwanej rurki.
183
184 %package static
185 Summary:        Static version of dar backup tool
186 Summary(pl.UTF-8):      Statyczna wersja archiwizatora dar
187 Group:          Applications
188
189 %description static
190 Static version of dar backup tool.
191
192 %description static -l pl.UTF-8
193 Statyczna wersja archiwizatora dar.
194
195 %package libs
196 Summary:        Shared version of dar library
197 Summary(pl.UTF-8):      Współdzielona wersja biblioteki dar
198 Group:          Libraries
199
200 %description libs
201 Shared version of dar library.
202
203 %description libs -l pl.UTF-8
204 Współdzielona wersja biblioteki dar.
205
206 %package devel
207 Summary:        Header files to develop dar software
208 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki dar
209 Group:          Development/Libraries
210 Requires:       %{name}-libs = %{version}-%{release}
211 %{?with_ea:Requires:    attr-devel >= 2.4.16-3}
212 Requires:       bzip2-devel
213 Requires:       libstdc++-devel
214 Requires:       openssl-devel
215 Requires:       zlib-devel
216
217 %description devel
218 Header files to develop software which operates on dar.
219
220 %description devel -l pl.UTF-8
221 Pliki nagłówkowe potrzebne do rozwoju oprogramowania korzystającego z
222 dara.
223
224 %package libs-static
225 Summary:        Static version of dar library
226 Summary(pl.UTF-8):      Statyczna wersja biblioteki dar
227 Group:          Development/Libraries
228 Requires:       %{name}-devel = %{version}-%{release}
229
230 %description libs-static
231 Static version of dar library.
232
233 %description libs-static -l pl.UTF-8
234 Statyczna wersja biblioteki dar.
235
236 %package doc
237 Summary:        dar - documentation
238 Summary(pl.UTF-8):      dar - dokumentacja
239 Group:          Documentation
240 Requires:       %{name} = %{version}-%{release}
241
242 %description doc
243 Dar ducumentation.
244
245 %description -l pl.UTF-8
246 Dokumentacja dla dar.
247
248 %prep
249 %setup -q
250 %patch0 -p1
251
252 %build
253 %{__gettextize}
254 %{__libtoolize}
255 %{__aclocal}
256 %{__autoconf}
257 %{__autoheader}
258 %{__automake}
259 %configure \
260         %{!?with_ea:--disable-ea-support} \
261         %{!?with_static:--disable-dar-static} \
262         --enable-static=%{?with_static_libs:yes}%{!?with_static_libs:no} \
263         --enable-mode=64 \
264         --disable-upx
265 %{__make}
266
267 %install
268 rm -rf $RPM_BUILD_ROOT
269 %{?with_static:install -d $RPM_BUILD_ROOT/bin}
270
271 %{__make} install \
272         DESTDIR=$RPM_BUILD_ROOT
273
274 %{?with_static:mv -f $RPM_BUILD_ROOT{%{_bindir},/bin}/dar_static}
275
276 ln -sf %{_datadir}/%{name} misc/doc
277
278 %find_lang %{name}
279
280 %clean
281 rm -rf $RPM_BUILD_ROOT
282
283 %post   libs -p /sbin/ldconfig
284 %postun libs -p /sbin/ldconfig
285
286 %files -f %{name}.lang
287 %defattr(644,root,root,755)
288 %doc ChangeLog NEWS README THANKS TODO misc/doc
289 %attr(755,root,root) %{_bindir}/*
290 %{_mandir}/man1/*.1*
291
292 %files libs
293 %defattr(644,root,root,755)
294 %attr(755,root,root) %{_libdir}/libdar64.so.*.*.*
295
296 %files devel
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/libdar64.so
299 %{_libdir}/libdar64.la
300 %{_includedir}/dar
301 %{_pkgconfigdir}/libdar64.pc
302
303 %if %{with static}
304 %files static
305 %defattr(644,root,root,755)
306 %attr(755,root,root) /bin/*
307 %endif
308
309 %if %{with static_libs}
310 %files libs-static
311 %defattr(644,root,root,755)
312 %{_libdir}/libdar64.a
313 %endif
314
315 %files doc
316 %defattr(644,root,root,755)
317 %{_datadir}/%{name}
This page took 5.638746 seconds and 3 git commands to generate.