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