]> git.pld-linux.org Git - packages/file.git/blob - file.spec
- up to 5.05, python bindings are now pure-python
[packages/file.git] / file.spec
1 #
2 # Conditional build:
3 %bcond_without  python          # don't build python-magic module
4 %bcond_without  static_libs     # don't build static libraries
5 %bcond_without  tests           # don't perform "make check"
6
7 Summary:        A utility for determining file types
8 Summary(cs.UTF-8):      Program pro zjišťování typu souborů
9 Summary(da.UTF-8):      Et værktøj til bestemmelse af filtyper
10 Summary(de.UTF-8):      Ein Befehl zur Bestimmung von Dateitypen
11 Summary(es.UTF-8):      Utilidad para determinar el tipo de fichero
12 Summary(fr.UTF-8):      Utilitaire permettant d'identifier des types de fichier
13 Summary(id.UTF-8):      Utility untuk menentukan tipe file
14 Summary(is.UTF-8):      Tól til þess að komast að tegund skráar
15 Summary(it.UTF-8):      Utility per determinare il tipo di file
16 Summary(ja.UTF-8):      ファイルの種類を判断するためのユーティリティ
17 Summary(ko.UTF-8):      파일 종류를 결정하는 유틸리티
18 Summary(nb.UTF-8):      Et verktøy for å bestemme filtyper
19 Summary(pl.UTF-8):      Polecenie określające rodzaj pliku
20 Summary(pt.UTF-8):      Um utilitário para determinar o tipo dos ficheiros
21 Summary(pt_BR.UTF-8):   Um utilitário para determinar tipos de arquivos
22 Summary(ru.UTF-8):      Утилита для определения типов файлов
23 Summary(sk.UTF-8):      Pomocný program pre určenie typu súboru
24 Summary(sl.UTF-8):      Pripomoček za ugotavljanje vrste datotek
25 Summary(sv.UTF-8):      Ett verktyg för att bestämma filtyper
26 Summary(tr.UTF-8):      Dosya türünü öğrenmek için bir araç
27 Summary(uk.UTF-8):      Утиліта для визначення типів файлів
28 Summary(zh_CN.UTF-8):   判定文件类型的工具。
29 Summary(zh_TW.UTF-8):   用於決定檔案類型的一個工具程式。
30 Name:           file
31 Version:        5.05
32 Release:        1
33 License:        distributable
34 Group:          Applications/File
35 #Source0:       ftp://ftp.astron.com/pub/file/%{name}-%{version}.tar.gz
36 Source0:        ftp://ftp.astron.com/pri/%{name}-%{version}.tar.gz
37 # Source0-md5:  0b429063710457be2bd17a18389cb018
38 Source1:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
39 # Source1-md5:  c157a183b64156f8baafaefd9cbf04c1
40 Source2:        %{name}-zisofs.magic
41 Source3:        %{name}-mscompress.magic
42 Source4:        %{name}-magic.mime-gen.awk
43 Source5:        php-wsdl-cache.magic
44 Patch1:         %{name}-sparc.patch
45 Patch3:         %{name}-greedy-dump.patch
46 Patch4:         %{name}-selinux.patch
47 Patch6:         %{name}-fusecompress.patch
48 Patch8:         %{name}-dbase.patch
49 Patch9:         searchpath.patch
50 Patch10:        automake.patch
51 URL:            http://www.darwinsys.com/file/
52 BuildRequires:  autoconf
53 BuildRequires:  automake
54 BuildRequires:  libtool
55 BuildRequires:  rpmbuild(macros) >= 1.219
56 %if %{with python}
57 BuildRequires:  python-devel
58 BuildRequires:  python-modules
59 BuildRequires:  rpm-pythonprov
60 %endif
61 Requires:       libmagic = %{version}-%{release}
62 Conflicts:      rpm-build < 4.4.1-9
63 Conflicts:      xdelta < 1.0.0
64 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66 %description
67 This package is useful for finding out what type of file you are
68 looking at on your system. For example, if an fsck results in a file
69 being stored in lost+found, you can run file on it to find out if it's
70 safe to 'more' it or if it's a binary. It recognizes many file types,
71 including ELF binaries, system libraries, RPM packages, and many
72 different graphics formats.
73
74 %description -l cs.UTF-8
75 Příkaz file se používá pro identifikaci zadaného souboru podle jeho
76 obsahu. Je schopen identifikovat množství různých typů souborů včetně
77 binárních souborů ELF, systémových knihoven, RPM balíčků a různých
78 grafických formátů.
79
80 %description -l da.UTF-8
81 Programmet "file" bruges til at identificere filer baseret på indhold.
82 "file" kan identificere mange forskellige filtyper, inkl. ELF-filer,
83 systembiblioteker, RPM-pakker og billedfiler i forskellige formater.
84
85 %description -l de.UTF-8
86 Sie können dieses Paket verwenden, um zu bestimmen, welches Format
87 eine bestimmte Datei hat. Wird durch fsck eine Datei in lost+found
88 gespeichert, können Sie 'file' ausführen, um herauszufinden, ob Sie
89 sie mit 'more' einsehen können, oder ob es sich um ein Binärprogramm
90 handelt Das Programm erkennt u.a. ELF-Binärprogramme,
91 System-Libraries, RPM-Pakete und viele Grafikformate.
92
93 %description -l es.UTF-8
94 Este paquete es útil para descubrir que tipo de archivo estás buscando
95 en tu sistema. Por ejemplo, si fsck resulta un archivo que fue
96 almacenado en el "lost+found", tu puedes ejecutar file en él para
97 descubrir si es seguro leerlo con el "more" o si es un binario.
98 Reconoce varios tipos de archivos, incluyendo binarios ELF,
99 bibliotecas de sistema, paquetes RPM y varios formatos gráficos
100 diferentes.
101
102 %description -l fr.UTF-8
103 Ce paquetage sert à trouver le type du fichier que vous recherchez sur
104 votre système. Par exemple, si un fsck fait qu'un fichier a été stocké
105 dans lost+found, vous pouvez lancer file dessus pour savoir si on peut
106 faire un more, ou s'il s'agit d'un binaire. Il reconnaît de nombreux
107 types de fichiers dont les binaires ELF, les bibliothèques systèmes,
108 les paquetages RPM et de nombreux formats graphiques différents.
109
110 %description -l it.UTF-8
111 Il comando file è utilizzato per identificare il tipo di file in base
112 ai tipi di dati che contiene. File può identificare molti tipi di
113 file, tra cui i binari ELF, le librerie di sistema, i pacchetti RPM e
114 vari formati grafici.
115
116 %description -l ja.UTF-8
117 ファイルコマンドはファイルに含まれるデータの種類により個々のファイルを
118 見分けるために使われる。file は ELF バイナリ、システムライブラリ、 RPM
119 パッケージ、そして種々のグラフィックフォーマットを含む、多くの異なる
120 ファイルの種類を見分けることが可能である。
121
122 %description -l ko.UTF-8
123 파일에 저장된 자료 유형에 따라 파일을 식별하는 file 명령. File은 ELF
124 바이너리, 시스템 라이브러리, RPM 패키지와 다른 그래픽 유형을 포함한
125 여러 많은 파일 유형을 식별 가능합니다.
126
127 %description -l nb.UTF-8
128 Programmet "file" brukes for å identifisere filer basert på innhold.
129 "file" kan identifisere mange ulike filtyper, inkl. ELF-filer,
130 systembibliotek, RPM-pakker og bildefiler i ulike formater.
131
132 %description -l pl.UTF-8
133 Pakiet ten jest przydatny jeżeli chcesz rozpoznać typ plików w twoim
134 systemie. Na przykład jeżeli fsck zdeponuje jakieś pliki w katalogu
135 lost+found, możesz uruchomić file na zdeponowanym pliku i zobaczyć
136 jaki to jest typ pliku, jest to metoda bezpieczniejsza niż 'more', ze
137 względu na to, że to może być plik binarny. File potrafi rozpoznać
138 wiele typów plików np. binarny ELF, biblioteki systemowe, pakiety RPM
139 oraz wiele różnych formatów graficznych i dźwiękowych.
140
141 %description -l pt.UTF-8
142 O comando file é usado para identificar um ficheiro em particular de
143 acordo com o tipo de dados que contém. O file pode identificar vários
144 formatos de ficheiros, incluindo binários ELF, bibliotecas de sistema,
145 pacotes RPM e vários formatos gráficos diferentes.
146
147 %description -l pt_BR.UTF-8
148 Este pacote é útil para descobrir que tipo de arquivo você está
149 procurando em seu sistema. Por exemplo, se um fsck resulta em um
150 arquivo forem armazenado no "lost+found", você pode rodar file nele
151 para descobrir se é seguro lê-lo com o "more" ou se ele é um binário.
152 Ele reconhece vários tipos de arquivos, incluindo binários ELF,
153 bibliotecas de sistema, pacotes RPM e vários formatos gráficos
154 diferentes.
155
156 %description -l ru.UTF-8
157 Команда file используется для определения типа файла по данным, в нем
158 содержащимся. Она может определить множество разнообразных типов
159 файлов, включая бинарные файлы формата ELF, системные библиотеки,
160 пакеты RPM, различные графические форматы и много других.
161
162 %description -l sv.UTF-8
163 Kommandot file används för att identifera en fil vad avser vilken typ
164 av data filen innehåller. File kan identifiera många olika filtyper,
165 inklusive ELF-binärer, systembibliotek, RPM-paket och olika
166 grafikformat.
167
168 %description -l tr.UTF-8
169 file, bir dosyayı inceleyerek ne tür bir dosya olduğu konusunda size
170 bir fikir verebilir. Böylece uzantısından ve adından ne olduğunu
171 çıkaramadığınız bir dosyayı hangi yazılım ile kullanabileceğinize ya
172 da ne yapacağınıza karar verebilisiniz. file, temel dosya tiplerini,
173 çoğu grafik formatını, çalıştırılabilir dosyaları, sistem
174 kitaplıklarını vs. tanıyabilir.
175
176 %description -l uk.UTF-8
177 Команда file використовується для визначення типу файлу по даних, які
178 він містить. Вона може визначити велику кількість різноманітних типів
179 файлів, у тому числі бінарні файли формату ELF, системні бібліотеки,
180 пакети RPM, різноманітні графічні формати та багато інших.
181
182 %description -l zh_CN.UTF-8
183 file 命令用来根据文件中包含的数据类型来识别文件类型。 file
184 可以识别许多不同的文件类型,包括 ELF 二进制、系统 库、RPM
185 软件包、和不同的图形格式。
186
187 %description -l zh_TW.UTF-8
188 file 指令是根據檔案包含的資料類型來辨認檔案。 File
189 可以辨認許多不同的檔案類型, 包含 ELF binaries,系統函式庫,RPM
190 套件,以及不同的 圖像格式。
191
192 %package -n libmagic
193 Summary:        libmagic library
194 Summary(pl.UTF-8):      Biblioteka libmagic
195 Group:          Libraries
196
197 %description -n libmagic
198 Library of functions which operate on magic database file.
199
200 %description -n libmagic -l pl.UTF-8
201 Biblioteka funkcji operujących na pliku bazy danych magic.
202
203 %package -n libmagic-devel
204 Summary:        Header files for libmagic library
205 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki libmagic
206 Group:          Development/Libraries
207 Requires:       libmagic = %{version}-%{release}
208
209 %description -n libmagic-devel
210 Library of functions which operate on magic database file.
211
212 This package contains the header files needed to develop programs that
213 use these libmagic.
214
215 %description -n libmagic-devel -l pl.UTF-8
216 Biblioteka funkcji operujących na pliku bazy danych magic.
217
218 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
219 używających libmagic.
220
221 %package -n libmagic-static
222 Summary:        Static libmagic library
223 Summary(pl.UTF-8):      Statyczna biblioteka libmagic
224 Group:          Development/Libraries
225 Requires:       libmagic-devel = %{version}-%{release}
226
227 %description -n libmagic-static
228 Library of functions which operate on magic database file.
229
230 This package contains the static libmagic.
231
232 %description -n libmagic-static -l pl.UTF-8
233 Biblioteka funkcji operujących na pliku bazy danych magic.
234
235 Ten pakiet zawiera statyczną wersję biblioteki.
236
237 %package -n python-magic
238 Summary:        Python bindings for libmagic
239 Summary(pl.UTF-8):      Wiązania Pythona dla libmagic
240 Group:          Libraries/Python
241 Requires:       libmagic = %{version}-%{release}
242 %pyrequires_eq  python-libs
243
244 %description -n python-magic
245 Python bindings for libmagic.
246
247 %description -n python-magic -l pl.UTF-8
248 Wiązania Pythona dla libmagic.
249
250 %prep
251 %setup -q
252 %patch1 -p1
253 %patch3 -p1
254 %patch4 -p1
255 %patch6 -p1
256 %patch8 -p1
257 %patch9 -p1
258 %patch10 -p1
259
260 rm -f magic/Magdir/{*.orig,*~}
261
262 %build
263 %{__libtoolize}
264 %{__aclocal}
265 %{__autoheader}
266 %{__autoconf}
267 %{__automake}
268 %configure \
269         --enable-fsect-man5 \
270         %{!?with_static_libs:--enable-static=no}
271
272 %{__make}
273
274 %if %{with python}
275 cd python
276 python setup.py build
277 cd ..
278 %endif
279
280 %if %{with tests}
281 %{__make} check
282 %endif
283
284 %install
285 rm -rf $RPM_BUILD_ROOT
286 install -d $RPM_BUILD_ROOT/%{_lib}
287
288 %{__make} install \
289         DESTDIR=$RPM_BUILD_ROOT
290
291 mv $RPM_BUILD_ROOT%{_libdir}/libmagic.so.* $RPM_BUILD_ROOT/%{_lib}
292 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libmagic.so.*.*.*) \
293         $RPM_BUILD_ROOT%{_libdir}/libmagic.so
294
295 %if %{with python}
296 cd python
297 %{__python} setup.py install \
298         --root=$RPM_BUILD_ROOT \
299         --optimize=2
300 cd ..
301 %py_postclean
302 %endif
303
304 install -D magic/Localstuff $RPM_BUILD_ROOT%{_sysconfdir}/magic
305
306 cat magic/Header magic/Magdir/* %{SOURCE2} %{SOURCE3} %{SOURCE5} >$RPM_BUILD_ROOT%{_datadir}/misc/magic
307 awk -f %{SOURCE4} < $RPM_BUILD_ROOT%{_datadir}/misc/magic > $RPM_BUILD_ROOT%{_datadir}/misc/magic.mime
308
309 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
310
311 # somebody forgot about patching in tarball
312 mv -f $RPM_BUILD_ROOT%{_mandir}/pt_BR/man{4,5}
313 sed -e 's/MAGIC 4/MAGIC 5/' $RPM_BUILD_ROOT%{_mandir}/pt_BR/man5/magic.4 \
314         > $RPM_BUILD_ROOT%{_mandir}/pt_BR/man5/magic.5
315 rm -f $RPM_BUILD_ROOT%{_mandir}/pt_BR/man5/magic.4
316
317 src/file -m $RPM_BUILD_ROOT%{_datadir}/misc/magic -c -C
318
319 ln -s misc $RPM_BUILD_ROOT%{_datadir}/file
320
321 rm -f $RPM_BUILD_ROOT%{_mandir}/README.file-non-english-man-pages
322 rm -f $RPM_BUILD_ROOT%{_mandir}/file-magic4.diff
323
324 %clean
325 rm -rf $RPM_BUILD_ROOT
326
327 %post   -n libmagic -p /sbin/ldconfig
328 %postun -n libmagic -p /sbin/ldconfig
329
330 %pretrans
331 # it used to be directory
332 if [ -d %{_datadir}/file ]; then
333         mv -b %{_datadir}/file{,.dir}
334         ln -s misc %{_datadir}/file
335 %banner -e %{name} <<EOF
336 Check %{_datadir}/file.dir for your own files and remove it when done.
337 EOF
338 fi
339
340 %files
341 %defattr(644,root,root,755)
342 %doc ChangeLog COPYING README
343 %attr(755,root,root) %{_bindir}/file
344 %{_datadir}/file
345 %{_datadir}/misc/magic
346 %{_datadir}/misc/magic.mgc
347 %{_datadir}/misc/magic.mime
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/magic
349 %{_mandir}/man1/file.1*
350 %{_mandir}/man5/magic.5*
351 %lang(de) %{_mandir}/de/man[15]/*
352 %lang(es) %{_mandir}/es/man[15]/*
353 %lang(fr) %{_mandir}/fr/man[15]/*
354 %lang(hu) %{_mandir}/hu/man[15]/*
355 %lang(it) %{_mandir}/it/man[15]/*
356 %lang(ja) %{_mandir}/ja/man[15]/*
357 %lang(nl) %{_mandir}/nl/man[15]/*
358 %lang(pl) %{_mandir}/pl/man[15]/*
359 %lang(pt_BR) %{_mandir}/pt_BR/man[15]/*
360
361 %files -n libmagic
362 %defattr(644,root,root,755)
363 %attr(755,root,root) /%{_lib}/libmagic.so.*.*.*
364 %attr(755,root,root) %ghost /%{_lib}/libmagic.so.1
365
366 %files -n libmagic-devel
367 %defattr(644,root,root,755)
368 %attr(755,root,root) %{_libdir}/libmagic.so
369 %{_libdir}/libmagic.la
370 %{_includedir}/magic.h
371 %{_mandir}/man3/libmagic.3*
372
373 %if %{with static_libs}
374 %files -n libmagic-static
375 %defattr(644,root,root,755)
376 %{_libdir}/libmagic.a
377 %endif
378
379 %if %{with python}
380 %files -n python-magic
381 %defattr(644,root,root,755)
382 %doc python/README python/example.py
383 %if "%{py_ver}" > "2.4"
384 %{py_sitescriptdir}/Magic_file_extensions-*.egg-info
385 %endif
386 %{py_sitescriptdir}/magic.py[co]
387 %endif
This page took 0.075904 seconds and 3 git commands to generate.