ru:docs:os2:bld:index

Информация о номере сборки бинарника

Каждый исполняемый файл 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'

Расширенная информация о build level, Тип I

Сервисы MPTN и TCP/IP в osFree (OS/2) используют расширенную информацию о build level. В большинстве случаев, такая информация не хранится как 'Description', а как ASCII константа в сегменте кода. По этой причине, стандартная OS/2 утилита 'bldlevel' не работает с такими файлами. Синтаксис таков:

@#<Vendor>:<Revision>#@##built <BuildDate> – on 
<BuildHost>;0.1@@<Description>[:<SubDescription>[:<SubDescription>…]

где

  • <BuildDate> дата и время сборки
  • <BuildHost> машина, на которой производилась сборка
  • <SubDescription> более точное описание программнеого модуля

Пример:

Description '@#osFree:9.23#@##build 5 Oct 2003  15:00:00 – on RACERPC;0.1@@Command line tools:Control utility for ANSI'

Расширенная информация о build level, Тип II

Другим самым известным, и самым сложным типом информации о build level являются следующий:

@#<Vendor>:<Revision>#@1## DD.MM.YY hh:mm:ss      <BuildHost>:<ASDFeatureID>:<LanguageCode>:<CountryCode>:<Build>:<Unknown>:<FixPackVer>@@<Description>

где

  • DD.MM.YY Дата сборки в виде день/месяц/год, предваряемая одним пробелом
  • hh:mm:ss время сборки в виде час/минута/секунда, предваряемая одним пробелом
  • <BuildHost> имя машины, на которой производилась сборка, предваряемое 8 пробелами
  • <ASDFeatureID> идентификатор ASD feature
  • <LanguageCode> код языка компонента
  • <CountryCode> код страны компонента
  • <Build> порядковый номер сборки
  • <Unknown> неизвестная информация (должна быть пустой)
  • <FixPackVer> версия FixPack-а (если компонент распространяется в составе фикспака).

Замечание: Если вы оставите дату или время билда пустыми, вы должны оставить такое же количество места в виде пробелов, которое занимают дата и время сборки.

Пример:

Description '@#osFree:9.23#@##1##RACERPC:0:866:7:436::WRR8706@@Control utility for ANSI'

В нынешее время, много проектоа используют этот последний вид BLDLEVEL информации.

Discussion

Enter your comment. Wiki syntax is allowed:
172 +3 =