This is an old revision of the document!
Table of Contents
Информация о номере сборки бинарника
Каждый исполняемый файл osFree сщдержит строку с информацией о номере сборки (buildlevel). Обычно эта информация размещается в ресурсах, но также может быть в секциях кода или данных.
Обычное место для информации о build level это строка DESCRIPTION в DEF-файле:
Description '@#osFree:9.23#@Control utility for ANSI'
Минимальная информация о build level
Часто используется следующий синтаксис информации о build level:
@#<Vendor>:<Revision>#@<Description>
где <Vendor>, <Revision> и <Description> – ASCII строки с соответствующей информацией. В EDM/2 http://www.edm2.com/index.php/Adding_BLDLEVEL_information_to_executables упомянуты некоторые ограничения для полей <Vendor>, <Revision> и <Description>, но в реальности, длина может быть любой и формат версии тоже может быть любым. Например, такое бывает во многиз ревизиях OS2KRNL.
Пример:
Description '@#osFree:9.23#@Control utility for ANSI'
Extended build level information Type I
MPTN and TCP/IP services of osFree uses extended build level information. In most cases such information not stored as Description, but as asciiz constant string in code. This is why standard OS/2 bldlevel tool does not work for such files. Syntax is following:
@#<Vendor>:<Revision>#@##built <BuildDate> – on <BuildHost>;0.1@@<Description>[:<SubDescription>[:<SubDescription>…]
where
- <BuildDate> is date and time of build
- <BuildHost> is machine on which build compiled
- <SubDescription> is closer desctiption of software pack
Example:
Description '@#osFree:9.23#@##build 5 Oct 2003 15:00:00 – on RACERPC;0.1@@Command line tools:Control utility for ANSI'
Extended build level information Type II
Another most known, and most complex, type of build level information is following:
@#<Vendor>:<Revision>#@1## DD.MM.YY hh:mm:ss <BuildHost>:<ASDFeatureID>:<LanguageCode>:<CountryCode>:<Build>:<Unknown>:<FixPackVer>@@<Description>
where
- DD.MM.YY is the build date in day/month/year, preceded by 1 space
- hh:mm:ss is the build time in hour/minute/second, preceded by 1 space
- <BuildHost> is machine on which build compiled, preceded by 8 spaces
- <ASDFeatureID> is identifier of ASD feature
- <LanguageCode> is code of language of component
- <CountryCode> is country code of component
- <Build> is build number
- <Unknown> is not known information (must be empty)
- <FixPackVer> is FixPack version (if distibuted as part of).
Note: If you leave build date and/or build time empty you still have to provide the same amount of spaces to replace build date/build time.
Example:
Description '@#osFree:9.23#@##1##RACERPC:0:866:7:436::WRR8706@@Control utility for ANSI'
Nowdays many projects use this BLDLEVEL format string.
Discussion