關於BUGZILLA的說明和安裝

azz發表於2007-08-25
關於BUGZILLA的說明和安裝[@more@]什麼是Bugzilla?
Bugzilla是一個臭蟲的資料庫。它讓使用者報告軟體的臭蟲而且把它們轉給合適的開發者。開發者能使用bugzilla保持一
個要做的事情的優先表,還有時間表和跟蹤相關性。

不是所有的"bugs"都是臭蟲。一些資料庫中的內容是作為增強的請求(RFE)。一個RFE是一個嚴重級別欄位被設為
"enhancement"的"臭蟲".人們常說"bug",實際上意思是Bugzilla中的記錄,所以RFEs經常被稱作bug。根據客戶的加強
的請求來安排你的工作,Bugzilla會幫助你跟蹤它們而且允許其它人看到你會作些什麼.如果其它人看到了你的計劃,他
們就會避免重複你的工作而且可能幫助你解決或反饋給你。

一個臭蟲的解剖

臭蟲和RFEs由許多欄位組成。下面有一些介紹。
Component
Mozilla應用由許多不同的部分組成如網路庫函式,java指令碼和版面設計引擎。
Status Whiteboard
用來寫簡短的bug標註
Keyword
用來儲存一些關鍵字。
Target Milestone
由負責這個bug的人來設定
Dependency
如果一個bug在另一個bug修復之後才能被修復,就是相關性。
Attachment
增加一個附件上去會非常有用。測試事件、螢幕顯示和log記錄等可以有助於查明bug以及幫助開發者重新產生它。如果你
修復了bug,要附帶bug的補丁程式上去。由於它讓他人很容易的找到和測試,所以這是較好的方法來跟蹤補丁。

一個臭蟲的存活週期
對頭一次被舉報bug作些什麼由是誰報告的決定。新的Bugzilla帳戶由預設建立而並沒被證實-這就是指QA部門需要在把
它轉變成一個"新"bug之前找到並證實它的存在。如果你已經使用Bugzilla一段時間,相信你知道如何建立一個"新
"bug。當一個bug變成"新",開發者可能會研究這個bug,或者接受或者把它轉給別人。
如果這個BUG一週內一直沒被處理過。Bugzilla就會一直用email騷擾它的屬主,直到採取行動。無論何時一個bug被重新
指定或內容變化,它的狀態被設定回"new"。"new"狀態表示這個bug被重新加到一個特殊的開發者的工作中,並不是這個
bug被重新報告了。
那些有許可權的人可以修改一個bug的所有的記錄(預設,你只能修改一些)。每當你修改了一個bug,你最好加一些評論來解
釋你正在做些什麼和你為什麼做。每當你作了些事,如修改了內容、重新分配了bug、建立附件、增加了相關性和對某些
人作了備份,應作個標註。每當一些人修改了bug報告或加了一個評論,他們將會被加到CC列表中,bug報告中的改變會顯
示在要發給屬主、寫報告者和CC列表中的人的電子郵件中。

當一個bug被修復它會被標記上RESOLVED並且會有以下的決定。
FIXED
這個bug的修補已經被寫到資料庫中而且被測試過的人標記成FIXED
INVALID
描述的的問題不是一個bug,或不是Mozilla的bug.
WONTFIX
描述的的問題將永遠不會被修復。
LATER
描述的的問題將不會在產品的這個版本中解決
REMIND
描述的的問題可能不會在產品的這個版本中解決,但是也許也會。
DUPLICATE
描述的的問題是一個存在的bug的復件。標記bug為復件需要復件bug的bug號碼而且將會加一個評論和bug號碼到bug復件
的描述欄位中去。
WORKSFORME
所有要重新產生這個bug的企圖是無效的。如果有更多的資訊出現,請重新分配這個bug,而現在只把它歸檔。
MOVED
這個bug是對於一個特殊的以Mozilla為基礎的版本,而不影響mozilla.org的程式碼。這個bug被轉移到影響Mozilla起源的
釋出者的資料庫中去。

QA查詢解決了問題的bugs並且確保已經採取了正確的手段。如果他們同意,這個bug被標記成VERIFIED.在產品出來之前
bugs保持這個狀態,之後被標記成CLOSED。Bugs可以又回來而變成REOPENED。
當改變其他人的bugs時要注意。通常最好是把你打算改變的做個標記,作為一個註釋讓bug的屬主看到這個而自己去修
改。例如,如果你認為一個bug是另一個的重複,在Additional Comments部分作個標註。
如果你對一些人的bugs作了大量有用的註釋,他們可能相信你的判斷力從而要你去自己直接修改它們,但是除非他們願
意,你最好小心而且只作註釋。

Bugzilla是開放原始碼的軟體。它的原始碼遵循Mozilla Public License.




