Самая простая и, вероятно, самая распространенная ситуация бэкпортирования — это исправленная дыра в безопасности в новой версии программного обеспечения. Рассмотрим этот упрощенный пример:
В программном обеспечении версии 2.0 имелась уязвимость безопасности , которая устраняется путем замены текста «is_unsecured» на «is_secured».
Та же уязвимость безопасности существует в Software v1.0, на основе которой создана кодовая база для новой версии, но там текст может выглядеть как «is_notsecure».
Взяв модификацию, исправляющую Software v2.0, и изменив ее так, чтобы она применялась к Software v1.0, мы фактически выполнили обратное портирование исправления. [1]
В реальных ситуациях изменения, которым подвергся один аспект программного обеспечения, могут быть простыми ( изменилось всего несколько строк кода ) или тяжелыми и массивными (множество изменений, распределенных по нескольким файлам кода). В последнем случае обратное портирование может стать утомительным и неэффективным и должно проводиться только в том случае, если старая версия программного обеспечения действительно необходима в пользу новой (например, если новая версия все еще страдает от проблем со стабильностью , которые не позволяют использовать ее в критически важных ситуациях). [2]
Процедуры
Процесс бэкпортирования можно условно разделить на следующие этапы: [1]
выявление проблемы в старой версии программного обеспечения, которую необходимо исправить с помощью бэкпорта
выяснение того, какая (обычно последняя) модификация кода устранила проблему
адаптация модификации к ситуации со старым кодом (правильный обратный порт)
один или несколько уровней контроля качества — проверка того, сохраняет ли портированная версия предыдущую функциональность, а также правильно ли она реализует новую функциональность.
Обычно несколько таких модификаций объединены в один набор исправлений .
Многие функции Windows Vista были перенесены в Windows XP , когда для Windows XP был выпущен Service Pack 3, что облегчило совместимость приложений (в основном игр), изначально требующих Vista в качестве минимального требования, для запуска на XP SP3 в качестве минимального требования. [3]
Проект Debian с сентября 2010 года [4] предоставляет официальную услугу бэкпортирования для некоторых пакетов программного обеспечения Debian Linux , а Ubuntu Linux также поддерживает бэкпорты. [5]
^ ab "Backporting Security Fixes". Red Hat . Архивировано из оригинала 2020-05-12 . Получено 2020-05-11 .
^ ab Rahul Sundaram (2016-01-14). "Оставаться рядом с вышестоящими проектами". Fedora Project . Архивировано из оригинала 2011-08-05 . Получено 2020-05-11 .
^ Дональд Мелансон (2007-10-09). "Microsoft backports Vista features for new Windows XP SP3 beta". Engadget . Архивировано из оригинала 2016-03-04 . Получено 2020-05-11 .
^ "Служба Backports становится официальной". Проект Debian . 2010-09-05. Архивировано из оригинала 2011-09-03 . Получено 2020-05-11 .
^ "UbuntuBackports". Проект Ubuntu . 2015-11-29. Архивировано из оригинала 2019-05-03 . Получено 2020-05-11 .
^ Харпер, Кристофер (14.04.2024). «Тысячи приложений перенесены обратно в Windows 95 двадцать восемь лет спустя — порт .NET Framework обеспечивает обратную совместимость для современного программного обеспечения». Tom's Hardware . Архивировано из оригинала 31.05.2024 . Получено 01.07.2024 .
^ Posch, Maya (2024-04-14). "Porting Modern Windows Applications To Windows 95". Hackaday . Архивировано из оригинала 2024-07-01 . Получено 2024-07-01 .