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