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