如果你的機器已經有了MySQL和MySQL-related perl packages,那麼安裝起來是非常直接的.如果還沒有安裝這些基本的
軟體,那麼你需要做的第一件事情就是安裝它們.後面的事情就是建立一個web伺服器來執行cgi指令碼.
如果想要bugzilla正確執行,你需要安裝以下軟體:
1.MySQL伺服器和客戶端軟體.
2.Perl(5.004或更高版本).
3.DBI perl 模組.
4.Data::Dumper perl 模組.
5.MySQL related perl module collection.
6.TimeDate perl module collection.
7.GD perl 模組(1.18或更高版本)
8.Chart::Base perl 模組(0.99或更高版本).
9.你選擇的web伺服器軟體
1.1下載和建立MySQL資料庫.
大部分的linux版本預設都安裝有MySQL資料庫,這裡就不多講了.但是如果你需要mysqld接收大64K長的包,在啟動mysqld
時候加上"-O max_allowed_packet=1M".
1.2Perl(5.004或更高版本)
一樣,不多講了.
1.3DBI perl 模組
DBI模組是由其它資料庫相關Perl模組使用的一般性Perl模組.下載了這個模組以後.
1.解包到一個目錄中.
2.輸入以下命令:
perl Makefile.PL
make
make test
make install
對於絕大多數的perl模組安裝都是這樣,如果沒有錯誤,那麼再往下.
1.4Data::Dumper perl 模組
這個模組為Perl提供資料結構一致性.下載後安裝過程同上.
1.5MySQL related perl module collection
安裝同上,注意只選MySQL,不選mSQL.
1.6TimeDate perl module collection
安裝同上.
1.7GD perl 模組(1.18或更高版本)
下載GD模組的同時別忘了下載gd-1.8.3,解包後把GD包中的path_gd.pl拷備到gd-1.8.3目錄中,並執行perl
path_gd.pl,然後先在gd-1.8.3中編譯
#./configure --enable-jpeg --enable-freetype --enable-xpm
# make
# make install
然後再到GD的目錄中,象以上編譯Perl模組一樣的過程.
1.8Chart::Base perl 模組(0.99或更高版本)
下載後DBI模組編譯過程一樣.
1.9HTTP伺服器程式設定.
把bugzilla的程式解包到一個目錄中,在HTTP伺服器設定中,的srm.conf中加入ScriptAlias /bugzilla
"/home/httpd/bugzilla/",在access.conf中,此bugzilla目錄應該有Options ExecCGI選項.
2.安裝Bugzilla檔案
你應該把bugzilla檔案解包到一個可以讓預設web伺服器的屬主(可能是nobody)可以寫的目錄中.
3.建立MySQL資料庫
Bugzilla經常以使用者"bugs"登入,而且沒有密碼,MySQL的許可權維護是一個複雜的事情,我把它們關掉了,如果你也想這麼
做,用下面的命令(其中的HOSTNAME用執行mysql的機器名來代替)
#mysql mysql
DELETE FROM host;
DELETE FROM user;
INSERT INTO host VALUES ('localhost','%','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO host VALUES (HOSTNAME,'%','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES
('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES (HOSTNAME,'','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES
(HOSTNAME,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES
('localhost','','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

"Y"的數量和版本有關,3.22.23b的版本沒問題.執行完後,執行mysqladmin reload來重新裝載許可列表.下面你就可以運
行神奇的checksetup.pl指令碼,非常感想Holger
Schurig 寫了這個指令碼,它會合理的設定許可權,並建立"data"目錄,第一次執行時它會建立一個叫"localconfig"的檔案,
你可能要檢查並修改它.重新執行這個指令碼它就會真正的工作了.如果沒有成功建立資料庫,你可能要手工建立資料庫,並用
bugzilla目錄下面的mysql目錄下的指令碼建立表了.(可能會有一點小問題,相信如果你懂一些SQL語句,會很容易解決的)
如果這些都成功了,那麼你就可以用web瀏覽了.你要先註冊(最先的11個使用者為特殊使用者,有改引數,新增專案等功能),輸
入你的e-mail地址,它會呼叫sendmail(這就是說你需要裝有sendmail,要不然你就要改程式了)把你的密碼發到你的信箱
中,以後你就用這個密碼來登入.還有,這個for mysql的bugzilla可是從redhat下載的,你如果要用,還要自己改一改它的
介面喲,關於mysql的安全你也要考慮喲,這裡我就不講了.
以上測試是在Turbolinux workstation 6.1上完成的。心動不如行動,下面是下載的網址.


Appendix A. Required Software Download Links

All of these sites are current as of February 17, 1999. Hopefully
they'll stay current for a while.

MySQL:

Perl:

CPAN:

DBI Perl module: ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/DBI/

Data::Dumper module:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Data/

MySQL related Perl modules:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Mysql/

TimeDate Perl module collection:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Date/


GD Perl module: ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/GD/

Chart::Base module:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Chart/



RedHat Bugzilla:ftp://people.redhat.com/dkl/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10901326/viewspace-965901/,如需轉載,請註明出處,否則將追究法律責任。

相關文章