Quoting Wei Zhou (2026-09-27 05:10:13)
> ruby-sass installs /usr/bin/sass and /usr/share/man/man1/sass.1.gz as plain
> files, so no other Sass implementation can offer that command name: a second
> implementation would either have to conflict with ruby-sass or take over a 
> file
> this package owns.
> 
> Policy 3.9 asks packages that supply an instance of a common command name to
> use update-alternatives "so that they can be installed together".  Would you
> consider shipping the Ruby Sass launcher under a non-conflicting name and
> offering the generic one as an alternative, e.g.:
> 
>   debian/ruby-sass.postinst:
>     update-alternatives --install /usr/bin/sass sass /usr/bin/ruby-sass 20 \
>         --slave /usr/share/man/man1/sass.1.gz sass.1.gz \
>         /usr/share/man/man1/ruby-sass.1.gz
> 
>   debian/ruby-sass.prerm:
>     update-alternatives --remove sass /usr/bin/ruby-sass
> 
> /usr/bin/scss and /usr/bin/sass-convert would need no change; they have no
> counterpart in other implementations.
> 
> Background: dart-sass (ITP #998024) is the upstream reference implementation 
> and
> the only one still maintained.  Its package registers /usr/bin/sass with
> priority 40 the same way, and deliberately uses neither Conflicts/Replaces nor
> dpkg-divert, so today it does not take the name over on systems that have
> ruby-sass installed.  Once both sides offer the alternative they simply 
> coexist
> and the admin selects with "update-alternatives --config sass".  The priority
> above is only a suggestion -- we are happy to adjust ours instead.

I suspect that it is wrong to treat ruby-sass as equivalent to
dart-sass, exactly because they represent different major revisions of
the SASS/SCSS specification, and therefore by definition are not
equivalent.

It is confusing today to have the prominent "sass" name occupied by a
dying revision of the spec, but that is a consequence of Debian being
long-term stable contrary to upstream that can easier choose to declare
an older spec obsolete and dead.

It might make sense for ruby-sass and *other* sass implementations to
register as equivalent (if e.g. some node implementation comply with
same older spec), and it might make sense for dart-sass to register as
equivalent with rsass, grass and/or other more modern implementations.
But I fear that declaring equivalence where it does not exist is asking
for trouble.

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/
 * Sponsorship: https://ko-fi.com/drjones

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to