Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 616258 - ruby-fakegem.eclass binwrap does not ignore folders in the bin directory
Summary: ruby-fakegem.eclass binwrap does not ignore folders in the bin directory
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-22 00:26 UTC by Anton Bolshakov
Modified: 2017-04-23 23:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Bolshakov 2017-04-22 00:26:29 UTC
I'm facing an issue with https://github.com/gdelugre/origami/tree/master/bin

This folder consists of few additional folders such as "shell"
binwraper of the eclass creates wraps of all files and *directories".

So eventually, it creates a /usr/bin/shell binary which is very wrong obviously.

While this structure is not common, the list of executables is specified by s.executables in origami.gemspec file properly.

We should either exclude directories from the list or use s.executables variable as the source.

I have created an upstream bug https://github.com/gdelugre/origami/issues/9 but it is not clear who should fix the bug.
Comment 1 Hans de Graaff gentoo-dev Security 2017-04-22 08:44:49 UTC
You can set RUBY_FAKEGEM_BINWRAP to specify the list of binstubs that you want to install in /usr/bin/. Would that help in this case?

I'm not sure we can fully automate this, although perhaps the approach using s.executables might be a better default than "everything".
Comment 2 Anton Bolshakov 2017-04-23 23:26:13 UTC
Thank you for the workaround, RUBY_FAKEGEM_BINWRAP can help, but there are 12 binaries to specify and the list/filenames may change. So I would rather delete known links for now: 

all_ruby_install(){
	all_fakegem_install
        rm "${ED}usr/bin"/shell