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: