Bug#1149563: libmojolicious-plugin-assetpack-perl: does not work with `sass` binary from dart-sass

Emfox Zhou emfoxzhou at gmail.com
Thu Oct 1 04:48:57 BST 2026


Hi Antonio,

I maintain dart-sass in Debian.

The failure is in the command line options.  AssetPack runs

    sass -s --trace -I <path> [--scss] [-t compressed]

but in dart-sass `-s` is short for --style and takes a value, so
`-s --trace` is parsed as -s=--trace:

    $ sass -s --trace -I . -t compressed < in.scss
    "--trace" is not an allowed value for option "-s".      (exit 64)

which is the exit status in your report.  dart-sass also dropped --scss
(SCSS is the default, the indented syntax is --indented) and -t (use
--style=compressed).

dart-sass implements the current upstream Sass command line, so I would
rather not add a ruby-sass compatibility mode to it.  The attached patch
fixes the command line branch instead: with it, TEST_SASS=1 on 2.15-1
passes (Files=1, Tests=18) against dart-sass 1.105, where it currently
exits 64 as in your report.  The CSS::Sass path is untouched.

Regards,
Emfox

On Thu, Oct 1, 2026 at 2:41 AM Antonio Terceiro <terceiro at debian.org> wrote:

> 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: openqa at packages.debian.org, dart-sass at packages.debian.org
>
> 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20261001/a6568fe0/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bts-1149563.patch
Type: application/octet-stream
Size: 765 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20261001/a6568fe0/attachment-0001.obj>


More information about the pkg-perl-maintainers mailing list