The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Debian запрещает использование в пакетах секции со специфичн..."
Отправлено opennews, 14-Ноя-18 10:28 
Технический комитет проекта Debian принял решение (https://lists.debian.org/debian-devel-announce/2018/11/msg00...) запретить использование специфичных для вендоров наборов патчей в пакетах (секция vendor-specific). Наличие подобных патчей в пакете теперь будет приравниваться к наличию ошибки с необходимостью её устранения. После выхода Debian 10 "Buster" использование секции vendor-specific в пакетах будет запрещено.


Комитет пришёл к заключению, что пакеты, по разному ведущие себя в разных дистрибутивах, должны распространяться в отдельных исходных пакетах. Специфичные изменения также могут применяться с использованием существующих в dpkg условных операторов или применения патчей в процессе сборки, но не на уровне подстановки разных патчей на стадии распаковки исходного пакета. В качестве причины запрета также упоминается (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904302) возникновение проблем с отладкой ошибок и несовместимость с используемыми проектом инструментами для обработки патчей, такими как dgit.

Секция vendor-specific позволяет определить альтернативный набор патчей, который будет применяться при распаковке исходного пакета в других дистрибутивах (напрмер, выполнение "dpkg-source -x foo.dscdpkg-source -x foo.dsc" в Debian и Ubuntu приведёт к применению разных наборов патчей к распакованным исходным текстам). Данная секция активно используется разработчиками Ubuntu для включения специфичных для Ubuntu исправлений, что позволяет поддерживать один общий пакет и для Debian и для Ubuntu. Подобный подход упрощает сопровождение производных от Debian дистрибутивов, так как не требует поддержки отдельных ответвлений пакетов с небольшими изменениями, которые можно распространять в основном Debian-пакете.

С другой стороны, на основе одного исходного пакета формируется несколько вариантов сборок, что приводит к путанице при разборе поступающих от пользователя уведомлений об ошибках и при выпуске обновлений. Обычно исходные пакеты в Debian поставляются в форме переносимых архивов (tar), разбирая подобный архив в другом дистрибутиве пользователь может полагать, что будет применён основной набор патчей, в то время как будет задействованы другие патчи из секции  vendor-specific. Кроме того, в случае обновления только специфичных для вендоров патчей возникает замешательство, так как пакет не требует обновления в Debian, но при этом изменился.


Что касается отладки, она усложняется так как ошибка может проявляться только при активации дополнительных патчей, что требует определения какой вариант пакета приводит к проблеме и воссоздания условий его использования. Например, кто-то может попытаться использовать Debian для разбора ошибки в Ubuntu и загрузит для этого пакет из репозитория  Ubuntu, но так как пакет общий с Debian он соберётся с другими патчами и поведение приложения будет отличаться от поведения в Ubuntu, но для разработчика это будет не очевидно.


Вместо секции vendor-specific для выделения специфичного для других дистрибутивов изменений предлагается использовать условные операторы, например, "#ifdef ubuntu". Подобные изменения видны в коде и при разборе изменений сразу позволяют понять логику применения предлагаемых исправлений. Кроме того, применение условных конструкций не создаёт проблем при использовании утилит, таких как dgit (https://manpages.debian.org/stretch/dgit/dgit.1.en.html).


URL: https://lists.debian.org/debian-devel-announce/2018/11/msg00...
Новость: https://www.opennet.ru/opennews/art.shtml?num=49605

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру