From owner-freebsd-pkg@freebsd.org Tue Jun 7 23:21:51 2016 Return-Path: Delivered-To: freebsd-pkg@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54ACBB6DD4E for ; Tue, 7 Jun 2016 23:21:51 +0000 (UTC) (envelope-from mi+oro@aldan.algebra.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4039619DF for ; Tue, 7 Jun 2016 23:21:51 +0000 (UTC) (envelope-from mi+oro@aldan.algebra.com) Received: by mailman.ysv.freebsd.org (Postfix) id 3F600B6DD4D; Tue, 7 Jun 2016 23:21:51 +0000 (UTC) Delivered-To: pkg@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A3B1B6DD4C; Tue, 7 Jun 2016 23:21:51 +0000 (UTC) (envelope-from mi+oro@aldan.algebra.com) Received: from vms173019pub.verizon.net (vms173019pub.verizon.net [206.46.173.19]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2063019DD; Tue, 7 Jun 2016 23:21:50 +0000 (UTC) (envelope-from mi+oro@aldan.algebra.com) Received: from vz-proxy-m001.mx.aol.com ([64.236.83.14]) by vms173019.mailsrvcs.net (Oracle Communications Messaging Server 7.0.5.32.0 64bit (built Jul 16 2014)) with ESMTPA id <0O8F00IQMA3AV100@vms173019.mailsrvcs.net>; Tue, 07 Jun 2016 17:21:15 -0500 (CDT) X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=btqxfxui c=1 sm=1 tr=0 a=MJxOpqxZADbEbEImuSX/mw==:117 a=pD_ry4oyNxEA:10 a=r77TgQKjGQsHNAKrUKIA:9 a=uljofl1MAAAA:8 a=HahfRWzhAAAA:8 a=d38_d_Ez1G1lvoeifw0A:9 a=QEXdDO2ut3YA:10 a=-FEs8UIgK8oA:10 a=NWVoK91CQyQA:10 a=c1E7vYm72yO_-jsBcW4A:9 a=L-15FuB1TMqBjbY-:21 a=_W_S_7VecoQA:10 Received: by 100.1.241.90 with SMTP id 06f0a695; Tue, 07 Jun 2016 22:21:15 GMT To: freebsd-ports@FreeBSD.org, pkg@FreeBSD.org From: "Mikhail T." Subject: gem, pip et al vs. pkg Message-id: Date: Tue, 07 Jun 2016 18:21:12 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jun 2016 23:21:51 -0000 The ports tree has thousands of entries, which are simply thin wrappers around Ruby's gem or Perl's and/or Python's pip. Most of these ports conWhy do we need them? Obviously, it is primarily for other ports to be able to depend on them. But why can't we satisfy this need without creating a port for each such little package? If a port declares: RUN_DEPENDS= /foo/:gem//bar/[:/version/] why can't the /bar/-gem (with the latest or specified version) be automatically installed -- and/or registered as a dependency -- without there being a dedicated port for it? The biggest problem here is that neither Python's nor Ruby's packages are normally /signed/ (not sure about Perl's), so simply downloading them is dangerous (not that this stops all people from using them anyway). But this can be side-stepped by us maintaining a checksum file of our own -- it would still be easier and more concise to maintain such a table with one row per package, instead of an entire port-directory with multiple files in it. In the other direction, if someone were to install a Ruby gem using the gem-utility (or pip-perl, or pip-python, or even rpm), why aren't the installed files registered in the pkg's database? We have the sources for all of these utilities -- we can modify them to register the package and its files with the pkg. The changes may even be welcomed upstream, if they are abstract enough to allow registration with the Operating System's package-manager on /all/ OSes, which would bother implementing a custom backend... -mi