Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ruby-build for openSUSE:Factory checked in at 2025-09-01 17:17:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ruby-build (Old) and /work/SRC/openSUSE:Factory/.ruby-build.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ruby-build" Mon Sep 1 17:17:21 2025 rev:92 rq:1301982 version:20250829 Changes: -------- --- /work/SRC/openSUSE:Factory/ruby-build/ruby-build.changes 2025-08-12 17:07:15.201974531 +0200 +++ /work/SRC/openSUSE:Factory/.ruby-build.new.1977/ruby-build.changes 2025-09-01 17:18:00.942497268 +0200 @@ -1,0 +2,11 @@ +Fri Aug 29 13:27:13 UTC 2025 - Lukas Müller <expee...@outlook.com> + +- Update to version 20250829. + Changelog: https://github.com/rbenv/ruby-build/releases/tag/v20250829 + * Add support for pkg-config by @baarde in #2547 + * Fix regression in JRuby 9.3 by @mislav in #2560 + * Fix linking to Homebrew OpenSSL by @mislav in #2562 + * Bump actions/checkout from 4 to 5 by @dependabot[bot] in #2563 + * Add JRuby 9.4.14.0 by @headius in #2564 + +------------------------------------------------------------------- Old: ---- ruby-build-20250811.tar.gz New: ---- ruby-build-20250829.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ruby-build.spec ++++++ --- /var/tmp/diff_new_pack.5ndKp2/_old 2025-09-01 17:18:01.418517422 +0200 +++ /var/tmp/diff_new_pack.5ndKp2/_new 2025-09-01 17:18:01.418517422 +0200 @@ -24,7 +24,7 @@ %endif Name: ruby-build -Version: 20250811 +Version: 20250829 Release: 0 BuildArch: noarch License: MIT ++++++ ruby-build-20250811.tar.gz -> ruby-build-20250829.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/.github/workflows/ci.yml new/ruby-build-20250829/.github/workflows/ci.yml --- old/ruby-build-20250811/.github/workflows/ci.yml 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/.github/workflows/ci.yml 2025-08-29 01:24:24.000000000 +0200 @@ -13,7 +13,7 @@ os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Install bats diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/.github/workflows/differential-shellcheck.yml new/ruby-build-20250829/.github/workflows/differential-shellcheck.yml --- old/ruby-build-20250811/.github/workflows/differential-shellcheck.yml 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/.github/workflows/differential-shellcheck.yml 2025-08-29 01:24:24.000000000 +0200 @@ -18,7 +18,7 @@ steps: - name: Repository checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/.github/workflows/mirror.yml new/ruby-build-20250829/.github/workflows/mirror.yml --- old/ruby-build-20250811/.github/workflows/mirror.yml 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/.github/workflows/mirror.yml 2025-08-29 01:24:24.000000000 +0200 @@ -17,7 +17,7 @@ mirror: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 100 - name: Update download mirror diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/.github/workflows/update-ruby.yml new/ruby-build-20250829/.github/workflows/update-ruby.yml --- old/ruby-build-20250811/.github/workflows/update-ruby.yml 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/.github/workflows/update-ruby.yml 2025-08-29 01:24:24.000000000 +0200 @@ -20,7 +20,7 @@ name: Update Ruby definitions runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Store Ruby version run: echo "RUBY_VERSION=${{ github.event.client_payload.ruby_version || github.event.inputs.ruby_version }}" >> $GITHUB_ENV diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/bin/ruby-build new/ruby-build-20250829/bin/ruby-build --- old/ruby-build-20250811/bin/ruby-build 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/bin/ruby-build 2025-08-29 01:24:24.000000000 +0200 @@ -16,7 +16,7 @@ # -6, --ipv6 Resolve names to IPv6 addresses only # -RUBY_BUILD_VERSION="20250811" +RUBY_BUILD_VERSION="20250829" OLDIFS="$IFS" @@ -889,7 +889,12 @@ # workaround for https://github.com/jruby/jruby/issues/7799 [[ $1 != "jruby-9.2."* ]] || capture_command ./ruby gem update -q --silent --system 3.3.26 --no-document --no-post-install-message - capture_command ./ruby gem install jruby-launcher --no-document + if [[ $1 == "jruby-9.3."* ]]; then + # workaround for https://github.com/rbenv/ruby-build/issues/2550 + capture_command ./ruby gem install jruby-launcher --version '<2' --no-document + else + capture_command ./ruby gem install jruby-launcher --no-document + fi } fix_jruby_shebangs() { @@ -1106,6 +1111,20 @@ [[ $openssl_version = "OpenSSL 0.9.8"?* || $openssl_version = "LibreSSL"* ]] } +# Print the prefix of a library found by pkg-config, but only if it +# doesn't come from Homebrew's cellar. +pkgconfig_prefix() { + local prefix brew_prefix + prefix="$(pkg-config --variable=prefix "$1" 2>/dev/null || true)" + [ -n "$prefix" ] || return 1 + brew_prefix="$(brew --prefix 2>/dev/null || true)" + if [[ -n $brew_prefix && ( $prefix == "$brew_prefix"/Cellar/* || \ + $prefix == "$(brew --repository 2>/dev/null || true)"/Cellar/* ) ]]; then + return 1 + fi + printf '%s\n' "$prefix" +} + # Detect the OpenSSL version that a compiler can reasonably link to. system_openssl_version() { cc -xc -E - <<EOF 2>/dev/null | sed -n 's/"\{0,1\}OpenSSL \([0-9][0-9.]*\).*/\1/p' @@ -1148,7 +1167,10 @@ [[ "$RUBY_CONFIGURE_OPTS ${RUBY_CONFIGURE_OPTS_ARRAY[*]}" != *--with-openssl-dir=* ]] || return 1 local system_version - if ! has_broken_mac_openssl; then + if pkgconfig_prefix "openssl" >/dev/null; then + system_version="$(pkg-config --modversion openssl 2>/dev/null || true)" + fi + if [ -z "$system_version" ] && ! has_broken_mac_openssl; then system_version="$(system_openssl_version)" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/share/man/man1/ruby-build.1 new/ruby-build-20250829/share/man/man1/ruby-build.1 --- old/ruby-build-20250811/share/man/man1/ruby-build.1 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/share/man/man1/ruby-build.1 2025-08-29 01:24:24.000000000 +0200 @@ -1,13 +1,13 @@ '\" t .\" Title: ruby-build .\" Author: Mislav Marohnić -.\" Generator: Asciidoctor 2.0.20 -.\" Date: 2025-01-21 +.\" Generator: Asciidoctor 2.0.23 +.\" Date: 2024-09-24 .\" Manual: ruby-build Manual -.\" Source: ruby-build 20250811 +.\" Source: ruby-build 20250829 .\" Language: English .\" -.TH "RUBY\-BUILD" "1" "2025-01-21" "ruby\-build 20250811" "ruby\-build Manual" +.TH "RUBY\-BUILD" "1" "2024-09-24" "ruby\-build 20250829" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/share/ruby-build/jruby-9.4.14.0 new/ruby-build-20250829/share/ruby-build/jruby-9.4.14.0 --- old/ruby-build-20250811/share/ruby-build/jruby-9.4.14.0 1970-01-01 01:00:00.000000000 +0100 +++ new/ruby-build-20250829/share/ruby-build/jruby-9.4.14.0 2025-08-29 01:24:24.000000000 +0200 @@ -0,0 +1,2 @@ +require_java 8 +install_package "jruby-9.4.14.0" "https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.14.0/jruby-dist-9.4.14.0-bin.tar.gz#7ea2be8d0c5989714c795b4544492bf9941c9576e7a78f593a19c85567bc0452" jruby diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ruby-build-20250811/test/build.bats new/ruby-build-20250829/test/build.bats --- old/ruby-build-20250811/test/build.bats 2025-08-11 15:46:25.000000000 +0200 +++ new/ruby-build-20250829/test/build.bats 2025-08-29 01:24:24.000000000 +0200 @@ -349,6 +349,7 @@ stub_repeated brew false # shellcheck disable=SC2016 stub cc '-xc -E - : [[ "$(cat)" == *OPENSSL_VERSION_TEXT* ]] && printf "# <unrelated> 4.0.2\n\"OpenSSL 1.0.3a 1 Aug 202\"\n0 errors.\n"' + stub_repeated pkg-config false stub_make_install mkdir -p "$INSTALL_ROOT"/openssl/ssl # OPENSSLDIR @@ -360,6 +361,37 @@ unstub uname unstub brew + unstub pkg-config + unstub make + + assert_build_log <<OUT +ruby-3.2.0: [--prefix=$INSTALL_ROOT,--with-ext=openssl,psych,+] +make -j 2 +make install +OUT +} + +@test "use pkg-config OpenSSL" { + cached_tarball "ruby-3.2.0" configure + + openssl_libdir="$TMP/opt/local/libexec/openssl3" + + stub_repeated uname '-s : echo Linux' + stub_repeated brew false + stub pkg-config \ + "--variable=prefix openssl : echo '$openssl_libdir'" \ + "--modversion openssl : echo 3.0.0" + stub_make_install + + run_inline_definition <<DEF +install_package "openssl-1.1.1w" "https://www.openssl.org/source/openssl-1.1.1w.tar.gz" openssl --if needs_openssl_102_300 +install_package "ruby-3.2.0" "http://ruby-lang.org/ruby/2.0/ruby-3.2.0.tar.gz" +DEF + assert_success + + unstub uname + unstub brew + unstub pkg-config unstub make assert_build_log <<OUT @@ -380,6 +412,7 @@ stub_repeated brew false stub cc '-xc -E - : echo "OpenSSL 1.0.1a 1 Aug 2023"' # system_openssl_version stub openssl "version -d : echo 'OPENSSLDIR: \"${TMP}/ssl\"'" + stub_repeated pkg-config false stub_make_install "install_sw" stub_make_install @@ -393,6 +426,7 @@ unstub uname unstub brew unstub cc + unstub pkg-config # Depending on certain system certificate files being present under /etc/, # `openssl version -d` might not have been called, so avoid unstubbing it # since that would verify the number of invocations. @@ -420,6 +454,7 @@ stub_repeated brew false stub cc '-xc -E - : echo "OpenSSL 1.0.1a 1 Aug 2023"' # system_openssl_version stub openssl + stub_repeated pkg-config false stub_make_install "install_sw" stub_make_install @@ -433,6 +468,7 @@ unstub uname unstub security unstub brew + unstub pkg-config # Depending on the state of system `/usr/bin/openssl` in the test runner, # `cc` might not have been called, so avoid unstubbing it since that would # verify the number of invocations. @@ -533,7 +569,9 @@ stub cc '-xc -E - : echo "OpenSSL 1.0.1a 1 Aug 2023"' stub_repeated brew \ 'list : printf "git\nopenssl@3\nopenssl-utils\nopenssl@1.1\nopenssl@3.0\nwget\nopenssl@3.1"' \ - "--prefix : echo '$homebrew_prefix'/opt/\$2 " + "--prefix : if [ \$# -ge 2 ]; then echo '$homebrew_prefix'/opt/\$2; else echo '$homebrew_prefix'; fi " \ + "--repository : echo '$homebrew_prefix'" + stub_repeated pkg-config false stub_make_install run_inline_definition <<DEF @@ -545,6 +583,7 @@ unstub uname unstub cc unstub brew + unstub pkg-config unstub make assert_build_log <<OUT @@ -552,6 +591,44 @@ make -j 2 make install OUT +} + +@test "link to Homebrew OpenSSL ignoring pkg-config" { + cached_tarball "ruby-3.2.0" configure + + local homebrew_prefix="${TMP}/homebrew" + executable "${homebrew_prefix}/opt/openssl@3/bin/openssl" <<EXE +#!/$BASH +[ "\$1" = "version" ] || exit 1 +echo 'OpenSSL 3.2.1 20 Dec 2019' +EXE + + stub_repeated uname '-s : echo Linux' + stub cc '-xc -E - : echo "OpenSSL 1.0.1a 1 Aug 2023"' + stub_repeated brew \ + 'list : echo "openssl@3"' \ + "--prefix : if [ \$# -ge 2 ]; then echo '$homebrew_prefix'/opt/\$2; else echo '$homebrew_prefix'; fi " \ + "--repository : echo '$homebrew_prefix'" + stub pkg-config "--variable=prefix openssl : echo '$homebrew_prefix'/Cellar/openssl@3/3.2.1" + stub_make_install + + run_inline_definition <<DEF +install_package "openssl-1.1.1w" "https://www.openssl.org/source/openssl-1.1.1w.tar.gz" openssl --if needs_openssl:1.1.0-3.2.x +install_package "ruby-3.2.0" "http://ruby-lang.org/ruby/2.0/ruby-3.2.0.tar.gz" +DEF + assert_success + + unstub uname + unstub cc + unstub brew + unstub pkg-config + unstub make + + assert_build_log <<OUT +ruby-3.2.0: [--prefix=$INSTALL_ROOT,--with-openssl-dir=$TMP/homebrew/opt/openssl@3,--with-ext=openssl,psych,+] +make -j 2 +make install +OUT } @test "forward extra command-line arguments as configure flags" {