          Rekomendacii po rabote s soobscheniyami o problemah

  Dag-Erling Smo/rgrav

  Hiten Pandya

   $FreeBSD: doc/ru_RU.KOI8-R/articles/pr-guidelines/article.sgml,v
   1.4 2006/04/05 07:27:26 bvs Exp $

   FreeBSD `eto zaregistrirovannaya torgovaya marka FreeBSD
   Foundation.

   Motif, OSF/1 i UNIX `eto zaregistrirovannye torgovye marki, a IT
   DialTone i The Open Group `eto torgovye marki Open Group v
   Soedinennyh SHtatah i drugih stranah.

   Mnogie iz oboznachenij, ispol'zuemye proizvoditelyami i prodavcami
   dlya oboznacheniya svoih produktov, zayavlyayutsya v kachestve
   torgovyh marok. Kogda takie oboznacheniya poyavlyayutsya v `etom
   dokumente, i Proektu FreeBSD izvestno o torgovoj marke, k
   oboznacheniyu dobavlyaetsya znak ''(TM)'' ili ''(R)''.

   `Eto rukovodstvo opisyvaet rekomenduemuyu praktiku obrabotki
   soobschenij ob oshibkah FreeBSD (Problem Reports - PR). Hotya `eti
   rekomendacii prednaznacheny dlya Gruppy podderzhki bazy dannyh
   soobschenij o problemah FreeBSD (PR Database Maintenance Team)
   <freebsd-bugbusters@FreeBSD.org>, im dolzhny sledovat' vse, kto
   rabotaet s `etimi soobscheniyami.

     --------------------------------------------------------------

1. Vvedenie

   GNATS yavlyaetsya sistemoj upravleniya neispravnostyami
   (soobscheniyami ob oshibkah), kotoraya ispol'zuetsya v Proekte
   FreeBSD. Tak kak tschatel'noe otslezhivanie zametnyh iz"yanov v
   programmnom obespechenii vazhno dlya obespecheniya kachestva
   FreeBSD, pravil'noe ispol'zovanie GNATS neobhodimo dlya
   dal'nejshego razvitiya Proekta.

   Dostup k GNATS daiotsya razrabotchikam FreeBSD, a takzhe bolee
   shirokomu soobschestvu. Dlya togo, chtoby podderzhivat'
   celostnost' bazy dannyh i edinstva raboty s pol'zovatelyami,
   vyrabotannye rekomendacii pokryvayut obschie voprosy upravleniya
   problemami, takie, kak napisanie otklika, obrabotku uzhe zakrytyh
   voprosov i tak dalee.

     --------------------------------------------------------------

2. ZHiznennyj cikl soobscheniya ob oshibke

     * Respondent posylaet PR pri pomoschi utility send-pr(1) i
       poluchaet podtverzhdayuschee soobschenie.

     * Srednestaticheskij kommitter (Vasya) proyavlyaet interes k PR
       i naznachaet ego samomu sebe, ili drugoj lyubitel' oshibok
       (Petya) reshaet, chto luchshe vseh s opisannoj problemoj
       spravitsya imenno Vasya, i naznachaet eio Vase.

     * Vasya svyazyvaetsya s Respondentom (pri `etom vsya perepiska
       dolzhna fiksirovat'sya) i vyyasnyaet prichinu poyavleniya
       problemy. Zatem on dokumentiruet prichinu v zhurnale audita, i
       perevodit PR v sostoyanie ''analyzed'' (proanalizirovano).

     * Vasya provodit bessonnuyu noch' i vypuskaet patch, kotoraya,
       po ego mneniyu, reshaet oznachennuyu problemu, i zatem
       posylaet eio otvetom, prosya Respondenta protestirovat' ego.
       Zatem on perevodit PR v sostoyanie ''feedback''.

     * CHerez neskol'ko takih iteracij Vasya i Respondent
       udovletvoryayutsya poluchayuschimsya patchem, i Vasya
       perenosit ego v derevo -CURRENT (ili neposredstvenno v
       -STABLE, esli `etoj problemy v -CURRENT ne nablyudaetsya), pri
       `etom pri vypolnenii kommitta v soputstvuyuschem soobschenii
       delaetsya ssylka na soobschenie o probleme (a takzhe
       upominaetsya Respondent, esli on poslednij ves' ili chast'
       patcha), i, esli `eto nuzhno, nachinaetsya otschiot dlya MFC.

     * Esli patchu ne nuzhno vypolnenie MFC, Vasya zakryvaet PR.

     * Esli patch trebuet vypolneniya MFC, Vasya ostavlyaet
       Soobschenie o probleme v sostoyanii ''patched'' do vypolneniya
       operacii MFC, a zatem zakryvaet ego.

     Zamechanie: Mnogie PR prisylayutsya s ochen' slabym opisaniem
     problemy, a nekotorye iz nih libo ochen' slozhno reshit', libo
     yavlyayutsya vershinoj ajsberga drugoj, bolee shirokoj problemy;
     v `etih sluchayah ochen' vazhno poluchit' vsyu informaciyu,
     trebuemuyu dlya resheniya problemy. Esli opisannaya problema ne
     mozhet byt' reshena, ili proyavitsya snova, neobhodimo povtorno
     otkryt' PR.

     Zamechanie: Adres ''`elektronnoj pochty'' mozhet okazat'sya
     nedostupnym. V `etom sluchae otvet'te na PR obychnym obrazom i
     poprosite Respondenta (v svoiom soobschenii) predostavit'
     rabochij adres `elektronnoj pochty. Obychno `eto proishodit v
     sluchayah ispol'zovaniya send-pr(1) v sistemah s vyklyuchennoj
     ili neustanovlennoj pochtovoj sistemoj.

     --------------------------------------------------------------

3. Sostoyanie soobschenij o problemah

   Pri vypolnenii nekotoryh dejstvij ochen' vazhno obnovlyat'
   sostoyanie PR. `Eto sostoyanie dolzhno v tochnosti otrazhat'
   tekuschee sostoyanie raboty nad PR.

   Primer 1. Malen'kij primer togo, kogda imenno nuzhno menyat'
   sostoyanie PR

   Kogda PR nahoditsya v rabote i otvetstvennyj razrabotchik(i)
   udovletvorion poluchayuschimsya resheniem, to on otvechaet na PR i
   menyaet ego sostoyanie na ''feedback''. V `etot moment Respondent
   dolzhen izuchit' ispravlenie v svoej situacii i otvetit',
   dejstvitel'no li byl ustranion defekt.

   Soobschenie o probleme mozhet nahoditsya v odnom iz sleduyuschih
   sostoyanij:

   open

           Nachal'noe sostoyanie; problema byla postavlena i eio
           neobhodimo rassmotret'.

   analyzed

           Problema byla rassmotrena, ischetsya eio reshenie.

   feedback

           Dal'nejshaya rabota trebuet dopolnitel'noj informacii ot
           Respondenta ili soobschestva; vozmozhno pomeschenie
           informacii o predlagaemom reshenii.

   patched

           Patch byl perenesion v derevo ishodnyh tekstov, no chto-to
           (vypolnenie MFC ili, vozmozhno, podtverzhdenie
           Respondenta) eschio trebuetsya dodelat'.

   suspended

           Rabota nad problemoj byla ostanovlena iz-za otsutstviya
           informacii ili neobhodimyh resursov. `Eto pervyj kandidat
           dlya teh, kto ischet proekt dlya raboty nad nim. Esli
           problema voobsche ne mozhet byt' reshena, ona budet
           zakryta, a ne priostanovlena. Proekt sozdaniya
           dokumentacii ispol'zuet ''suspended'' dlya
           ''zhelatel'nyh'' novovvedenij, kotorye trebuyut
           znachitel'noj raboty, dlya kotoroj ni u kogo poka net
           vremeni.

   closed

           Soobschenie o probleme bylo zakryto, kogda vse izmeneniya
           byli pereneseny, zadokumentirovany i protestirovany, libo
           kogda ispravlenie problemy bylo otvergnuto.

     Zamechanie: Sostoyanie ''patched'' napryamuyu svyazano s
     predlagaemymi resheniyami, tak chto vy mozhete perejti srazu k
     sostoyaniyu ''closed'', esli Respondent ne mozhet protestirovat'
     patch, libo na vashih testovyh progonah on rabotaet.

     --------------------------------------------------------------

4. Tipy soobschenij o problemah

   Pri obrabotke soobschenij ob oshibkah, libo v kachestve
   razrabotchika, imeyuschego neposredstvennyj dostup k baze dannyh
   GNATS, libo v kachestve kontributora, kotoryj prosmatrivaet bazu
   dannyh i posylaet svoi otkliki s patchami, kommentariyami,
   pozhelaniyami ili zaprosami na izmenenie, vy budete imet' delo s
   neskol'kimi razlichnymi tipami PR.

     * PR, kotorye uzhe komu-to naznacheny.

     * Povtory suschestvuyuschih PR.

     * Zabroshennye PR

     * Nekorrektnye PR

   V posleduyuschih razdelah opisyvaetsya, dlya chego prednaznacheny
   te ili inye tipy PR, usloviya otneseniya PR k odnomu iz `etih
   tipov, i kakoe vnimanie nuzhno udelyat' kazhdomu iz `etih tipov.

     --------------------------------------------------------------

  4.1. Naznachenie PR

   Esli v PR v zapolnennom pole responsible ukazano imya
   razrabotchika FreeBSD, `eto znachit, chto PR vzyata `etim
   chelovekom dlya dal'nejshej raboty.

   Uzhe naznachennoe PR ne dolzhno trogat'sya nikem, krome togo, komu
   `eta problema naznachena. Esli u vas est' kommentarii, napishite
   otklik. Esli po kakoj-to prichine vy dumaete, chto PR dolzhna
   izmenit' svoio sostoyanie ili eio neobhodimo naznachit' komu-to
   drugomu, poshlite soobschenie tomu, kto naznachen otvetstvennym.
   Esli `etot chelovek ne otvetit v techenie dvuh nedel', smenite
   naznachenie PR, a dal'she dejstvujte po svoemu usmotreniyu.

     --------------------------------------------------------------

  4.2. Povtornye PR

   Esli vy obnaruzhite, chto odin i tot zhe vopros opisyvaetsya bolee
   chem v odnom PR, vyberite to, chto soderzhit maksimal'nyj ob"iom
   poleznoj informacii i zakrojte vse ostal'nye, chiotko ukazav nomer
   bolee polnogo PR. Esli neskol'ko PR soderzhat ne
   peresekayuschuyusya informaciyu, perenesite vsyu nedostayuschuyu
   informaciyu v kakoj-libo otklik, vklyuchaya ssylki na ostal'nye
   PR; zatem zakrojte drugie PR (kotorye teper' polnost'yu
   perekryty).

     --------------------------------------------------------------

  4.3. Prosrochennye PR

   PR schitaetsya prostrochennym, esli ono ne modificirovalos' v
   techenie bolee polugoda. Pri obrabotke prosrochennyh PR
   ispol'zujte sleduyuschuyu proceduru:

     * Esli PR dostatochno podrobna, popytajtes' vosproizvesti
       problemu v dereve -CURRENT i -STABLE. Esli vam `eto udalos',
       napishite otklik, opisyvayuschij vashi izyskaniya i
       popytajtes' najti kogo-to, komu `etu problemu mozhno
       naznachit'. Esli `eto podhodit, izmenite sostoyanie na
       ''analyzed''.

     * Esli PR opisyvaet problemu, kotoraya, kak vy znaete,
       yavlyaetsya rezul'tatom nepravil'nogo ispol'zovaniya
       (nekorrektnaya nastrojka ili chto-to eschio), napishite
       otklik, v kotorom opishite, chto avtor ishodnogo sdelal ne
       tak, a zatem zakrojte PR s opisaniem ''User error'' ili
       ''Configuration error''.

     * Esli v PR opisyvaetsya oshibka, kotoraya, kak vy znaete, byla
       ispravlena kak v -CURRENT, tak i -STABLE, zakrojte ego s
       soobscheniem, ukazyvayuschim na daty ispravlenij v kazhdoj
       vetke.

     * Esli PR opisyvaet oshibku, kotoraya, po vashim dannym, byla
       ispravlena v -CURRENT, no ne v -STABLE, popytajtes' vyyasnit',
       kogda chelovek, ispravivshij `etu oshibku, planiruet vypolnit'
       MFC, libo poprobujte najti dlya `etogo kogo-to eschio (mozhet,
       `eto budete vy sami?). Izmenite sostoyanie soobscheniya na
       ''feedback'' i perenaznach'te ego komu-libo, kto budet delat'
       MFC.

     * V ostal'nyh sluchayah zaprosite u avtora ishodnogo
       soobscheniya podtverzhdeniya togo, chto problema vsio eschio
       prisutstvuet v novyh versiyah. Esli avtor ne otvechaet v
       techenie mesyaca, zakrojte PR s pometkoj ''Feedback timeout''.

     --------------------------------------------------------------

  4.4. Nezapolnennye PR

   GNATS trebovatel'no podhodit k formatu prisylaemyh soobschenij ob
   oshibkah. Vot pochemu mnogo PR zakanchivayut zhizn' v sostoyanii
   ''misfiled'', esli posylayuschij zabyl zapolnit' pole ili vviol
   nepravil'nye dannye v nekotorye polya PR. `Etot razdel pomozhet
   predostavit' osnovnoj ob"iom neobhodimyh podrobnostej dlya
   razrabotchikov FreeBSD, kotoryj mozhet pomoch' im zakryt' ili
   povtorno zapolnit' `eti PR.

   Esli sistema GNATS ne mozhet ponyat', chto delat' s soobscheniem
   ob oshibke, kotoroe dostiglo bazy dannyh, ona opredelyaet
   gnats-admin v kachestve otvetstvennogo za PR i pomeschaet
   soobschenie v kategoriyu pending. Teper' `eto PR v sostoyanii
   ''misfiled'' i ono ne budet poyavlyat'sya v spiskah soobschenij ob
   oshibkah, esli tol'ko kto-to special'no ne zaprosit perechen' vseh
   nezapolnennyh PR. Esli u vas est' dostup k mashinam v klastere
   FreeBSD, mozhete vospol'zovat'sya komandoj query-pr dlya prosmotra
   spiska PR, kotorye byli nekorrektno sformirovany:

 % query-pr -x -q -r gnats-admin
    52458 gnats-ad   open      serious   medium    Re: declaration clash f
    52510 gnats-ad   open      serious   medium    Re: lots of sockets in
    52557 gnats-ad   open      serious   medium
    52570 gnats-ad   open      serious   medium    Jigdo maintainer update

   Kak pravilo, PR vrode perechislennyh vyshe okazyvayutsya
   nezapolnennymi po odnoj iz sleduyuschih prichin:

     * Otklik na suschestvuyuschee PR, poslannyj po `elektronnoj
       pochte, imeet nevernyj format zagolovka Subject:.

     * Pri zapolnenii shablona send-pr(1) posylayuschij zabyl ukazat'
       pravil'noe znachenie dlya kategorii ili klassa PR.

     * `Eto ne real'noe PR, a kakoe-to sluchajnoe soobschenie,
       poslannoe na adres <bug-followup@FreeBSD.org> ili
       <freebsd-gnats-submit@FreeBSD.org>.

     --------------------------------------------------------------

    4.4.1. Otkliki nepravil'no oformleny kak novye PR

   K naibolee massovoj kategorii nepravil'no oformlennyh PR
   otnosyatsya te, u kotoryh neverna tema pis'ma, i imenno oni na
   samom dele trebuet samyh bol'shih usilij ot razrabotchikov. `Eto
   ne nastoyaschie PR, opisyvayuschie otdel'nye oshibki. Kogda po
   odnomu iz adresov, kotoryj ''proslushivaet'' GNATS na predmet
   obrabotki vhodyaschih soobschenij, prinimaetsya otvet na
   suschestvuyuschee PR, to tema otveta dolzhna byt' vsegda v takom
   vide:

 Subject: Re: category/number: staraya tema

   Bol'shinstvo pochtovyh programm, kogda vy otvechaete na
   original'noe pochtovoe soobschenie s PR, budut dobavlyat' chast'
   ''Re: ''. CHast' ''category/number: '' yavlyaetsya soglasheniem,
   specifichnym dlya GNATS, kotoroe vy dolzhny vypolnit', vruchnuyu
   postaviv ego v temu pis'ma s otklikom.

   Vse razrabotchiki FreeBSD, imeyuschie pryamoj dostup k baze dannyh
   GNATS, mogut regulyarno proveryat' nalichie takih PR i
   peremeschat' zainteresovavshie ih v otkliki k original'nomu PR
   (poslav korrektnyj otklik na soobschenie ob oshibke na adres
   <bug-followup@FreeBSD.org>). Zatem nepravil'no oformlennoe PR
   mozhet byt' zakryto s primerno takim poyasneniem:

 Your problem report was misfiled.  Please use the format
 "Subject: category/number: original text" when following
 up to older, existing PRs.  I've added the relevant bits
 from the body of this PR to kern/12345

   Poisk po komande query-pr original'nogo PR, na kotoroe otvechaet
   nepravil'no oformlennyj otklik, legko vypolnyaetsya sleduyuschim
   obrazom:

 % query-pr -q -y "some text"

   Posle togo, kak vy obnaruzhili original'noe PR i nepravil'no
   oformlennyj otklik na nego, vospol'zujtes' parametrom -F komandy
   query-pr dlya sohraneniya polnogo teksta vseh otnosyaschihsya k
   delu PR v fajle formata pochtovogo yaschika UNIX(R), to est':

 % query-pr -F 52458 52474 > mbox

   Teper' vy mozhete ispol'zovat' lyubuyu pochtovuyu programmu dlya
   prosmotra vseh PR, kotorye vy sohranili v fajle mbox. Skopirujte
   tekst vseh neverno oformlennyh PR v otklike na original'noe
   soobschenie o probleme, i obyazatel'no vklyuchite pravil'nyj
   zagolovok Subject:. Posle `etogo zakrojte neverno oformlennoe PR.
   Kogda vy zakryvaete takie PR, pomnite, chto avtor poluchaet
   opoveschenie po pochte o tom, chto ego PR smenilo sostoyanie na
   ''closed''. V poyasnenii obyazatel'no opisyvajte v podrobnostyah,
   pochemu `eto sostoyanie izmenilos'. Obychno podojdiot primerno
   sleduyuschij tekst:

 Followup to ports/45364 misfiled as a new PR.
 This was misfiled because the subject didn't have the format:

         Re: ports/45364: ...

   V `etom sluchae avtor nepravil'no oformlennogo PR budet znat',
   chego neobhodimo izbegat' pri otpravke otklika na
   suschestvuyuschee PR.

     --------------------------------------------------------------

    4.4.2. Nekorrektnye PR s otsutstvuyuschimi polyami

   Ko vtoromu tipu nepravil'no oformlennyh PR obychno otnosyat te,
   chto yavlyayutsya rezul'tatom zabyvchivosti avtorov, kotorye ne
   zapolnili vse neobhodimye polya pri napisanii pervonachal'nogo PR.

   Otsutstvie ili oshibochnoe zadanie polej ''category'' ili
   ''class'' mozhet privesti k poyavleniyu nekorrektnogo
   soobscheniya. Razrabotchiki mogut ispol'zovat' edit-pr(1) dlya
   smeny znachenij kategorii ili klassa `etih nepravil'no oformlennyh
   PR na bolee podhodyaschie i sohranit' PR.

   Drugoj rasprostranionnoj prichinoj poyavleniya nepravil'no
   oformlennyh PR yavlyayutsya voprosy formatirovaniya, kvotirovanie,
   izmenenie ili udalenie shablona send-pr, kak po vine
   pol'zovatelya, redaktiruyuschego shablon, tak i pochtovyh
   programm, kotorye prodelyvayut strannye veschi s obychnymi
   tekstovymi soobscheniyami. `Eto proishodit ne postoyanno, i mozhet
   byt' ispravleno programmoj edit-pr; `eto trebuet nekotoryh usilij
   so storony razrabotchika, kotorye perevodit PR, odnako v
   bol'shinstve sluchaev `eto mozhno sdelat' otnositel'no legko.

     --------------------------------------------------------------

    4.4.3. Nepravil'nye PR, kotorye na samom dele ne yavlyayutsya
    soobscheniyami ob oshibkah

   Inogda pol'zovatel' zhelaet soobschit' ob oshibke i posylaet GNATS
   po `elektronnoj pochte obychnoe soobschenie. Skripty GNATS
   rabotaet s soobscheniyami ob oshibkah, kotorye formatirovany pri
   pomoschi shablona send-pr(1). Oni ne mogut obrabatyvat' lyubye
   soobscheniya `elektronnoj pochty. Vot pochemu soobscheniya ob
   oshibkah, posylaemye na adres <freebsd-gnats-submit@FreeBSD.org>,
   dolzhny byt' oformleny po shablonu komandy send-pr, hotya
   soobscheniya po `elektronnoj pochte mozhno poslat' na Spisok
   rassylki FreeBSD, posvyaschionnyj soobscheniyam o problemah.

   Razrabotchiki, kotorye vidyat PR, vyglyadyaschie tak, budto oni
   dolzhny byli byt' poslany v adres freebsd-bugs ili kakogo-to
   drugogo spiska rassylki, dolzhny zakryt' PR, proinformirovav ego
   avtora v protokole izmeneniya sostoyaniya o prichinah, po kotoryh
   `eto ne yavlyaetsya nastoyaschim PR i kuda sleduet posylat'
   soobscheniya.

   `Elektronnyj adres, kotoryj ispol'zuet GNATS dlya priioma
   postupayuschih PR, opublikovan v dokumentacii k FreeBSD,
   ob"yavlyalsya i ukazan na Web-sajte. `Eto znachit, chto spamery
   ego uvideli. Kazhdyj den' neskol'ko reklamnyh soobschenij
   postupaet v GNATS, kotoraya otnosit ih k kategorii ''pending'',
   poka kto-nibud' ih ne peresmotrit. Zakrytie lyubogo iz takih
   soobschenij pri pomoschi edit-pr(1) ves'ma razdrazhaet, potomu
   chto GNATS otvechaet avtoru, a sejchas adres otpravitelya
   spam-pochty nikogda ne byvaet nastoyaschim. Dlya kazhdogo
   zakrytogo PR budut prihodit' soobscheniya o nevozmozhnosti
   dostavki.

   Na dannyj moment s ustanovkoj nekotoryh fil'trov protiv spama,
   proveryayuschih vse dobavleniya v bazu dannyh GNATS, kolichestvo
   spama, dostigayuschego sostoyaniya ''pending'', ves'ma malo.

   Vse razrabotchiki, imeyuschie dostup k mashinam klastera
   FreeBSD.org, priglashayutsya k proverke nepravil'no oformlennyh PR
   i nemedlennomu zakrytiyu teh, chto yavlyayutsya pochtovym spamom.
   Kogda vy zakryvaete takoe PR, horosho by zaodno ukazat' v
   kachestve kategorii ''junk''. Nenuzhnye PR ne sohranyayutsya, tak
   chto perenos pochtovogo spama v `etu kategoriyu yasno ukazyvaet na
   to, chto my ne sobiraemsya ego sohranyat' ili tratit' na nego
   diskovoe prostranstvo.

     --------------------------------------------------------------

5. Dopolnitel'naya literatura

   `Eto perechen' resursov, otnosyaschihsya k kachestvennomu
   napisaniyu i obrabotke soobschenij ob oshibkah. Nesomnenno, `etot
   spisok ne yavlyaetsya polnym.

     * Kak pisat' Soobscheniya ob oshibkah FreeBSD--rukovodstvo dlya
       avtorov PR.

     --------------------------------------------------------------

            `Etot, i drugie dokumenty, mogut byt' skachany s
                ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

  Po voprosam, svyazannym s FreeBSD, prochitajte dokumentaciyu prezhde
                 chem pisat' v <questions@FreeBSD.org>.
         Po voprosam, svyazannym s `etoj dokumentaciej, pishite
                           <doc@FreeBSD.org>.
  Po voprosam, svyazannym s russkim perevodom dokumentacii, pishite v
                    rassylku <frdp@FreeBSD.org.ua>.
  Informaciya po podpiske na `etu rassylku nahoditsya na sajte proekta
                               perevoda.
