Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60262 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 82817 invoked from network); 23 Apr 2012 14:47:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Apr 2012 14:47:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=j.boggiano@seld.be; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=j.boggiano@seld.be; sender-id=pass Received-SPF: pass (pb1.pair.com: domain seld.be designates 209.85.215.170 as permitted sender) X-PHP-List-Original-Sender: j.boggiano@seld.be X-Host-Fingerprint: 209.85.215.170 mail-ey0-f170.google.com Received: from [209.85.215.170] ([209.85.215.170:48242] helo=mail-ey0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 38/80-09856-27B659F4 for ; Mon, 23 Apr 2012 10:47:16 -0400 Received: by eaao10 with SMTP id o10so2692149eaa.29 for ; Mon, 23 Apr 2012 07:47:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type:content-transfer-encoding :x-gm-message-state; bh=6e4C8YdCh7+WA7cHWzMiXRudHoROWyXC9UMYn14ep14=; b=DzBgjv5KNKOQInMw3hrvHPUDfrl8/fgWXRR/Cu5uKWNAX7mlFfTI0JEbkRx6F3bRNS L2NWwp4WDUGUeMRmNqoiFD0KQFW94zQKjcHoaesk/B9Zfn1ZsYculUmwUg5rYCAlhoQa 9se7JhqlXhZkoaPK2PhVqaBIN4a/EyeA6SVA/1P9Q8k/0D5hI6fe27dIvVaHzz2ZollO n8xPqZhRzfZdSg9jkFy67sI5NYl1wlcVv+GnEhlqDyItXDqXKePHmvSLj3cSW9WHMj7K j5z14ZBPTHdY3LAgc2o8/QXCt5Z6jYc29DQyBJGYFEh2+mmoNpqgBRG2vdi6Id/zEfEk RIfg== Received: by 10.213.25.147 with SMTP id z19mr306092ebb.173.1335192431201; Mon, 23 Apr 2012 07:47:11 -0700 (PDT) Received: from [10.150.0.130] (178-83-215-33.dynamic.hispeed.ch. [178.83.215.33]) by mx.google.com with ESMTPS id n56sm72390594eeb.4.2012.04.23.07.47.10 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 23 Apr 2012 07:47:10 -0700 (PDT) Message-ID: <4F956B74.4040104@seld.be> Date: Mon, 23 Apr 2012 16:47:16 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 MIME-Version: 1.0 To: "internals@lists.php.net" X-Enigmail-Version: 1.4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQk68HApOLYS3f9jEftxfDJKItbLiu6guGwNJnJrHgVZi/QjSpIKAdKERGpfADwMNAtIfqk6 Subject: Extension versions From: j.boggiano@seld.be (Jordi Boggiano) Heya, It appears that many extensions do not expose proper version information. Here an abstract of the various things I found using the following script: $ for i in `php -m`; do php --re $i | grep "$i version"; done curl date 5.4.0 dom 20031129 mysqlnd mysqlnd 5.0.10 - 20111026 - $Revision: 323634 $ PDO 1.0.4dev Reflection $Revision: 321634 $ xdebug 2.2.0rc1 As you see it goes from no version at all to proper versions, passing by svn revisions, dates, or a mix of all. In Composer [1] we try to parse all that using ReflectionExtension, to allow people to require some specific version of an extension if they want. Obviously this doesn't work very well when no version or some random revision number is provided. Is there any other way I overlooked to get more version info? If not, can this at least be improved in the future? [1] http://getcomposer.org/ Cheers -- Jordi Boggiano @seldaek - http://nelm.io/jordi