%define version 1.12.13

Summary: A version control system.
Summary(ja): バージョン管理システム
Name: cvs
Version: %{version}
Release: 5%{?_dist_release}
License: GPL
Group: Development/Tools
URL: http://www.cvshome.org/
Source0: http://ftp.cvshome.org/release/feature/cvs-%{version}/cvs-%{version}.tar.bz2
Source100: filter-requires-getopts-pl.sh
Patch2: cvs-1.12.13-authserver.patch
Patch3: cvs-1.11.2-cvspass.patch
Patch5: cvs-1.11.2-install.patch 
Patch101: can-2005-2693.patch
Patch102: cvs-1.12.13_CVE-2012-0804.patch

Requires(pre): install-info
Prefix: %{_prefix}
Buildroot: %{_tmppath}/%{name}-%{version}-root
Requires: perl, zlib
BuildRequires: zlib-devel
BuildRequires: openssl-devel
BuildRequires: vim

Vendor: Project Vine
Distribution: Vine Linux

# for perl
%define __find_requires %{SOURCE100}

%description
CVS (Concurrent Version System) is a version control system which can
record the history of your files (usually, but not always, source
code). CVS only stores the differences between versions, instead of
every version of every file you've ever created. CVS also keeps a log
of who, when and why changes occurred.

CVS is very helpful for managing releases and controlling the
concurrent editing of source files among multiple authors. Instead of
providing version control for a collection of files in a single
directory, CVS provides version control for a hierarchical collection
of directories consisting of revision controlled files. These
directories and files can then be combined together to form a software
release.

Install the cvs package if you need to use a version control system.
#'

%description -l ja
CVS (Concurrent Version System) はバージョン管理システムで，
ファイル (必ずしもそうとは限りませんが多くの場合ソースコード) の
変更履歴を記録することが出来ます．CVS はファイルの全バージョンを
保存しておくのではなく，バージョン間の変更差分だけを保存します．
CVS はまた誰が何故変更を行ったのかのログも記録します．

CVS は，ソースファイルを複数の開発者が同時に編集する際のリリース管理に
非常に役立ちます．

バージョン管理システムが必要なら cvs パッケージをインストールして下さい．


%prep
%setup -q
%patch2 -p1 -b .authserver
%patch3 -p1 -b .cvspass
%patch5 -p1 -b .install
%patch101 -p1 -b .can-2005-2693
%patch102 -p1 -b .CVE-2012-0804

%build
%configure --with-external-zlib

make %{?_smp_mflags}
make -C doc info


%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

%{makeinstall}
gzip %{buildroot}%{_infodir}/cvs* || true


%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}


%post
/sbin/install-info /%{_infodir}/cvs.info.gz /%{_infodir}/dir
/sbin/install-info /%{_infodir}/cvsclient.info.gz /%{_infodir}/dir 


%preun
if [ $1 = 0 ]; then
    /sbin/install-info --delete /%{_infodir}/cvs.info.gz /%{_infodir}/dir
    /sbin/install-info --delete /%{_infodir}/cvsclient.info.gz /%{_infodir}/dir
fi


