From 61af4805814eeef7c2d7053a5e3617239b4276f6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 17:34:57 +0100 Subject: [PATCH] rebuilt with openssl support [release 2.7.6-2mamba;Wed Nov 30 2022] --- README.md | 4 + ruby-2.3.4-api_break_rb_thread_fd_close.patch | 15 + ...depend-on-ext-openssl-deprecation-rb.patch | 41 ++ ruby27.spec | 444 ++++++++++++++++++ 4 files changed, 504 insertions(+) create mode 100644 ruby-2.3.4-api_break_rb_thread_fd_close.patch create mode 100644 ruby27-2.7.6-do-not-depend-on-ext-openssl-deprecation-rb.patch create mode 100644 ruby27.spec diff --git a/README.md b/README.md index d3f6765..b79db6e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # ruby27 +Ruby is the interpreted scripting language for quick and easy object-oriented programming. +It has many features to process text files and to do system management tasks. +It is simple, straight-forward, extensible, and portable. + diff --git a/ruby-2.3.4-api_break_rb_thread_fd_close.patch b/ruby-2.3.4-api_break_rb_thread_fd_close.patch new file mode 100644 index 0000000..60660d4 --- /dev/null +++ b/ruby-2.3.4-api_break_rb_thread_fd_close.patch @@ -0,0 +1,15 @@ +--- ruby-2.3.4/thread.c 2017-03-27 18:54:09.000000000 +0200 ++++ ruby-2.3.4/thread.c.api_break 2017-06-18 19:25:49.671240689 +0200 +@@ -2187,6 +2187,12 @@ + return busy; + } + ++void ++rb_thread_fd_close(int fd) ++{ ++ while (rb_notify_fd_close(fd)); ++} ++ + /* + * call-seq: + * thr.raise diff --git a/ruby27-2.7.6-do-not-depend-on-ext-openssl-deprecation-rb.patch b/ruby27-2.7.6-do-not-depend-on-ext-openssl-deprecation-rb.patch new file mode 100644 index 0000000..85a28d7 --- /dev/null +++ b/ruby27-2.7.6-do-not-depend-on-ext-openssl-deprecation-rb.patch @@ -0,0 +1,41 @@ +From 28f3e038805a4f396f228c6884c531677c075867 Mon Sep 17 00:00:00 2001 +From: Kazuki Yamaguchi +Date: Mon, 9 Mar 2020 15:23:32 +0900 +Subject: [PATCH] digest: do not depend on ext/openssl/deprecation.rb + +ext/openssl/deprecation.rb has been removed in ext/openssl upstream[1]. + +It was originally introduced to detect and prevent linking against +Apple's bundled (and very outdated) version of OpenSSL. It is long gone +and the header files do not exist in current versions of macOS. + +The dependency in ext/digest was introduced by commit 26e258c807c2. +Note that the original issue[2] is resolved without this dependency. +The commit also added the pkg_config("openss") call to match what +ext/openssl does. + +[1] https://github.com/ruby/openssl/pull/333 +[2] https://bugs.ruby-lang.org/issues/6379 +--- + ext/digest/digest_conf.rb | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/ext/digest/digest_conf.rb b/ext/digest/digest_conf.rb +index 915b61877f97f..1af401a06b0c7 100644 +--- a/ext/digest/digest_conf.rb ++++ b/ext/digest/digest_conf.rb +@@ -65,13 +65,12 @@ def digest_conf(name, hdr = name, funcs = nil, types = nil) + + dir_config("openssl") + pkg_config("openssl") +- require File.expand_path('../../openssl/deprecation', __FILE__) + if find_openssl_library + funcs ||= name.upcase + funcs = Array(funcs) + types ||= funcs + hdr = "openssl/#{hdr}.h" +- if funcs.all? {|func| OpenSSL.check_func("#{func}_Transform", hdr)} && ++ if funcs.all? {|func| have_func("#{func}_Transform", hdr)} && + types.all? {|type| have_type("#{type}_CTX", hdr)} + $defs << "-D#{name.upcase}_USE_OPENSSL" + $headers << "#{name}ossl.h" diff --git a/ruby27.spec b/ruby27.spec new file mode 100644 index 0000000..3b5c016 --- /dev/null +++ b/ruby27.spec @@ -0,0 +1,444 @@ +%define majorminor %(echo %{version} | cut -d. -f 1-2) +%define majver %(echo %{version} | cut -d. -f 1-2) +%define apiver %(echo %{version} | cut -d. -f 1-2).0 +%define osslver 3.0.0 +Name: ruby27 +Epoch: 1 +Version: 2.7.6 +Release: 2mamba +Summary: An interpreted scripting language for quick and easy object-oriented programming +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://www.ruby-lang.org +Source0: https://cache.ruby-lang.org/pub/ruby/%{majorminor}/ruby-%{version}.tar.xz +Source1: https://github.com/ruby/openssl/archive/refs/tags/v%{osslver}.tar.gz +Patch: ruby-2.3.4-api_break_rb_thread_fd_close.patch +Patch1: ruby27-2.7.6-do-not-depend-on-ext-openssl-deprecation-rb.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libdb53-devel +BuildRequires: libffi-devel +BuildRequires: libgdbm-devel +BuildRequires: libgmp-devel +BuildRequires: libncurses-devel +BuildRequires: libopenssl-devel +BuildRequires: libreadline-devel +BuildRequires: libyaml-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: groff +#Provides: ruby-bundler +#Obsoletes: ruby-bundler +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description +Ruby is the interpreted scripting language for quick and easy object-oriented programming. +It has many features to process text files and to do system management tasks. +It is simple, straight-forward, extensible, and portable. + +%package -n lib%{name} +Summary: Ruby shared libraries +Group: System/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name} +Ruby is the interpreted scripting language for quick and easy object-oriented programming. +It has many features to process text files and to do system management tasks. +It is simple, straight-forward, extensible, and portable. +This package contains Ruby's library files. + +%package -n lib%{name}-devel +Summary: Development files for the powerful language Ruby +Group: Development/Libraries +#Provides: %{name}-devel +#Obsoletes: %{name}-devel +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name}-devel +Ruby is the interpreted scripting language for quick and easy object-oriented programming. +It has many features to process text files and to do system management tasks. +It is simple, straight-forward, extensible, and portable. +This package contains Ruby's devel files. + +%debug_package + +%prep +%setup -q -n ruby-%{version} -a1 +#-D -T +#%patch0 -p1 +%patch1 -p1 + +rm -rf ext/openssl test/openssl +mv openssl-%{osslver}/ext/openssl ext +mv openssl-%{osslver}/lib ext/openssl +mv openssl-%{osslver}/{History.md,openssl.gemspec} ext/openssl +mv openssl-%{osslver}/test/openssl test + +%build +#:<< _EOF +CFLAGS=`echo %{optflags} | sed 's/-fomit-frame-pointer //'` +%configure \ + --program-suffix=-2.7 \ + --disable-rpath \ + --enable-shared +# --with-ruby-version='' + +%make +make test + +%install +[ "%{buildroot}" != / ] && rm -rf %{buildroot} +%makeinstall #install-doc + +# install file with rpm macros +install -d %{buildroot}%{_rpmmacrodir} +echo "\ +%%__ruby27 %{_bindir}/ruby-2.7 +%%ruby_version %{version} +%%ruby27_sitelib %%(%{__ruby} -rrbconfig -e 'puts RbConfig::CONFIG[\"sitelibdir\"]') +%%ruby27_sitearch %%(%{__ruby} -rrbconfig -e 'puts RbConfig::CONFIG[\"sitearchdir\"]')" \ + > %{buildroot}%{_rpmmacrodir}/macros.%{name} + +#ln -s ruby-%{apiver}.pc %{buildroot}%{_libdir}/pkgconfig/ruby.pc +mv %{buildroot}%{_libdir}/{libruby.so,libruby-%{majver}.so} + +sed -i "s|/usr/local/bin/ruby|%{_bindir}/ruby-2.7|" %{buildroot}%{_libdir}/ruby/gems/*/gems/racc-*/bin/* + +# remove unpackaged files +rm -fr %{buildroot}%{_docdir} + +%clean +[ "%{buildroot}" != / ] && rm -rf %{buildroot} + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/bundle-%{majver} +%{_bindir}/bundler-%{majver} +%{_bindir}/erb-%{majver} +%{_bindir}/gem-%{majver} +%{_bindir}/irb-%{majver} +%{_bindir}/racc-%{majver} +%{_bindir}/racc2y-%{majver} +%{_bindir}/rake-%{majver} +%{_bindir}/rdoc-%{majver} +%{_bindir}/ri-%{majver} +%{_bindir}/ruby-%{majver} +%{_bindir}/y2racc-%{majver} +%dir %{_datadir}/ri/%{apiver} +%dir %{_datadir}/ri/%{apiver}/system +%{_datadir}/ri/%{apiver}/system/* +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* + +%files -n lib%{name} +%defattr(-, root, root) +%{_libdir}/libruby.so.* +%{_libdir}/ruby/gems/%{apiver}/cache +%{_libdir}/ruby/gems/%{apiver}/gems +%{_libdir}/ruby/gems/%{apiver}/specifications +%dir %{_libdir}/ruby/%{apiver} +%dir %{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux* +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/cgi +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/digest +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/enc +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/io +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/json +#%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/mathn +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/racc +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/rbconfig +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/*.rb +%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/*.so +#%{_libdir}/ruby/%{apiver}/%{_target_cpu}-linux*/bigdecimal/util.so +%{_libdir}/ruby/%{apiver}/*.rb +%{_libdir}/ruby/%{apiver}/bigdecimal +%dir %{_libdir}/ruby/*/bundler +%{_libdir}/ruby/*/bundler/* +%{_libdir}/ruby/%{apiver}/cgi +%dir %{_libdir}/ruby/*/csv +%{_libdir}/ruby/*/csv/* +%{_libdir}/ruby/%{apiver}/benchmark +%{_libdir}/ruby/%{apiver}/delegate +%{_libdir}/ruby/%{apiver}/did_you_mean +%{_libdir}/ruby/%{apiver}/digest +%{_libdir}/ruby/%{apiver}/drb +#%{_libdir}/ruby/%{apiver}/e2mmap/version.rb +#%{_libdir}/ruby/%{apiver}/fileutils/version.rb +%{_libdir}/ruby/%{apiver}/fiddle +%{_libdir}/ruby/%{apiver}/forwardable +%{_libdir}/ruby/%{apiver}/getoptlong +%{_libdir}/ruby/%{apiver}/io +%{_libdir}/ruby/%{apiver}/irb +%{_libdir}/ruby/%{apiver}/json +%{_libdir}/ruby/%{apiver}/logger +%{_libdir}/ruby/%{apiver}/matrix +%{_libdir}/ruby/%{apiver}/net +%{_libdir}/ruby/%{apiver}/observer +%{_libdir}/ruby/%{apiver}/open3 +%{_libdir}/ruby/%{apiver}/openssl +%{_libdir}/ruby/%{apiver}/optparse +%{_libdir}/ruby/%{apiver}/ostruct +%{_libdir}/ruby/%{apiver}/pstore +%{_libdir}/ruby/%{apiver}/psych +%{_libdir}/ruby/%{apiver}/racc +#%{_libdir}/ruby/%{apiver}/rbconfig +%{_libdir}/ruby/%{apiver}/rdoc +%{_libdir}/ruby/%{apiver}/reline +%{_libdir}/ruby/%{apiver}/rexml +%{_libdir}/ruby/%{apiver}/rinda +%{_libdir}/ruby/%{apiver}/ripper +%{_libdir}/ruby/%{apiver}/rss +%{_libdir}/ruby/%{apiver}/rubygems +#%{_libdir}/ruby/%{apiver}/shell +%{_libdir}/ruby/%{apiver}/singleton +%{_libdir}/ruby/%{apiver}/syslog +%{_libdir}/ruby/%{apiver}/timeout +#%{_libdir}/ruby/%{apiver}/thwait/version.rb +%{_libdir}/ruby/%{apiver}/tracer/version.rb +#%{_libdir}/ruby/%{apiver}/tk +#%{_libdir}/ruby/%{apiver}/tkextlib +%{_libdir}/ruby/%{apiver}/unicode_normalize +%{_libdir}/ruby/%{apiver}/uri +%{_libdir}/ruby/%{apiver}/webrick +#%{_libdir}/ruby/%{apiver}/xmlrpc +%{_libdir}/ruby/%{apiver}/yaml +%doc COPYING + +%files -n lib%{name}-devel +%defattr(-, root, root) +%{_rpmmacrodir}/macros.%{name} +%dir %{_includedir}/ruby-%{apiver} +%dir %{_includedir}/ruby-%{apiver}/ruby +%{_includedir}/ruby-%{apiver}/*-linux*/ruby/config.h +%{_includedir}/ruby-%{apiver}/ruby.h +%{_includedir}/ruby-%{apiver}/ruby/*.h +%dir %{_includedir}/ruby-%{apiver}/ruby/backward +%{_includedir}/ruby-%{apiver}/ruby/backward/*.h +%{_includedir}/ruby-%{apiver}/ruby/backward/*.hpp +%{_includedir}/ruby-%{apiver}/%{_target_cpu}-linux*/rb_mjit_min_header-*.h +#%{_libdir}/libruby-static.a +%{_libdir}/libruby-%{majver}.so +%{_libdir}/pkgconfig/ruby-*.pc +#%{_libdir}/pkgconfig/ruby.pc +#%doc ChangeLog README.* + +%changelog +* Wed Nov 30 2022 Silvan Calarco 2.7.6-2mamba +- rebuilt with openssl support + +* Sun Nov 20 2022 Silvan Calarco 2.7.6-1mamba +- update to 2.7.6 +- legacy package + +* Fri Oct 02 2020 Automatic Build System 2.7.2-1mamba +- automatic version update by autodist + +* Thu Jul 02 2020 Silvan Calarco 2.7.1-3mamba +- fix /usr/local/bin/ruby shebangs in gems + +* Wed Jul 01 2020 Silvan Calarco 2.7.1-2mamba +- provide ruby.pc pkgconfig symlink; move lib files into libruby subpackage + +* Wed Apr 01 2020 Automatic Build System 2.7.1-1mamba +- automatic version update by autodist + +* Sat Jan 18 2020 Automatic Build System 2.7.0-1mamba +- automatic version update by autodist + +* Wed Oct 02 2019 Automatic Build System 2.6.5-1mamba +- automatic version update by autodist + +* Fri Aug 30 2019 Automatic Build System 2.6.4-1mamba +- automatic version update by autodist + +* Wed Apr 17 2019 Automatic Build System 2.6.3-1mamba +- automatic version update by autodist + +* Wed Mar 13 2019 Automatic Build System 2.6.2-1mamba +- automatic version update by autodist + +* Sat Feb 02 2019 Automatic Build System 2.6.1-1mamba +- automatic version update by autodist + +* Fri Dec 28 2018 Automatic Build System 2.6.0-1mamba +- automatic version update by autodist + +* Tue Oct 23 2018 Automatic Build System 2.5.3-1mamba +- automatic version update by autodist + +* Thu Mar 29 2018 Automatic Build System 2.5.1-1mamba +- automatic version update by autodist + +* Mon Feb 12 2018 Automatic Build System 2.5.0-1mamba +- automatic version update by autodist + +* Tue Oct 24 2017 Automatic Build System 2.4.2-1mamba +- automatic version update by autodist + +* Sun Jun 18 2017 Davide Madrisan 2.3.4-1mamba +- update to 2.3.4 + +* Mon Feb 06 2017 Automatic Build System 2.4.0-1mamba +- automatic version update by autodist + +* Mon Nov 21 2016 Automatic Build System 2.3.3-1mamba +- automatic version update by autodist + +* Tue Nov 15 2016 Automatic Build System 2.3.2-1mamba +- automatic version update by autodist + +* Wed Apr 27 2016 Automatic Build System 2.3.1-1mamba +- automatic version update by autodist + +* Sun Dec 27 2015 Automatic Build System 2.3.0-1mamba +- automatic version update by autodist + +* Wed Dec 16 2015 Automatic Build System 2.2.4-1mamba +- automatic version update by autodist + +* Wed Aug 19 2015 Automatic Build System 2.2.3-1mamba +- automatic version update by autodist + +* Thu Apr 16 2015 Automatic Build System 2.2.2-1mamba +- automatic update by autodist + +* Tue Mar 17 2015 Automatic Build System 2.2.1-1mamba +- automatic update by autodist + +* Sun Dec 28 2014 Automatic Build System 2.2.0-1mamba +- automatic version update by autodist + +* Fri Nov 14 2014 Automatic Build System 2.1.5-2mamba +- automatic version update by autodist + +* Fri Nov 14 2014 Automatic Build System 2.1.5-1mamba +- automatic version update by autodist + +* Thu Oct 30 2014 Automatic Build System 2.1.4-1mamba +- automatic version update by autodist + +* Sun Sep 21 2014 Automatic Build System 2.1.3-1mamba +- automatic version update by autodist + +* Thu Jul 10 2014 Silvan Calarco 2.1.2-1mamba +- update to 2.1.2 + +* Wed Jan 15 2014 Silvan Calarco 2.1.0-1mamba +- update to 2.1.0 + +* Tue Dec 03 2013 Automatic Build System 2.0.0_p353-1mamba +- automatic version update by autodist + +* Fri Aug 30 2013 Silvan Calarco 2.0.0_p247-2mamba +- fix rpm macros file by using RbConfig:: instead of deprecated Config:: + +* Sat Jun 29 2013 Automatic Build System 2.0.0_p247-1mamba +- automatic version update by autodist + +* Mon Jun 03 2013 Automatic Build System 2.0.0_p195-1mamba +- automatic version update by autodist + +* Tue Feb 26 2013 Automatic Build System 2.0.0_p0-1mamba +- update to 2.0.0_p0 + +* Sun Feb 24 2013 Automatic Build System 1.9.3_p392-1mamba +- update to 1.9.3_p392 + +* Wed Feb 20 2013 Automatic Build System 1.9.3.p385-1mamba +- automatic version update by autodist + +* Fri Jan 25 2013 Automatic Build System 1.9.3.p374-2mamba +- automatic version update by autodist + +* Fri Jan 18 2013 Automatic Build System 1.9.3.p374-1mamba +- automatic version update by autodist + +* Sat Nov 10 2012 Automatic Build System 1.9.3.p327-3mamba +- automatic version update by autodist + +* Sat Nov 10 2012 Automatic Build System 1.9.3.p327-2mamba +- automatic version update by autodist + +* Sat Nov 10 2012 Automatic Build System 1.9.3.p327-1mamba +- automatic version update by autodist + +* Fri Oct 19 2012 Automatic Build System 1.9.3.p286-1mamba +- update to 1.9.3.p286 + +* Wed Aug 15 2012 Automatic Build System 1.9.3.p194-1mamba +- update to 1.9.3.p194 + +* Mon Nov 14 2011 Automatic Build System 1.9.3.p0-1mamba +- automatic version update by autodist + +* Sat Jan 08 2011 Silvan Calarco 1.8.7.p330-1mamba +- update to 1.8.7.p330 + +* Tue Sep 07 2010 Silvan Calarco 1.8.7-p302-1mamba +- update to 1.8.7-p302 +- fixed specfile for correct version and bumped up epoch + +* Mon Jun 21 2010 Automatic Build System 1.9.1.p378-1mamba +- automatic update by autodist + +* Fri Feb 05 2010 Davide Madrisan 1.9.1.p376-2mamba +- provide an rpm macro file: %{_sysconfdir}/rpm/macros.ruby + +* Tue Dec 08 2009 Automatic Build System 1.9.1.p376-1mamba +- automatic update by autodist + +* Thu Jul 23 2009 Automatic Build System 1.9.1.p243-1mamba +- automatic update by autodist + +* Tue May 12 2009 Automatic Build System 1.9.1.p129-1mamba +- automatic update to 1.9.1.p129 by autodist + +* Sat Jan 31 2009 Silvan Calarco 1.9.1-1mamba +- automatic update to 1.9.1 by autodist + +* Wed Aug 13 2008 gil 1.8.7-p72-1mamba +- update to 1.8.7-p72 +- edit configure option added enable-pthread (see specfile) + +* Fri Jul 18 2008 gil 1.8.7p22-1mamba +- update to 1.8.7p22 + +* Tue Jun 17 2008 Silvan Calarco 1.8.7p17-1mamba +- update to 1.8.7p17: add patchlevel to package version + +* Sat Jun 14 2008 Aleph0 1.8.7-2mamba +- update to patch level 17 + +* Wed Jun 04 2008 Silvan Calarco 1.8.7-1mamba +- update to 1.8.7 + +* Fri Mar 07 2008 Aleph0 1.8.6-5mamba +- update to patch level 114 + +* Mon Oct 08 2007 Aleph0 1.8.6-4mamba +- update to patch level 111 + +* Wed Oct 03 2007 Aleph0 1.8.6-3mamba +- update to patch level 110 + +* Mon Jun 11 2007 Aleph0 1.8.6-2mamba +- update to patch level 36 + +* Thu Apr 05 2007 Aleph0 1.8.6-1mamba +- update to version 1.8.6 by autospec + +* Tue Jan 09 2007 Aleph0 1.8.5-1qilnx +- update to version 1.8.5-p12 by autospec +- removed fix against CVE-2006-3694 (merged upstream) +- also fixes CVE-2006-5467, and CVE-2006-6303 + +* Fri Jul 28 2006 Davide Madrisan 1.8.4-2qilnx +- security update: CVE-2006-3694, bugzilla 208 + +* Fri May 19 2006 Davide Madrisan 1.8.4-1qilnx +- package created by autospec \ No newline at end of file