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
openSUSE Build Service is sponsored by