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