File cvs-stable.spec of Package cvs-stable

# norootforbuild

%define cvslock_version 0.2

%if %{?_without_pam:1}0
%else
%define with_pam 1
%endif

Name:				cvs-stable
Version:			1.11.23+1
%define pkg_version 1.11.23
Release:			0
Summary:			Concurrent Versions System (Stable Branch)
Source:			http://ftp.gnu.org/non-gnu/cvs/source/stable/%{pkg_version}/cvs-%{pkg_version}.tar.bz2
# Source1:			ftp://riemann.iam.uni-bonn.de/pub/users/roessler/cvslock/cvslock-%{cvslock_version}.tar.gz
# using a mirror URL as the above seems to be dead:
Source1:			ftp://ftp.uni-wuppertal.de/pub/unix/openbsd/distfiles/cvslock-%{cvslock_version}.tar.gz
Source2:			cvs-xinetd.conf
Source3:			cvs.sh
Source4:			cvs.csh
Source5:			cvs-new.pam
Source6:			cvs-old.pam
Patch1:			cvs.diff
Patch2:			cvs-diff-k.possible.patch
Patch5:			cvs-fix_sigpipe_flowcontrol.diff
Patch6:			cvs-allow_trailing_dir_slash.diff
Patch7:			cvs-use_system_zlib.diff
Patch8:			cvs-use_vitmp.diff
Patch9:			cvs-tmp-races.diff
Patch10:			cvs-new-sort-option.diff
Patch11:			cvs-1.11.9-nocsh.patch
Patch12:			cvs-03cvs-client-exploit-fix.diff
Patch13:			cvs-1.11.21-pam.patch
Patch14:			cvs-downgrade_required_autoconf.patch
Patch15:       cvs-fix_missing_sentinel.patch
Patch16:       cvs-fix_std_overrides.patch
Patch17:       cvs-fix_getline.patch
Patch18:       cvs-rdiff_binary.patch
URL:				http://www.cvshome.org/
Group:			Development/Tools/Version Control
License:			GPL, LGPL
BuildRoot:		%{_tmppath}/build-%{name}-%{version}
BuildRequires:	make gcc glibc-devel zlib zlib-devel
BuildRequires:	autoconf automake libtool
BuildRequires:	vim
PreReq:			%install_info_prereq
Requires:		/bin/mktemp
Requires:		/usr/bin/csh
Requires:		/usr/bin/vitmp
Requires:		xinetd
Conflicts:		cvs
%if %{?with_pam:1}0
BuildRequires:	pam pam-devel
Provides:		%{name}-pam = %{version}-%{release}
%endif

%description
CVS is a front-end to the Revision Control System included in the
standard Linux distributions. PCL-CVS, an Emacs front-end for CVS, is
also included.



Authors:
--------
    Brian Berliner <berliner@sun.com>
    Jeff Polk <polk@bsdi.com>

%debug_package
%prep
%setup -q -a 1 -n "cvs-%{pkg_version}"
%patch1
%patch2
%patch5
%patch6
# use patch directly instead of the patch macro as it won't apply
# without fuzz (because of previously applied patches)
#patch7
%__patch -b -z.use_system_zlib -p0 --fuzz=3 -i "%{PATCH7}"
%patch8 -p1
%patch9 -p1
%patch10
%patch11 -p1
%patch12
%patch13
%patch14
%patch15
%patch16
%patch17
%patch18
%__rm -rf zlib

%build
export CFLAGS="%{optflags} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"

autoreconf -fiv
pushd "cvslock-%{cvslock_version}"
autoreconf -fiv
popd

%configure
pushd "cvslock-%{cvslock_version}"
%configure \
%if %{?with_pam:1}0
	--enable-pam
%endif

popd

%__make CFLAGS="-Wall %{optflags} -pipe" %{?jobs:-j%{jobs}}
%__make CFLAGS="-Wall %{optflags} -pipe" %{?jobs:-j%{jobs}} -C "cvslock-%{cvslock_version}"

%install
%__make DESTDIR="%{buildroot}" install install-info
%__make DESTDIR="%{buildroot}" install -C "cvslock-%{cvslock_version}"

%__install -d "%{buildroot}/etc/profile.d"
%__install -m 0644 "%{SOURCE3}" "%{SOURCE4}" "%{buildroot}/etc/profile.d/"

# hack to avoid csh in requires
%__chmod 0644 "%{buildroot}%{_datadir}/cvs/contrib/sccs2rcs"

%__install -D -m0644 "%{SOURCE2}" "%{buildroot}/etc/xinetd.d/cvs"

%if %{?with_pam:1}0
%__install -d "%{buildroot}/etc/pam.d"
%if %suse_version >= 920
PAMFILE="%{SOURCE5}"
%else
PAMFILE="%{SOURCE6}"
%endif
%__install -m0644 "$PAMFILE" "%{buildroot}/etc/pam.d/cvs"
%endif

%post
%install_info --info-dir="%{_infodir}" "%{_infodir}/cvs".info*
%install_info --info-dir="%{_infodir}" "%{_infodir}/cvsclient".info*

%preun
%install_info_delete --info-dir="%{_infodir}" "%{_infodir}/cvs".info*
%install_info_delete --info-dir="%{_infodir}" "%{_infodir}/cvsclient".info*

%clean
%__rm -rf "%{buildroot}"

%files
%defattr(-,root,root)
%config(noreplace) /etc/xinetd.d/cvs
%config(noreplace) /etc/profile.d/cvs.sh
%config(noreplace) /etc/profile.d/cvs.csh
%if %{?with_pam:1}0
%attr(0644,root,root) %config(noreplace) /etc/pam.d/cvs
%endif
%{_bindir}/cvs
%{_bindir}/cvsbug
%{_bindir}/rcs2log
%{_bindir}/cvslock
%doc %{_infodir}/cvs.info*
%doc %{_infodir}/cvsclient.info*
%dir %{_datadir}/cvs
%dir %{_datadir}/cvs/contrib
%{_datadir}/cvs/contrib/cvs_acls
%{_datadir}/cvs/contrib/commit_prep
%{_datadir}/cvs/contrib/log
%{_datadir}/cvs/contrib/intro.doc
%{_datadir}/cvs/contrib/clmerge
%{_datadir}/cvs/contrib/log_accum
%{_datadir}/cvs/contrib/rcs2log
%attr(755,root,root) %{_datadir}/cvs/contrib/sccs2rcs
%{_datadir}/cvs/contrib/cvscheck
%{_datadir}/cvs/contrib/mfpipe
%{_datadir}/cvs/contrib/rcs-to-cvs
%{_datadir}/cvs/contrib/cvs2vendor
%{_datadir}/cvs/contrib/cln_hist
%{_datadir}/cvs/contrib/rcslock
%{_datadir}/cvs/contrib/README
%{_datadir}/cvs/contrib/debug_check_log
%{_datadir}/cvs/contrib/pvcs2rcs
%{_datadir}/cvs/contrib/check_cvs
%doc %{_mandir}/man1/cvs.1%{ext_man}
%doc %{_mandir}/man1/cvslock.1%{ext_man}
%doc %{_mandir}/man5/cvs.5%{ext_man}
%doc %{_mandir}/man8/cvsbug.8%{ext_man}

%changelog
# vim: set sw=4 ts=4 et:
openSUSE Build Service is sponsored by