Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Update
subversion.5054
subversion.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File subversion.spec of Package subversion.5054
# # spec file for package subversion # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2013 Andreas Stieger <andreas.stieger@gmx.de> # Copyright (c) 2009-2010 Pascal Bleser <pascal.bleser@opensuse.org> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define svngroup svn %define svnuser svn %global _tmpfilesdir %{_libexecdir}/tmpfiles.d %define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services %define apxs %{_sbindir}/apxs2 %define apache_libexecdir %(%{apxs} -q LIBEXECDIR) %define apache_sysconfdir %(%{apxs} -q SYSCONFDIR) %define apache_mmn %(MMN="$(%{apxs} -q LIBEXECDIR)_MMN"; test -x "$MMN" && "$MMN") %if 0%{?suse_version} > 1140 %define with_systemd 1 BuildRequires: pkgconfig(systemd) %{?systemd_requires} %endif Name: subversion Version: 1.8.10 Release: 0 Summary: Subversion version control system License: Apache-2.0 Group: Development/Tools/Version Control Url: https://subversion.apache.org Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2 Source1: subversion.conf Source2: subversion.README.SUSE Source4: contrib-1485350.tar.bz2 Source9: subversion.rcsvnserve Source10: subversion.sysconfig.svnserve Source12: subversion.sysconfig.svnserve.remoteaccess Source13: subversion.xinetd.svnserve Source14: svnserve.service Source15: svnserve.tmpfiles Source42: subversion.svngrep.sh Source43: subversion.svndiff.sh # https://people.apache.org/keys/group/subversion-pmc.asc Source50: subversion.keyring Source51: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc Source92: %{name}.rpmlintrc Patch11: subversion.libtool-verbose.patch Patch20: subversion-swig-perl-install_vendor.patch Patch23: subversion-swig-perl-Wall.patch Patch30: subversion-1.8.0-rpath.patch Patch37: subversion-no-build-date.patch Patch38: subversion-1.8.9-allow-httpd-2.4.6.patch Patch39: subversion-fix-parallel-build-support-for-perl-bindings.patch Patch40: subversion-perl-underlinking.patch # bnc#909935 two sec holes Patch41: subversion-CVE-2014-3580.patch Patch42: subversion-CVE-2014-8108.patch # Three more sec issues Patch43: subversion-bnc923793.patch Patch44: subversion-bnc923794.patch Patch45: subversion-bnc923795.patch # Two more securities Patch46: subversion-bnc939514.patch Patch47: subversion-bnc939517.patch # bnc#958300 Patch48: CVE-2015-5343-1.8.14.patch # bnc#945010 sqlite update broke tests Patch49: subversion-1.8.13-fix-sqlite-3.8.9-tests.patch # bnc#976849 and bnc#976850 Patch50: CVE-2016-2167.patch Patch51: CVE-2016-2168.patch BuildRequires: apache2-devel BuildRequires: apache2-prefork BuildRequires: cyrus-sasl-devel BuildRequires: db-devel BuildRequires: dbus-1-devel BuildRequires: doxygen BuildRequires: file-devel BuildRequires: gcc-c++ BuildRequires: glib2-devel BuildRequires: java-devel >= 1.6.0 BuildRequires: junit BuildRequires: kdelibs4-core BuildRequires: krb5-devel BuildRequires: libgnome-keyring-devel BuildRequires: libkde4-devel BuildRequires: libqt4-devel BuildRequires: libserf-devel >= 1.2.1 BuildRequires: libstdc++-devel BuildRequires: libtool # svnserveautocheck.sh davautocheck.sh requirements BuildRequires: net-tools BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: python-xml BuildRequires: ruby-devel >= 1.8.2 BuildRequires: sqlite3-devel >= 3.7.15.1 BuildRequires: swig BuildRequires: update-alternatives BuildRequires: util-linux BuildRequires: wget BuildRequires: zlib-devel Requires(post): %fillup_prereq Requires(pre): pwdutils Provides: subversion-javahl = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} < 1210 Requires(post): %insserv_prereq %endif %if 0%{?suse_version} > 1130 BuildRequires: bash-completion # Test dependency #BuildRequires: python-pysqlite %endif %if 0%{?suse_version} > 1230 BuildRequires: time %endif %description Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations. %package devel Summary: Development package for Subversion developers Group: Development/Libraries/C and C++ # this pulls in libapr1-devel and libexpat-devel Requires: libapr-util1-devel Requires: subversion = %{version} %description devel The subversion-devel package includes the static libraries and include files for developers interacting with the subversion package. %package tools Summary: Tools for Subversion Group: Development/Tools/Version Control %description tools This package contains some tools for subversion server and repository admins. %package perl Summary: Allows Perl scripts to directly use Subversion repositories Group: Development/Tools/Version Control Requires: perl = %{perl_version} Requires: perl >= 5.8 Requires: subversion = %{version} %description perl Provides Perl (SWIG) support for Subversion version control system. %package python Summary: Allows Python scripts to directly use Subversion repositories Group: Development/Tools/Version Control Requires: subversion = %{version} %description python Provides Python (SWIG) support for Subversion version control system. %package ruby Summary: Allows Ruby scripts to directly use Subversion repositories Group: Development/Tools/Version Control Requires: subversion = %{version} %description ruby Provides Ruby (SWIG) support for Subversion version control system. %package server Summary: Apache server module for Subversion server Group: Development/Tools/Version Control Requires: %{apache_mmn} Requires: apache2 Requires: subversion = %{version} %description server The subversion-server package adds the Subversion server Apache module to the Apache directories and configuration. %package -n libsvn_auth_kwallet-1-0 Summary: A Concurrent Versioning system similar to but better than CVS Group: Development/Tools/Version Control Requires: %{name} = %{version} Supplements: packageand(subversion:kdebase4-workspace) Supplements: packageand(subversion:plasma5-workspace) %description -n libsvn_auth_kwallet-1-0 Provides KWallet integration for Subversion version control system. %package -n libsvn_auth_gnome_keyring-1-0 Summary: A Concurrent Versioning system similar to but better than CVS Group: Development/Tools/Version Control Requires: %{name} = %{version} Supplements: packageand(subversion:gnome-session) %description -n libsvn_auth_gnome_keyring-1-0 Subversion does the same thing cvs (CVS (Concurrent Versioning System)) but has major enhancements compared to CVS. The name of the cmdline client is svn. %if 0%{?suse_version} > 1130 %package bash-completion Summary: Bash Completion for %{name} Group: Development/Tools/Version Control Requires: %{name} = %{version} Requires: bash-completion BuildArch: noarch %description bash-completion Bash command line completion support for %{name} - completion of subcommands, parameters and keywords for the svn command and other tools. %endif %prep %setup -q -n subversion-%{version} -a 4 %patch11 -p1 %patch20 -p1 %patch23 -p1 %patch30 -p1 %patch37 -p1 %patch38 -p1 %patch39 %patch40 -p1 %patch41 %patch42 %patch43 %patch44 %patch45 %patch46 %patch47 %patch48 %patch49 -p1 %patch50 %patch51 # Re-boot strap, needed for patch37 PATH=%{_prefix}/bin:$PATH ./autogen.sh --release # Fix timestamp in doxygen echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf %build cat > with_jdk.files <<EOF-JAVA %{_libdir}/libsvnjavahl*.so.* %{_libdir}/libsvnjavahl*.so %dir %{_libdir}/svn-javahl %{_libdir}/svn-javahl/svn-javahl.jar %{_datadir}/java/svn-javahl.jar EOF-JAVA # ### these possibly need further discussion # swig_pydir = @libdir@/svn-python/libsvn # swig_pydir_extra = @libdir@/svn-python/svn sed --in-place=~ " s@^swig_pydir = .*@swig_pydir = %{python_sitearch}/libsvn@ s@^swig_pydir_extra = .*@swig_pydir_extra = %{python_sitearch}/svn@ " Makefile.in diff -u Makefile.in~ Makefile.in || true sh -x autogen.sh for i in subversion/bindings/javahl/native/*.cpp do d=$(sed -n '/^#include "..\/include/{s@^[^/]\+\([^"]\+\).*@subversion/bindings/javahl\1@;H};${x;s@\n@ @gp}' $i) echo echo "# $i" if ! test -z "$d" then echo ${i%.cpp}.lo: $d fi echo done >> build-outputs.mK export CFLAGS="$(%{apxs} -q CFLAGS) %{optflags} -fstack-protector -fpie" export CXXFLAGS="$CFLAGS" export APACHE_LDFLAGS="-Wl,-z,relro,-z,now" export LDFLAGS="-pie" %configure \ --enable-local-library-preloading \ --with-editor="vim -c 'set tw=72 et' " \ --with-serf=%{_prefix} \ --with-apr=%{_prefix} \ --with-apr-util=%{_prefix} \ --with-apxs=%{apxs} \ --with-zlib=%{_prefix} \ --with-berkeley-db=db.h:db.h:%{_prefix}:db \ --with-apache-libexecdir=%{apache_libexecdir} \ --with-jdk=%{_libdir}/jvm/java --enable-javahl \ --with-junit="%{_datadir}/java/junit.jar" \ --with-jikes=no \ --with-sqlite="%{_prefix}" \ --with-gnome-keyring \ --with-kwallet \ --disable-mod-activation \ --with-libmagic \ --disable-static \ --enable-broken-httpd-auth make %{?_smp_mflags} make doc-api %{?_smp_mflags} # Bindings make extraclean-bindings %{?_smp_mflags} make %{?_smp_mflags} swig-py swig-rb swig-pl # Java is not thread safe make -j1 JAVAC_FLAGS=" -encoding iso8859-1" javahl doc-javahl %install %if 0%{?suse_version} == 1110 export NO_BRP_CHECK_BYTECODE_VERSION=true %endif make DESTDIR=%{buildroot} install -j1 make DESTDIR=%{buildroot} install-swig-py install-swig-pl install-javahl install-swig-rb # remove csvn .pyc files and recompile them because they contain the $RPM_BUILD_ROOT path: find "%{buildroot}%{python_sitelib}/csvn/" -name "*.pyc" | xargs rm -f python "%{py_libdir}/compileall.py" -f -d "%{python_sitelib}/csvn" "%{buildroot}/%{python_sitelib}/csvn" %perl_process_packlist %find_lang %{name} cp -Lav %{SOURCE42} %{buildroot}%{_bindir}/svngrep cp -Lav %{SOURCE43} %{buildroot}%{_bindir}/svndiff mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/ cp -avL contrib/client-side/emacs/*.el %{buildroot}%{_datadir}/emacs/site-lisp/ rm -f %{buildroot}%{_datadir}/emacs/site-lisp/vc-svn.el cp -avL contrib/client-side/svn_apply_autoprops.py %{buildroot}%{_prefix}/bin mkdir -p %{buildroot}/%{apache_sysconfdir}/conf.d cp -av %{SOURCE1} %{buildroot}/%{apache_sysconfdir}/conf.d/subversion.conf cp -avL %{SOURCE2} README.SUSE cp -avL subversion/mod_authz_svn/INSTALL README.mod_authz_svn cat %{name}.lang > files.subversion cat with_jdk.files >> files.subversion # tools make DESTDIR=%{buildroot} install-tools mv %{buildroot}%{_bindir}/svn-tools/{svn-populate-node-origins-index,svn-rep-sharing-stats,svnauthz-validate,svn-bench,fsfs-stats} %{buildroot}%{_bindir} # discard all other tools rm -rf %{buildroot}%{_bindir}/svn-tools mkdir -p %{buildroot}%{_prefix}/sbin mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates install -m 644 -D %{SOURCE13} %{buildroot}%{_sysconfdir}/xinetd.d/svnserve install -m 644 -D %{SOURCE10} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.svnserve install -m 644 -D %{SOURCE12} %{buildroot}/%{_fwdefdir}/svnserve install -d -m 0755 %{buildroot}/srv/svn %if 0%{?with_systemd} install -m 644 -D %{SOURCE14} %{buildroot}/%{_unitdir}/svnserve.service ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rcsvnserve install -d -m 0755 %{buildroot}/%{_tmpfilesdir} install -m 0644 %{SOURCE15} %{buildroot}/%{_tmpfilesdir}/svnserve.conf %else install -m 755 -D %{SOURCE9} %{buildroot}%{_initddir}/svnserve ln -sv %{_initddir}/svnserve %{buildroot}%{_sbindir}/rcsvnserve %endif #useless libtool stuff rm -rf %{buildroot}%{python_sitearch}/*/*.{a,la} rm -rf %{buildroot}%{_libdir}/libsvn_swig_*.{so,la,a} rm -rf %{buildroot}%{rb_sitelib}/svn/ext/*.*a find %{buildroot} -type f -name "*.la" -delete -print # remove stuff produced with Perl modules find %{buildroot} -type f \ -a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \ -print0 | xargs -0 rm -f # make Perl modules writable so they get stripped %if 0%{?suse_version} > 1130 find %{buildroot}%{_libexecdir}/perl5 -type f -perm 555 -print0 | xargs -0 chmod 755 %endif install -d -m 0755 %{buildroot}/%{_datadir}/java ln -sv %{_libdir}/svn-javahl/svn-javahl.jar %{buildroot}/%{_datadir}/java/svn-javahl.jar rm -f %{buildroot}%{_localstatedir}/adm/perl-modules/subversion %if 0%{?suse_version} > 1130 install -D -m0644 tools/client-side/bash_completion "%{buildroot}%{_sysconfdir}/bash_completion.d/%{name}" %endif # examples mkdir -p %{buildroot}%{_docdir}/%{name} cp -r tools/hook-scripts tools/backup tools/bdb tools/examples tools/xslt %{buildroot}%{_docdir}/%{name} find %{buildroot}%{_docdir}/%{name} -type f -print0 | xargs -0 chmod 644 # clean tools for doc rm -rf tools/*/*.in rm -rf doc/doxygen/html/installdox %check # # double check that the essential repository access schemes have been compiled in # schemes=$(LD_LIBRARY_PATH="%{buildroot}%{_libdir}" "%{buildroot}%{_bindir}/svn" --version | grep "'" | cut -d\' -f2 | sort -u) # reset vim syntax: ' test "$schemes" = "file http https svn" # # check that when building with in-tree SQLite, it is statically linked and of exactly that version sqlite_info=$(LD_LIBRARY_PATH="%{buildroot}%{_libdir}" "%{buildroot}%{_bindir}/svn" --version -v | grep "SQLite" | cut -d\- -f2) # %if 0%{?suse_version} > 1130 export LANG=C LC_ALL=C make %{?_smp_mflags} check CLEANUP=true || (cat fails.log; exit 1) make %{?_smp_mflags} check-javahl || (cat fails.log; exit 1) make %{?_smp_mflags} check-swig-pl || (cat fails.log; exit 1) make %{?_smp_mflags} check-swig-py || (cat fails.log; exit 1) make %{?_smp_mflags} check-swig-rb || (cat fails.log; exit 1) %endif %pre getent group %{svngroup} >/dev/null || groupadd -r %{svngroup} getent passwd %{svnuser} >/dev/null || useradd -r -g %{svngroup} -d /srv/svn -s /sbin/nologin -c "user for Apache Subversion svnserve" %{svnuser} %if 0%{?with_systemd} %service_add_pre svnserve.service %endif %preun %if 0%{?with_systemd} %service_del_preun svnserve.service %else %stop_on_removal svnserve %endif %post %{fillup_only -n svnserve svnserve} %if 0%{?with_systemd} %service_add_post svnserve.service systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf %else %{fillup_and_insserv -n svnserve svnserve} %endif /sbin/ldconfig %postun %if 0%{?with_systemd} %service_del_postun svnserve.service %else %insserv_cleanup %endif /sbin/ldconfig %post -n subversion-python -p /sbin/ldconfig %postun -n subversion-python -p /sbin/ldconfig %post -n subversion-perl -p /sbin/ldconfig %postun -n subversion-perl -p /sbin/ldconfig %post -n subversion-ruby -p /sbin/ldconfig %postun -n subversion-ruby -p /sbin/ldconfig %post -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig %postun -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig %post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig %postun -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig %files -f files.subversion %defattr(-,root,root) %doc README.SUSE BUGS CHANGES LICENSE README.mod_authz_svn %dir %{_docdir}/%{name}/* %config(noreplace) %{_sysconfdir}/xinetd.d/svnserve %{_sbindir}/rcsvnserve %{_localstatedir}/adm/fillup-templates/sysconfig.svnserve %dir %attr(755,%{svnuser},%{svngroup}) /srv/svn %config %{_fwdefdir}/* %if 0%{?with_systemd} %{_unitdir}/svnserve.service %{_tmpfilesdir}/svnserve.conf %else %{_initddir}/svnserve %endif %attr(755,root,root) %{_bindir}/svn %attr(755,root,root) %{_bindir}/svnadmin %attr(755,root,root) %{_bindir}/svndumpfilter %attr(755,root,root) %{_bindir}/svnlook %attr(755,root,root) %{_bindir}/svnserve %attr(755,root,root) %{_bindir}/svnversion %attr(755,root,root) %{_bindir}/svndiff %attr(755,root,root) %{_bindir}/svngrep %attr(755,root,root) %{_bindir}/svnsync %attr(755,root,root) %{_bindir}/svnrdump %attr(755,root,root) %{_bindir}/svnmucc %{_libdir}/libsvn_client*.so.* %{_libdir}/libsvn_delta*.so.* %{_libdir}/libsvn_diff*.so.* %{_libdir}/libsvn_fs*.so.* %{_libdir}/libsvn_ra*.so.* %{_libdir}/libsvn_repos*.so.* %{_libdir}/libsvn_subr*.so.* %{_libdir}/libsvn_wc*.so.* %{_mandir}/man?/svn* %{_datadir}/emacs %files perl %defattr(-,root,root) %doc %{_mandir}/man?/SVN::* %{_libdir}/libsvn_swig_perl-1.so.* %{perl_vendorarch}/SVN %{perl_vendorarch}/auto/SVN %files python %defattr(-,root,root) %dir %{python_sitearch} %dir %{python_sitearch}/svn %dir %{python_sitearch}/libsvn %{_libdir}/libsvn_swig_py-1.so.* %{python_sitearch}/libsvn/* %{python_sitearch}/svn/* %files ruby %defattr(-,root,root) %dir %{rb_sitelib} %{rb_sitelib}/svn %{rb_sitelib}/*/svn %{_libdir}/libsvn_swig_ruby-1.so.* %files devel %defattr(-,root,root) %dir %{_includedir}/subversion-1 %{_libdir}/libsvn_*.so %{_includedir}/subversion-1/* %doc doc/doxygen/html %files tools %defattr(-,root,root) %attr(755,root,root) %{_bindir}/svn_apply_autoprops.py %{_bindir}/svn-populate-node-origins-index %{_bindir}/svnauthz-validate %{_bindir}/svn-rep-sharing-stats %{_bindir}/svn-bench %{_bindir}/fsfs-stats %files server %defattr(-,root,root) %dir %{apache_sysconfdir}/conf.d %config (noreplace) %{apache_sysconfdir}/conf.d/subversion.conf %dir %{apache_libexecdir} %{apache_libexecdir}/mod_dav_svn.* %{apache_libexecdir}/mod_authz_svn.* %{apache_libexecdir}/mod_dontdothat.* %files -n libsvn_auth_gnome_keyring-1-0 %defattr(-,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.0 %{_libdir}/libsvn_auth_gnome_keyring-1.so.0.* %files -n libsvn_auth_kwallet-1-0 %defattr(-,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.0 %{_libdir}/libsvn_auth_kwallet-1.so.0.* %if 0%{?suse_version} > 1130 %files bash-completion %defattr(-,root,root) %config %{_sysconfdir}/bash_completion.d/%{name} %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor