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