Python界有自己的文件名约定 https://www.python.org/dev/peps/pep-0427/#file-name-convention,比如 distribution-1.0-1-py27-none-any.whl一看就知道自己能不能用到这个whl包。
最近需要发布 thrift_protocol扩展,故自己定下一个命名规范,在此记录之。
首先看看php如何判断扩展兼容与否, dl.c:172和 dl.c:182分别根据 zend_api(比如 20151012)和 build_id(比如 API20151012,NTS)来判断是否兼容。
所以我们用build_id+platform就可以表示ABI版本了,加上name和version就得出命名规范:
{distribution}-{version}-{build_id}-{platform}.{so,dll}
比如:
thrift_protocol-1.0-API20151012,NTS-linux_x86_64.so
遗憾的是,github会吞掉英文逗号,所以只能用英文句号替代了。
不过, phpize的时候能看到 zend_api,无法看到 build_id,算是一个不方便的地方,只能通过 php -i | grep 'PHP Extension Build'来变通获取了。