Бэкпорт
Бэкпо́рт (от англ. back-porting) — применение (с возможной доработкой) патчей, предназначенных для основной, развивающейся в данный момент версии программы, к более старым версиям. Бэкпортирование осуществляется для поддержания «стабильных» версий (обычно производится разработчиком программы), или из актуальной — в устаревшие, не поддерживаемые (обычно производится сторонними энтузиастами)[1]. Самая распространённая причина бэкпортирования — решение проблем безопасности.
Поясняющий пример
- В «Программе» 2.0 обнаружена проблема, которая решается через изменение определённой строчки с «здесьКроетсяОпасность» на «теперьБезопасно».
- Аналогичная проблема найдена в «Программе» 1.0, но в ней присутствует уже другой текст: «тутКроетсяОпасность».
Переработка патча для версии 2.0 («здесьКроетсяОпасность» → «теперьБезопасно») в патч для версии 1.0 («тутКроетсяОпасность» → «теперьБезопасно») и есть бэкпорт.[2]
В реальной жизни бэкпорт может состоять как в изменении нескольких строк кода, так и в переработке многих файлов во многих местах.
Производство бэкпортов
Если исходный код программы закрыт, то единственным возможным источником бэкпортов (которые в этом случае, естественно, также распространяются в бинарном виде) является разработчик программы. Для программ же с открытым исходным кодом бэкпорты нередко осуществляются распространителями программы (последние обычно заинтересованы в поддержке старых версий, поскольку в оной заинтересованы их клиенты), или, реже, пользователями программы; затем уже подготовленные наборы патчей отсылаются разработчику.
Реальный пример
В качестве примера можно привести бэкпорт патча v0.29[3], предназначенного для ядра Linux версии 2.6.19, к версии 2.6.18.8:
неправильно назвали патч, вместо 0.28 указали 0.26. Кроме того, уже есть версия 0.29. Поэтому они предоставили бэкпорт планировщика версии 0.29 на ядро 2.6.18.8.
См. также
Ссылки
- Обновление проприетарных драйверов с помощью бэкпортов
- HOWTO: Бэкпорт MSVC-проекта из Visual Studio 2008 в Visual Studio 2003 Архивная копия от 24 февраля 2010 на Wayback Machine
- Бэкпорт RSDL v0.29 на 2.6.18.8 (недоступная ссылка)