]> git.pld-linux.org Git - packages/cvsnt.git/blobdiff - cvsnt.spec
- release 6
[packages/cvsnt.git] / cvsnt.spec
index cb46452376a5950e7f4c81c8848de444a17c91b5..32fa9e91018c3b941c7111c6703d61d1b2221d7d 100644 (file)
@@ -3,27 +3,51 @@
 %bcond_without kerberos                # build without krb5 support
 #
 # TODO:
+# - commit -r BRANCH is rejected (contrary to manual)
+#   you can commit new file to branch with this technique:
+#    cvs add file.patch
+#    cvs up -r BRANCH file.patch
+#    cvs ci -m '- bleh' file.patch
+#   or just install cvs client from cvsnt package.
+# - the newline auto translation on text files should be disabled on .patch files (better for any!)
 # - check server mode and default config
-# - create cvsnt-database-xyz and cvsnt-protocol-xyz subpackages
+# - unpackaged:
+#   /usr/lib/libcvsapi.la
+#   /usr/lib/libcvsapi.so
+#   /usr/lib/libcvstools.la
+#   /usr/lib/libcvstools.so
+#   /usr/lib/libmdnsclient.la
+#   /usr/lib/libmdnsclient.so
 Summary:       Concurrent Versioning System
 Summary(pl.UTF-8):     Concurrent Versioning System
 Name:          cvsnt
-Version:       2.5.03.2382
-Release:       0.1
+# http://www.cvsnt.org/archive/2.5_stable tell which version is stable
+Version:       2.5.05.3744
+Release:       6
 License:       GPL v2+/LGPL v2+
 Group:         Development/Version Control
-Source0:       http://unifacecm.de/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 4f7d2e54c5529829a43b089f9b37c86e
+Source0:       http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
+# Source0-md5: 64aa0fc627893cc66182023b936260da
 Source1:       %{name}.inetd
 Source2:       %{name}-cvslockd.init
+Source3:       %{name}.pam
+Patch0:                %{name}-system-pcre.patch
+Patch1:                %{name}-system-ntlm.patch
+Patch2:                %{name}-build.patch
+Patch3:                %{name}-nospam.patch
+Patch4:                %{name}-fixes.patch
+Patch5:                %{name}-gcc4.patch
 URL:           http://www.cvsnt.org/
 BuildRequires: autoconf >= 2.58
 BuildRequires: automake >= 1:1.7.9
-BuildRequires: avahi-compat-libdns_sd-devel
 BuildRequires: docbook-style-xsl
-BuildRequires: expat-devel
-%{?with_kerberos:BuildRequires:        krb5-devel}
+BuildRequires: howl-devel
+%{?with_kerberos:BuildRequires:        heimdal-devel}
+BuildRequires: libltdl-devel
+BuildRequires: libntlm-devel >= 0.3.6
 BuildRequires: libstdc++-devel
+BuildRequires: libtool
+BuildRequires: libxml2-devel
 BuildRequires: mysql-devel
 BuildRequires: openssl-devel
 BuildRequires: pam-devel
@@ -31,10 +55,10 @@ BuildRequires:      pcre-devel
 BuildRequires: postgresql-devel
 BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sqlite3-devel
-BuildRequires: texinfo
 BuildRequires: unixODBC-devel
 BuildRequires: xmlto
 BuildRequires: zlib-devel
+Requires(post):        /sbin/ldconfig
 Provides:      cvs-client = %{version}
 Obsoletes:     cvs-client
 Obsoletes:     cvs-nserver-client
@@ -85,6 +109,7 @@ Requires(pre):       /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-cvslockd = %{version}-%{release}
 Requires:      rc-inetd
 Provides:      group(cvs)
 Provides:      user(cvs)
@@ -96,10 +121,102 @@ Obsoletes:        cvs-nserver-pserver
 Config files for rc-inetd that are necessary to run CVS in pserver
 mode.
 
+%package cvslockd
+Summary:       locking daemon
+Group:         Development/Version Control
+
+%description cvslockd
+CVS locking daemon.
+
+%package database-mysql
+Summary:       MySQL Database support for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description database-mysql
+MySQL Database support for CVSNT.
+
+%package database-odbc
+Summary:       ODBC support for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description database-odbc
+ODBC support for CVSNT.
+
+%package database-postgres
+Summary:       PostgreSQL Database support for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description database-postgres
+PostgreSQL Database support for CVSNT.
+
+%package database-sqlite
+Summary:       SQLite Database support for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description database-sqlite
+SQLite Database support for CVSNT.
+
+%package protocol-gserver
+Summary:       gserver (Kerberos GSS) protocol support for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description protocol-gserver
+gserver (Kerberos GSS) support for CVSNT.
+
+%package protocol-sserver
+Summary:       sserver (SSL) procotol support for for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description protocol-sserver
+sserver (SSL) protocol support for CVSNT.
+
+%package protocol-sspi
+Summary:       SSPI procotol support for for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description protocol-sspi
+SSPI protocol support for CVSNT.
+
+%package protocol-sync
+Summary:       sync procotol support for for CVSNT
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+
+%description protocol-sync
+sync protocol support for CVSNT.
+
+%package rcs
+Summary:       CVSNT version of RCS tools
+Group:         Development/Version Control
+Requires:      %{name} = %{version}-%{release}
+Provides:      rcs
+
+%description rcs
+CVSNT version of RCS tools.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
+rm -r protocols/ntlm
 
 %build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
 %configure \
        --enable-mdns \
        --enable-sqlite \
