[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libtabe naming convention



Hello,
目前 libtabe 的档名是长这样的:

	libtabe-0.2.5.so.0.2.1

其中 0.2.5 是 libtabe 的 release number (也就是 libtabe-0.2.5 版),
而 0.2.1 是其 API version number, 这是来自 libtool 所建议的,为的
是维持各版的 libtabe 与其「应用程式」(如 xcin) 之间,在 run-time
dynamic link 时可以有适当的 compatibility。例如: 0.2.1 可以和 0.2.2,
但不能与 1.0.0 相容 .... 等。

就 library 的角度而言,其实 API version number 是比 release number
还要有意义的。例如下一版新出来的 libtabe 可能只修改了 tsi.src, 函
式库本身完全没变,自然函式库本身是与前一版相容的。

然而,以目前的档名命名规则:

	libtabe-<release number>.so.<API version number>

会造成: 就算 API version number 不变,但每次一改变 release number,
就会造成与前一版不相容,而造成 dynamic link 的错误,错误的发生原因
纯粹是因为 library 的「名字」不一样了。为了避免此情况,我想最好的
方式还是将档名的命名规则改回:

	libtabe.so.<API version number>

也就是按照 info libtool 的建议。

那么,如果我想知道目前系统的 libtabe 版本,怎么办呢?因为光看那些
.so 的档名已经不准了 .... (用 rpm 或 deb 来查的不算 :-)) 为了解决
此问题,我将所有的 utilities: tsiadd, tsidel .... 等都加入了可以
显示版本资讯的部分,例如,您只要执行:

	tsiadd

就会列出:

tsiadd: libtabe-0.2.5
Usage: tsiadd -d <TsiDB> [-f input file -r -y]
   -d <TsiDB>            path to TsiDB
   -f <input file>       input file in plain text (default: stdin)
   -r                    incorporate reference count (default: not)
   -y                    incorporate yin data (default: not)
   -v                    verbose output for debugging

如此就知道目前安装的是 libtabe-0.2.5 版了。

以上的改变已进 cvs :-) 在此感谢 Roger So <roger.so@sw-linux.com>
兄的提醒 :-)

T.H.Hsieh

-- 
To UNSUBSCRIBE, email to debian-chinese-big5-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

-- 
| This message was re-posted from debian-chinese-big5@lists.debian.org
| and converted from big5 to gb2312 by an automatic gateway.



Reply to: