]> git.pld-linux.org Git - packages/file.git/blame_incremental - file.spec
- apply xz fix, rel 3
[packages/file.git] / file.spec
... / ...
CommitLineData
1#
2# Conditional build:
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
7%bcond_without seccomp # SECCOMP support
8
9%ifnarch %{x8664} aarch64
10%undefine with_seccomp
11%endif
12
13Summary: A utility for determining file types
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): 用於決定檔案類型的一個工具程式。
36Name: file
37Version: 5.40
38Release: 3
39License: distributable
40Group: Applications/File
41Source0: ftp://ftp.astron.com/pub/file/%{name}-%{version}.tar.gz
42# Source0-md5: 72540ea1cc8c6e1dee35d6100ec66589
43Source1: http://ftp1.pld-linux.org/people/glen/%{name}-non-english-man-pages.tar.bz2
44# Source1-md5: 6a45bcaefd19b94db36a1b2b7c5b806b
45Source2: %{name}-zisofs.magic
46Source3: %{name}-mscompress.magic
47Source4: %{name}-magic.mime-gen.awk
48Patch0: %{name}-selinux.patch
49Patch1: searchpath.patch
50Patch2: automake.patch
51Patch3: %{name}-gettext-no-random-translations.patch
52Patch4: name-use-count.patch
53Patch5: magic-xz.patch
54URL: http://www.darwinsys.com/file/
55BuildRequires: autoconf >= 2.50
56BuildRequires: automake
57BuildRequires: libseccomp-devel
58BuildRequires: libtool >= 2:2.0
59BuildRequires: rpmbuild(macros) >= 1.751
60%if %{with python2}
61BuildRequires: python-devel
62BuildRequires: python-modules
63BuildRequires: python-setuptools
64BuildRequires: rpm-pythonprov
65%endif
66%if %{with python3}
67BuildRequires: python3-devel
68BuildRequires: python3-modules
69BuildRequires: python3-setuptools
70BuildRequires: rpm-pythonprov
71%endif
72BuildRequires: zlib-devel
73Requires(pretrans): coreutils
74Requires: libmagic = %{version}-%{release}
75Conflicts: rpm-build < 4.4.1-9
76Conflicts: xdelta < 1.0.0
77BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78
79%description
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.
86
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ů.
92
93%description -l da.UTF-8
94Programmet "file" bruges til at identificere filer baseret på indhold.
95"file" kan identificere mange forskellige filtyper, inkl. ELF-filer,
96systembiblioteker, RPM-pakker og billedfiler i forskellige formater.
97
98%description -l de.UTF-8
99Sie können dieses Paket verwenden, um zu bestimmen, welches Format
100eine bestimmte Datei hat. Wird durch fsck eine Datei in lost+found
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,
104System-Libraries, RPM-Pakete und viele Grafikformate.
105
106%description -l es.UTF-8
107Este paquete es útil para descubrir que tipo de archivo estás buscando
108en tu sistema. Por ejemplo, si fsck resulta un archivo que fue
109almacenado en el "lost+found", tu puedes ejecutar file en él para
110descubrir si es seguro leerlo con el "more" o si es un binario.
111Reconoce varios tipos de archivos, incluyendo binarios ELF,
112bibliotecas de sistema, paquetes RPM y varios formatos gráficos
113diferentes.
114
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é
118dans lost+found, vous pouvez lancer file dessus pour savoir si on peut
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.
122
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
126file, tra cui i binari ELF, le librerie di sistema, i pacchetti RPM e
127vari formati grafici.
128
129%description -l ja.UTF-8
130ファイルコマンドはファイルに含まれるデータの種類により個々のファイルを
131見分けるために使われる。file は ELF バイナリ、システムライブラリ、 RPM
132パッケージ、そして種々のグラフィックフォーマットを含む、多くの異なる
133ファイルの種類を見分けることが可能である。
134
135%description -l ko.UTF-8
136파일에 저장된 자료 유형에 따라 파일을 식별하는 file 명령. File은 ELF
137바이너리, 시스템 라이브러리, RPM 패키지와 다른 그래픽 유형을 포함한
138여러 많은 파일 유형을 식별 가능합니다.
139
140%description -l nb.UTF-8
141Programmet "file" brukes for å identifisere filer basert på innhold.
142"file" kan identifisere mange ulike filtyper, inkl. ELF-filer,
143systembibliotek, RPM-pakker og bildefiler i ulike formater.
144
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á
162procurando em seu sistema. Por exemplo, se um fsck resulta em um
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
167diferentes.
168
169%description -l ru.UTF-8
170Команда file используется для определения типа файла по данным, в нем
171содержащимся. Она может определить множество разнообразных типов
172файлов, включая бинарные файлы формата ELF, системные библиотеки,
173пакеты RPM, различные графические форматы и много других.
174
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
179grafikformat.
180
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套件,以及不同的 圖像格式。
204
205%package -n libmagic
206Summary: libmagic library
207Summary(pl.UTF-8): Biblioteka libmagic
208Group: Libraries
209
210%description -n libmagic
211Library of functions which operate on magic database file.
212
213%description -n libmagic -l pl.UTF-8
214Biblioteka funkcji operujących na pliku bazy danych magic.
215
216%package -n libmagic-devel
217Summary: Header files for libmagic library
218Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libmagic
219Group: Development/Libraries
220Requires: libmagic = %{version}-%{release}
221Requires: libseccomp-devel
222Requires: zlib-devel
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
230%description -n libmagic-devel -l pl.UTF-8
231Biblioteka funkcji operujących na pliku bazy danych magic.
232
233Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
234używających libmagic.
235
236%package -n libmagic-static
237Summary: Static libmagic library
238Summary(pl.UTF-8): Statyczna biblioteka libmagic
239Group: Development/Libraries
240Requires: libmagic-devel = %{version}-%{release}
241
242%description -n libmagic-static
243Library of functions which operate on magic database file.
244
245This package contains the static libmagic.
246
247%description -n libmagic-static -l pl.UTF-8
248Biblioteka funkcji operujących na pliku bazy danych magic.
249
250Ten pakiet zawiera statyczną wersję biblioteki.
251
252%package -n python-magic
253Summary: Python 2 bindings for libmagic
254Summary(pl.UTF-8): Wiązania Pythona 2 do biblioteki libmagic
255Group: Libraries/Python
256Requires: libmagic = %{version}-%{release}
257Requires: python-libs
258BuildArch: noarch
259
260%description -n python-magic
261Python 2 bindings for libmagic.
262
263%description -n python-magic -l pl.UTF-8
264Wiązania Pythona 2 do biblioteki libmagic.
265
266%package -n python3-magic
267Summary: Python 3 bindings for libmagic
268Summary(pl.UTF-8): Wiązania Pythona 3 do biblioteki libmagic
269Group: Libraries/Python
270Requires: libmagic = %{version}-%{release}
271Requires: python-libs
272BuildArch: noarch
273
274%description -n python3-magic
275Python 3 bindings for libmagic.
276
277%description -n python3-magic -l pl.UTF-8
278Wiązania Pythona 3 do biblioteki libmagic.
279
280%prep
281%setup -q
282%patch0 -p1
283%patch1 -p1
284%patch2 -p1
285%patch3 -p1
286%patch4 -p1
287%patch5 -p1
288
289%if "%{_ver_lt '%{cc_version}' '3.4'}" == "1"
290%{__sed} -i -e 's,-Wextra,,' configure.ac
291%endif
292
293cp -p %{SOURCE3} magic/Magdir/mscompress
294cp -p %{SOURCE2} magic/Magdir/zisofs
295
296rm -f magic/Magdir/{*.orig,*~}
297
298%if %{with python3}
299cp -a python py3
300%endif
301
302%build
303%{__libtoolize}
304%{__aclocal} -I m4
305%{__autoconf}
306%{__autoheader}
307%{__automake}
308%configure \
309 %{!?with_seccomp:--disable-libseccomp} \
310 --disable-silent-rules \
311 --enable-fsect-man5 \
312 %{?with_static_libs:--enable-static}
313
314%{__make}
315
316%if %{with python2}
317cd python
318%py_build
319cd ..
320%endif
321%if %{with python3}
322cd py3
323%py3_build
324cd ..
325%endif
326
327%if %{with tests}
328%{__make} check
329%endif
330
331%install
332rm -rf $RPM_BUILD_ROOT
333install -d $RPM_BUILD_ROOT/%{_lib}
334
335%{__make} install \
336 DESTDIR=$RPM_BUILD_ROOT
337
338%{__mv} $RPM_BUILD_ROOT%{_libdir}/libmagic.so.* $RPM_BUILD_ROOT/%{_lib}
339ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libmagic.so.*.*.*) \
340 $RPM_BUILD_ROOT%{_libdir}/libmagic.so
341
342%if %{with python2}
343cd python
344%py_install
345cd ..
346%py_postclean
347%endif
348
349%if %{with python3}
350cd py3
351%py3_install
352cd ..
353%endif
354
355awk -f %{SOURCE4} < $RPM_BUILD_ROOT%{_datadir}/misc/magic > $RPM_BUILD_ROOT%{_datadir}/misc/magic.mime
356ln -s misc $RPM_BUILD_ROOT%{_datadir}/file
357
358bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
359%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.file-non-english-man-pages
360%{__rm} $RPM_BUILD_ROOT%{_mandir}/file-magic4.diff
361
362%clean
363rm -rf $RPM_BUILD_ROOT
364
365%post -n libmagic -p /sbin/ldconfig
366%postun -n libmagic -p /sbin/ldconfig
367
368%pretrans
369# it used to be directory
370if [ -d %{_datadir}/file -a ! -L %{_datadir}/file ]; then
371 mv -b %{_datadir}/file{,.dir}
372 ln -sn misc %{_datadir}/file
373%banner -e %{name} <<EOF
374Check %{_datadir}/file.dir for your own files and remove it when done.
375EOF
376fi
377
378%files
379%defattr(644,root,root,755)
380%doc ChangeLog COPYING README
381%attr(755,root,root) %{_bindir}/file
382%{_datadir}/file
383%{_datadir}/misc/magic
384%{_datadir}/misc/magic.mgc
385%{_datadir}/misc/magic.mime
386%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/magic
387%{_mandir}/man1/file.1*
388%{_mandir}/man5/magic.5*
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]/*
396%lang(pl) %{_mandir}/pl/man[15]/*
397%lang(pt_BR) %{_mandir}/pt_BR/man[15]/*
398
399%files -n libmagic
400%defattr(644,root,root,755)
401%attr(755,root,root) /%{_lib}/libmagic.so.*.*.*
402%attr(755,root,root) %ghost /%{_lib}/libmagic.so.1
403
404%files -n libmagic-devel
405%defattr(644,root,root,755)
406%attr(755,root,root) %{_libdir}/libmagic.so
407%{_libdir}/libmagic.la
408%{_includedir}/magic.h
409%{_pkgconfigdir}/libmagic.pc
410%{_mandir}/man3/libmagic.3*
411
412%if %{with static_libs}
413%files -n libmagic-static
414%defattr(644,root,root,755)
415%{_libdir}/libmagic.a
416%endif
417
418%if %{with python2}
419%files -n python-magic
420%defattr(644,root,root,755)
421%doc python/README.md python/example.py
422%{py_sitescriptdir}/magic.py[co]
423%{py_sitescriptdir}/file_magic-*-py*.egg-info
424%endif
425
426%if %{with python3}
427%files -n python3-magic
428%defattr(644,root,root,755)
429%doc python/README.md python/example.py
430%{py3_sitescriptdir}/magic.py
431%{py3_sitescriptdir}/__pycache__/magic.*.py[co]
432%{py3_sitescriptdir}/file_magic-*-py*.egg-info
433%endif
This page took 0.124761 seconds and 4 git commands to generate.