Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№114-04-2007 00:38:31

Modex
_
 
Группа: Extensions
Откуда: Краснодар, Россия
Зарегистрирован: 10-10-2004
Сообщений: 3311
UA: Minefield 3.0

Управление версиями Firefox

Мы сталкиваемся с проблемой внутреннего развёртывания  Firefox 2.0.0.3, которая заключается в том, что инсталятор программы не может определить, какая версия новее: Firefox 1.5.0.11 или 2.0.0.3. В то же время кто-то просил меня создать список файлов для Firefox, который мог бы использоваться в качестве «сигнатуры файлов» (файл сигнатуры — это файл дистрибутива с уникальным размером, который может использоваться для идентификации отдельных версий дистрибутива).

Как результат проделанной работы я выкладываю эту таблицу:
sshot-2007-04-13-%5B23-24-01%5D.png

Давайте сначала поговорим о проблеме “сигнатур файла”. К сожалению, я быстро обнаружил, что существуют несколько версий в которых размер файла firefox.exe был полностью идентичен. В частности:

    * 1.0.3 и 1.0.4
    * 1.0.5 и 1.0.6
    * 1.5.0.5 и 1.5.0.6
    * 1.5.0.10 и 1.5.0.11
    * 2.0.0.2 и 2.0.0.3

Я продолжил исследования и обнаружил, что сравнение только занимаемого на диске места не даёт абсолютно никакого ответа о различии версий. Было решено узнать, не используют ли другие продукты, кроме наших, размер файла для определения сигнатуры. В таком случае имело бы смысл завести в Firefox маленький файл сигнатуры, который бы увеличивался в размере на один байт с каждым выпуском. Это дало бы нам файл, с помощью которого мы могли бы проследить порядок выхода версий по размеру файла.

Вторая проблема гораздо более серьёзна. Оказалось, что несмотря на исправление ошибки 286825, основная проблема с файлом контроля версий Firefox осталась. В частности, взгляните на версию файла (это не версия программы) Firefox 1.5.0.11 и Firefox 2.0.0.3. Вы можете заметить, что для Firefox 1.5.0.11 это 1.8.20070.31202, а для Firefox 2.0.0.3 — 1.8.20070.30919. Итак, если приложение использует версию файла для определения того, какой из них является последней версией программы, то получится что Firefox 1.5.0.11 новее чем Firefox 2.0.0.3. Это и есть та причина, которая вызывает проблемы при установке программы.

Мы можем обойти эту проблему со своей стороны, но всё равно нам необходима другая система назначения правильных версий файлов Firefox. В противном случае мы получаем ещё одно препятствие для широкого использования Firefox.

Источник
Перевод выполнялся под строгим контролем Infant'a и Merlyel
==
Посвящается памяти самого мега-спамера, уехавшего в газенвагене с платформы 9¾


F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!

Отсутствует

 

№214-04-2007 02:04:17

Heavybrother
Участник
 
Группа: Members
Откуда: Nizhny Novgorod province
Зарегистрирован: 17-02-2006
Сообщений: 71
UA: Firefox 2.0

Re: Управление версиями Firefox

Modex
А нельзя просто прописывать в обычном текстовом файле версию Firefox'а? При установке, версия устанавливаемой версии будет сравниваься с версией из этого файла.


Wake up in the morning...Get into bed
Closing my eyes...I rest my head.

Отсутствует

 

№314-04-2007 07:32:30

roman_
 
Группа: Guest
UA: Firefox 2.0

Re: Управление версиями Firefox

лучше хранить в самом экзешнике дополнительно официальный номер версии, по которому и определять кто новее или в отдельном текстовом файле. в крайнем случае, можно использовать не размеры файлов firefox.exe, а его md5-суммы

 

№414-04-2007 10:36:46

Returned
 
Группа: Guest
UA: Firefox 2.0

Re: Управление версиями Firefox

Самый простой и наиболее эффективный, это идентификация по штамму времени (сам использую его в своих программах). Любой компилятор, при компиляции записывает 4 байта кодированной даты+время с точностью до секунды в PE заголовок.

 

№514-04-2007 12:00:06

Compilyator
 
Группа: Guest
UA: Firefox 2.0

Re: Управление версиями Firefox

Returned пишет

Самый простой и наиболее эффективный, это идентификация по штамму времени (сам использую его в своих программах). Любой компилятор, при компиляции записывает 4 байта кодированной даты+время с точностью до секунды в PE заголовок.

А как декодировать ети 4 байта в нормальное представление даты????

 

№614-04-2007 13:04:26

unixman
Участник
 
Группа: Members
Зарегистрирован: 07-04-2007
Сообщений: 72
UA: Minefield 3.0
Веб-сайт

Re: Управление версиями Firefox

А почему нету инфо о MineField?


Юникс, Линукс, Mac OS X! Все против Хриндоус XP и Хриндоус Виста!

Как и  linux'оиды, я тоже в кедах потому что пользуюсь BSD (Mac OS X) , а BSD создана на основе Unix'а , а Linux тоже создан на основе Unix'а

Отсутствует

 

№714-04-2007 13:43:17

Modex
_
 
Группа: Extensions
Откуда: Краснодар, Россия
Зарегистрирован: 10-10-2004
Сообщений: 3311
UA: Minefield 3.0

Re: Управление версиями Firefox

unixman
А зачем она? сравнивают-то релизы... обычные пользователи Minefield не используют. :)


F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!

Отсутствует

 

№814-04-2007 16:31:39

Eictol0n
Участник
 
Группа: Members
Зарегистрирован: 23-03-2007
Сообщений: 8
UA: Iceweasel 2.0

Re: Управление версиями Firefox

Бред,
все исследование целиком.
1. сто лет назад придумали md5
2. а если у нас екзешник самособраный, или это линух...
3. вообще вопрос для кого исследование может быть полезно ? если для тех кто инсталер собирает, то они сами разберутся, а если для тех кто екстеншены пишет, то вносит еще большую путаницу, насколько я понимаю есть тип продукта (id) и его версия, думаю две функции,  которые можно вызвать из динамически слинкованой либы установленого файрфокса.

Отсутствует

 

№924-04-2007 10:00:54

passer-by
 
Группа: Guest
UA: Firefox 1.5

Re: Управление версиями Firefox

Честно говоря, с моей делитанской точки зрения, звучит всё это как-то по-детски. Даже я сразу понял что столбец «Size on disk» ничего не даст, т.к. он у всех будет разный, так или иначе. Автор же тут делает далекоидущие выводы:

Я продолжил исследования и обнаружил, что сравнение только занимаемого на диске места не даёт абсолютно никакого ответа о различии версий.

Вообще, статья результатов исследования как-то путано написана (подмена понятий?), особенно в начале (возможно это вина переводчиков — оригинал я поленился посмотреть).

 

№1024-04-2007 10:33:52

passer-by
 
Группа: Guest
UA: Firefox 1.5

Re: Управление версиями Firefox

Мда… Видимо сие произведение всё-таки придётся отправить прямиком в доменную печь, т.к. я из распирающего меня любопытства, которое переплюнуло лень, сходил по ссылке и всё оказалось ещё хуже:

NOTE: I’ve updated this table to include a new field, Size on disk. This field is obtained from the General Properties page for FIREFOX.EXE. I got my original file sizes by looking at the file system from a command line and they correspond to Size, NOT Size on disk. I have no idea why, but I wanted to post both values here for posterity.

Ууууу… My applouse here. :D

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]