[DRE-maint] Bug#858195: compass-bootstrap-sass-plugin: Wrong install path, and code not registered with Compass

Jonas Smedegaard dr at jones.dk
Tue Mar 28 20:20:30 UTC 2017


Quoting Antonio Terceiro (2017-03-28 20:01:37)
> Control: severity -1 wishlist
> 
> Hi,
> 
> On Sun, Mar 19, 2017 at 06:13:06PM +0100, Jonas Smedegaard wrote:
> > Package: compass-bootstrap-sass-plugin
> > Version: 3.3.5.1-3
> > Severity: grave
> > Justification: renders package unusable
> > 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA256
> > 
> > The most basic way to initialize a Compass project using this library
> > should be using the following command:
> > 
> > $ compass create --using bootstrap
> > 
> > That fails, however:
> > 
> > No such framework: "bootstrap"
> > 
> > 
> > Inspecting package contents it turns out that Sass files are shipped
> > twice, none of them below /usr/share/doc/compass-bootstrap-sass-plugin
> > as explected:
> > 
> >   * compass-bootstrap-sass-plugin includes them below
> >     /usr/share/compass/frameworks/bootstrap-sass
> >   * ruby-bootstrap-sass ships them below
> >     /usr/share/ruby-bootstrap-sass/assets
> > 
> > The correct path would be /usr/share/compass/frameworks/bootstrap - i.e.
> > without the -sass suffix.
> > 
> > Adapting the simplest Compass command for the renamed project path gets
> > further but still fails:
> > 
> > directory fonts/bootstrap/ 
> > directory javascripts/ 
> > directory javascripts/bootstrap/ 
> > directory sass/ 
> > directory stylesheets/ 
> >    create config.rb 
> >    create sass/styles.scss 
> >    create sass/_bootstrap-variables.scss 
> >    create javascripts/bootstrap.js 
> >    create javascripts/bootstrap.min.js 
> >    create javascripts/bootstrap-sprockets.js 
> >    create javascripts/bootstrap/carousel.js 
> >    create javascripts/bootstrap/popover.js 
> >    create javascripts/bootstrap/scrollspy.js 
> >    create javascripts/bootstrap/modal.js 
> >    create javascripts/bootstrap/transition.js 
> >    create javascripts/bootstrap/button.js 
> >    create javascripts/bootstrap/alert.js 
> >    create javascripts/bootstrap/collapse.js 
> >    create javascripts/bootstrap/tab.js 
> >    create javascripts/bootstrap/tooltip.js 
> >    create javascripts/bootstrap/dropdown.js 
> >    create javascripts/bootstrap/affix.js 
> >    create fonts/bootstrap/glyphicons-halflings-regular.svg 
> >    create fonts/bootstrap/glyphicons-halflings-regular.eot 
> >    create fonts/bootstrap/glyphicons-halflings-regular.woff 
> >    create fonts/bootstrap/glyphicons-halflings-regular.woff2 
> >    create fonts/bootstrap/glyphicons-halflings-regular.ttf 
> >     error sass/styles.scss (Line 2: File to import not found or unreadable: bootstrap-compass.
> > Load paths:
> >   Compass::SpriteImporter
> >   /usr/local/src/COUCH/omni/styling./sass
> >   /usr/share/compass/frameworks/compass/stylesheets
> >   /usr/share/compass/frameworks/blend-modes/stylesheets
> >   /usr/share/compass/frameworks/blueprint/stylesheets
> >   /usr/share/compass/frameworks/bootstrap-sass/stylesheets
> >   /usr/share/compass/frameworks/breakpoint/stylesheets
> >   /usr/share/compass/frameworks/color-schemer/stylesheets
> >   /usr/share/compass/frameworks/fancy-buttons/stylesheets
> >   /usr/share/compass/frameworks/h5bp/stylesheets
> >   /usr/share/compass/frameworks/layoutgala/stylesheets
> >   /usr/share/compass/frameworks/normalize-scss/stylesheets
> >   /usr/share/compass/frameworks/sassy-maps/stylesheets
> >   /usr/share/compass/frameworks/singularitygs/stylesheets
> >   /usr/share/compass/frameworks/slickmap/stylesheets
> >   /usr/share/compass/frameworks/susy/stylesheets
> >   /usr/share/compass/frameworks/toolkit/stylesheets
> >   /usr/share/compass/frameworks/yui/stylesheets)
> > Compilation failed in 1 files.
> > 
> > 
> > This next failure is due to the ruby code is not registering the path
> > with Compass, requiring to do that explicitly:
> > 
> > $ compass create --using bootstrap-sass --require bootstrap-sass
> > 
> > That works.
> > 
> > In short, this Compass library is installed in the wrong path, and its
> > ruby code is not registered with Compass.
> 
> Quoting the bootstrap-sass README:
> 
> | If you are creating a new Compass project, you can generate it with bootstrap-sass support:
> |
> | ```console
> | $ bundle exec compass create my-new-project -r bootstrap-sass --using bootstrap
> | ```
> 
> Ignoring tthe `bundle exec` bit that is not needed with Debian packages,
> you are supposed to use `--require bootstap-sass` explicitly.
> 
> While I agree with you that it _could_ work transparently, there is
> nothing broken in the package. And I don't think this is something we
> should be doing different from upstream.

Debian use /usr/share/compass as _shared_ location for Compass libraries 
- upstream has no such default location.

Your reasoning is the equivalent of installing C libraries in /usr/lip 
and arguing that one should always explicitly feed the compiler the path 
(not rely on default path being /usr/lib on Debian systems).


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [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://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20170328/93608a46/attachment.sig>


More information about the Pkg-ruby-extras-maintainers mailing list