Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:Update
subversion
subversion.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File subversion.spec of Package subversion
# # spec file for package subversion # # Copyright (c) 2019 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 https://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") %define sqlite_minimum_version 3.7.12 # SLE 12 does not ship KDE %if 0%{?suse_version} == 1315 && 0%{?is_opensuse} != 1 %define with_kde 0 %else %define with_kde 1 %endif %if 0%{?suse_version} > 1140 %define with_systemd 1 BuildRequires: pkgconfig(systemd) %{?systemd_requires} %endif %bcond_with python_ctypes %bcond_with all_regression_tests Name: subversion Version: 1.8.19 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 Source50: https://people.apache.org/keys/group/subversion.asc#/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.15-allow-httpd-2.4.6.patch Patch39: subversion-fix-parallel-build-support-for-perl-bindings.patch Patch40: subversion-perl-underlinking.patch Patch41: subversion-1.8.10-fix-bashisms.patch Patch42: subversion-1.8.11-swig-py-comment.patch Patch43: subversion-1.8.11-swig-py-comment-2.patch Patch44: subversion-1.8.11-swig-py-comment-3.patch Patch45: subversion-1.8.11-autocheck-time.patch Patch47: subversion-1.8.14-unused-var-authnrequired.patch Patch48: CVE-2018-11782.patch Patch49: CVE-2019-0203.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: krb5-devel BuildRequires: libgnome-keyring-devel BuildRequires: libserf-devel >= 1.2.1 BuildRequires: libstdc++-devel BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: python-xml BuildRequires: ruby-devel >= 1.8.2 BuildRequires: sqlite3-devel >= %{sqlite_minimum_version} BuildRequires: swig BuildRequires: update-alternatives BuildRequires: zlib-devel Requires: libsqlite3-0 >= %{sqlite_minimum_version} 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 %{with all_regression_tests} # tools required for network based tests BuildRequires: net-tools BuildRequires: wget %if %{?suse_version} >= 1310 BuildRequires: time %endif %endif %if %{with python_ctypes} BuildRequires: ctypesgen %endif %if %{with_kde} BuildRequires: kdelibs4-core BuildRequires: libkde4-devel BuildRequires: libqt4-devel %endif # workaround for boo#969159 Conflicts: libsvn_auth_kwallet-1-0 < %{version} Conflicts: libsvn_auth_kwallet-1-0 > %{version} Conflicts: libsvn_gnome_keyring-1-0 < %{version} Conflicts: libsvn_gnome_keyring-1-0 > %{version} # %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 # this pulls in libapr1-devel and libexpat-devel Group: Development/Libraries/C and C++ 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. %if %{with python_ctypes} %package python-ctypes Summary: High-Level Python Bindings for Subversion Group: Development/Tools/Version Control Requires: subversion = %{version} %description python-ctypes Provides high-level Python support for Subversion, based on ctypes. %endif %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. %if %{with_kde} %package -n libsvn_auth_kwallet-1-0 Summary: KWallet support for Subversion 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 %endif %package -n libsvn_auth_gnome_keyring-1-0 Summary: GNOME keyring sypport for Subversion Group: Development/Tools/Version Control Requires: %{name} = %{version} Supplements: packageand(subversion:gnome-session) %description -n libsvn_auth_gnome_keyring-1-0 Provides GNOME keyring support for Subversion %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 -a 4 %patch11 -p1 %patch20 -p1 %patch23 -p1 %patch30 -p1 %patch37 -p1 %patch38 -p1 %patch39 %patch40 -p1 %patch41 -p1 %patch42 %patch43 %patch44 -p1 %patch45 -p1 %patch47 %patch48 -p0 %patch49 -p0 %build # Re-boot strap, needed for patch37 PATH=%{_prefix}/bin:$PATH ./autogen.sh --release # Fix timestamp in doxygen echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf 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}" \ --enable-sqlite-compatibility-version=%{sqlite_minimum_version} \ --with-gnome-keyring \ %if %{with_kde} --with-kwallet \ %endif --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 %if %{with python_ctypes} make %{?_smp_mflags} ctypes-python %endif # 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 %if %{with python_ctypes} make DESTDIR=%{buildroot} install-ctypes-python # 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" %endif %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,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" 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) %if 0%{?suse_version} <= 1320 # swig bindings check failing from swig 3.0.3 and later make %{?_smp_mflags} check-swig-py || (cat fails.log; exit 1) # same for ruby bindings make %{?_smp_mflags} check-swig-rb || (cat fails.log; exit 1) %endif %if %{with all_regression_tests} make %{?_smp_mflags} svnserveautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1) make %{?_smp_mflags} svnserveautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1) make %{?_smp_mflags} davautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1) make %{?_smp_mflags} davautocheck CLEANUP=true FS_TYPE=bdb || (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 %if %{with_kde} %post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig %postun -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig %endif %files -f files.subversion %defattr(-,root,root) %license LICENSE %doc README.SUSE BUGS CHANGES 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/* %if %{with python_ctypes} %files python-ctypes %defattr(-,root,root) %doc subversion/bindings/ctypes-python/examples %dir %{python_sitelib} %{python_sitelib}/csvn %{python_sitelib}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info %endif %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 %{_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.* %if %{with_kde} %files -n libsvn_auth_kwallet-1-0 %defattr(-,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.0 %{_libdir}/libsvn_auth_kwallet-1.so.0.* %endif %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