@@ -112,11 +229,11 @@ mode.
        --enable-pserver \
        --enable-ext \
        --enable-rsh \
-       --enable-gserver \
+       --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
        --enable-sserver \
        --enable-sspi \
        --enable-enum \
-       --disable-rcs
+       --enable-rcs
 
 %{__make}
 
@@ -128,13 +245,14 @@ xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
+install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
 
-%{__make} install \
+%{__make} install -j1 \
        DESTDIR=$RPM_BUILD_ROOT
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
 
 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
@@ -142,19 +260,19 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post cvslockd
 /sbin/chkconfig --add cvslockd
 %service cvslockd restart
 
-%preun
+%preun cvslockd
 if [ "$1" = "0" ]; then
-        %service cvslockd stop
-        /sbin/chkconfig --del cvslockd
+       %service cvslockd stop
+       /sbin/chkconfig --del cvslockd
 fi
 
-%postun -p /sbin/ldconfig
-
 %pre pserver
 %groupadd -f -g 52 cvs
 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
@@ -177,15 +295,34 @@ fi
 %files
 %defattr(644,root,root,755)
 %doc doc/html_cvsclient
-%doc AUTHORS FAQ README
+%doc AUTHORS README
+%doc triggers/examples/*.txt
 %dir %{_sysconfdir}/cvsnt
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
-%attr(754,root,root) /etc/rc.d/init.d/cvslockd
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/cvs
+%attr(755,root,root) %{_bindir}/cvsnt
+%attr(755,root,root) %{_bindir}/cvsscript
 %dir %{_libdir}/cvsnt
-%dir %{_libdir}/cvsnt/*
-%attr(755,root,root) %{_libdir}/cvsnt/*/*.so
-%{_libdir}/cvsnt/*/*.la
+%dir %{_libdir}/cvsnt/database
+%dir %{_libdir}/cvsnt/mdns
+%attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
+%{_libdir}/cvsnt/mdns/*.la
+%dir %{_libdir}/cvsnt/protocols
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
+%{_libdir}/cvsnt/protocols/enum.la
+%{_libdir}/cvsnt/protocols/ext.la
+%{_libdir}/cvsnt/protocols/pserver.la
+%{_libdir}/cvsnt/protocols/server.la
+%dir %{_libdir}/cvsnt/triggers
+%attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
+%{_libdir}/cvsnt/triggers/*.la
+%dir %{_libdir}/cvsnt/xdiff
+%attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
+%{_libdir}/cvsnt/xdiff/*.la
 %attr(755,root,root) %{_libdir}/lib*-*.so*
 %{_mandir}/man[15]/*
 
@@ -194,3 +331,61 @@ fi
 %doc doc/html_cvs
 %attr(770,root,cvs) %dir %{_cvs_root}
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
+
+%files cvslockd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/cvslockd
+%attr(754,root,root) /etc/rc.d/init.d/cvslockd
+
+%files database-mysql
+%defattr(644,root,root,755)
+%doc triggers/sql/*_mysql.sql
+%attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
+%{_libdir}/cvsnt/database/mysql.la
+
+%files database-odbc
+%defattr(644,root,root,755)
+%doc triggers/sql/*_oracle.sql
+%doc triggers/sql/*_mssql.sql
+%attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
+%{_libdir}/cvsnt/database/odbc.la
+
+%files database-postgres
+%defattr(644,root,root,755)
+%doc triggers/sql/*_postgres.sql
+%attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
+%{_libdir}/cvsnt/database/postgres.la
+
+%files database-sqlite
+%defattr(644,root,root,755)
+%doc triggers/sql/*_sqlite.sql
+%attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
+%{_libdir}/cvsnt/database/sqlite.la
+
+%if %{with kerberos}
+%files protocol-gserver
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
+%{_libdir}/cvsnt/protocols/gserver.la
+%endif
+
+%files protocol-sserver
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
+%{_libdir}/cvsnt/protocols/sserver.la
+
+%files protocol-sspi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
+%{_libdir}/cvsnt/protocols/sspi.la
+
+#%files protocol-sync
+#%defattr(644,root,root,755)
+#%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
+#%{_libdir}/cvsnt/protocols/sync.la
+
+%files rcs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/co
+%attr(755,root,root) %{_bindir}/rcsdiff
+%attr(755,root,root) %{_bindir}/rlog
This page took 0.126867 seconds and 4 git commands to generate.