diff --git a/rails-6.1.4.1-tools.txz b/rails-6.1.4.1-tools.txz new file mode 100644 index 0000000000000000000000000000000000000000..2a295780575dec0533adacc500837f9b5da9206a Binary files /dev/null and b/rails-6.1.4.1-tools.txz differ diff --git a/railties-5.2.4.4.gem b/railties-5.2.4.4.gem deleted file mode 100644 index eee027d4db46cbe3e3d584b802568c81e1777ac1..0000000000000000000000000000000000000000 Binary files a/railties-5.2.4.4.gem and /dev/null differ diff --git a/railties-6.1.4.1-tests.txz b/railties-6.1.4.1-tests.txz new file mode 100644 index 0000000000000000000000000000000000000000..69d5ee358fac2abd49576c1368079a617e0adc44 Binary files /dev/null and b/railties-6.1.4.1-tests.txz differ diff --git a/railties-6.1.4.1.gem b/railties-6.1.4.1.gem new file mode 100644 index 0000000000000000000000000000000000000000..0388d68a272149eb8b706ab2619850877b548fb7 Binary files /dev/null and b/railties-6.1.4.1.gem differ diff --git a/rubygem-railties-5.1.5-check-value-of-result-source-location.patch b/rubygem-railties-5.1.5-check-value-of-result-source-location.patch deleted file mode 100644 index e2842ebb23b9a504f414e243fe74b4874f484827..0000000000000000000000000000000000000000 --- a/rubygem-railties-5.1.5-check-value-of-result-source-location.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b25471833462b769df5d20fb4019aee46881489e Mon Sep 17 00:00:00 2001 -From: Pavel Valena -Date: Fri, 16 Mar 2018 21:40:58 +0100 -Subject: [PATCH] Check value of result.source_location in - test_unit/reporter.rb#format_rerun_snippet - -With Ruby 2.5 format_rerun_snippet can return nil, which crashes the test -suite, F.e.: - - TestUnitReporterTest#test_outputs_failures_inline: - NoMethodError: undefined method `sub' for nil:NilClass - test/test_unit/reporter_test.rb:62:in `block in ' - bin/rails test test/test_unit/reporter_test.rb:61 ---- - railties/lib/rails/test_unit/reporter.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/railties/lib/rails/test_unit/reporter.rb b/railties/lib/rails/test_unit/reporter.rb -index 28b93ce..86d769d 100644 ---- a/railties/lib/rails/test_unit/reporter.rb -+++ b/railties/lib/rails/test_unit/reporter.rb -@@ -68,7 +68,7 @@ def format_line(result) - end - - def format_rerun_snippet(result) -- location, line = if result.respond_to?(:source_location) -+ location, line = if result.respond_to?(:source_location) && result.source_location - result.source_location - else - result.method(result.name).source_location --- -1.8.3.1 - diff --git a/rubygem-railties.spec b/rubygem-railties.spec index 5f491b46d65b60c742b6dc0f6588f1d2c24ebe7a..e70e764f6dcccdb472094196f73cad80b2f5fde1 100644 --- a/rubygem-railties.spec +++ b/rubygem-railties.spec @@ -1,32 +1,52 @@ %global gem_name railties -%bcond_with test -%{?_with_bootstrap: %global bootstrap 1} -%global bootstrap 1 +%bcond_with bootstrap +%bcond_with webpacker Name: rubygem-%{gem_name} -Version: 5.2.4.4 -Release: 4 +Version: 6.1.4.1 +Release: 1 Summary: Tools for creating, working with, and running Rails applications License: MIT URL: http://rubyonrails.org -Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem -Source1: https://github.com/rails/rails/archive/v%{version}.tar.gz -# Check value of result.source_location in -# test_unit/reporter.rb#format_rerun_snippet -# https://github.com/rails/rails/pull/32297 -Patch0: rubygem-railties-5.1.5-check-value-of-result-source-location.patch +Source0: https://rubygems.org/gems/%{gem_name}-%{version}%{?prerelease}.gem +Source1: %{gem_name}-%{version}%{?prerelease}-tests.txz +Source2: rails-%{version}%{?prerelease}-tools.txz Suggests: %{_bindir}/sqlite3 -BuildRequires: ruby(release) rubygems-devel ruby >= 2.2.2 rubygem(actioncable) = %{version} -BuildRequires: rubygem(actionmailer) = %{version} rubygem(actionpack) = %{version} -BuildRequires: rubygem(activerecord) = %{version} rubygem(activesupport) = %{version} -BuildRequires: rubygem(activestorage) = %{version} rubygem(bundler) rubygem(method_source) -BuildRequires: rubygem(rake) >= 0.8.7 rubygem(rack-cache) rubygem(sqlite3) rubygem(puma) -BuildRequires: rubygem(bootsnap) rubygem(capybara) sqlite rubygem(sprockets-rails) -BuildRequires: rubygem(thor) >= 0.18.1 rubygem(turbolinks) git -%if ! 0%{?bootstrap} -BuildRequires: rubygem(jquery-rails) rubygem(uglifier) rubygem(rails) %{_bindir}/node +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby >= 2.2.2 +%if %{without bootstrap} +BuildRequires: rubygem(actioncable) = %{version} +BuildRequires: rubygem(actionmailer) = %{version} +BuildRequires: rubygem(actionpack) = %{version} +BuildRequires: rubygem(activerecord) = %{version} +BuildRequires: rubygem(activesupport) = %{version} +BuildRequires: rubygem(activestorage) = %{version} +BuildRequires: rubygem(bundler) +BuildRequires: ruby(irb) +BuildRequires: rubygem(method_source) +BuildRequires: rubygem(rake) >= 0.8.7 +BuildRequires: rubygem(rack-cache) +BuildRequires: rubygem(sqlite3) +BuildRequires: rubygem(puma) +BuildRequires: rubygem(bootsnap) +BuildRequires: rubygem(capybara) +BuildRequires: sqlite +BuildRequires: rubygem(sprockets-rails) +BuildRequires: rubygem(thor) >= 0.18.1 +BuildRequires: ruby-default-gems +BuildRequires: rubygem(turbolinks) +BuildRequires: git +BuildRequires: rubygem(jquery-rails) +BuildRequires: rubygem(uglifier) +BuildRequires: rubygem(rails) +BuildRequires: rubygem(did_you_mean) +BuildRequires: nodejs +%if %{with webpacker} +BuildRequires: %{_bindir}/webpacker +%endif %endif -Requires: rubygem(bundler) ruby-devel sqlite-devel BuildArch: noarch + %description Rails internals: application bootup, plugins, generators, and rake tasks. Railties is responsible to glue all frameworks together. Overall, it: @@ -42,37 +62,47 @@ BuildArch: noarch Documentation for %{name}. %prep -%setup -q -c -T -%gem_install -n %{SOURCE0} -pushd .%{gem_instdir} -%patch0 -p2 -popd +%setup -q -n %{gem_name}-%{version}%{?prerelease} -b1 -b2 %build +gem build ../%{gem_name}-%{version}%{?prerelease}.gemspec +%gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ + + mkdir -p %{buildroot}%{_bindir} cp -p .%{_bindir}/* \ %{buildroot}%{_bindir}/ + find %{buildroot}%{gem_instdir}/exe -type f | xargs chmod a+x -%if %{with test} +%if %{without bootstrap} %check -ln -s %{gem_dir}/specifications/rails-%{version}.gemspec .%{gem_dir}/gems/rails.gemspec -ln -s %{gem_dir}/gems/activesupport-%{version}/ .%{gem_dir}/gems/activesupport -ln -s %{gem_dir}/gems/activestorage-%{version}/ .%{gem_dir}/gems/activestorage -ln -s %{gem_dir}/gems/actionmailer-%{version}/ .%{gem_dir}/gems/actionmailer -ln -s %{gem_dir}/gems/activerecord-%{version}/ .%{gem_dir}/gems/activerecord -ln -s %{gem_dir}/gems/actionview-%{version}/ .%{gem_dir}/gems/actionview -ln -s %{gem_dir}/gems/actioncable-%{version}/ .%{gem_dir}/gems/actioncable +# fake RAILS_FRAMEWORK_ROOT +ln -s %{gem_dir}/specifications/rails-%{version}%{?prerelease}.gemspec .%{gem_dir}/gems/rails.gemspec +ln -s %{gem_dir}/gems/activesupport-%{version}%{?prerelease}/ .%{gem_dir}/gems/activesupport +ln -s %{gem_dir}/gems/activestorage-%{version}%{?prerelease}/ .%{gem_dir}/gems/activestorage +ln -s %{gem_dir}/gems/actionmailer-%{version}%{?prerelease}/ .%{gem_dir}/gems/actionmailer +ln -s %{gem_dir}/gems/activerecord-%{version}%{?prerelease}/ .%{gem_dir}/gems/activerecord +ln -s %{gem_dir}/gems/actionview-%{version}%{?prerelease}/ .%{gem_dir}/gems/actionview +ln -s %{gem_dir}/gems/actioncable-%{version}%{?prerelease}/ .%{gem_dir}/gems/actioncable ln -s ${PWD}%{gem_instdir} .%{gem_dir}/gems/railties + +# tmp dir has to exist for tests +mkdir -p .%{gem_dir}/gems/tmp/templates/app_template + pushd .%{gem_dir}/gems/railties -tar xzf %{SOURCE1} -ln -s rails-%{version}/railties/test test -echo '%{version}' > ../RAILS_VERSION + +ln -s %{_builddir}/tools .. +mv %{_builddir}/test . + +# Expected by InfoTest#test_rails_version +echo '%{version}%{?prerelease}' > ../RAILS_VERSION + touch ../Gemfile echo 'gem "actioncable"' >> ../Gemfile echo 'gem "actionmailer"' >> ../Gemfile @@ -93,52 +123,135 @@ echo 'gem "puma"' >> ../Gemfile echo 'gem "bootsnap"' >> ../Gemfile echo 'gem "capybara"' >> ../Gemfile echo 'gem "irb"' >> ../Gemfile -%if ! 0%{?bootstrap} +#echo 'gem "pg"' >> ../Gemfile echo 'gem "jquery-rails"' >> ../Gemfile echo 'gem "rails"' >> ../Gemfile echo 'gem "uglifier", require: false' >> ../Gemfile -%else -mv test/application/assets_test.rb{,.disable} -mv test/application/asset_debugging_test.rb{,.disable} -sed -i '/def test_scaffold_.*tests_pass_by_default$/,/^ end$/ s/^/#/' test/application/rake_test.rb -sed -i '/def test_rake_routes_with_rake_options$/,/^ end$/ s/^/#/' test/application/rake_test.rb -sed -i '/def test_rails_routes_displays_message_when_no_routes_are_defined$/,/^ end$/ s/^/#/' test/application/rake_test.rb -sed -i '/def test_rails_routes_calls_the_route_inspector$/,/^ end$/ s/^/#/' test/application/rake_test.rb -sed -i '/def test_generated_controller_works_with_rails_test$/,/^ end$/ s/^/#/' test/application/test_runner_test.rb -sed -i '/def test_generated_scaffold_works_with_rails_test$/,/^ end$/ s/^/#/' test/application/test_runner_test.rb -mv test/application/bin_setup_test.rb{,.disable} -mv test/test_unit/reporter_test.rb{,.disable} -mv test/application/configuration/custom_test.rb{,.disable} -sed -i '/def test_generation_runs_bundle_install_with_full_and_mountable$/,/^ end$/ s/^/#/' test/generators/plugin_generator_test.rb -sed -i '/def test_generate_application_.*_when_does_not_exist_in_mountable_engine$/,/^ end$/ s/^/#/' test/generators/plugin_generator_test.rb -sed -i '/def test_controller_tests_pass_by_default_inside_mountable_engine$/,/^ end$/ s/^/#/' test/generators/scaffold_controller_generator_test.rb -sed -i '/def test_controller_tests_pass_by_default_inside_full_engine$/,/^ end$/ s/^/#/' test/generators/scaffold_controller_generator_test.rb -sed -i '/def test_application_new_exits_with_message_and_non_zero_code_when_generating_inside_existing_rails_directory$/,/^ end$/ s/^/#/' test/generators/app_generator_test.rb -sed -i '/def test_application_new_show_help_message_inside_existing_rails_directory$/,/^ end$/ s/^/#/' test/generators/app_generator_test.rb -%endif -sed -i '/^ def test_sqlite3_db_without_defined_rails_root$/,/^ end$/ s/^/#/' test/commands/dbconsole_test.rb -sed -i '/test "database middleware doesn.t initialize when activerecord is not in frameworks" do$/,/^ end$/ s/^/#/' \ - test/application/initializers/frameworks_test.rb -sed -i '/test "i18n files have lower priority than application ones" do$/,/^ end$/ s/^/#/' \ - test/railties/engine_test.rb + +# TODO: autorequires 'capybara/dsl' fail, not sure how to fix this. sed -i '/def test_system_tests_are_run_through_rake_test_when_given_in_TEST$/,/^ end$/ s/^/#/' \ test/application/test_runner_test.rb sed -i '/def test_reset_sessions_before_rollback_on_system_tests$/,/^ end$/ s/^/#/' \ test/application/test_runner_test.rb -sed -i '/def test_output_inline_by_default$/,/^ end$/ s/^/#/' \ - test/generators/plugin_test_runner_test.rb + +# This works only when AR is not specified in Gemfile. Not sure how to +# workaround this. +sed -i '/test "database middleware doesn.t initialize when activerecord is not in frameworks" do$/,/^ end$/ s/^/#/' \ + test/application/initializers/frameworks_test.rb + +# Requires running PostgreSQL server mv test/application/rake/dbs_test.rb{,.disable} -mv test/commands/dbconsole_test.rb{,.disable} -sed -i '/^ def test_new_application_load_defaults$/,/^ end$/ s/^/#/' \ - test/generators/app_generator_test.rb -sed -i 's/^\(\s*secrets\.secret_\)token/\1key_base/' \ - test/path_generation_test.rb + +# TODO: Mismatch in RAILS_FRAMEWORK_ROOT, not sure how to fix it. +sed -i '/test "i18n files have lower priority than application ones" do$/,/^ end$/ s/^/#/' \ + test/railties/engine_test.rb + +# Disable unstable test. +# https://github.com/rails/rails/issues/25774 +#sed -i '/^ def test_sqlite3_db_without_defined_rails_root$/,/^ end$/ s/^/#/' test/commands/dbconsole_test.rb + +# Plugin for minitest results in inconsistent behavior across various methods of test execution. +# https://github.com/rails/rails/issues/29899#issuecomment-321954028 +#sed -i '/def test_output_inline_by_default$/,/^ end$/ s/^/#/' \ +# test/generators/plugin_test_runner_test.rb + +# Requires running PostgreSQL server +#mv test/commands/dbconsole_test.rb{,.disable} + +# Remove unneded dependency minitest/retry +sed -i -e '/require..minitest.retry./ s/^/#/' \ + test/isolation/abstract_unit.rb + export RUBYOPT="-I${PWD}/../railties/lib" export PATH="${PWD}/../railties/exe:$PATH" + +# Needed for test/generators/test_runner_in_engine_test.rb and +# test/generators/plugin_generator_test.rb export BUNDLE_GEMFILE=${PWD}/../Gemfile + +# Start PostgreSQL server +#PG_DIR=$(mktemp -d) +#export PGHOST=localhost +#postgres -D $PG_DIR -p 5432 &>/dev/null & +#mPID=$! + +# yarn requires network access +sed -i -e '/^\s*sh .yarn/ s/^/#/g' \ + test/isolation/abstract_unit.rb + +# All these tests bellow try to run `webpacker` +%if %{without webpacker} +sed -i -e '/^\s*sh .bin.rails webpacker/ s/^/#/g' \ + test/isolation/abstract_unit.rb + +mv -v test/app_loader_test.rb{,.disable} +mv -v test/engine/test_test.rb{,.disable} +mv -v test/secrets_test.rb{,.disable} + +for tname in \ + railtie \ + engine \ + mounted_engine \ +;do + mv -v test/railties/${tname}_test.rb{,.disable} +done + +for tname in \ + credentials \ + encrypted \ + initializers \ + notes \ + routes \ + secrets \ + server \ +;do + mv -v test/commands/${tname}_test.rb{,.disable} +done +rm -rf test/application/ + +sed -i '/^\s*def test_ensure_that_migration_tasks_work_with_mountable_option/ a \ skip' \ + test/generators/plugin_generator_test.rb + +sed -i -e '/^\s*def test_scaffold_tests_pass_by_default_inside_mountable_engine/ a \ skip' \ + -e '/^\s*def test_scaffold_tests_pass_by_default_inside_namespaced_mountable_engine/ a \ skip' \ + -e '/^\s*def test_scaffold_tests_pass_by_default_inside_full_engine/ a \ skip' \ + -e '/^\s*def test_scaffold_tests_pass_by_default_inside_api_full_engine/ a \ skip' \ + -e '/^\s*def test_scaffold_tests_pass_by_default_inside_api_mountable_engine/ a \ skip' \ + test/generators/scaffold_generator_test.rb + +sed -i '/^\s*def test_skip_webpack_install/ a \ skip' \ + test/generators/app_generator_test.rb +%endif + +# The reporting syntax seems to have changed. The test will be fixed in 6.0.4. +# https://github.com/rails/rails/issues/40081 +sed -i -e '/^\s*test "outputs errors inline" do/ a \ skip' \ + -e '/^\s*test "outputs colored failed results" do/ a \ skip' \ + test/test_unit/reporter_test.rb + +# Uses `Bundler.stub` +sed -i '/^\s*def test_generation_use_original_bundle_environment/ a \ skip' \ + test/generators/app_generator_test.rb + +# Not sure why this fails, +# https://github.com/rails/rails/issues/40081 +sed -i -e '/^\s*test "outputs colored failed results" do/ a \ skip' \ + -e '/^\s*test "outputs errors inline" do/ a \ skip' \ + test/test_unit/reporter_test.rb + +# Remove tests that require network access +sed -i '/^\s*def test_template_is_executed_when_supplied_an_https_path/ a \ skip' \ + test/generators/shared_generator_tests.rb + +# Do not print the git hint message which clogs the test output +git config --global init.defaultBranch master + +# Tests needs to be executed in isolation. find test -type f -name '*_test.rb' -print0 | \ sort -z | \ xargs -0 -n1 -i sh -c "echo '* Test file: {}'; ruby -Itest -- '{}' || exit 255" + +#kill -9 $mPID popd %endif @@ -158,6 +271,9 @@ popd %doc %{gem_instdir}/README.rdoc %changelog +* Web Mar 2 2022 liqiuyu - 6.1.4.1-1 +- update to 6.1.4.1 + * Tue Apr 6 2021 lingsheng - 5.2.4.4-4 - Add requires ruby-devel sqlite-devel diff --git a/v5.2.4.4.tar.gz b/v5.2.4.4.tar.gz deleted file mode 100644 index 6191daf33e0601a05f29c470eca8d428974f5e8e..0000000000000000000000000000000000000000 Binary files a/v5.2.4.4.tar.gz and /dev/null differ