Описание проблемы: gem-vegas несовместим с современным `Rack`. Vegas::Runner использует устаревший API `Rack::Handler::Thin`. Версии пакетов: - gem-vegas-0.1.11-alt1.3 - gem-rack-3.1.7-alt1 Шаги воспроизведения (максимально минималистичные): 1. `# apt-get install gem-vegas` 2. `$ ruby -e "require 'vegas'; app = proc { [200, {}, ['OK']] }; Vegas::Runner.new(app, 'test', :start => false)"` Фактический результат: ``` /usr/lib/ruby/gemie/gems/vegas-0.1.11/lib/vegas/runner.rb:295:in `setup_rack_handler': uninitialized constant Rack::Handler (NameError) JRUBY ? Rack::Handler::WEBrick : Rack::Handler::Thin ^^^^^^^^^ from /usr/lib/ruby/gemie/gems/vegas-0.1.11/lib/vegas/runner.rb:36:in `initialize' from -e:1:in `new' from -e:1:in `<main>' ```
Проблема не устранена: в Sisyphus по-прежнему опубликана версия gem-vegas-0.1.11-alt1.3, на которой воспроизводится NameError. Закрытие WONTFIX не содержит технического обоснования, ссылки на исправление или решения по прекращению поставки пакета. Причина известна: Rack 3 вынес Rack::Handler в отдельный gem rackup и переименовал API в Rackup::Handler: https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md . Поэтому gem-vegas необходимо адаптировать к Rack 3 (либо ограничить зависимость совместимой версией Rack). Если сопровождение этого устаревшего upstream действительно невозможно, необходимо обосновать и удалить/корректно ограничить пакет; оставлять устанавливаемый, но неработающий пакет и закрывать баг как WONTFIX нельзя.
Уточнение: пакет удалён из Sisyphus, однако дефект воспроизводится в Branch p11 на gem-vegas-0.1.11-alt1.2. Проверка: ruby -e "require 'vegas'; app = proc { [200, {}, ['OK']] }; Vegas::Runner.new(app, 'test', :start => false)" Получен LoadError: cannot load such file -- rack/handler в vegas/runner.rb:295. Это подтверждает несовместимость с Rack 3 и необходимость исправить Vegas либо зависимость на Rack в поддерживаемой ветке p11. Баг перенесён в Branch p11.