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