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