]> git.pld-linux.org Git - packages/file.git/blame - file.spec
- apply xz fix, rel 3
[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
4cef3fa1 38Release: 3
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
4cef3fa1 287%patch5 -p1
3db42c15 288
6e95c2de 289%if "%{_ver_lt '%{cc_version}' '3.4'}" == "1"
7fb84ed4
ER
290%{__sed} -i -e 's,-Wextra,,' configure.ac
291%endif
292
640647bd
ER
293cp -p %{SOURCE3} magic/Magdir/mscompress
294cp -p %{SOURCE2} magic/Magdir/zisofs
295
e7680839 296rm -f magic/Magdir/{*.orig,*~}
e3f0414c 297
779e000d
ER
298%if %{with python3}
299cp -a python py3
300%endif
301
3db42c15 302%build
27de5dec 303%{__libtoolize}
a3f903c6 304%{__aclocal} -I m4
d846d5a6 305%{__autoconf}
8778f9e2 306%{__autoheader}
d846d5a6 307%{__automake}
4b9ca3cc 308%configure \
abfd1429 309 %{!?with_seccomp:--disable-libseccomp} \
a284f482 310 --disable-silent-rules \
ae310f23 311 --enable-fsect-man5 \
49d7bd2c 312 %{?with_static_libs:--enable-static}
e855616e 313
9ee0e0b5 314%{__make}
3db42c15 315
779e000d 316%if %{with python2}
76e54b9c 317cd python
65e5039c 318%py_build
76e54b9c
AF
319cd ..
320%endif
779e000d
ER
321%if %{with python3}
322cd py3
65e5039c 323%py3_build
779e000d
ER
324cd ..
325%endif
76e54b9c 326
916aadc7
AM
327%if %{with tests}
328%{__make} check
329%endif
330
3db42c15 331%install
332rm -rf $RPM_BUILD_ROOT
55ad3894 333install -d $RPM_BUILD_ROOT/%{_lib}
e74cb2dc 334
a1cfb053
PG
335%{__make} install \
336 DESTDIR=$RPM_BUILD_ROOT
2e653634 337
6e95c2de 338%{__mv} $RPM_BUILD_ROOT%{_libdir}/libmagic.so.* $RPM_BUILD_ROOT/%{_lib}
f9961c0f 339ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libmagic.so.*.*.*) \
ae33d63f
AM
340 $RPM_BUILD_ROOT%{_libdir}/libmagic.so
341
779e000d 342%if %{with python2}
76e54b9c 343cd python
65e5039c 344%py_install
ae310f23 345cd ..
7abc2151 346%py_postclean
76e54b9c
AF
347%endif
348
779e000d
ER
349%if %{with python3}
350cd py3
65e5039c 351%py3_install
779e000d
ER
352cd ..
353%endif
354
148db065 355awk -f %{SOURCE4} < $RPM_BUILD_ROOT%{_datadir}/misc/magic > $RPM_BUILD_ROOT%{_datadir}/misc/magic.mime
e3acf3ba
ER
356ln -s misc $RPM_BUILD_ROOT%{_datadir}/file
357
358bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
aa747f51
ER
359%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.file-non-english-man-pages
360%{__rm} $RPM_BUILD_ROOT%{_mandir}/file-magic4.diff
b8b920bf 361
3db42c15 362%clean
363rm -rf $RPM_BUILD_ROOT
364
27de5dec 365%post -n libmagic -p /sbin/ldconfig
366%postun -n libmagic -p /sbin/ldconfig
367
55ad3894
AM
368%pretrans
369# it used to be directory
b2cca602 370if [ -d %{_datadir}/file -a ! -L %{_datadir}/file ]; then
55ad3894 371 mv -b %{_datadir}/file{,.dir}
9e4bf8c8 372 ln -sn misc %{_datadir}/file
55ad3894 373%banner -e %{name} <<EOF
55c2baa7 374Check %{_datadir}/file.dir for your own files and remove it when done.
55ad3894
AM
375EOF
376fi
377
3db42c15 378%files
4f023001 379%defattr(644,root,root,755)
bc21903a 380%doc ChangeLog COPYING README
09b88bf5 381%attr(755,root,root) %{_bindir}/file
4902119c 382%{_datadir}/file
969ab84e
SP
383%{_datadir}/misc/magic
384%{_datadir}/misc/magic.mgc
55ad3894 385%{_datadir}/misc/magic.mime
4653b295 386%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/magic
e3f0414c
JB
387%{_mandir}/man1/file.1*
388%{_mandir}/man5/magic.5*
e2cdad8f 389%lang(de) %{_mandir}/de/man[15]/*
390%lang(es) %{_mandir}/es/man[15]/*
391%lang(fr) %{_mandir}/fr/man[15]/*
392%lang(hu) %{_mandir}/hu/man[15]/*
393%lang(it) %{_mandir}/it/man[15]/*
394%lang(ja) %{_mandir}/ja/man[15]/*
395%lang(nl) %{_mandir}/nl/man[15]/*
4b9ca3cc 396%lang(pl) %{_mandir}/pl/man[15]/*
ca0f057f 397%lang(pt_BR) %{_mandir}/pt_BR/man[15]/*
27de5dec 398
399%files -n libmagic
400%defattr(644,root,root,755)
09b88bf5 401%attr(755,root,root) /%{_lib}/libmagic.so.*.*.*
f9961c0f 402%attr(755,root,root) %ghost /%{_lib}/libmagic.so.1
27de5dec 403
404%files -n libmagic-devel
f7bf36fb 405%defattr(644,root,root,755)
09b88bf5
JB
406%attr(755,root,root) %{_libdir}/libmagic.so
407%{_libdir}/libmagic.la
cc7e8ae4 408%{_includedir}/magic.h
58d4dc53 409%{_pkgconfigdir}/libmagic.pc
f9961c0f 410%{_mandir}/man3/libmagic.3*
27de5dec 411
ae310f23 412%if %{with static_libs}
27de5dec 413%files -n libmagic-static
414%defattr(644,root,root,755)
09b88bf5 415%{_libdir}/libmagic.a
ae310f23 416%endif
76e54b9c 417
cd2e9cca 418%if %{with python2}
76e54b9c
AF
419%files -n python-magic
420%defattr(644,root,root,755)
88c82317 421%doc python/README.md python/example.py
7abc2151 422%{py_sitescriptdir}/magic.py[co]
55e86be4 423%{py_sitescriptdir}/file_magic-*-py*.egg-info
76e54b9c 424%endif
779e000d 425
2196b92b 426%if %{with python3}
779e000d
ER
427%files -n python3-magic
428%defattr(644,root,root,755)
88c82317 429%doc python/README.md python/example.py
779e000d
ER
430%{py3_sitescriptdir}/magic.py
431%{py3_sitescriptdir}/__pycache__/magic.*.py[co]
55e86be4 432%{py3_sitescriptdir}/file_magic-*-py*.egg-info
779e000d 433%endif
This page took 0.218405 seconds and 4 git commands to generate.