Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:80637 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94645 invoked from network); 16 Jan 2015 11:36:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Jan 2015 11:36:21 -0000 Authentication-Results: pb1.pair.com header.from=j.boggiano@seld.be; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=j.boggiano@seld.be; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain seld.be designates 209.85.223.170 as permitted sender) X-PHP-List-Original-Sender: j.boggiano@seld.be X-Host-Fingerprint: 209.85.223.170 mail-ie0-f170.google.com Received: from [209.85.223.170] ([209.85.223.170:64603] helo=mail-ie0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 31/82-15918-3B7F8B45 for ; Fri, 16 Jan 2015 06:36:20 -0500 Received: by mail-ie0-f170.google.com with SMTP id rd18so20202079iec.1 for ; Fri, 16 Jan 2015 03:36:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Sn9utI66DlJ9MTYFP1fMtD/WHfe01L7aQ2UKy1dRaZw=; b=SaLgk4ZHDnVt4hYe38w8NvvWKlgSXQHqUBzEvHvCpyx7L9Q4UhR/KsGehK9MsuqYRG tauvKFo1GlUtU1RZdh+sHk+Xv9KfYphzXS48cvtWJRCB+eiCFmhUZT2lJTFBWr0szRSX o1S3HQJUCXu6xOfYWaf/7aCMEbKtFOf6RqGpodbUHtIaXvXA5SOR7rvS4r/7YLrfyoxt P8BEoyK4+qr1z1ZiofBqZMHqm4wKxgGyYzFLF8WJ2Z7lmmpOwjcQJRKga9SlQyDaHolr /YHcg3FOEC6hkNEKY/rajlY9llR+JLkpxQGYHTeFN5I0NTXG3LaE1S9ZNmjb12sWHStU kKrw== X-Gm-Message-State: ALoCoQlZ7hzgokbw8DGbEvyGVxSIjV0B6X4YFHYuzEVrVwg5hnci4Kj3O47Tg3RpjWeAx2aKt7y2 MIME-Version: 1.0 X-Received: by 10.42.130.7 with SMTP id t7mr7373860ics.25.1421408176653; Fri, 16 Jan 2015 03:36:16 -0800 (PST) Received: by 10.107.52.208 with HTTP; Fri, 16 Jan 2015 03:36:16 -0800 (PST) In-Reply-To: References: <2sifbatnqq22e8pfunkh575o1plj81rk7j@4ax.com> Date: Fri, 16 Jan 2015 11:36:16 +0000 Message-ID: To: Jan Ehrhardt Cc: PHP Developers Mailing List Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] Re: Top 10 Pecl extensions PHP7 compatibility From: j.boggiano@seld.be (Jordi Boggiano) On Thu, Jan 15, 2015 at 3:11 PM, Jan Ehrhardt wrote: > Benjamin Eberlei in php.internals (Thu, 15 Jan 2015 15:53:43 +0100): >>Not sure how that helps, since you would tag versions anyways using semver, >>so if there is a master vs next/phpng branch, then they might still result >>in two tags v1.0 and v2.0 and there is no way to automatically resolve this. > > The branch name convention was meant for those developers that want to > maintain the same version for both PHP7 and PHP5.x. In thoese cases > there is no difference in version tags. Just a git checkout -b phpng if > you want the PHP7 branch. I'll just write down my view of things here from a Composer perspective, which is relevant assuming that eventually we'll get a composer.json in extensions that would allow composer to "see" extensions as packages and resolve them to an installable version which pickle would then install. The way I see it, the php5.x branch, no matter what it's called, should require php 5.* in its composer.json, and it should for example produce [1] releases in the 1.x range. If you then make a php7-specific version, in that it does not compile on php5 anymore, it can remain master or be a new branch it doesn't matter so much but it should require php 7.0.* instead and start producing 2.x releases because bumping your dependencies is a BC break. The way typical semver-abiding php projects would do this is to make master the new 2.x producer and create a 1.x branch to keep maintaining the 1.0 version. If the master branch instead still compiles on php 5 AND 7 then it can require "5.0 - 7.0" (equivalent to >= 5.0 and < 7.1) and keeps producing 1.x releases. It would be great to see pecl folks get more in line with semver and using more normalized branch and tag names. I understand that pecl is its own ecosystem and I come in out of nowhere and ask you to change, but I really believe it's for the best in the longer term. [1] in the sense that a branch produces releases since tags are made out of a given branch usually. -- Jordi Boggiano @seldaek - http://nelm.io/jordi