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