Задача:процедура репозитория плавного обновления
Admin (обсуждение | вклад) (→Идеальный вариант) |
Admin (обсуждение | вклад) м (переименовал «Задача:процедура плавного обновления репозитория» в «Задача:процедура репозитория плавного обновления») |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 34: | Строка 34: | ||
====Компромисс ==== | ====Компромисс ==== | ||
− | Для каждого обновления существует отдельный репозиторий (diablo/, diablo-1/, diablo-2/ и так далее), но здесь предлагаются все самые последние пакеты для данного обновления, поэтому при необходимости их можно легко повторно инсталлировать. Это хорошее компромиссное решение, так как оно не добавляет слишком большое количество проблем с устойчивостью системы обновления | + | Для каждого обновления существует отдельный репозиторий (diablo/, diablo-1/, diablo-2/ и так далее), но здесь предлагаются все самые последние пакеты для данного обновления, поэтому при необходимости их можно легко повторно инсталлировать. Это хорошее компромиссное решение, так как оно не добавляет слишком большое количество проблем с устойчивостью системы обновления, о которых компании Nokia стоит беспокоится, и не оставляет пользователей без пакетов. |
==== Абсолютный минимум ==== | ==== Абсолютный минимум ==== |
Текущая версия на 14:21, 14 апреля 2010
Задача:процедура репозитория плавного обновления
Данная задача включена в список предложений по разработке maemo.org. Пожалуйста, помогите спланировать и подготовить ее для спринта. Оставьте сообщение на странице форума Talk, если вам интересно помочь в выполнении данного задания. Пожалуйста, обратитесь на страницу форума Talk для участия в обсуждении задачи.
Новая процедура компании Nokia в отношении репозитория обновлений Tableteer для плавных обновлений далека от совершенства. В данной статье будут кратко описаны ряд проблем и подводных камней выбранной процедуры, а так же некоторые возможные решения данных проблем.
Содержание |
Что могло бы быть
Когда было впервые заявлено о новой системе плавного обновления (SSU), она была воспринята сообществом как большая удача. Не только обновления через прошивку уходили в прошлое. Данная система означала, что компания Nokia сможет развести небольшие обновления и крупные релизы программного обеспечения. Это означало, что будут более частые обновления с исправлениями небольших ошибок для отдельных пакетов, что позволило бы исправлениям ошибок выходит быстрее и чаще. Это также означало, что пакеты системных программ будут доступны в репозитории. Поэтому, если возникали любые проблемы, пока пользователь играл с ними (скажем, во время тестирования коммутируемых виртуальных сетей последнего браузера MicroB), он мог бы просто воспользоваться новой копией пакета через apt вместо того, чтобы вынужденно заниматься перепрошивкой устройства или извлечением данного пакета из другого устройства.
Основная проблема
К сожалению, в отношении Diablo и плавного обновления компания Nokia, в силу каких-то причин, приняла решение о том, что для каждого отдельного релиза плавного обновления требуется отдельный репозиторий обновлений (например, diablo/ для 23-14 и diablo-1/ для 30-2). И так как компания Nokia приняла решение не заполнять последний репозиторий даже самыми основными пакетами (например, osso-software-version-rx*4), один из крупнейших побочных эффектов системы плавного обновления сводится на нет.
Пакет o-s-v легко удалить, его сложно повторно инсталлировать, если он не предлагается в репозитории обновлений. Весьма вероятно, что все закончится циклами перезагрузки, если пользователь попытается без него заменить программное обеспечение новой версией.
Существует также дополнительная проблема, связанная с обновлениями: проблема обновления репозитория SDK релевантными файлами с исходными кодами для бинарных файлов, которые предлагаются в обновлении. Отсутствие файлов с исходными кодами противоречит духу (и основным положениям) Открытого лицензионного соглашения GNU. Оно также приводит к проблемам практического характера для разработчиков и, опосредованно, для обычных пользователей. Также обратитесь к описанию ошибки 3648.
Предлагаемые решения
К счастью, решения данной проблемы очень простые и легкие в реализации.
Идеальный вариант
Все обновления распространяются через один репозиторий для каждого дистрибутива (diablo/ для Diablo, fremantle/ для Fremantle и так далее). Все пакеты системных программ (то есть, все, от чего зависит пакет o-s-v) доступны в данном репозитории.
Это означает, что все пакеты системных программ инсталлируются через apt, пакет o-s-v всегда доступен, все довольны.
Оборотной стороной данного предложения является, конечно, вопрос с обновлениями. Будет ли у пользователя возможность без проблем перескочить с 23-14 в 41-5 без необходимости проходить через каждое промежуточное обновление по отдельности? Нельзя гарантировать, что это было бы безопасно, или что компания Nokia захочет провести подобную проверку. Поэтому предложенный выше вариант может и не стать приемлемым решением, хотя, казалось, что все хорошо работало во время использования бета-версии Diablo.
Компромисс
Для каждого обновления существует отдельный репозиторий (diablo/, diablo-1/, diablo-2/ и так далее), но здесь предлагаются все самые последние пакеты для данного обновления, поэтому при необходимости их можно легко повторно инсталлировать. Это хорошее компромиссное решение, так как оно не добавляет слишком большое количество проблем с устойчивостью системы обновления, о которых компании Nokia стоит беспокоится, и не оставляет пользователей без пакетов.
Абсолютный минимум
Если говорить об абсолютном минимуме, необходимо, чтобы пакет o-s-v был доступным в каждом репозитории обновлений, пока обновление актуально. Это объясняется тем, что данный пакет можно легко удалить во время целого ряда безобидных процедур, но очень сложно повторно инсталлировать, если его нет в свободном доступе (так как пакет из репозитория Nokia уничтожит старый репозиторий обновлений в процессе замены программного обеспечения). Попытка выполнить замену операционной системы при помощи apt-get без инсталлированного пакета o-s-v может привести к циклам перезагрузки.