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