Junior Jobs

Материал из openSUSE

(Различия между версиями)
м
м
 
Строка 41: Строка 41:
* После того как ошибка исправлена и в текущую ветку разработки отправлено соответствующее извещение, осталось только отправить изменения в службу сборки (build service):
* После того как ошибка исправлена и в текущую ветку разработки отправлено соответствующее извещение, осталось только отправить изменения в службу сборки (build service):
** первое (только если вы добавляли или удаляли файлы): <br><tt>osc addremove</tt>
** первое (только если вы добавляли или удаляли файлы): <br><tt>osc addremove</tt>
-
** затем зафиксировать (commit) изменения  
+
** затем зафиксировать (commit) изменения <br><tt>osc commit</tt>
-
<br><tt>osc commit</tt>
+
** и отправляет запрос на рассмотрение (submitrequest) разработчику <br> <tt>osc sr -m 'Fixed bug #1234'</tt>
-
** и отправляет запрос на рассмотрение (submitrequest)  
+
-
разработчику
+
-
<br> <tt>osc sr -m 'Fixed bug #1234'</tt>
+
* И конечно же, сообщить в багтрекер(bugzilla) что ошибка исправлена в соответствующем OBS-запросе
* И конечно же, сообщить в багтрекер(bugzilla) что ошибка исправлена в соответствующем OBS-запросе
** Пример: "''Fix sent as sr#456, reported upstream <nowiki>http://bugzilla.foo.bar/?id=1234</nowiki>''"
** Пример: "''Fix sent as sr#456, reported upstream <nowiki>http://bugzilla.foo.bar/?id=1234</nowiki>''"

Текущая версия на 21:29, 31 октября 2009

Википедия Эта статья содержит фрагменты на иностранном языке .
Вы можете помочь проекту, переведя её до конца.


Junior Job - это работа над ошибками с низким приоритетом, который легко исправить. Каждый разработчик иногда допускает такие ошибки. В идеале программа не должна их содержать, но обычно у разработчика есть много гораздо более важных и неотложных дел (например: ошибки с высоким приоритетом), поэтому такие ошибки могут долго ждать исправления. Это хорошая возможность для тех членов сообщества, которые хотят участвовать в разработке, но не знает как.

Содержание

openSUSE Build Service Jobs

The openSUSE Build Service team maintains a wiki page with tasks that can be picked up by community.

Ошибки в пакетах

Пакеты часто содержат ошибок и довольно много из них легко исправить, и эти ошибки могут быть помечены как Работа для начинающих (Junior Job). Если ошибка отмечена как Junior Job - это не значит, что сопровождающий пакета забыл о ней! - если не найдется волонтера готового исправить ее, то в конечном счете это сделает разработчик. Это просто легкий способ узнать, как внести свой вклад в проект.

Как это работает

  1. Разработчик решает что ошибка подходит для Junior Job
  2. Он добавляет префикс JJ: в сводку ошибки
    • There is an edit link next to the summary at the end of bugzilla page
    • He can also specify some other details (alternative way of sending patch, not accepting submitrequests and getting patches from upstream, ...)
  3. Желающий принять участие (далее - участник) находит подобные ошибки с помощью - http://tr.im/opensusejj
  4. Участник добавляет комментарий, о том что он желает исправить эту ошибку и сколько времени это приблизительно займет:
    • Что-то вроде: "I'll take care of this during the weekend" ("Я исправлю это в конце недели")
  5. Участник исправляет ошибку, сообщите об этом в основной проект (если эта ошибка проявляется не только в suse) и отправляет запрос на рассмотрение (submitrequest) его исправления в OBS-проект, а также добавляет комментарий с номером запроса в багтрекер(bugzilla)
    • Если в течении указанного периода ошибка не была исправлена - она будет передана другому участнику, либо исправлена разработчиком
  6. Maintainer will review the request and either accept it and push it to the factory or decline it and tell contributor what was wrong and needs to fixed

Как исправить ошибку в пакете

  • Создайте собственную ветвь 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
    • Modify files (this and the previous task could be done together with quilt edit file)
    • Create final patch
      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)
Источник — «http://ru.opensuse.org/Junior_Jobs»