Бэкпорт

Бэкпо́рт (от англ. 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.

См. также

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.