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