From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id A6A6717C862D for ; Thu, 21 Jun 2012 14:37:18 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 65273EA621F for ; Thu, 21 Jun 2012 14:34:59 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 0911D8FC29 for ; Thu, 21 Jun 2012 14:35:00 +0900 (JST) X-Virus-Scanned: amavisd-new at funfun.nagaokaut.ac.jp Received: from funfun.nagaokaut.ac.jp ([127.0.0.1]) by localhost (funfun.nagaokaut.ac.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eY3s-wAeKo7B for ; Thu, 21 Jun 2012 14:34:59 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id DB3318FC28 for ; Thu, 21 Jun 2012 14:34:59 +0900 (JST) Received: from carbon.ruby-lang.org (carbon.ruby-lang.org [221.186.184.68]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 3C75195243A for ; Thu, 21 Jun 2012 14:34:56 +0900 (JST) Received: from beryllium.ruby-lang.org (beryllium.ruby-lang.org [127.0.0.1]) by carbon.ruby-lang.org (Postfix) with ESMTP id C46713C21E7DC; Thu, 21 Jun 2012 14:34:55 +0900 (JST) Received: from fluorine.ruby-lang.org (www.rubyist.net [210.251.121.216]) by carbon.ruby-lang.org (Postfix) with ESMTP id DD0873C21F755 for ; Thu, 21 Jun 2012 14:34:49 +0900 (JST) Received: from ruby-lang.org (localhost [127.0.0.1]) by fluorine.ruby-lang.org (Postfix) with ESMTP id 7AC563ED2F for ; Thu, 21 Jun 2012 14:34:49 +0900 (JST) Delivered-To: ruby-core@ruby-lang.org Date: Thu, 21 Jun 2012 14:34:50 +0900 Posted: Thu, 21 Jun 2012 14:34:47 +0900 From: "vo.x (Vit Ondruch)" Reply-To: ruby-core@ruby-lang.org Subject: [ruby-core:45745] [ruby-trunk - Bug #5060][Assigned] Executables in bin folder conflict with their gem versions. To: ruby-core@ruby-lang.org Message-Id: References: X-ML-Name: ruby-core X-Mail-Count: 45745 X-MLServer: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post) X-ML-Info: If you have a question, send e-mail with the body "help" (without quotes) to the address ruby-core-ctl@ruby-lang.org; help= X-Mailer: Redmine X-Spam-Checker-Version: SpamAssassin 3.1.7-deb3 (2006-10-05) on carbon.ruby-lang.org X-Spam-Level: X-Spam-Status: No, score=0.6 required=7.0 tests=BAYES_50,CONTENT_TYPE_PRESENT, FORGED_RCVD_HELO,TOOLONGSTR,X_MAILER_PRESENT autolearn=disabled version=3.1.7-deb3 X-Redmine-Issue-Author: vo.x X-Redmine-Issue-Assignee: drbrain X-Auto-Response-Suppress: OOF X-Redmine-Issue-Id: 5060 X-Redmine-Mailinglistintegration-Message-Ids: 15967 X-Redmine-Project: ruby-trunk Auto-Submitted: auto-generated X-Redmine-Site: Ruby Issue Tracking System X-Redmine-Host: bugs.ruby-lang.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Precedence: bulk List-Id: ruby-core.ruby-lang.org List-Software: fml [fml 4.0.3 release (20011202/4.0.3)] List-Post: List-Owner: List-Help: List-Unsubscribe: Issue #5060 has been updated by vo.x (Vit Ondruch). Status changed from Closed to Assigned Sorry, I'm reopening, but the issue is still present. When you install Ruby, it carries initial version of /usr/bin/rdoc [1] (I picked up the RDoc as an example, but it is valid also for Rake, etc). Now let's assume that you will install updated RDoc, which replaces the file with the typical RubyGems stub, something like: $ cat /usr/bin/rdoc #!/usr/bin/ruby # # This file was generated by RubyGems. # # The application 'rdoc' is installed as part of a gem, and # this file is here to facilitate running it. # require 'rubygems' version = ">= 0" if ARGV.first str = ARGV.first str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding if str =~ /\A_(.*)_\z/ version = $1 ARGV.shift end end gem 'rdoc', version load Gem.bin_path('rdoc', 'rdoc', version) Now, this is problem for packaging systems, namely RPM (but I would be surprised if that is not issue for DEB as well). If you will do monolithic Ruby package, which provides /usr/bin/rdoc and later you want to package independent updated version of RDoc gem, which provides /usr/bin/rdoc as well, you are in conflict, since the files are different. If they would be the same (and there is no reason to be different IMO), there would be no conflict. The file would be own by two packages in parallel, which is supported scenario. So what I'd like to see is the RubyGems stub in /usr/bin, especially after you committed r32608. Actually, I'm trying to put together some proposal to solve #5481 and #6124, which might fix also this issue. Thank you. [1] https://github.com/ruby/ruby/blob/trunk/bin/rdoc ---------------------------------------- Bug #5060: Executables in bin folder conflict with their gem versions. https://bugs.ruby-lang.org/issues/5060#change-27328 Author: vo.x (Vit Ondruch) Status: Assigned Priority: Normal Assignee: drbrain (Eric Hodel) Category: Target version: 2.0.0 ruby -v: 1.9.3 It would be nice if the executables for rdoc, rake, ri, etc. locate in bin folder, would be standard RubyGems stubs. Otherwise, once there is installed version of such library as a gem, the original file is rewritten and the functionality of bundled library is lost. But my main concern is the conflict between ruby and gem executables, since it makes packaging for Linux distributions hard (for Fedora and RHEL in my case). -- http://bugs.ruby-lang.org/