[DRE-maint] Bug#1149129: ruby-sass: please offer /usr/bin/sass through update-alternatives
Jonas Smedegaard
jonas at jones.dk
Sun Sep 27 09:09:24 BST 2026
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20260927/5fd8eea3/attachment.sig>
More information about the Pkg-ruby-extras-maintainers
mailing list