NMU: различия между версиями
Нет описания правки |
Ilis (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
'''NMU''' (Non-Maintainer Upload) — обновление пакета не сопровождающим его. | '''NMU''' (Non-Maintainer Upload) — обновление пакета не сопровождающим его. | ||
'''Следует различать NMU и запрос на добавление в список | '''Следует различать NMU и запрос на добавление в список мейнтейнеров! (acl пакета) ''' | ||
После введения сборки из git-репозиториев условия NMU существенно | После введения сборки из git-репозиториев условия NMU существенно упростились: если ваше изменение простое, то вы просто формируете задание на сборку и даёте на него ссылку мейнтейнерам, которые могут посмотреть и дать подтверждение. Получив подтверждение, вы отправляете это же задание на повторную сборку. В случае крупных изменений действуют обычные правила NMU. | ||
Помните, что NMU — это акт помощи, мейнтейнер может быть благодарен за неё. При этом ответственность за судьбу пакета несёт | Помните, что NMU — это акт помощи, мейнтейнер может быть благодарен за неё. При этом ответственность за судьбу пакета несёт мейнтейнер и поэтому он вправе в дальнейших сборках пакета делать то, что сочтёт нужным. | ||
Стоит приложить разумные усилия к тому, чтобы облегчить мейнтейнеру принятие решения — приложением к письму или багрепорту патча, ссылкой на конкретный коммит или репозиторий в git.alt, наконец, доброжелательным отношением. | Стоит приложить разумные усилия к тому, чтобы облегчить мейнтейнеру принятие решения — приложением к письму или багрепорту патча, ссылкой на конкретный коммит или репозиторий в git.alt, наконец, доброжелательным отношением. | ||
== Условия, требующие подготовки NMU == | == Условия, требующие подготовки NMU == | ||
NMU выполняется в случае выполнения одного из нижеследующих условий: | NMU выполняется в случае выполнения одного из нижеследующих условий: | ||
# Отсутствие реакции мейнтейнера на серьёзные ошибки (major, critical, blocker) в {{altbug|}} в течение двух недель. | # Отсутствие реакции мейнтейнера на серьёзные ошибки (major, critical, blocker) в {{altbug|}} в течение двух недель. | ||
# Наличие проблем с безопасностью в пакете. NMU можно делать в течении суток после обнаружения проблем с безопасностью в пакете, фиксации этой проблемы в bugzilla и отсутствии | # Наличие проблем с безопасностью в пакете. NMU можно делать в течении суток после обнаружения проблем с безопасностью в пакете, фиксации этой проблемы в bugzilla и отсутствии реакции мейнтейнера. | ||
# Несобираемость пакета в изменённой сборочной среде (например при обновлении gcc, glibc и т. д.) и отсутствии | # Несобираемость пакета в изменённой сборочной среде (например при обновлении gcc, glibc и т. д.) и отсутствии реакции мейнтейнера на сообщение в bugzilla в течении двух недель. | ||
NMU выполняется только для срочного исправления ошибок, во всех остальных случаях желающему помочь с ведением пакета следует либо стать ко-мейнтейнером пакета, либо забрать его себе по согласованию с текущим мейнтейнером. | NMU выполняется только для срочного исправления ошибок, во всех остальных случаях желающему помочь с ведением пакета следует либо стать ко-мейнтейнером пакета, либо забрать его себе по согласованию с текущим мейнтейнером. | ||
== Общие соображения == | == Общие соображения == | ||
Перед тем, как делать NMU, следует постараться найти контакт с текущим мейнтейнером — обязательно при помощи отчёта об ошибке в {{altbug|}}. Разумеется, никто не запрещает пообщаться с мейнтейнером по электронной почте, IM, телефону или лично, по мере возможности и уместности. Формально, всё общение с мейнтейнером должно быть зафиксировано в bugzilla, для упрощения дальнейшей работы арбитра или конфликтной комиссии, если такая понадобится. | |||
Перед тем, как делать NMU, следует постараться найти контакт с текущим мейнтейнером — обязательно при помощи отчёта об ошибке в {{altbug|}}. Разумеется, никто не запрещает пообщаться с | |||
Если в течение срока от суток до двух недель, в зависимости от срочности проблемы (серьёзная с безопасностью или разваливающая существенную часть репозитория, мешающая не единицам пакетов и/или пользователей), положительный ответ в bugzilla не поступил или проблема не исправлена — следует добавить комментарий с запросом на NMU к багам в {{altbug|}} и готовить обновление, если оно ещё не собрано для своих нужд. | Если в течение срока от суток до двух недель, в зависимости от срочности проблемы (серьёзная с безопасностью или разваливающая существенную часть репозитория, мешающая не единицам пакетов и/или пользователей), положительный ответ в bugzilla не поступил или проблема не исправлена — следует добавить комментарий с запросом на NMU к багам в {{altbug|}} и готовить обновление, если оно ещё не собрано для своих нужд. | ||
Строка 32: | Строка 30: | ||
== Правила подготовки NMU == | == Правила подготовки NMU == | ||
* Изменения должны быть минимальными и настолько неинтрузивными, насколько это возможно (не следует «зачищать» спек, передвигать модули или файлы и вообще чинить то, что не сломано — этим следует заниматься мейнтейнерам). | * Изменения должны быть минимальными и настолько неинтрузивными, насколько это возможно (не следует «зачищать» спек, передвигать модули или файлы и вообще чинить то, что не сломано — этим следует заниматься мейнтейнерам). | ||
* К NMU предъявляются обычные требования попадания пакета в репозиторий (в частности, наследование по коммитам при использовании gear). | * К NMU предъявляются обычные требования попадания пакета в репозиторий (в частности, наследование по коммитам при использовании gear). | ||
Строка 41: | Строка 38: | ||
=== Версионирование === | === Версионирование === | ||
Если исправление можно сделать в рамках той же upstream-версии пакета, что находится в репозитории, то в версию (релиз) необходимо добавить дополнительное число, отделённое точкой и по нумерации начинающееся с единицы, чтобы не пересечься с нормальной нумерацией версий у основного мейнтейнера. | Если исправление можно сделать в рамках той же upstream-версии пакета, что находится в репозитории, то в версию (релиз) необходимо добавить дополнительное число, отделённое точкой и по нумерации начинающееся с единицы, чтобы не пересечься с нормальной нумерацией версий у основного мейнтейнера. | ||
Строка 49: | Строка 45: | ||
== Управление доступом == | == Управление доступом == | ||
Мейнтейнер предоставляет или изымает возможность NMU на ведомые им пакеты при помощи [[Git.alt/Справочник#Управление ACL пакетов|git.alt]]. | Мейнтейнер предоставляет или изымает возможность NMU на ведомые им пакеты при помощи [[Git.alt/Справочник#Управление ACL пакетов|git.alt]]. | ||
В случае отсутствия реакции | В случае отсутствия реакции мейнтейнера на запросы по предоставлению доступа, право на NMU предоставляет один из администраторов репозитория. | ||
== Ссылки == | == Ссылки == |
Версия от 19:48, 2 апреля 2009
NMU (Non-Maintainer Upload) — обновление пакета не сопровождающим его.
Следует различать NMU и запрос на добавление в список мейнтейнеров! (acl пакета)
После введения сборки из git-репозиториев условия NMU существенно упростились: если ваше изменение простое, то вы просто формируете задание на сборку и даёте на него ссылку мейнтейнерам, которые могут посмотреть и дать подтверждение. Получив подтверждение, вы отправляете это же задание на повторную сборку. В случае крупных изменений действуют обычные правила NMU.
Помните, что NMU — это акт помощи, мейнтейнер может быть благодарен за неё. При этом ответственность за судьбу пакета несёт мейнтейнер и поэтому он вправе в дальнейших сборках пакета делать то, что сочтёт нужным.
Стоит приложить разумные усилия к тому, чтобы облегчить мейнтейнеру принятие решения — приложением к письму или багрепорту патча, ссылкой на конкретный коммит или репозиторий в git.alt, наконец, доброжелательным отношением.
Условия, требующие подготовки NMU
NMU выполняется в случае выполнения одного из нижеследующих условий:
- Отсутствие реакции мейнтейнера на серьёзные ошибки (major, critical, blocker) в bugzilla.altlinux.org в течение двух недель.
- Наличие проблем с безопасностью в пакете. NMU можно делать в течении суток после обнаружения проблем с безопасностью в пакете, фиксации этой проблемы в bugzilla и отсутствии реакции мейнтейнера.
- Несобираемость пакета в изменённой сборочной среде (например при обновлении gcc, glibc и т. д.) и отсутствии реакции мейнтейнера на сообщение в bugzilla в течении двух недель.
NMU выполняется только для срочного исправления ошибок, во всех остальных случаях желающему помочь с ведением пакета следует либо стать ко-мейнтейнером пакета, либо забрать его себе по согласованию с текущим мейнтейнером.
Общие соображения
Перед тем, как делать NMU, следует постараться найти контакт с текущим мейнтейнером — обязательно при помощи отчёта об ошибке в bugzilla.altlinux.org. Разумеется, никто не запрещает пообщаться с мейнтейнером по электронной почте, IM, телефону или лично, по мере возможности и уместности. Формально, всё общение с мейнтейнером должно быть зафиксировано в bugzilla, для упрощения дальнейшей работы арбитра или конфликтной комиссии, если такая понадобится.
Если в течение срока от суток до двух недель, в зависимости от срочности проблемы (серьёзная с безопасностью или разваливающая существенную часть репозитория, мешающая не единицам пакетов и/или пользователей), положительный ответ в bugzilla не поступил или проблема не исправлена — следует добавить комментарий с запросом на NMU к багам в bugzilla.altlinux.org и готовить обновление, если оно ещё не собрано для своих нужд.
Одновременно с заливкой NMU настойчиво рекомендуется указать мейнтейнеру на git с исправлением (если мейнтейнер использует gear), либо приложить к багам патч (в противном случае).
Правила подготовки NMU
- Изменения должны быть минимальными и настолько неинтрузивными, насколько это возможно (не следует «зачищать» спек, передвигать модули или файлы и вообще чинить то, что не сломано — этим следует заниматься мейнтейнерам).
- К NMU предъявляются обычные требования попадания пакета в репозиторий (в частности, наследование по коммитам при использовании gear).
- Если в spec-файле отсутствует поле Packager, то его необходимо добавить и указать в нём мейнтейнера пакета.
- Строка в changelog пакета должна содержать слово «NMU», а также ссылки на номера багрепортов. Мейнтейнеру следует сохранить или импортировать эту запись при дальнейшем сопровождении пакета.
Не забывайте и Гиппократа: «превыше всего, не навреди». Лучше на пакете будет висеть открытый багрепорт по серьёзной проблеме, чем она будет «разрешена» нерабочим патчем или даже исправлена, но сломано ещё что-нибудь.
Версионирование
Если исправление можно сделать в рамках той же upstream-версии пакета, что находится в репозитории, то в версию (релиз) необходимо добавить дополнительное число, отделённое точкой и по нумерации начинающееся с единицы, чтобы не пересечься с нормальной нумерацией версий у основного мейнтейнера.
Таким образом, пакет, собранный мейнтейнером с релизом alt3 и автоматически пересобранный QA Team Robot с релизом alt3.1 при NMU должен получить релиз alt3.1.1.
Если для исправления необходимо обновление версии в репозитории, то NMU выполняется с нормальной нумерацией.
Управление доступом
Мейнтейнер предоставляет или изымает возможность NMU на ведомые им пакеты при помощи git.alt.
В случае отсутствия реакции мейнтейнера на запросы по предоставлению доступа, право на NMU предоставляет один из администраторов репозитория.