вторник, 8 апреля 2008 г.

теперь собираю setup.exe прямо в линуксе!

Моей радости нет предела! Решил попробовать собрать NSIS под линуксом, чтоб собирать инсталлер виндовой версии не используя винды. Линукс основной у меня специфический (rh7.3 - около 2000-го года выпуска!), боялся что на этой версии не соберется. Делал как указано тут, пользовал абсолютно ту же версию nsis потому что в последней какие-то проблемы. Пришлось чуть поправить сырцы чтобы оно собралось (старая версия gcc и хидеры от ее libc++ создали проблемы), но это исправление не более 3 минут заняло. Установка собранного makensis тоже обломилась, но я ручками его скопировал в нужное место. Все работает. ЩАСТЬЕ!!

До этого пускал под линуксом через Win4Ln Win98 и в ней пускал NSIS для сборки дистрибьютива (винда стартует секунд 50 в ней).

Потом сборка..Приходилось ждать примерно минуту, пока соберется. Под линуксом это занимает секунд 10 и главное не надо пускать винду, жать мышкой где-то, тупо ждать, гасить винду..


Учитывая что у меня пол-десятка продуктов с одним ядром, и изменения в основном в ядре и я их делаю часто, пересобирать триалы за задалбывался.

Единственный минус - жмется почему-то хуже под линуксом (вместо собранных под виндой в 1.8мб дистро 2.3 мб становится
), но это меня не волнует. И еще с опциями компрессоров пришлось поиграться, кажется он у меня пытался /usr/bin/compress звать для каждого файла пока не сказал жать через zlib.

Продукт сборки попробовал - работает хорошо, инсталлирует и деинсталлирует. Даже не верится!

А когда-то давно я пытался makensis пускать через wine, но wine было кривое, и не понимало что софтине надо возвращать все пути с виндовыми слешами, а не с юниксовыми, и в общем, makensis не работал..
Теперь одна команда Make и триалы подо все платформы собрались и залились на сайт. КРАСОТА!

2 комментария:

jtraub комментирует...

Неужели жалко в RSS отдавать посты полностью, а не только заголовки? Я вот поэтому и отписался от блог вашего

vvh комментирует...

ОК, сделал.

Не знаю почему я так его раньше настроил.