Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95602 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57057 invoked from network); 3 Sep 2016 15:43:43 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Sep 2016 15:43:43 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.51 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.51 mail-wm0-f51.google.com Received: from [74.125.82.51] ([74.125.82.51:34859] helo=mail-wm0-f51.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3A/82-32927-EAFEAC75 for ; Sat, 03 Sep 2016 11:43:43 -0400 Received: by mail-wm0-f51.google.com with SMTP id w2so67597713wmd.0 for ; Sat, 03 Sep 2016 08:43:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=Sz+btvIKajohnob8o99iBhnkV8MR03r+B0Ph/6Bi9c8=; b=kw77oqHdrLD/0zp+fOThrZloZE7Atr9Ulcu2GQs8dMnoXMKabj2F+/MXKb4Q1qQwQj u/pKprekW9xb/6TadwY8qgxlVJcQ3Oc8/o85HYB6WJeP8bO014LtoqVf8dMb7vn6c0Bb R17XlNd0S4Xc39ihkQxMkjq6AuB0uQjmJjmGXNg1S+7InPKLLczVwre9Lgt0vBe3UI3E E3dv2zesNKP2Gijwx2pvl/f9Ckw3sXRLtCit4wuTQsbPiBH8al1AhAC5deFCcKZfnCwq YogGGjFAk5JzfxJFq7d90uC58q2Fxvg9WyapqbKCwMKhP472asofW1rr46X1HY0XnzUE AFKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=Sz+btvIKajohnob8o99iBhnkV8MR03r+B0Ph/6Bi9c8=; b=KRR4s59qsthJKDk6XAm5Go/BQ0tMDiLxsZWGkei5zuWbkPlYPdUjUwvVba9uY9x/st qNO21QFWoANqG3X5PvgB5M2JxdqGtx3sulN43/iz+RltGgZ63H+dkUczddxKCJtv7jBq wJ9mnw7KFYxU17dGmfkRlKgIc0o0LjTQ8PqAfywe6qrz4QTfIZyK9LkVOwFJfKKX4b5r augcrAPzsgr7+NQ1SUUrqeCJXM2Nf2PU/Y+sUjsX2OT3RtPNKYqpPFy8/2wNGbPcVzCT rXehXruOYYklz+eYtWu/Hxa/bl1krX2Ppt/wp2MobnJc5dr+x8SWeCBLdeOSRpQyx0wP fIdA== X-Gm-Message-State: AE9vXwPgvZa2p08fCFeJpuG3pX4FpSgiHn94e0Xn9pQH5J5fULB6ejiqiE5IcL4pquD9rA== X-Received: by 10.28.74.217 with SMTP id n86mr8549275wmi.84.1472917419060; Sat, 03 Sep 2016 08:43:39 -0700 (PDT) Received: from [192.168.1.5] ([95.148.161.240]) by smtp.googlemail.com with ESMTPSA id q65sm9189375wmd.24.2016.09.03.08.43.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 03 Sep 2016 08:43:37 -0700 (PDT) To: internals@lists.php.net References: <23ef1cf8-b81e-661d-fdbe-3a4a19713652@lsces.co.uk> <03541CD8-0001-4CB7-A8C6-9B931C3C44EE@gmail.com> <29848e09-2728-6960-4128-61d4c55d949f@lsces.co.uk> Message-ID: Date: Sat, 3 Sep 2016 16:43:37 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <29848e09-2728-6960-4128-61d4c55d949f@lsces.co.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Deprecate PEAR/PECL & Replace with composer/pickle From: rowan.collins@gmail.com (Rowan Collins) On 03/09/2016 15:56, Lester Caine wrote: > On 03/09/16 11:20, Rowan Collins wrote: >> Interesting, can you give any details of these problems? > https://sourceforge.net/p/tikiwiki/mailman/message/35331374/ Right, so their problem was not with Composer itself, but with Satis, which is a tool for publishing or mirroring your own packages, like running your own PEAR channel. They wanted to update it for some reason, but couldn't because the server had a really old version of PHP, because it was running a really old version of Ubuntu. Elsewhere in the thread, they have problems downloading a particular version of a package from SourceForge. None of this sounds like something that PEAR, or any other alternative to Composer, would help with. >> So you don't like that the tool defaults to giving you a warning, >> which can be suppressed, to explain why it might seem slow, due to a >> debugging tool documented as not being suitable for production >> because it may have a performance impact? I imagine PEAR runs slower >> as well, it just doesn't default to telling you so. > But being able to set up an environment where it is easy to switch tools > on and off is being complicated by having to manage different 'composer' > setups. Something which I don't think it was actually designed to handle? I'm not sure what you mean by that. Composer itself is distributed as a single PHAR file, and is governed almost entirely by the composer.json in your project, and pretty much everything can be different in every project. It's an awful lot easier to have multiple setups of that than PEAR, which is absolutely designed to manage central system-wide packages. > >> Do you mean having a single codebase that can be installed with or without composer? Mostly that's just a case of creating alternative autoloader / bootstrap files, since all the code knows about composer at runtime is "require 'vendor/autoload.php';" > This is perhaps my sticking point. I have a perfectly stable framework > without the need for any 'autoloader', and a folder structure that > works. Reworking the whole framework so that it follows the 'vendor' > rules while still also just working with bog standard require_once in > the right place is where I keep coming unstuck. Right, I remember switching to using an autoloader (long long before composer existed), and what a relief it was not to have to manage great lists of require_once everywhere any more. :) I think the only thing we had to fix was some class names being used as lower-case, when the filenames that needed including were camel-case. The simplest migration that occurs to me is "if ( file_exists('vendor/autoload.php') ) { require_once 'vendor/autoload.php'; } else { /* require all the individual dependencies as before */ }". >> What kind of support are we talking about here? My experience of PEAR is "pear install foo" and in composer that would be "composer require somebody/foo", so I'm interested which scenarios you think need extra work. > I WAS using SUSE's software management to keep all my production > machines working cleanly. Currently that provides 5.6.9 along with every > pear package I use. OK, so short story: you're not invoking pear directly anyway, so Davey's proposal to remove it won't actually affect you at all. > Although I will ALWAYS prefer supplying the distributed library files I need from a > local server rather than assuming they will remain available from some > third party site, and it's that which I can't do with composer? That's pretty much what Satis is for, as mentioned above. Or, if you're willing to pay, Toran Proxy, which is how Jordi gets the money to improve Composer. Regards, -- Rowan Collins [IMSoP]