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: