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
signature.asc
Description: signature

