≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Bug #1993

Bug #1993: System-wide installation

Kind bug
Product Command-T
When Created 2012-08-01T13:52:38Z, updated 2012-08-03T09:05:36Z
Status open
Reporter Vit Ondruch
Tags no tags

Description

Hi,

I'm trying to package the command-t for Fedora. That means I need to install the plug-in into system directories, which are for vim /usr/share/vim. However, as you probably know, according to FHS [1], the /usr/share directory should contain only platform independent files, while command-t has compiled extension. So I was thinking that I will install the extension into Ruby's vendor directory using:

ruby extconf.rb --vendor
make
make install

Unfortunately there are two related issues:

  1. This installs the ext.so directly into the vendor dir. This seems to be typical behavior of extconf.rb. In that case, ext.so looks pretty generic name.
  2. You are typically loading the library using "require 'command-t/ext'". This means that if I install the library into vendor dir, it can't be loaded, since it is not placed in command-t sub-directory, therefore it is not available on load path.

The solution IMO would be to either rename the library to something less generic, or tweak the "make install" to install the library into sub-directory.

Thank you.

[1] http://www.pathname.com/fhs/

Comments

  1. Greg Hurrell 2012-08-03T06:54:16Z

    Sounds reasonable. I'd be happy to change the name to make it easier to package.

  2. Vit Ondruch 2012-08-03T08:45:25Z

    Thank you.

    BTW, have you ever thought about moving the C extension into separate folder? Current placement is fine for the "VIM plugin" version, but has some side-effects for the Gem version. For example if you install the gem, you have the ext.so on two places, one copy under ruby/ and the second under ruby/command-t. This is because of nature of Rubygems, who copies the output library into first path defined by "requires_path".

Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets