%bcond_with systemd %define neon_version 0.30.2 %define swig_version 3.0.0 %define apache_version 2.4 %define apache_dir /usr %define swigdirs swig_pydir=%{python3_sitearch}/libsvn swig_pydir_extra=%{python3_sitearch}/svn Summary: Modern Version Control System Summary(ja): モダンなバージョン管理システム Name: subversion Version: 1.14.2 Release: 1%{?_dist_release}%{?with_systemd:.systemd} Group: programming Vendor: Project Vine Distribution: Vine Linux Packager: iwaim, daisuke License: ASL 2.0 URL: https://subversion.apache.org/ Source0: http://ftp.jaist.ac.jp/pub/apache/subversion/subversion-%{version}.tar.bz2 Source1: subversion.conf Source2: httpd.davcheck.conf Source3: filter-requires.sh Source6: svnserve.service Source7: svnserve.tmpfiles Source8: svnserve.sysconf Patch1: subversion-1.12.0-linking.patch Patch2: subversion-1.14.0-testwarn.patch Patch3: subversion-1.14.0-soversion.patch Patch4: subversion-1.8.0-rubybind.patch Patch5: subversion-1.8.5-swigplWall.patch BuildRequires: apache2-devel >= %{apache_version} BuildRequires: apr-devel, apr-util-devel BuildRequires: autoconf >= 2.53 BuildRequires: libdb-devel BuildRequires: expat-devel BuildRequires: gdbm-devel BuildRequires: libtool >= 1.4.2 BuildRequires: neon-devel >= %{neon_version} BuildRequires: openssl-devel BuildRequires: swig >= %{swig_version} BuildRequires: texinfo BuildRequires: zlib-devel BuildRequires: lz4-devel BuildRequires: utf8proc-devel BuildRequires: openldap-devel BuildRequires: ruby >= 2.2.3 BuildRequires: ruby-devel >= 2.2.3 BuildRequires: perl >= 2:5.26.2 BuildRequires: sqlite3-devel BuildRequires: krb5-devel BuildRequires: keyutils-libs-devel BuildRequires: dbus-devel BuildRequires: libsecret-devel BuildRequires: libserf-devel BuildRoot: %{_tmppath}/%{name}-%{version}-root %if %{with systemd} BuildRequires: systemd %{?systemd_requires} %endif %define __perllib_requires %{SOURCE3} %description Subversion is a concurrent version control system which enables one or more users to collaborate in developing and maintaining a hierarchy of files and directories while keeping a history of all changes. Subversion only stores the differences between versions, instead of every complete file. Subversion is intended to be a compelling replacement for CVS. %package devel Summary: Development package for Subversion developers. Group: programming Requires: subversion = %{version}-%{release} Requires: apr-devel, apr-util-devel %description devel The subversion-devel package includes the static libraries and include files for developers interacting with the subversion package. %package mod_dav_svn Summary: Apache server module for Subversion server. Group: servers Requires: apache2 >= %{apache_version} Requires: subversion = %{version}-%{release} %description mod_dav_svn The subversion-mod_dav_svn package adds the Subversion server Apache module to the Apache directories and configuration. %package tools Summary: Tools for Subversion Group: programming BuildRequires: perl >= 5.8.0 Requires: perl >= 5.8.0 Requires: subversion = %{version}-%{release} %description tools Tools for Subversion. %package perl Summary: Perl bindings to the Subversion libraries Group: programming Requires: subversion = %{version}-%{release} Requires: perl >= 2:5.34.0 %description perl This package includes the Perl bindings to the Subversion libraries. %package ruby Summary: Ruby bindings to the Subversion libraries Group: programming Requires: subversion = %{version}-%{release} Requires: ruby >= 2.0 %description ruby This package includes the Ruby bindings to the Subversion libraries. %package -n python3-subversion Summary: Python bindings to the Subversion libraries Group: programming BuildRequires: python3 BuildRequires: python3-devel BuildRequires: py3c-devel Requires: subversion = %{version}-%{release}, python3 %description -n python3-subversion This package includes the Python bindings to the Subversion libraries. %debug_package %prep %setup -q %patch1 -p1 -b .linking %patch2 -p1 -b .testwarn %patch3 -p1 -b .soversion %patch4 -p1 -b .rubybind %patch5 -p1 -b .swigplWall %build export LANG=ja_JP.UTF-8 # Regenerate the buildsystem, so that: # 1) patches applied to configure.in take effect # 2) the swig bindings are regenerated using the system swig # (2) is not ideal since typically upstream test with a different # swig version # This PATH order makes the fugly test for libtoolize work... mv build-outputs.mk build-outputs.mk.old export PYTHON=%{__python3} ### Force regeneration of swig bindings with the buildroot's SWIG. # Generated files depend on the build/generator/swig/*.py which # generates them, so when autogen-standalone.mk's autogen-swig target # is run by autogen.sh it will regenerate them: touch build/generator/swig/*.py PATH=/usr/bin:$PATH ./autogen.sh --release # fix shebang lines, #111498 perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in # fix python executable perl -pi -e 's|/usr/bin/env python.*|%{svn_python}|' subversion/tests/cmdline/svneditor.py # override weird -shrext from ruby export svn_cv_ruby_link="%{__cc} -shared" export svn_cv_ruby_sitedir_libsuffix="" export svn_cv_ruby_sitedir_archsuffix="" %if 0 # Fix include path for ruby2.7 export svn_cv_ruby_includes="-I%{_includedir}" %endif export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} CFLAGS="$RPM_OPT_FLAGS" export LIBTOOL=/usr/bin/libtool %configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \ --with-swig --with-serf=%{_prefix} \ --with-ruby-sitedir=%{rarchdir} \ --with-apxs=%{_bindir}/apxs \ --disable-mod-activation \ --with-apache-libexecdir=%{_libdir}/apache2/modules/ \ --with-gnome-keyring \ --with-berkeley-db \ --disable-mod-activation \ --disable-static make %{?_smp_mflags} all tools make swig-py swig-py-lib %{swigdirs} make swig-pl swig-pl-lib make swig-rb swig-rb-lib %install rm -rf $RPM_BUILD_ROOT make install \ install-swig-py \ install-swig-pl-lib \ install-swig-rb \ DESTDIR=$RPM_BUILD_ROOT %{swigdirs} make pure_vendor_install -C subversion/bindings/swig/perl/native \ PERL_INSTALL_ROOT=$RPM_BUILD_ROOT install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/subversion install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/apache2/modules # Add subversion.conf configuration file into apache2/conf.d directory. install -m 755 -d $RPM_BUILD_ROOT/etc/apache2/conf.d install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/apache2/conf.d # Remove unpackaged files rm -rf $RPM_BUILD_ROOT%{_includedir}/subversion-*/*.txt \ $RPM_BUILD_ROOT%{python3_sitearch}/*/*.{a,la} \ $RPM_BUILD_ROOT%{_libdir}/*.la # The SVN build system is broken w.r.t. DSO support; it treats # normal libraries as DSOs and puts them in $libdir, whereas they # should go in some subdir somewhere, and be linked using -module, # etc. So, forcibly nuke the .so's for libsvn_auth_{gnome,kde}, # since nothing should ever link against them directly. rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsvn_auth_*.so # remove stuff produced with Perl modules find $RPM_BUILD_ROOT -type f \ -a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \ -print0 | xargs -0 rm -f # make Perl modules writable so they get stripped find $RPM_BUILD_ROOT%{_libdir}/perl5 -type f -perm 555 -print0 | xargs -0 chmod 755 # unnecessary libraries for swig bindings rm -f $RPM_BUILD_ROOT%{_libdir}/libsvn_swig_*.{so,la,a} # Remove unnecessary ruby libraries rm -f $RPM_BUILD_ROOT%{rarchdir}/svn/ext/*.*a # Trim what goes in docdir rm -rf tools/*/*.in tools/test-scripts # Rename authz_svn INSTALL doc for docdir ln -f subversion/mod_authz_svn/INSTALL mod_authz_svn-INSTALL # Install bash completion install -Dpm 644 tools/client-side/bash_completion \ $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/svn for comp in svnadmin svndumpfilter svnlook svnsync svnversion; do ln -s svn \ $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/${comp} done # Install tools ex diff* make install-tools DESTDIR=$RPM_BUILD_ROOT toolsdir=%{_bindir} rm -f $RPM_BUILD_ROOT%{_bindir}/diff* for f in svn-populate-node-origins-index \ svnauthz-validate svnmucc svnraisetreeconflict; do echo %{_bindir}/$f done | tee tools.files | sed 's/^/%%exclude /' > exclude.tools.files %find_lang %{name} cat %{name}.lang exclude.tools.files >> %{name}.files %if %{with systemd} install -D -p -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/svnserve.service install -D -p -m 644 %{SOURCE7} %{buildroot}%{_tmpfilesdir}/svnserve.conf install -D -p -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/sysconfig/svnserve %endif %if %{with systemd} %post %systemd_post svnserve.service %preun %systemd_preun svnserve.service %postun %systemd_postun_with_restart svnserve.service %endif %files %defattr(-,root,root) %license LICENSE %doc BUGS CHANGES COMMITTERS NOTICE INSTALL README %{_bindir}/* %{_libdir}/libsvn_*.so.* %{_localedir}/*/*/subversion.mo %{_mandir}/man*/* %{_datadir}/bash-completion/completions/* %dir %{_sysconfdir}/subversion %exclude %{_mandir}/man*/*::* %exclude %{_libdir}/libsvn_swig_perl*.so.* %exclude %{_libdir}/libsvn_swig_py*.so.* %exclude %{_libdir}/libsvn_swig_ruby*.so.* %if %{with systemd} %{_unitdir}/svnserve.service %{_tmpfilesdir}/svnserve.conf %config(noreplace) %{_sysconfdir}/sysconfig/svnserve %endif %files devel %defattr(-,root,root) %{_includedir}/subversion-1 %{_libdir}/libsvn*.so %exclude %{_libdir}/libsvn_swig_perl* %exclude %{_libdir}/libsvn_swig_py* %exclude %{_libdir}/libsvn_swig_ruby* %{_datadir}/pkgconfig/* %files mod_dav_svn %defattr(-,root,root) %config(noreplace) /etc/apache2/conf.d/subversion.conf %{apache_dir}/%{_lib}/apache2/modules/mod_*.* %files tools -f tools.files %defattr(-,root,root) %files perl %defattr(-,root,root,-) %{perl_vendorarch}/auto/SVN %{perl_vendorarch}/SVN %{_libdir}/libsvn_swig_perl* %{_mandir}/man*/*::* %files ruby %defattr(-,root,root,-) %{_libdir}/libsvn_swig_ruby* %{rarchdir}/svn %files -n python3-subversion %defattr(-,root,root,-) %{_libdir}/libsvn_swig_py* %{python3_sitearch}/* %changelog * Fri May 06 2022 Tomohiro "Tomo-p" KATO 1.14.2-1 - new upstream release. * Thu Nov 18 2021 Tomohiro "Tomo-p" KATO 1.14.1-3 - rebuilt with perl-5.34.0. * Mon Nov 15 2021 Tomohiro "Tomo-p" KATO 1.14.1-2 - rebuilt with ruby-3.0.2. * Fri Mar 19 2021 Tomohiro "Tomo-p" KATO 1.14.1-1 - new upstream release. - re-imported patches from rawhide. * Mon Mar 16 2020 Tomohiro "Tomo-p" KATO 1.13.0-1 - new upstream release. * Sat Oct 19 2019 Tomohiro "Tomo-p" KATO 1.12.2-1 - new upstream release. - dropped Patch1 and 2. - imported Patch1 and 2 from rawhide. - switched to python3. * Sat May 18 2019 Tomohiro "Tomo-p" KATO 1.10.4-1 - new upstream release. - rebuilt with perl-5.26. - dropped BR:libgnome-keyring-devel. - added BR:libxcrypt-devel,libnsl2-devel,libsecret-devel,utf8proc-devel. * Wed May 31 2017 IWAI, Masaharu 1.8.17-1 - update to 1.8.17 * Sat Sep 12 2015 Daisuke SUZUKI 1.8.9-4 - rebuild with ruby-2.2.3 * Mon Jun 30 2014 IWAI, Masaharu 1.8.9-3 - build with Perl 5.16 - using %%__perllib_requires * Fri Jun 27 2014 Daisuke SUZUKI 1.8.9-2 - rebuild with ruby-2.1.2-6 * Wed Jun 25 2014 Daisuke SUZUKI 1.8.9-1 - update to 1.8.9 - remove unneeded explisit dependency - add BR: apache2-devel >= 2.4 - add BR: libdb-devel instead of db4-devel - add R: apache2 > 2.4 to mod_dav_svn * Fri Apr 18 2014 Daisuke SUZUKI 1.8.8-1 - update to 1.8.8 - add BR: libserf-devel to handle http* scheme * Thu Oct 25 2012 Daisuke SUZUKI 1.7.7-1 - update to 1.7.7 - rebuild with ruby-1.9.3 * Tue Sep 18 2012 IWAI, Masaharu 1.7.6-1 - new upstream release - update License - update rpath patch (Patch3) from Fedora 1.7.6-1.fc19 - drop deplibs patch (Patch1) - drop obsolete patch files: Patch6, 10 * Fri Jun 3 2011 Satoshi IWAMOTO - new upstream release with security fix (CVE-2011-1752, 1783, 1921) - add configure option with-gnome-keyring - add BR: keyutils-libs-devel, dbus-devel, libgnome-keyring-devel - fix Packager name * Sat Mar 26 2011 IWAI, Masaharu 1.6.16-2 - build with perl 5.12.3 - add Requires: perl(:MODULE_COMPAT_...) * Sat Mar 5 2011 Satoshi IWAMOTO 1.6.16-1 - new upstream release with security fix - add Vendor/Distri tags * Mon Nov 29 2010 IWAI, Masaharu 1.6.15-1 - new upstream release * Tue Mar 2 2010 IWAI, Masaharu 1.6.9-2 - fix - using rpm macro: rarchdir - export svn_cv_ruby_sitedir_libsuffix and svn_cv_ruby_sitedir_archsuffix - using rpm macros: perl_vendorarch and python_sitearch - add BuildRequires: sqlite3-devel krb5-devel * Thu Feb 18 2010 IWAI, Masaharu 1.6.9-1 - new upstream release - update URL - update deplibs patch (Patch1) from Fedora 1.6.9-2.fc13 - update rpath patch (Patch3) from Fedora 1.6.9-2.fc13 - stop applying pia patch (Patch6): sync Fedora 1.6.9-2.fc13 - stop applying update-neon-m4 patch (Patch10): sync Fedora 1.6.9-2.fc13 * Thu Aug 13 2009 Daisuke SUZUKI 1.5.7-1 - new upstream release * Fri Sep 05 2008 Daisuke SUZUKI 1.5.2-1 - new upstream release * Sun Jul 20 2008 Shu KONNO 1.4.6-2vl5 - rebuilt with python-2.5.2 * Sat Apr 19 2008 Ryoichi INAGAKI 1.4.6-1vl5 - new upstream release - rebuild with neon-0.28.2 - dropped old-Patch10 by adding --disable-neon-version-check to %%configure - added Patch6, 8, 9, 10 from Fedora Core * Thu Feb 21 2008 Lubomir Kundrak 1.4.6-5 - Correct install location of java stuff (#433295) * Wed Aug 8 2007 Joe Orton 1.4.4-3 - fix build with new glibc open()-as-macro - build all swig code in %%build, not %%install * Fri May 21 2004 Joe Orton 1.0.3-2 - build /usr/bin/* as PIEs * Mon Feb 25 2008 AKIYAMA Kazuhito 1.4.3-0vl2 - rebuild with expat-2.0.1 * Sun May 20 2007 Daisuke SUZUKI 1.4.3-0vl1 - new upstream release - add Patch10 to build with neon. 1.3.2-0vl5 does not support neon.. * Wed May 16 2007 Daisuke SUZUKI 1.3.2-0vl4 - rebuild with new neon * Thu May 10 2007 MATSUBAYASHI Kohji 1.3.2-0vl3 - rebuilt with new toolchain and db4-4.3.x * Sat Mar 31 2007 NAKAMURA Kenta 1.3.2-0vl2 - modified %%files section for lib64 architecture * Tue Aug 29 2006 Daisuke SUZUKI 1.3.2-0vl1 - new upstream release - rebuild with new openldap-2.3.24 * Sun May 28 2006 Daisuke SUZUKI 1.3.1-0vl1 - new upstream release - change Group to Develoment/Tools - build with apr-1.2.7/apr-util-1.2.7 - require apr/apr-util instead of apache2-apr - build with swig-1.3.29 - split {perl,python,ruby} related files to subpackage. * Tue Oct 18 2005 IWAI, Masaharu 1.2.3-0vl1 - new upstream release - add noreplace option for config file * Sun Jan 30 2005 Tomohiro 'Tomo-p' KATO 1.1.3-0vl3 - fix Requires and BuildPreReq. * Sun Jan 23 2005 Tomohiro 'Tomo-p' KATO 1.1.3-0vl2 - new upstream release. - add swig-runtime to 'BuildPreReq:'. - fix %%files. * Sun Oct 17 2004 USAMI Kosuke - 1.0.6-0vl1.1 - require neon version 0.24.7 for ra_dav - add BuildPreReq: openldap-devel - replace BuildPreReq: httpd to BuildPreReq: apache2 - replace tools Requires: perl(:MODULE_COMPAT_version) to perl >= 5.8.0 * Wed Jul 21 2004 Kazuhisa TAKEI 1.0.6-0vl1 - new upstream release * Tue Jun 22 2004 Kazuhisa TAKEI 1.0.5-0vl1 - new upstream release * Fri Jun 4 2004 Kazuhisa TAKEI 1.0.4-0vl1 - new upstream release - clean up specfile. * Tue Nov 25 2003 Daisuke SUZUKI 0.32.1-0vl1 - new upstream release - build with apache2-2.0.47 * Sun Mar 30 2003 Kazuhisa TAKEI 0.20.0-0vl1 - build Vine Linux * Sat Mar 01 2003 David Summers 0.18.1-5173 - Enabled RA_DAV checking. Now requires httpd package to build because of RA_DAV tests. * Sat Jan 18 2003 David Summers 0.16.1-4433 - Created tools package to hold the tools. * Thu Jan 16 2003 David Summers 0.16.1-4405 - Now requires httpd >= 2.0.44-0.1 (APACHE_2_0_BRANCH) which contains the new version of APR/APR-UTILS as of 2003.01.15. - Added svnversion command. * Tue Dec 31 2002 David Summers 0.16.0-4218 - Create a svnadmin.static which is copied to svnadmin-version-release when the package is erased, so users can still dump/load their repositories even after they have upgraded the RPM package. * Sat Dec 14 2002 David Summers 0.16.0-4128 - SWIG now builds so we can use cvs2svn. * Fri Oct 04 2002 David Summers 0.14.3-3280 - Made cvs2svn conditional (at least until we can get it to build consistently and work). * Sat Sep 21 2002 David Summers 0.14.3-3205 - Added SWIG dependencies to add cvs2svn capabilities. * Fri Aug 16 2002 David Summers 0.14.1-2984 - Now requires neon-0.22.0. * Thu Aug 15 2002 David Summers 0.14.1-2978 - Took out loading mod_dav_svn from subversion.spec file and put it in subversion.conf file which goes into the apache conf directory. - Simplify what gets put into httpd.conf to only the include for the subversion.conf file. (Thanks to Scott Harrison for prompting me to do this). * Thu Aug 08 2002 David Summers 0.14.0-2919 - Updated to APR/APR-UTIL 2002-08-08. * Tue Jun 25 2002 David Summers 0.13.0-2332 - Updated to APACHE/APR/APR-UTIL 2002-06-25. - Previous version had a few problems because of missing apache error/ files. * Sun Jun 23 2002 David Summers 0.13.0-2318 - Updated to apache-2.0.40-0.3. - Updated to subversion-0.13.1-2318. * Tue Jun 18 2002 David Summers 0.13.0-2277 - Updated for RedHat 7.3 (autoconf253). - Added a bunch of pre-requisites I didn't know were needed because I built a new machine that didn't have them already installed. - Fixed installation of man and info documentation pages. * Wed Mar 06 2002 David Summers 0.9.0-1447 - Back to apache-libapr* stuff, hopefully to stay. * Sun Feb 24 2002 David Summers 0.9.0-1373 - Fixed expat.patch to not have to make so many changes by writing a small shell script that changes libexpat to -lexpat. * Fri Feb 22 2002 Blair Zajac 0.9.0-1364 - Updated to neon-0.19.2. * Mon Feb 11 2002 David Summers 0.8.0-1250 - Back to using apr and apr-util separately from apache. * Mon Feb 11 2002 David Summers 0.8.0-1232 - Updated to APR and APR-UTIL 2002.02.11. - Updated to apache-2.0.32-0.2. (Requires apache-libapr and apache-libapr-util). - Took out a (now non-existant) documentation file. - Moved SPEC file changelog to after all package definitions. * Sun Feb 03 2002 David Summers 0.8.0-1153 - Updated to neon-0.18.5. - Broke up apache and apache-devel into apache-apr, apache-apr-devel, apache-apr-utils, and apache-apr-utils-devel. - Updated apache to APR and APR-UTILS to 2002.02.03 version. * Sat Feb 02 2002 David Summers 0.8.0-1147 - Now builds without the separate APR package as it is built into and "exported" from apache-2.0.31-0.3. * Fri Feb 01 2002 David Summers 0.8.0-1132 - Took out patches to install procedure now not required because of fixes in rev 1130. * Fri Feb 01 2002 David Summers 0.8.0-1129 - Added requirement for APR 0.2002.01.19 rev 2 where the /usr/bin/apr-config program was added. * Sun Oct 28 2001 David Summers - Release M5-r340: Added the subversion-server package. * Fri Oct 26 2001 David Summers - Release M5-r327: No longer need expat-lite. We can use the normal expat. * Thu Sep 27 2001 David Summers - Release M3-r117: Initial Version.