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