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