openSUSE:Исправление ошибок
Любой может улучшить дистрибутив openSUSE исправляя ошибки в пакетах. Пакеты иногда могут иметь какие-нибудь ошибки и большинство из них легко исправить. Эта статья описывает шаги, которые нужно предпринять для исправления ошибки в пакете.
Примечание: Следующий текст не достаточно подробен для новых майнтейнеров и требует больше объяснений. Смотри так же Руководство по использованию службы сборки
Смотри ссылки выше для получения большей информации. Документацию по сборке пакетов читай здесь Сборка пакетов!
Как исправить ошибку в пакете
package = имени пакета с которым вы хотите работать
- Создайте собственную ветвь OBS-проекта, с которой и будете работать в дальнейшем:
osc branch openSUSE:Factory package - Скачайте исходники пакета
osc co home:login:branches:project/package - Перейдите в соответствующую директорию
cd home:login:branches:project/package - Если вам нужно что-нибудь пропатчить — в этом вам поможет утилита quilt
- Распакуйте архив(ы) с исходниками
quilt setup package.spec - Опять перейдите в соответствующую директорию
cd unpacked_package_directory - Примените существующие патчи к распакованным исходникам
quilt push -a - Создайте новый патч
quilt new package-version-brief-description.patch - Отметьте какие файлы были изменены
quilt add file - Измените файлы (текущий и предыдущий шаги должны выполнится вместе quilt edit file)
- Создайте финальный патч
quilt refresh -p0 package-version-brief-description.patch
- Распакуйте архив(ы) с исходниками
- Не забудьте добавить спец. метки для всех новых патчей, а также добавить запись в .changes-файл (с помощью: osc vc)
- После того как ошибка исправлена и в текущую ветку разработки отправлено соответствующее извещение, осталось только отправить изменения в службу сборки (build service):
- первое (только если вы добавляли или удаляли файлы):
osc addremove - затем зафиксировать (commit) изменения
osc commit - и отправляет запрос на рассмотрение (submitrequest) разработчику
osc sr -m 'Fixed bug #1234'
- первое (только если вы добавляли или удаляли файлы):
- И конечно же, сообщить в багтрекер(bugzilla) что ошибка исправлена в соответствующем OBS-запросе
- Пример: "Fix sent as sr#456, reported upstream http://bugzilla.foo.bar/?id=1234"
- После одобрения изменений, ваше имя навсегда останется в списке изменений(changelog)