Package: libmojolicious-plugin-assetpack-perl Version: 2.15-1 Severity: important Tags: upstream Control: affects -1 src:openqa Control: affects -1 dart-sass X-Debbugs-CC: [email protected], [email protected]
Dear Maintainer, Mojolicious::Plugin-AssetPack is used by openqa to compile its assets, including SASS files. The current implementation provising a `sass` binary up to a few days ago was ruby-sass, which is deprecated and reached EOL in 2019 as you can read here: https://sass-lang.com/ruby-sass/ dart-sass is the currently maintained implementation, and it entered Debian recently. ruby-sass has been uploaded dropping any command line tools, to open space for the new `sass` binary provided by dart-sass. This caused a regression in openqa, due to the missing command line tool, as its tests fail when compiling sass assets. I tried patching openqa to depend on dart-sass instead of ruby-sass, but it then failed anyway. I then I tracked this down to this package, and could represent a similar failure by running the tests with TEST_SASS=1: ----------------8<----------------8<----------------8<----------------- $ dpkg-query --show ruby-sass dart-sass dart-sass 1.105.0-5 ruby-sass $ TEST_SASS=1 prove -Ilib t/sass-bin.t t/sass-bin.t .. 1/? [Pipe::Sass] Could not compile "sass.sass" with opts={"include_paths" => [bless( do{\(my $o = "/home/terceiro/src/debian/libmojolicious-plugin-assetpack-perl/t/assets")}, 'Mojo::Home' )],"source_map_file" => "__Mojolicious_Plugin_AssetPack_Pipe_Sass__","source_map_file_urls" => 1}: at /home/terceiro/src/debian/libmojolicious-plugin-assetpack-perl/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm line 70. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 64 just after 1. t/sass-bin.t .. Dubious, test returned 64 (wstat 16384, 0x4000) All 1 subtests passed Test Summary Report ------------------- t/sass-bin.t (Wstat: 16384 (exited 64) Tests: 1 Failed: 0) Non-zero exit status: 64 Parse errors: No plan found in TAP output Files=1, Tests=1, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.40 cusr 0.02 csys = 0.45 CPU) Result: FAIL ----------------8<----------------8<----------------8<----------------- If I remove dart-sass and revert ruby-sass to the version in testing, then those tests pass: ----------------8<----------------8<----------------8<----------------- [1]$ sudo apt -qy install ruby-sass/testing dart-sass- [...] $ TEST_SASS=1 prove -Ilib t/sass-bin.t t/sass-bin.t .. ok All tests successful. Files=1, Tests=18, 2 wallclock secs ( 0.03 usr 0.00 sys + 2.04 cusr 0.24 csys = 2.31 CPU) Result: PASS ----------------8<----------------8<----------------8<----------------- Looking at the code, Mojolicious::Plugin::AssetPack::Pipe::Sass seems to depend on the exact command line options provided by sass from ruby-sass, but dart-sass does not really support the same options. It's also valid to point out that these tests are not running by default, because they need TEST_SASS=1. There are also a few other tests that get skipped due to missing environment variables, it would be great if the test coverage could be improved to actually test the usage of the texternal tools used for handling assets. -- System Information: Debian Release: forky/sid APT prefers testing APT policy: (900, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: arm64 (aarch64) Kernel: Linux 7.2.6+deb14-arm64 (SMP w/32 CPU threads; PREEMPT) Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libmojolicious-plugin-assetpack-perl depends on: ii libfile-which-perl 1.27-2 ii libipc-run3-perl 0.049-1 ii libmojolicious-perl 9.48+dfsg-1 ii perl 5.42.3-1 libmojolicious-plugin-assetpack-perl recommends no packages. libmojolicious-plugin-assetpack-perl suggests no packages.
signature.asc
Description: PGP signature