%files
%defattr(-,root,root)
%doc AUTHORS BUGS COPYING COPYING.LIB ChangeLog ChangeLog.zoo DEVEL-CVS HACKING FAQ INSTALL MINOR-BUGS NEWS PROJECTS TODO README README.VMS
%doc doc/*.pdf
%{_bindir}/cvs
%{_bindir}/cvsbug
%{_bindir}/rcs2log
%{_mandir}/man1/cvs.1*
%{_mandir}/man5/cvs.5*
%{_mandir}/man8/cvsbug.8*
%{_infodir}/cvs*
%{_datadir}/cvs

%changelog
* Fri Feb 10 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp>1.12.13-5vl6
- add patch102 for fix CVE-2012-0804 (heap overflow in the CVS client)
- add Vendor / Distri Tags

* Sat Apr  2 2011 IWAI, Masaharu <iwai@alib.jp> 1.12.13-4vl6
- build with krb5-libs 1.8.2
- add doc/*.pdf in %%doc

* Tue Jan 11 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.12.13-3
- rebuild with openssl-1.0.0c
- add BuildRequires: openssl-devel, vim

* Wed Apr 01 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.12.13-2
- spec in utf-8

* Sat Apr 26 2008 IWAI, Masaharu <iwaim@cc.mbn.or.jp> 1.12.13-1
- rebuild with perl-5.10.0-1vl5
- add filter-requires-getopts-pl.sh (Source100)

* Sun Jun 11 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 1.12.13-0vl1
- new upstream release
- drop Patch100 which are merged in upstream.

* Mon Jan 30 2006 Shu KONNO <owa@bg.wakwak.com> 1.12.9-0vl4
- rebuilt with VineSeed

* Fri Aug 26 2005 IKEDA Katsumi <ikeda@webmasters.gr.jp> 1.12.9-0vl3.1
- added a security patch for CAN-2005-2693 (CVS temporary file issue).

* Wed Apr 27 2005 IKEDA Katsumi <ikeda@webmasters.gr.jp> 1.12.9-0vl3
- added a security patch for can-2005-0753 (Buffer Overflow and DoS).

* Thu Jun 17 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.12.9-0vl2
- remove unneeded dependency
- change Prereq: info to install-info
- add %%{_smp_mflags} to make option

* Thu Jun 10 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.12.9-0vl1
- new upstream release
- security update
  This release fixes several serious security issues in the CVS server
  executable. It also contains one minor bug fix and the cvs log' and cvs ls'
  commands now output times in the client's local timezone.

* Thu May 20 2004 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 1.12.8-0vl1
- new upstream release
- security update
  This release fixes a serious security issue in the CVS server executable.

* Mon Apr 19 2004 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 1.12.7-0vl2
- fixed typo in description

* Mon Apr 19 2004 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 1.12.7-0vl1
- new upstream release
- security update
  This release fixes serious security issues in both the client and
  server executables. It also contains many bug fixes and support for
  accessing CVS pservers via intervening HTTP proxies.
- fixed broken description
- changed Source0 URL

* Sat Dec 20 2003 Satoshi MACHINO <machino@vinelinux.org> 1.12.5-0vl2
- fixed typo in changelog

* Fri Dec 19 2003 Satoshi MACHINO <machino@vinelinux.org> 1.12.5-0vl1 
- new upstream release
- added "--with-external-zlib2" to configure option
	-- dropped patch4

* Fri Dec 19 2003 Satoshi MACHINO <machino@vinelinux.org> 1.11.11-0vl1
- new upstream release
- security update
  pserver can no longer be configured to run as root via the
  $CVSROOT/CVSROOT/passwd file, so if your passwd file is compromised, it no
  longer leads directly to a root hack.  Attempts to root will also be logged
  via the syslog.

* Tue Dec 09 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 1.11.10-0vl1
- new upstream release
- security update
  This release fixes a security issue with no known exploits that could cause
  previous versions of CVS to attempt to create files and directories in the
  filesystem root.

* Sat Oct 11 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.11.9-0vl1
- new upstream release

* Wed Jan 22 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.11.5-0vl1
- updated to new upstream release (security update)

* Mon Dec 30 2002 Satoshi MACHINO <machino@vinelinux.org> 1.11.4-0vl1
- new upstream version
	-- Some minor changes to allow the code to compile on Windows platforms.
	-- NEWS: Add dummy entry for since 1.11.3.
	-- configure.in: Update to dev version 1.11.3.
	-- configure: Regenerated.

* Sat Dec 28 2002 Satoshi MACHINO <machino@vinelinux.org> 1.11.3-0vl1
- new upstream version
	-- When waiting for another user's lock, the message timestamps are now
	in UTC rather than the server's local time.
	-- The options.h file is no longer used.  This fixes a bug that occurred	when 1.11.2 was compiled on Windows platforms.
	-- standardized on Automake version 1.6.3 and Autoconf version 2.53.

- dropped kbr4 patch

* Thu May 09 2002 Satoshi MACHINO <machino@vinelinux.org> 1.11.2-0vl2
- clean up patch files
- added some documents files

* Tue May 07 2002 Satoshi MACHINO <machino@vinelinux.org> 1.11.2-0vl1
- updated cvs-1.11.2
	-- updated cvs-1.11.2-mktemp.patch
	
* Tue Mar 12 2002 Toru Sagami <sagami@vinelinux.org> 1.11.1p1-7vl1
- paches are taken from RHSA-2002:026-35 1.11.1p1-7 with its fixes.
  The most notable feature is: build with an external zlib

* Mon May 21 2001 Satoshi MACHINO <machino@vinelinux.org> 1.11.1p1-0vl1
- updated cvs-1.11.1p1
- removed some patches
- changed contrib dir to /usr/share from /usr/lib

* Thu Dec 28 2000 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
- 1.11-0vl2
- rebuilt with new %%{_mandir} definition
- added Japanese summary and description

* Tue Nov 21 2000 Satoshi MACHINO <machino@vinelinux.org> 1.11-0vl1
- updated 1.11
- removed auth.patch
- added errno.patch from rawhide's cvs-1.11-1
- partially used rpmmacros

* Fri Sep 08 2000 MACHINO, Satoshi <mac@netfort.gr.jp>
- 1.10.8-0vl3
- fixed %post and %preun section

- 1.10.8-0vl2
- removed gzip and strip in %install

* Tue Jul 04 2000 MACHINO, Satoshi <mac@netfort.gr.jp>
- updated 1.10.8
- switch to using the system's zlib instead of built-in
- removed kerberos

* Wed Mar  1 2000 Nalin Dahyabhai <nalin@redhat.com>
- make kerberos support conditional at build-time

* Wed Mar  1 2000 Bill Nottingham <notting@redhat.com>
- integrate kerberos support into main tree

* Mon Feb 14 2000 Nalin Dahyabhai <nalin@redhat.com>
- build with gssapi auth (--with-gssapi, --with-encryption)
- apply patch to update libs to krb5 1.1.1

* Fri Feb 04 2000 Cristian Gafton <gafton@redhat.com>
- fix the damn info pages too while we're at it.
- fix description
- man pages are compressed
- make sure %post and %preun work okay

* Sun Jan 9 2000  Jim Kingdon <http://bugzilla.redhat.com/bugzilla>
- update to 1.10.7.

* Wed Jul 14 1999 Jim Kingdon <http://developer.redhat.com>
- add the patch to make 1.10.6 usable
  (http://www.cyclic.com/cvs/dev-known.html).

* Tue Jun  1 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.10.6.

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 2)

* Mon Feb 22 1999 Jeff Johnson <jbj@redhat.com>
- updated text in spec file.

* Mon Feb 22 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.10.5.

* Tue Feb  2 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.10.4.

* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.10.3.

* Mon Sep 28 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.10.2.

* Wed Sep 23 1998 Jeff Johnson <jbj@redhat.com>
- remove trailing characters from rcs2log mktemp args

* Thu Sep 10 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.10.1

* Mon Aug 31 1998 Jeff Johnson <jbj@redhat.com>
- fix race conditions in cvsbug/rcs2log

* Sun Aug 16 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.10.

* Wed Aug 12 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.9.30.

* Mon Jun 08 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr

* Mon Jun  8 1998 Jeff Johnson <jbj@redhat.com>
- build root
- update to 1.9.28

* Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Wed Oct 29 1997 Otto Hammersmith <otto@redhat.com>
- added install-info stuff
- added changelog section

