Junior Jobs

Материал из openSUSE

(Различия между версиями)
м
м
Строка 19: Строка 19:
#* He can also specify some other details (alternative way of sending patch, not accepting submitrequests and getting patches from upstream, ...)
#* He can also specify some other details (alternative way of sending patch, not accepting submitrequests and getting patches from upstream, ...)
# Желающий принять участие (далее - участник)  находит подобные ошибки с помощью - http://tr.im/opensusejj
# Желающий принять участие (далее - участник)  находит подобные ошибки с помощью - http://tr.im/opensusejj
-
# Участник сообщает о том что он желает исправить эту ошибку и сколько времени это приблизительно займет в комментарий
+
# Участник добавляет комментарий, о том что он желает исправить эту ошибку и сколько времени это приблизительно займет:
#* Что-то вроде: "''I'll take care of this during the weekend''" ("''Я исправлю это в конце недели''")
#* Что-то вроде: "''I'll take care of this during the weekend''" ("''Я исправлю это в конце недели''")
-
# Участник исправляет ошибку, сообщите об этом в основной проект (если эта ошибка проявляется не только в suse) и отправляет запрос на рассмотрение (submitrequest) его исправления в OBS-проект, а также добавляет комментарий с номером запроса в баг трекер(Bugzilla)
+
# Участник исправляет ошибку, сообщите об этом в основной проект (если эта ошибка проявляется не только в suse) и отправляет запрос на рассмотрение (submitrequest) его исправления в OBS-проект, а также добавляет комментарий с номером запроса в багтрекер(bugzilla)
#* Если в течении указанного периода ошибка не была исправлена - она будет передана другому участнику, либо исправлена разработчиком
#* Если в течении указанного периода ошибка не была исправлена - она будет передана другому участнику, либо исправлена разработчиком
# 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
# 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
Строка 30: Строка 30:
* Скачайте исходники пакета <br> <tt>osc co home:''login'':branches:''project/package''</tt>
* Скачайте исходники пакета <br> <tt>osc co home:''login'':branches:''project/package''</tt>
* Перейдите в соответствующую директорию <br> <tt>cd home:''login'':branches:''project/package''</tt>
* Перейдите в соответствующую директорию <br> <tt>cd home:''login'':branches:''project/package''</tt>
-
* If you need to patch anything, ''quilt'' may be usefull
+
* Если вам нужно что-нибудь пропатчить - в этом вам поможет утилита ''quilt''
** Распакуйте архив(ы) с исходниками <br> <tt>quilt setup ''package.spec''</tt>
** Распакуйте архив(ы) с исходниками <br> <tt>quilt setup ''package.spec''</tt>
** Опять перейдите в соответствующую директорию <br> <tt>cd ''unpacked_package_directory''</tt>
** Опять перейдите в соответствующую директорию <br> <tt>cd ''unpacked_package_directory''</tt>
Строка 38: Строка 38:
** Modify files (this and the previous task could be done together with  <tt>quilt edit ''file''</tt>)
** Modify files (this and the previous task could be done together with  <tt>quilt edit ''file''</tt>)
** Create final patch <br> <tt>quilt refresh -p0 ''package-version-brief-description.patch''</tt>
** Create final patch <br> <tt>quilt refresh -p0 ''package-version-brief-description.patch''</tt>
-
* Не забудьте добавить [[Packaging/Patches#Patch_Markup_.28also_called_.22Tagging_Patches.22.29|спец. метки для всех новых патчей]], а также добавить запись в ''.changes''-файл (с помощью <tt>osc vc</tt>)
+
* Не забудьте добавить [[Packaging/Patches#Patch_Markup_.28also_called_.22Tagging_Patches.22.29|спец. метки для всех новых патчей]], а также добавить запись в ''.changes''-файл (с помощью: <tt>osc vc</tt>)
-
* After fixing everything and reporting things upstream, all that is left is to submit the changes to the build service:
+
* После того как ошибка исправлена и в текущую ветку разработки отправлено соответствующее извещение, осталось только отправить изменения в службу сборки (build service):
-
** run first - only if you added or removed files<br><tt>osc addremove</tt>
+
** первое (только если вы добавляли или удаляли файлы): <br><tt>osc addremove</tt>
-
** then commit the changes<br><tt>osc commit</tt>
+
** затем зафиксировать (commit) изменения
-
** and send a submitrequest to the maintainer<br> <tt>osc sr -m 'Fixed bug #1234'</tt>
+
<br><tt>osc commit</tt>
-
* And of course report to the bugzilla that bug is fixed in request
+
** и отправляет запрос на рассмотрение (submitrequest)
-
** Something like "''Fix sent as sr#456, reported upstream <nowiki>http://bugzilla.foo.bar/?id=1234</nowiki>''"
+
разработчику
-
* After acceptance, your name will be in changelog forever
+
<br> <tt>osc sr -m 'Fixed bug #1234'</tt>
-
** List of Junior Jobs already done: http://tr.im/opensusejjfixed
+
* И конечно же, сообщить в багтрекер(bugzilla) что ошибка исправлена в соответствующем OBS-запросе
 +
** Пример: "''Fix sent as sr#456, reported upstream <nowiki>http://bugzilla.foo.bar/?id=1234</nowiki>''"
 +
* После одобрения изменений, ваше имя навсегда останется в списке изменений(changelog)
 +
** Список завершенных новичками работ: http://tr.im/opensusejjfixed
[[en:Junior_Jobs]]
[[en:Junior_Jobs]]
[[ja:Junior Jobs]]
[[ja:Junior Jobs]]

Версия 21:27, 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»