Marcus Meissner
b1bef68f62
- remove python build instructions from master spec file, move completely into python-magic.spec - converted to singlespec, dropped separate python3-magic spec file - moved python build instructions from file.spec to python-magic.spec - do not need to build the binary parts in order to build the python part - removed inlining of %defines from file.spec because it is unreliable in presence of parametrized macros - added provides: python-file-magic to comply with the python package naming policy OBS-URL: https://build.opensuse.org/request/show/528985 OBS-URL: https://build.opensuse.org/package/show/Base:System/file?expand=0&rev=164
199 lines
6.0 KiB
RPMSpec
199 lines
6.0 KiB
RPMSpec
#
|
|
# spec file for package file
|
|
#
|
|
# Copyright (c) 2017 SUSE LINUX 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/
|
|
#
|
|
|
|
|
|
%define somajor 1
|
|
%define libname libmagic%{somajor}
|
|
|
|
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.32
|
|
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
|
|
Source3: file-rpmlintrc
|
|
Patch: file-5.32.dif
|
|
Patch1: file-5.19-misc.dif
|
|
Patch4: file-4.24-autoconf.dif
|
|
Patch5: file-5.14-tex.dif
|
|
Patch7: file-4.20-ssd.dif
|
|
Patch8: file-4.20-xen.dif
|
|
Patch9: file-5.22-elf.dif
|
|
Patch10: file-5.19-printf.dif
|
|
Patch11: file-5.12-zip.dif
|
|
Patch12: file-5.17-option.dif
|
|
Patch13: file-4.21-scribus.dif
|
|
Patch15: file-4.21-xcursor.dif
|
|
Patch22: file-5.19-cromfs.dif
|
|
Patch25: file-5.18-javacheck.dif
|
|
Patch26: file-5.19-solv.dif
|
|
Patch27: file-5.19-zip2.0.dif
|
|
Patch31: file-5.19-biorad.dif
|
|
Patch32: file-5.19-clicfs.dif
|
|
Patch33: file-5.16-ocloexec.patch
|
|
Patch34: file-5.23-endian.patch
|
|
Patch35: file-5.24-nitpick.dif
|
|
Patch36: file-5.15-clear-invalid.patch
|
|
Patch37: file-secure_getenv.patch
|
|
Patch39: file-5.28-btrfs-image.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 magic
|
|
Summary: The magic files for libmagic to use
|
|
Group: Productivity/File utilities
|
|
Obsoletes: libmagic-data < %{version}
|
|
Provides: libmagic-data = %{version}
|
|
%if 0%{?suse_version} >= 1200
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description magic
|
|
This package contains the basic magic files that libmagic reads and uses
|
|
to estimate a file's type.
|
|
|
|
%package -n %libname
|
|
Summary: Library with file's functionality
|
|
Group: System/Libraries
|
|
Provides: file:%{_libdir}/libmagic.so.%{somajor}
|
|
Requires: file-magic = %{version}
|
|
|
|
%description -n %libname
|
|
This library reads magic files and detects file types. Used by file command
|
|
|
|
%package devel
|
|
Summary: Include Files and Libraries mandatory for Development
|
|
Group: Development/Libraries/C and C++
|
|
Provides: file:/usr/include/magic.h
|
|
Requires: %libname = %{version}
|
|
Requires: glibc-devel
|
|
|
|
%description 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
|
|
%patch22 -p0 -b .cromfs
|
|
%patch25 -p0 -b .javacheck
|
|
%patch26 -p0 -b .solv
|
|
%patch27 -p0 -b .zip2.0
|
|
%patch31 -p0 -b .biorad
|
|
%patch32 -p0 -b .clicfs
|
|
%patch33 -p0 -b .clexe
|
|
%patch34 -p0 -b .endian
|
|
%patch35 -p0 -b .nitpick
|
|
%patch36 -p1 -b .clear
|
|
%patch37 -p1 -b .getenv
|
|
%patch39 -p1 -b .btrfs
|
|
%patch -b .0
|
|
test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in
|
|
rm -fv src/magic.h
|
|
|
|
%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 -fPIE"
|
|
%configure --disable-silent-rules --datadir=%{_miscdir} --disable-static --with-pic --enable-fsect-man5
|
|
%{__make} %{?_smp_mflags} pkgdatadir='$(datadir)' LDFLAGS="-pie"
|
|
|
|
%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
|
|
# Does not build
|
|
%if %{with decore}
|
|
install -s dcore %{buildroot}%{_bindir}
|
|
%endif
|
|
# 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 %libname -p /sbin/ldconfig
|
|
|
|
%postun -n %libname -p /sbin/ldconfig
|
|
|
|
%files -n %libname
|
|
%defattr (-,root,root)
|
|
%{_libdir}/lib*.so.*
|
|
|
|
%files magic
|
|
%defattr (-,root,root)
|
|
%config(noreplace) %{_sysconfdir}/magic
|
|
%{_miscdir}/magic
|
|
%{_miscdir}/magic.mgc
|
|
%doc %{_mandir}/man5/magic.5.gz
|
|
|
|
%files
|
|
%defattr (-,root,root)
|
|
%if %{with decore}
|
|
%attr(755,root,root) %{_bindir}/dcore
|
|
%endif
|
|
%attr(755,root,root) %{_bindir}/file
|
|
%doc %{_mandir}/man1/file.1.gz
|
|
%doc COPYING AUTHORS NEWS ChangeLog
|
|
|
|
%files devel
|
|
%defattr (-,root,root)
|
|
%{_libdir}/lib*.so
|
|
%{_includedir}/magic.h
|
|
%doc %{_mandir}/man3/libmagic.3.gz
|
|
%doc README COPYING AUTHORS NEWS ChangeLog
|
|
|
|
%changelog
|