diff --git a/.gitignore b/.gitignore index e69de29..c3ab02c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/aruba-*.gem +/rubygem-aruba-*-testsuite.tar.gz diff --git a/aruba-create-test-suite-tarball.sh b/aruba-create-test-suite-tarball.sh new file mode 100644 index 0000000..3a1ce57 --- /dev/null +++ b/aruba-create-test-suite-tarball.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +if [ $# -lt 1 ] +then + echo "$0 " + exit 1 +fi + +set -x +set -e + +GEMNAME=aruba +CURRDIR=$(pwd) +VERSION=$1 + +TMPDIRPATH=$(mktemp -d /var/tmp/${GEMNAME}-tar-XXXXXX) +pushd $TMPDIRPATH + +git clone https://github.com/cucumber/${GEMNAME}.git +pushd ${GEMNAME} +git reset --hard v${VERSION} +popd + +ln -sf ${GEMNAME} ${GEMNAME}-${VERSION} +tar czf ${CURRDIR}/rubygem-${GEMNAME}-${VERSION}-testsuite.tar.gz \ + ${GEMNAME}-${VERSION}/{features,fixtures,spec} + +popd + +rm -rf $TMPDIRPATH diff --git a/rubygem-aruba-2.0.0-make-bundler-optional.patch b/rubygem-aruba-2.0.0-make-bundler-optional.patch new file mode 100644 index 0000000..d488572 --- /dev/null +++ b/rubygem-aruba-2.0.0-make-bundler-optional.patch @@ -0,0 +1,39 @@ +--- aruba-2.0.0/lib/aruba/api/bundler.rb.make_optional 2021-07-27 04:28:08.000000000 +0900 ++++ aruba-2.0.0/lib/aruba/api/bundler.rb 2022-01-14 14:40:50.369324292 +0900 +@@ -1,7 +1,6 @@ + # frozen_string_literal: true + + require 'aruba/api/environment' +-require 'bundler' + + module Aruba + module Api +@@ -8,6 +7,19 @@ module Aruba + + # Unset variables used by bundler + def unset_bundler_env_vars ++ begin ++ require "bundler" ++ unset_bundler_env_vars_new ++ rescue LoadError ++ %w[RUBYOPT BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE].each do |key| ++ delete_environment_variable(key) ++ end ++ end ++ end ++ ++ private ++ ++ def unset_bundler_env_vars_new + empty_env = with_environment { with_unbundled_env { ENV.to_h } } + aruba_env = aruba.environment.to_h + (aruba_env.keys - empty_env.keys).each do |key| +@@ -18,8 +30,6 @@ module Aruba + end + end + +- private +- + def with_unbundled_env(&block) + if ::Bundler.respond_to?(:with_unbundled_env) + ::Bundler.with_unbundled_env(&block) diff --git a/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch b/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch new file mode 100644 index 0000000..93994cf --- /dev/null +++ b/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch @@ -0,0 +1,42 @@ +From bd2aea600f7e989e4da734c3e823c3ce12ce629b Mon Sep 17 00:00:00 2001 +From: Matijs van Zuijlen +Date: Sun, 6 Apr 2025 23:32:36 +0200 +Subject: [PATCH] Update expected diff output to match changes in diff-lcs + +Version 1.6.0 of diff-lcs included a bug fix that corrects the hunk +ranges it outputs. This change bumps the minimum version of diff-lcs to +1.6.0 so this change is sure to be included, and updates the +expectations in the cucumber scenarios that depend on exact diff-lcs +output. +--- + aruba.gemspec | 1 + + .../cucumber/steps/command/check_output_of_command.feature | 2 +- + .../cucumber/steps/command/check_stderr_of_command.feature | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature b/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +index 3266514b..1f0d1997 100644 +--- a/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature ++++ b/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +@@ -353,7 +353,7 @@ Feature: All output of commands which were executed + world" to output string is eq: "hello + worl" + Diff: +- @@ -1,3 +1,3 @@ ++ @@ -1,2 +1,2 @@ + hello + -worl + +world +diff --git a/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature b/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +index cc0e7aad..d3b4c9a9 100644 +--- a/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature ++++ b/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +@@ -82,7 +82,7 @@ Feature: STDERR of commands which were executed + expected "hello + world!" to output string is eq: "" + Diff: +- @@ -1,2 +1,4 @@ ++ @@ -0,0 +1,2 @@ + +hello + +world! + """ diff --git a/rubygem-aruba.spec b/rubygem-aruba.spec new file mode 100644 index 0000000..2f9f1eb --- /dev/null +++ b/rubygem-aruba.spec @@ -0,0 +1,366 @@ +# Generated from aruba-0.4.11.gem by gem2rpm -*- rpm-spec -*- +%global gem_name aruba + +Summary: CLI Steps for Cucumber, hand-crafted for you in Aruba +Name: rubygem-%{gem_name} +Version: 2.3.3 +Release: 1%{?dist} + +# SPDX confirmed +# templates/, jquery.js existed on 0.14.14, no longer included in 2.0 and above +License: MIT +URL: https://github.com/cucumber/aruba +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +Source1: %{name}-%{version}-testsuite.tar.gz +# Source1 is created by $ bash %%SOURCE2 %%VERSION +Source2: %{gem_name}-create-test-suite-tarball.sh +# Make bundler runtime dependency optional +Patch1: rubygem-aruba-2.0.0-make-bundler-optional.patch +# https://github.com/cucumber/aruba/commit/bd2aea600f7e989e4da734c3e823c3ce12ce629b +# We still use diff-lcs 1.5, revert the above patch for now +Patch2: rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch + + +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby +# For %%check +BuildRequires: rubygem(childprocess) +BuildRequires: rubygem(contracts) +BuildRequires: rubygem(cucumber) +BuildRequires: rubygem(irb) +BuildRequires: rubygem(minitest) +BuildRequires: rubygem(rspec) >= 3 +BuildRequires: rubygem(thor) +BuildRequires: less + +BuildArch: noarch + +%description +Aruba is Cucumber extension for Command line applications written +in any programming language. + + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name} + +%prep +%setup -q -n %{gem_name}-%{version} -a 1 +pushd %{gem_name}-%{version} +for f in * +do + basef=$(basename $f) + target=../${basef} + ln -sf $(pwd)/$f $target +done +# For tests +ln -sf ../lib +popd +%patch -P1 -p1 +%patch -P2 -p1 -R + +mv ../%{gem_name}-%{version}.gemspec . + +# Relax cucumber dependency +# Partially revert https://github.com/cucumber/aruba/pull/906 +sed -i '\@cucumber@s|>= 8.0|>= 7.0|' %{gem_name}-%{version}.gemspec +# Remove bundler dependency harder +sed -i '\@dependency.*bundler@d' %{gem_name}-%{version}.gemspec + +%build +gem build %{gem_name}-%{version}.gemspec +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +rm -f %{buildroot}%{gem_cache} + +%check +pushd %{gem_name}-%{version} +for f in * +do + basef=$(basename $f) + target=../%{gem_instdir}/${basef} + unlink $target || true + ln -sf $(pwd)/$f $target +done +popd + +pushd .%{gem_instdir} + +# We don't care about code coverage. +sed -i spec/spec_helper.rb \ + -e '\@[sS]imple[Cc]ov@d' \ + %{nil} + +env RUBYOPT=-rtime \ + rspec spec + +# We don't care about code coverage. +sed -i features/support/env.rb \ + -e '\@require.*simplecov@d' +> features/support/simplecov_setup.rb + +# Let the test cli-app find Aruba. +sed -i fixtures/cli-app/spec/spec_helper.rb \ + -e "\@\$LOAD_PATH@s|\.\./\.\./lib|$(pwd)/lib|" + +# Kill tests which requires python explicitly +# (to reduce BR, anyway this test is not important) +sed -i features/step_definitions/hooks.rb \ + -e '\@platform.which@s|"python"|"no-python"|' + +# The following test fails on ppc64le, due to different block size +# (expected: 64k actual: 4k), disabling +PPC64_ENV_P=$(uname -m | grep -q ppc64 && echo 0 || echo 1) +if test x"${PPC64_ENV_P}" == x0 +then + mv features/04_aruba_api/filesystem/report_disk_usage.feature{,.skip} +fi + +# Disable bundler tests. +mv features/03_testing_frameworks/cucumber/disable_bundler.feature{,.skip} + +# Adjust test cases referring to $HOME. +sed -i features/04_aruba_api/core/expand_path.feature -e "s|/home/\[\^/\]+|$(echo $HOME)|" +sed -i features/02_configure_aruba/home_directory.feature \ + -e "\@Scenario: Default value@,\@Scenario@s|/home/|$(echo $HOME)|" +sed -i features/02_configure_aruba/home_directory.feature \ + -e "\@Set to aruba's working directory@,\@Scenario@s|/home/|$(echo $HOME)/|" + +# Make the Aruba always awailable. +export CUCUMBER_PUBLISH_QUIET=true +env RUBYOPT=-I$(pwd)/lib cucumber -f progress + +# Go back the skipped test +if test x"${PPC64_ENV_P}" == x0 +then + mv features/04_aruba_api/filesystem/report_disk_usage.feature{.skip,} +fi +mv features/03_testing_frameworks/cucumber/disable_bundler.feature{.skip,} + +popd # from .%%{gem_instdir} + +%files +%dir %{gem_instdir} +%license %{gem_instdir}/LICENSE +%doc %{gem_instdir}/README.md + +%{gem_libdir} +%{gem_instdir}/exe +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/CONTRIBUTING.md +%doc %{gem_instdir}/CHANGELOG.md + +%changelog +* Sat Dec 06 2025 Mamoru TASAKA - 2.3.3-1 +- 2.3.3 + +* Sun Sep 14 2025 Mamoru TASAKA - 2.3.2-1 +- 2.3.2 + +* Fri Jul 25 2025 Fedora Release Engineering - 2.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jun 15 2025 Mamoru TASAKA - 2.3.1-1 +- 2.3.1 + +* Sat Jan 18 2025 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 03 2025 Mamoru TASAKA - 2.3.0-1 +- 2.3.0 + +* Thu Nov 28 2024 Vít Ondruch - 2.2.0-10 +- Drop BR: rubygem(pry) + +* Fri Jul 19 2024 Fedora Release Engineering - 2.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Feb 08 2024 Mamoru TASAKA - 2.2.0-8 +- Adjust testsuite for Minitest 5.22.2 + +* Fri Jan 26 2024 Fedora Release Engineering - 2.2.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 2.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Dec 27 2023 Mamoru TASAKA - 2.2.0-5 +- Patch for ruby3.3 + +* Thu Nov 9 2023 Mamoru TASAKA - 2.2.0-4 +- Explicitly add BR: less for BR: pry +- Change cucumber publish quiet method + +* Mon Sep 11 2023 Mamoru TASAKA - 2.2.0-2 +- Kill python test entirely to redure BR, it is not important + (related to bug 2237692) + +* Fri Sep 8 2023 Mamoru TASAKA - 2.2.0-1 +- 2.2.0 +- Relax cucumber dependency + +* Fri Jul 21 2023 Fedora Release Engineering - 2.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Mar 21 2023 Mamoru TASAKA - 2.1.0-4 +- Correct license tag + +* Fri Jan 20 2023 Fedora Release Engineering - 2.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu May 26 2022 Mamoru TASAKA - 2.1.0-1 +- 2.1.0 + +* Sun Apr 24 2022 Mamoru TASAKA - 2.0.1-1 +- 2.0.1 + +* Fri Jan 21 2022 Fedora Release Engineering - 2.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 19 2022 Mamoru TASAKA - 2.0.0-3 +- Use upstream patch for rspec-core rspec test suite issue + (Gem.win_platform? related) + +* Fri Jan 14 2022 Mamoru TASAKA - 2.0.0-2 +- Make bundler optional again +- Workaround patch to make rspec-core test suite pass +- Some cleanup + +* Mon Sep 06 2021 Pavel Valena - 2.0.0-1 +- Update to aruba 2.0.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.14.14-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Apr 6 2021 Mamoru TASAKA - 0.14.14-6 +- Add BR: rubygem(irb) + +* Mon Feb 1 2021 Mamoru TASAKA - 0.14.14-5 +- Disable cucumber test failing on ppc64le + +* Wed Jan 27 2021 Fedora Release Engineering - 0.14.14-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.14.14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 0.14.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 30 2019 Mamoru TASAKA - 0.14.14-1 +- 0.14.14 + +* Thu Dec 26 2019 Mamoru TASAKA - 0.14.13-1 +- 0.14.13 + +* Tue Nov 5 2019 Mamoru TASAKA - 0.14.12-1 +- 0.14.12 + +* Sat Aug 17 2019 Mamoru TASAKA - 0.14.11-1 +- 0.14.11 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.14.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Mar 21 2019 Mamoru TASAKA - 0.14.9-1 +- 0.14.9 + +* Wed Feb 27 2019 Mamoru TASAKA - 0.14.8-1 +- 0.14.8 + +* Tue Feb 26 2019 Mamoru TASAKA - 0.14.7-3 +- Some cleanup + +* Sat Feb 02 2019 Fedora Release Engineering - 0.14.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 29 2019 Vít Ondruch +- Enable test suite. + +* Tue Jan 29 2019 Mamoru TASAKA - 0.14.7-1 +- 0.14.7 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.14.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 2 2018 Mamoru TASAKA - 0.14.6-1 +- 0.14.6 + +* Fri Apr 6 2018 Mamoru TASAKA - 0.14.5-1 +- 0.14.5 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.14.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Dec 31 2017 Mamoru TASAKA - 0.14.3-1 +- 0.14.3 + +* Thu Jul 27 2017 Fedora Release Engineering - 0.14.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.14.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 2 2017 Mamoru TASAKA - 0.14.2-1 +- 0.14.2 + +* Thu Feb 04 2016 Fedora Release Engineering - 0.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jan 15 2015 Mamoru TASAKA - 0.6.2-1 +- 0.6.2 + +* Mon Sep 1 2014 Mamoru TASAKA - 0.6.1-1 +- 0.6.1 + +* Wed Aug 13 2014 Mamoru TASAKA - 0.6.0-1 +- 0.6.0 + +* Sun Jun 08 2014 Fedora Release Engineering - 0.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 14 2014 Mamoru TASAKA - 0.5.4-1 +- 0.5.4 + +* Sun Aug 04 2013 Fedora Release Engineering - 0.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Apr 22 2013 Josef Stribny - 0.5.2-1 +- Update to aruba 0.5.2 + +* Sat Feb 23 2013 Vít Ondruch - 0.4.11-6 +- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 + +* Mon Feb 18 2013 Bohuslav Kabrda - 0.4.11-5 +- Disable tests that do not actually test anything (patch from upstream). + +* Thu Feb 14 2013 Fedora Release Engineering - 0.4.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 0.4.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Apr 19 2012 Bohuslav Kabrda - 0.4.11-2 +- Remove the ffi dependency and add conflicts with the problematic version. + +* Fri Feb 24 2012 Bohuslav Kabrda - 0.4.11-1 +- Initial package diff --git a/sources b/sources index e69de29..01de0ee 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (aruba-2.3.3.gem) = 4892651a703d0b2badf15a7f45e461ab1478e53d290fc39e7b0a3fa2a4c4830754bdcabddb38ba3e161bd34071da85aad4f56ccaea5ff8b37a5d74ae1e7ca8c2 +SHA512 (rubygem-aruba-2.3.3-testsuite.tar.gz) = a2aa74d9c920dbc3b9709358f5e219886e54f92b85b34de15bd9614308dccd48a3f97bed2f286e8e4dc520259e63063d167a74d72ed70a0635cb8c7348ccb175