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