Home Wiki > openSUSE:Исправление ошибок
Sign up | Login

openSUSE:Исправление ошибок

tagline: Материал из 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)