Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
subversion.15727
subversion.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File subversion.spec of Package subversion.15727
# # spec file for package subversion # # Copyright (c) 2020 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 # SLE does not ship KDE %if 0%{?is_opensuse} || 0%{?sle_version} > 150200 %bcond_without kde %else %bcond_with kde %endif #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 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.6.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 %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 --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