| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| ru:docs:bld:index [2014/06/24 20:19] – [Extended build level information Type I] valerius2k | ru:docs:bld:index [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 |
|---|
| ===== Информация о номере сборки бинарника ===== | |
| |
| Каждый исполняемый файл osFree сщдержит строку с информацией о номере сборки (buildlevel). Обычно эта информация размещается в ресурсах, но также может быть в секциях кода или данных. | |
| |
| Обычное место для информации о build level это строка DESCRIPTION в DEF-файле: | |
| |
| <code> | |
| Description '@#osFree:9.23#@Control utility for ANSI' | |
| </code> | |
| |
| ==== Минимальная информация о build level ==== | |
| |
| Часто используется следующий синтаксис информации о build level: | |
| |
| <code>@#<Vendor>:<Revision>#@<Description></code> | |
| |
| где <Vendor>, <Revision> и <Description> -- ASCII строки с соответствующей информацией. В EDM/2 [[http://www.edm2.com/index.php/Adding_BLDLEVEL_information_to_executables]] упомянуты некоторые ограничения для полей <Vendor>, <Revision> и <Description>, но в реальности, длина может быть любой и формат версии тоже может быть любым. Например, такое бывает во многиз ревизиях OS2KRNL. | |
| |
| Пример: | |
| |
| <code>Description '@#osFree:9.23#@Control utility for ANSI'</code> | |
| |
| ==== Расширенная информация о build levelб Тип I ==== | |
| |
| Сервисы MPTN и TCP/IP в osFree (OS/2) используют расширенную информацию о build level. | |
| В большинстве случаев, такая информация не хранится как 'Description', а как ASCII константа в сегменте кода. По этой причине, стандартная OS/2 утилита 'bldlevel' не работает с такими файлами. Синтаксис таков: | |
| |
| <code>@#<Vendor>:<Revision>#@##built <BuildDate> – on | |
| <BuildHost>;0.1@@<Description>[:<SubDescription>[:<SubDescription>…]</code> | |
| |
| где | |
| |
| * <BuildDate> дата и время сборки | |
| * <BuildHost> машина, на которой производилась сборка | |
| * <SubDescription> более точное описание программнеого модуля | |
| |
| Пример: | |
| |
| <code>Description '@#osFree:9.23#@##build 5 Oct 2003 15:00:00 – on RACERPC;0.1@@Command line tools:Control utility for ANSI'</code> | |
| |
| ==== Extended build level information Type II ==== | |
| |
| Another most known, and most complex, type of build level information is | |
| following: | |
| |
| <code>@#<Vendor>:<Revision>#@1## DD.MM.YY hh:mm:ss <BuildHost>:<ASDFeatureID>:<LanguageCode>:<CountryCode>:<Build>:<Unknown>:<FixPackVer>@@<Description></code> | |
| |
| 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: | |
| |
| <code>Description '@#osFree:9.23#@##1##RACERPC:0:866:7:436::WRR8706@@Control utility for ANSI'</code> | |
| |
| Nowdays many projects use this BLDLEVEL format string. | |
| |
| ==== Related links ==== | |
| |
| * [[http://www.edm2.com/index.php/Adding_BLDLEVEL_information_to_executables|Adding BLDLEVEL information to executables]] | |
| |
| ~~DISCUSSION~~ | |
| |