# # spec file for package file # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: file BuildRequires: findutils BuildRequires: libtool BuildRequires: zlib-devel Url: http://www.darwinsys.com/file/ # bug437293 %ifarch ppc64 Obsoletes: file-64bit %endif # # Set Version also in python-magic.spec Version: 5.11 Release: 0 Summary: A Tool to Determine File Types License: BSD-2-Clause Group: Productivity/File utilities Source: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz Source2: baselibs.conf Patch: file-5.10.dif Patch1: file-5.07-misc.dif Patch4: file-4.24-autoconf.dif Patch5: file-4.03-tex.dif Patch7: file-4.20-ssd.dif Patch8: file-4.20-xen.dif Patch9: file-5.07-elf.dif Patch10: file-4.18-printf.dif Patch11: file-5.07-zip.dif Patch12: file-5.07-option.dif Patch13: file-4.21-scribus.dif Patch15: file-4.21-xcursor.dif Patch20: file-4.24-mips.dif Patch22: file-4.24-cromfs.dif Patch24: file-4.24-warn.dif Patch25: file-5.02-javacheck.dif Patch26: file-4.24-solv.dif Patch27: file-5.07-zip2.0.dif Patch28: file-5.07-iso9660.dif Patch29: file-5.07-llvm.dif Patch30: file-5.10-visibility.patch Patch31: file-5.07-biorad.dif Patch32: file-5.07-clicfs.dif Patch33: file-ocloexec.patch Patch34: file-endian.patch Patch35: file-5.11-nitpick.dif Patch36: file-5.11-extfs-minix.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _miscdir %{_datadir}/misc %description With the file command, you can obtain information on the file type of a specified file. File type recognition is controlled by the file /etc/magic, which contains the classification criteria. This command is used by apsfilter to permit automatic printing of different file types. %package -n libmagic-data Summary: The magic files for libmagic to use Group: Development/Libraries/Other %description -n libmagic-data This package contains the basic magic files that libmagic reads and uses to estimate a file's type. %package -n libmagic1 Summary: Library with file's functionality Group: Development/Libraries/Other Requires: libmagic-data = %{version} %description -n libmagic1 This library reads magic files and detects file types. Used by file command %package -n file-devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/Other Provides: file:/usr/include/magic.h Requires: glibc-devel Requires: libmagic1 = %{version} %description -n file-devel This package contains all necessary include files and libraries needed to develop applications that require the magic "file" interface. %prep %setup -q -n file-%{version} %patch1 -p0 -b .misc %patch4 -p0 -b .conf %patch5 -p0 -b .tex %patch7 -p0 -b .ssd %patch8 -p0 -b .xen %patch9 -p0 -b .elf %patch10 -p0 -b .prtf %patch11 -p0 -b .zip %patch12 -p0 -b .opt %patch13 -p0 -b .scri %patch15 -p0 -b .xcur %ifarch mips %patch20 -p0 -b .mips %endif %patch22 -p0 -b .cromfs %patch24 -p0 -b .warn %patch25 -p0 -b .javacheck %patch26 -p0 -b .solv %patch27 -p0 -b .zip2.0 %patch28 -p0 -b .iso9600 %patch29 -p0 -b .llvm %patch30 -p0 -b .vis %patch31 -p0 -b .biorad %patch32 -p0 -b .clicfs %patch33 -p0 -b .clexe %patch34 -p0 -b .endian %patch35 -p0 -b .nitpick %patch36 -p0 -b .extnotminix %patch -b .0 %build export LANG=POSIX export LC_ALL=POSIX rm -f Magdir/*,v Magdir/*~ rm -f ltcf-c.sh ltconfig ltmain.sh autoreconf -fiv CFLAGS="$RPM_OPT_FLAGS -DHOWMANY=69632" %configure --disable-silent-rules --datadir=%{_miscdir} --disable-static --with-pic --enable-fsect-man5 %{__make} %{?_smp_mflags} pkgdatadir='$(datadir)' %if 0%{?build_python_bindings:1} pushd python python setup.py build popd %endif %install export LANG=POSIX export LC_ALL=POSIX mkdir %{buildroot}/etc make DESTDIR=%{buildroot} install pkgdatadir='$(datadir)' rm -vf %{buildroot}%{_sysconfdir}/magic echo '# Localstuff: file(1) magic(5) for locally observed files' > %{buildroot}%{_sysconfdir}/magic echo '# global magic file is %{_miscdir}/magic(.mgc)' >> %{buildroot}%{_sysconfdir}/magic %{nil install -s dcore %{buildroot}%{_bindir}} # Check out that the binary does not bail out: LD_LIBRARY_PATH=%{buildroot}%{_libdir} export LD_LIBRARY_PATH find %{buildroot}%{_bindir}/file %{_bindir}/ /%{_lib}/ %{_libdir}/ | \ xargs %{buildroot}%{_bindir}/file -m %{buildroot}%{_miscdir}/magic unset LD_LIBRARY_PATH %{__rm} -f %{buildroot}%{_libdir}/*.la %post -n libmagic1 -p /sbin/ldconfig %postun -n libmagic1 -p /sbin/ldconfig %files -n libmagic1 %defattr (644,root,root,755) %{_libdir}/lib*.so.* %files -n libmagic-data %defattr (644,root,root,755) %config(noreplace) %{_sysconfdir}/magic %{_miscdir}/magic %{_miscdir}/magic.mgc %doc %{_mandir}/man5/magic.5.gz %files %defattr (644,root,root,755) %{nil %{_bindir}/dcore} %attr(755,root,root) %{_bindir}/file %doc %{_mandir}/man1/file.1.gz %doc COPYING AUTHORS NEWS ChangeLog %files -n file-devel %defattr (644,root,root,755) %{_libdir}/lib*.so %{_includedir}/magic.h %doc %{_mandir}/man3/libmagic.3.gz %doc README COPYING AUTHORS NEWS ChangeLog %changelog