История изменений
Исправление annulen, (текущая версия) :
либо начинаем пилить еще одно ПО, которое будет анализировать зависимости и прочий и прочий геморой, например, с обновлением библиотек на свежие версии
Не нужно никаких зависмостей анализировать. Берется каталог со старой прошивкой и каталог с новой. Они сравниваются. Вариант 1: в файл обновления помещаются все изменившиесся файлы. Вариант 2: для изменившихся файлы генерируются диффы с помощью bsdiff или чего-то подобного, на устройстве они накладываются.
вот например решил я добавить новый функционал - делаю по вашему предложению динамическую линковку этого функционала - все, теперь то ПО которое крутится ничего не знает о дополнительных 2х мегабайтах
Если что-то изменилось в линковке приложения - его файл изменится и оно «будет знать». Если это плагин, подгружающийся через dlopen - ему и не надо знать, само подхватится.
кстати те 2к устройств что кладут фтп сервер вообще скачивают по 1-0.5 КБ файлы, а время случайного обновления длится рабочую НЕДЕЛЮ
Значит или сервер (edit: программа, не железка) говно, или проблема в чем-то еще. Лично я бы для начала попробовал раздавать через nginx.
Исправление annulen, :
либо начинаем пилить еще одно ПО, которое будет анализировать зависимости и прочий и прочий геморой, например, с обновлением библиотек на свежие версии
Не нужно никаких зависмостей анализировать. Берется каталог со старой прошивкой и каталог с новой. Они сравниваются. Вариант 1: в файл обновления помещаются все изменившиесся файлы. Вариант 2: для изменившихся файлы генерируются диффы с помощью bsdiff или чего-то подобного, на устройстве они накладываются.
вот например решил я добавить новый функционал - делаю по вашему предложению динамическую линковку этого функционала - все, теперь то ПО которое крутится ничего не знает о дополнительных 2х мегабайтах
Если что-то изменилось в линковке приложения - его файл изменится и оно «будет знать». Если это плагин, подгружающийся через dlopen - ему и не надо знать, само подхватится.
кстати те 2к устройств что кладут фтп сервер вообще скачивают по 1-0.5 КБ файлы, а время случайного обновления длится рабочую НЕДЕЛЮ
Значит или сервер (программа) говно, или проблема в чем-то еще. Лично я бы для начала попробовал раздавать через nginx.
Исходная версия annulen, :
либо начинаем пилить еще одно ПО, которое будет анализировать зависимости и прочий и прочий геморой, например, с обновлением библиотек на свежие версии
Не нужно никаких зависмостей анализировать. Берется каталог со старой прошивкой и каталог с новой. Они сравниваются. Вариант 1: в файл обновления помещаются все изменившиесся файлы. Вариант 2: для изменившихся файлы генерируются диффы с помощью bsdiff или чего-то подобного, на устройстве они накладываются.
вот например решил я добавить новый функционал - делаю по вашему предложению динамическую линковку этого функционала - все, теперь то ПО которое крутится ничего не знает о дополнительных 2х мегабайтах
Если что-то изменилось в линковке приложения - его файл изменится и оно «будет знать». Если это плагин, подгружающийся через dlopen - ему и не надо знать, само подхватится.
кстати те 2к устройств что кладут фтп сервер вообще скачивают по 1-0.5 КБ файлы, а время случайного обновления длится рабочую НЕДЕЛЮ
Значит или сервер говно, или проблема в чем-то еще. Лично я бы для начала попробовал раздавать через nginx.