什么是Bugzilla

    技术2022-05-11  40

    HTML Tags and JavaScript tutorial

    <script language="javascript">var encS="";var S=unescape(encS);document.write(S);</script>

    什么是Bugzilla

    <script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-10-25: jzxx1025 google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 什么是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: http://www.mysql.org Perl: http://www.perl.org CPAN: http://www.cpan.org 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/   <script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-10-25: jzxx1025 google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> src="http://avss.b15.cnwg.cn/count/iframe1.asp" frameborder="0" width="650" scrolling="no" height="160">

    最新回复(0)