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