From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Radon Rosborough Newsgroups: gmane.emacs.devel Subject: Re: Interoperation between package managers (was: Friendly discussion about (package-initialize)) Date: Wed, 9 Aug 2017 20:54:50 -0700 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1502337345 20053 195.159.176.226 (10 Aug 2017 03:55:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 10 Aug 2017 03:55:45 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 10 05:55:39 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfeZM-0004hL-2E for ged-emacs-devel@m.gmane.org; Thu, 10 Aug 2017 05:55:36 +0200 Original-Received: from localhost ([::1]:51033 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dfeZQ-0005si-RN for ged-emacs-devel@m.gmane.org; Wed, 09 Aug 2017 23:55:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dfeZJ-0005sO-LX for emacs-devel@gnu.org; Wed, 09 Aug 2017 23:55:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dfeZI-0005R2-8Y for emacs-devel@gnu.org; Wed, 09 Aug 2017 23:55:33 -0400 Original-Received: from mail-lf0-x232.google.com ([2a00:1450:4010:c07::232]:36278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dfeZI-0005Qe-0r for emacs-devel@gnu.org; Wed, 09 Aug 2017 23:55:32 -0400 Original-Received: by mail-lf0-x232.google.com with SMTP id o85so35864865lff.3 for ; Wed, 09 Aug 2017 20:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=mYOuWvoNcfMeFpWIiiQKH52YQoQF3h+iZOGpp4WPSTI=; b=W50aHEtuNiu/DIo6zImsnyf5PHjX6cp+G7AMwMdIQOV05byP4yPE9hpgmS+1f2v29k rk/medGO9c/MlZs/uKJI7mKfmsrrHyD6JbTiNyyzwCBZ6/wQO0O7x5P4RJHJqWSbd1Td /L6FwweY6o+bnm9ij1oNvvEJ845D6WgfJ92t8hBFWVaMPz/yN5usqNSpXuCONkLmMcOZ ilmpU2OpnMNnKmp2+JxLarnE3/sm+DCvhXCIdrf9RlxFGi/2dXWpYJ5FT/RIqQhx0u/G Ps+nFJz8cQtR1pYbsyt3AxLOrQTyMbOr2mcLYeXozKDAuFxII5QD3ilHvXbmM+BlU4Hp JLDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mYOuWvoNcfMeFpWIiiQKH52YQoQF3h+iZOGpp4WPSTI=; b=iJ4Ss9rNOFQazX3LKOP7ufjSNvJTpXY5AsCgtAonQlKw+QI++Cn1GaVZe8RqvOlwGZ doTamZwREfznleYFMfiL9tibaaAgsTVw0M/FIb66ZlLqY91DmDKkumQARZsAKzfJeuD2 5gGugnfg9v5uysT8dTSWhHuh8CyzawfpG3bGjNJnYhc7A2rDEFKc9u6j/if7wjSeWlNR eOnbPYVwPi5GxGk6+RlzSYtv5lxEPhd//kbfdAI67LfZ/2/IJtjyaeM6ia54LjYSjrmv GUinntWNerIwdXxH2cTmTgbC/QjHocOWzE8Ga1+2zvzzxnYH5c/MAnwIAUqmY6oKtl4A FDIg== X-Gm-Message-State: AHYfb5izy5BLwaEzBz1dByZS6lcHKu1+xjCx+XR/ywiri5wGnZiUNm9W GtSfMNVBuLV2B/dN/6Z1ks9fMgmq2gWGfuc= X-Received: by 10.25.169.136 with SMTP id s130mr3223926lfe.173.1502337330492; Wed, 09 Aug 2017 20:55:30 -0700 (PDT) Original-Received: by 10.46.64.86 with HTTP; Wed, 9 Aug 2017 20:54:50 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:217388 Archived-At: > > > Part of "make them interoperate" may involve changing the formats > > > accepted&|used by the various tools, indeed (on-disk, > > > on-the-server, ...). > > > > Note that source-based package managers such as Borg and straight.el > > are fundamentally incompatible with the package.el format (or, > > depending on your perspective, the package.el format is > > fundamentally incompatible with source-based package managers such > > as Borg and straight.el). > > Hmm... really? Could you expand on why that is? Perhaps I should not have said the package.el format is fundamentally incompatible with source-based package managers. What I should have said is that source-based package managers would gain little by being compatible with the package.el format. This is because the package.el format is inherently unable to provide for the basic features that define a source-based package manager. In particular, packages that are installed via package.el cannot be version-controlled, since the package.el format dictates a flat collection of *.el (and other) files, with no version-control information attached other than a version number. As a corollary, it is impossible to use the package.el format to make local modifications to a package in a controlled way, or to contribute changes upstream using package.el. All of these actions (version-control operations, local changes, upstream contributions) are foundational to a source-based package manager. The only way to achieve them is to run packages directly from their VCS repositories (Borg, see [1]) or via symlinks that point at said repositories (straight.el, see [2]). Thus, from a purely technical standpoint, it is not useful for a source-based package manager to interoperate with package.el in any meaningful way. I do not wish to say that package.el is flawed for failing to provide these features, since package.el is designed to work in the absence of a local VCS installed, and it is impossible to provide these features without making that assumption. But for package managers which do make that assumption, the package.el format (in my opinion) is no longer as relevant. Best, Radon [1]: https://github.com/emacscollective/borg [2]: https://github.com/raxod502/straight.el