File dpkg.spec of Package dpkg
%define realname dpkg
%define srcext tar.xz
# turn off the generation of debuginfo rpm (RH9) ??
%global debug_package %{nil}
%if ! 0%{?perl_version:1}
%define perl_version=%(eval $(perl -V:version); echo $version)
%endif
# Note, versions newer than 1.18.10 requires perl 5.14.2 which does not exists in CentOS 6
# Common info
Name: %{realname}
Version: 1.20.7.1
Release: wiz%{?extraver:0.}1%{?dist}
License: GPL-2.0
Group: System/Packages
URL: https://wiki.debian.org/Teams/Dpkg
Summary: The dpkg package manager, as used by Debian, Fink and others
# Install-time parameters
Requires: %{name}-perl = %{version}-%{release}
# Build-time parameters
BuildRequires: autoconf automake libtool
BuildRequires: xz pkgconfig
BuildRequires: gettext >= 0.19
BuildRequires: gcc-c++
BuildRequires: zlib-devel xz-devel
BuildRequires: ncurses-devel
BuildRequires: perl%{?suse_version:-base} >= 5.14.2
%if 0%{?suse_version}
BuildRequires: libbz2-devel
%else
BuildRequires: bzip2-devel
%endif
%if 0%{?suse_version} || 0%{?rhel} >= 7
BuildRequires: pkgconfig(libselinux)
%endif
BuildRoot: %{_tmppath}/%{name}-root
Source: https://launchpad.net/debian/+archive/primary/+files/%{realname}_%{version}%{?extraver}.%{srcext}
%description
dpkg - Debian's package maintenance system
The primary interface for the dpkg suite is the ‘dselect’ program;
a more low-level and less user-friendly interface is available in
the form of the ‘dpkg’ command.
%package devel
Group: Development/Languages/C and C++
Summary: Development files for %{name}
Requires: %{name} = %{version}
Provides: lib%{name}-devel = %{version}
%description devel
Development files for %{name}
%package perl
Group: Development/Languages/Perl
Summary: Perl interface to Debian's package maintenance system
Requires: perl(:MODULE_COMPAT_%{perl_version})
Requires: perl%{?suse_version:-base} = %{perl_version}
Requires: %{name} = %{version}-%{release}
Provides: perl-dpkg = %{version}-%{release}
Provides: perl-dselect = %{version}-%{release}
%description perl
Perl interface to Debian's package maintenance system
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{version}%{?extraver}
echo %{version} > .dist-version
if [ ! -x configure ]; then
if [ -x autogen.sh ]; then
./autogen.sh
else
autoreconf --force --install
fi
fi
%build
%configure \
--disable-start-stop-daemon \
--disable-update-alternatives \
CFLAGS="%{optflags} %{?gcc_lto}" \
CXXFLAGS="%{optflags} %{?gcc_lto}" \
LDFLAGS="%{!?suse_version:-ltinfo }-Wl,--as-needed -Wl,--strip-all %{?gcc_lto}"
%{__make} %{?_smp_mflags} V=1
%install
%{__make} install DESTDIR=%{buildroot}
[ "%{buildroot}" != "/" ] && %{__rm} -f %{buildroot}%{_sysconfdir}/alternatives/README
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%{_datadir}/doc/dpkg/
%find_lang %{name}
%find_lang %{name}-dev
%find_lang dselect
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files -f %{name}.lang -f %{name}-dev.lang -f dselect.lang
%defattr(-,root,root)
%doc AUTHORS COPYING NEWS README THANKS
%{_sysconfdir}/dpkg/
%{_bindir}/dpkg*
%{_bindir}/dselect
%{_sbindir}/dpkg-fsys-usrunmess
%{_libexecdir}/dpkg/
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/*
%doc %{_mandir}/man1/dpkg*
%doc %{_mandir}/man1/dselect*
%doc %{_mandir}/man5/*
%doc %{_mandir}/man7/*
%doc %{_mandir}/man8/*
%{_localstatedir}/lib/dpkg/
# Development stuff
%files devel
%defattr(-,root,root)
%doc doc/README.api doc/coding-style.txt doc/triggers.txt
%{_libdir}/pkgconfig/lib%{name}.pc
%dir %{_includedir}/%{name}/
%{_includedir}/%{name}/*.h
%{_libdir}/lib%{name}.a
%dir %{_datadir}/aclocal
%{_datadir}/aclocal/dpkg-*
%exclude %{_libdir}/*.la
%files perl
%defattr(-,root,root)
%{perl_vendorlib}/Dpkg.pm
%{perl_vendorlib}/Dpkg/
%{perl_vendorlib}/Dselect/
%doc %{_mandir}/man3/*
%changelog