Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP3:Update
subversion.21671
subversion.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File subversion.spec of Package subversion.21671
# # spec file for package subversion # # Copyright (c) 2021 SUSE LLC # 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 %define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services %define sqlite_minimum_version 3.8.2 %bcond_without gnome %bcond_without kde #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif %bcond_without python_ctypes %bcond_with all_regression_tests Name: subversion Version: 1.10.6 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-1804739.tar.bz2 Source10: subversion.sysconfig.svnserve Source12: subversion.sysconfig.svnserve.remoteaccess 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 Patch39: subversion-fix-parallel-build-support-for-perl-bindings.patch Patch40: subversion-perl-underlinking.patch # PATCH-FIX-OPENSUSE SLE-11901 Patch46: remove-kdelibs4support-dependency.patch # PATCH-FIX-SECURITY bsc#1181687 Patch50: subversion-CVE-2020-17525.patch BuildRequires: apache-rpm-macros BuildRequires: apache2-devel >= 2.2.0 BuildRequires: apache2-prefork BuildRequires: db-devel BuildRequires: doxygen BuildRequires: file-devel BuildRequires: gcc-c++ BuildRequires: java-devel >= 1.8.0 BuildRequires: junit BuildRequires: libstdc++-devel BuildRequires: libtool BuildRequires: pkgconfig # Python 2 is required to run autogen.sh ; swig is also hardcoded to py2 BuildRequires: python2-devel >= 2.7 BuildRequires: python2-xml BuildRequires: ruby-devel >= 1.8.2 BuildRequires: swig BuildRequires: update-alternatives BuildRequires: utf8proc-devel BuildRequires: pkgconfig(apr-1) >= 1.3.0 BuildRequires: pkgconfig(apr-util-1) >= 1.3.0 BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(liblz4) >= 1.7 BuildRequires: pkgconfig(libsasl2) BuildRequires: pkgconfig(serf-1) >= 1.3.4 BuildRequires: pkgconfig(sqlite3) >= %{sqlite_minimum_version} BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(zlib) # Package needs javah which was deprecated with this version of java BuildConflicts: java-devel >= 10 # in openSUSE Leap 42.3, lz4 was incorrectly packaged BuildConflicts: pkgconfig(liblz4) = 124 Requires: libsqlite3-0 >= %{sqlite_minimum_version} Requires(post): %fillup_prereq Requires(pre): pwdutils Recommends: %{name}-bash-completion # 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} Provides: subversion-javahl = %{version}-%{release} %{?systemd_requires} %if %{with all_regression_tests} # tools required for network based tests BuildRequires: net-tools BuildRequires: time BuildRequires: wget %endif %if %{with python_ctypes} BuildRequires: ctypesgen %endif %if %{with gnome} BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(libsecret-1) %endif %if %{with kde} BuildRequires: cmake(KF5CoreAddons) BuildRequires: cmake(KF5I18n) BuildRequires: cmake(KF5Wallet) BuildRequires: cmake(Qt5Core) BuildRequires: cmake(Qt5DBus) BuildRequires: cmake(Qt5Gui) %else # In a case we migrate from system that had the kwallet integration we need it # gone from the package to allow update Provides: libsvn_auth_kwallet-1-0 = %{version} Obsoletes: libsvn_auth_kwallet-1-0 < %{version} %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++ 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 %if %{with gnome} %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 %endif %package bash-completion Summary: Bash Completion for %{name} Group: Development/Tools/Version Control Requires: %{name} = %{version} Requires: pkgconfig(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. %prep %setup -q -a 4 %patch11 -p1 %patch20 -p1 %patch23 -p1 %patch30 -p1 %patch37 -p1 %patch39 %patch40 -p1 %patch46 -p1 %patch50 -p1 %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="$(apxs2 -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=apxs2 \ --with-zlib=%{_prefix} \ --with-berkeley-db=db.h:db.h:%{_prefix}:db \ --with-apache-libexecdir=%{apache_libexecdir} \ --with-jdk=%{_libdir}/jvm/java-9 --enable-javahl \ --with-junit="%{_datadir}/java/junit.jar" \ --with-jikes=no \ --with-sqlite="%{_prefix}" \ --enable-sqlite-compatibility-version=%{sqlite_minimum_version} \ %if %{with gnome} --with-gnome-keyring \ %endif %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 %make_install 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}%{_bindir} 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 -v %{buildroot}%{_bindir}/svn-tools/{fsfs-access-map,svnauthz,svnauthz-validate,svn-populate-node-origins-index,svnraisetreeconflict} %{buildroot}%{_bindir} # discard all other tools rm -rf %{buildroot}%{_bindir}/svn-tools # replicate svn-bench compatibility link ln -sf svnbench %{buildroot}%{_bindir}/svn-bench mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_fillupdir} install -m 644 -D %{SOURCE10} %{buildroot}%{_fillupdir}/sysconfig.svnserve install -m 644 -D %{SOURCE12} %{buildroot}/%{_fwdefdir}/svnserve install -d -m 0755 %{buildroot}/srv/svn install -m 644 -D %{SOURCE14} %{buildroot}/%{_unitdir}/svnserve.service ln -sv service %{buildroot}%{_sbindir}/rcsvnserve install -d -m 0755 %{buildroot}/%{_tmpfilesdir} install -m 0644 %{SOURCE15} %{buildroot}/%{_tmpfilesdir}/svnserve.conf #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 find %{buildroot}%{_libexecdir}/perl5 -type f -perm 555 -print0 | xargs -0 chmod 755 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 install -D -m0644 tools/client-side/bash_completion "%{buildroot}%{_sysconfdir}/bash_completion.d/%{name}" # 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 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} %service_add_pre svnserve.service %preun %service_del_preun svnserve.service %post %{fillup_only -n svnserve svnserve} %service_add_post svnserve.service systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf /sbin/ldconfig %postun %service_del_postun svnserve.service /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 %if %{with gnome} %post -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig %postun -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig %endif %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 %license LICENSE %doc README.SUSE BUGS CHANGES README.mod_authz_svn %dir %{_docdir}/%{name}/* %{_docdir}/%{name} %{_sbindir}/rcsvnserve %{_fillupdir}/sysconfig.svnserve %dir %attr(755,%{svnuser},%{svngroup}) /srv/svn %config %{_fwdefdir}/* %{_unitdir}/svnserve.service %{_tmpfilesdir}/svnserve.conf %attr(755,root,root) %{_bindir}/svn %attr(755,root,root) %{_bindir}/svnadmin %attr(755,root,root) %{_bindir}/svndiff %attr(755,root,root) %{_bindir}/svndumpfilter %attr(755,root,root) %{_bindir}/svnfsfs %attr(755,root,root) %{_bindir}/svngrep %attr(755,root,root) %{_bindir}/svnlook %attr(755,root,root) %{_bindir}/svnmucc %attr(755,root,root) %{_bindir}/svnrdump %attr(755,root,root) %{_bindir}/svnserve %attr(755,root,root) %{_bindir}/svnsync %attr(755,root,root) %{_bindir}/svnversion %{_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 %{_mandir}/man?/SVN::* %{_libdir}/libsvn_swig_perl-1.so.* %{perl_vendorarch}/SVN %{perl_vendorarch}/auto/SVN %files python %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 %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 %dir %{rb_sitelib} %{rb_sitelib}/svn %{rb_sitelib}/*/svn %{_libdir}/libsvn_swig_ruby-1.so.* %files devel %dir %{_includedir}/subversion-1 %{_libdir}/libsvn_*.so %{_datadir}/pkgconfig/*.pc %{_includedir}/subversion-1/* %doc doc/doxygen/html %files tools %{_bindir}/fsfs-access-map %attr(755,root,root) %{_bindir}/svn_apply_autoprops.py %{_bindir}/svnauthz %{_bindir}/svnauthz-validate %{_bindir}/svnbench %{_bindir}/svn-bench %{_bindir}/svn-populate-node-origins-index %{_bindir}/svnraisetreeconflict %files server %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.* %if %{with gnome} %files -n libsvn_auth_gnome_keyring-1-0 %{_libdir}/libsvn_auth_gnome_keyring-1.so.0 %{_libdir}/libsvn_auth_gnome_keyring-1.so.0.* %endif %if %{with kde} %files -n libsvn_auth_kwallet-1-0 %{_libdir}/libsvn_auth_kwallet-1.so.0 %{_libdir}/libsvn_auth_kwallet-1.so.0.* %endif %files bash-completion %config %{_sysconfdir}/bash_completion.d/%{name} %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