FS#24999 - {bugtracker} Migrate Flyspray to an alternative (Bugzilla/Roundup)
Attached to Project:
Arch Linux
Opened by Dmitry Korzhevin (dkorzhevin) - Sunday, 03 July 2011, 14:32 GMT
Last edited by Toolybird (Toolybird) - Sunday, 04 June 2023, 02:19 GMT
Opened by Dmitry Korzhevin (dkorzhevin) - Sunday, 03 July 2011, 14:32 GMT
Last edited by Toolybird (Toolybird) - Sunday, 04 June 2023, 02:19 GMT
|
Details
Description:
Feature request of migrating Arch Linux bug tracker to Roundup Issue Tracker, since Flyspray are not updated since 01 May 2009 and Flyspray project is dead. Roundup Issue Tracker: http://roundup.sourceforge.net/ |
This task depends upon
Closed by Toolybird (Toolybird)
Sunday, 04 June 2023, 02:19 GMT
Reason for closing: Won't fix
Additional comments about closing: See comments
Sunday, 04 June 2023, 02:19 GMT
Reason for closing: Won't fix
Additional comments about closing: See comments
Perhaps bugzilla might be a more feature rich bug tracker.
Also, mantis looks nice and simple if we want to go that route.
edit: Bugzilla has a browse feature? ok, I officially vote for bugzilla :)
Also if Arch was to switch to another bug tracking solution i would prefer one that doesnt make use of js so that is usable with all non graphical web browsers (links,lynx,w3m). Flyspray isnt.
One example site I know of is http://bugs.dragonflybsd.org/
http://bugs.python.org/
Roundup is open-source, has a command-line, web and e-mail interface. It is written in Python and highly customizable. Flyspray project is dead and have some XSS holes (can search at http://www.cvedetails.com/).
Bugzilla very heavy and it will be very dificult for users. Even some basic actions, like fill bug report need bugzilla knowledge and time.
Roundup is very light and actively developed since 2001 year. And as it is used as python main bugtracking system (migrated from bugzilla) says about its stability and developement. (roundup serves 1778410 bug tickets at bugs.python.org) And Roundup e-mail interface will be very useful for bughunters (also it has xml-rpc api: http://roundup.sourceforge.net/docs/xmlrpc.html#client-api)
I would love to be able to access the bug tracker through the command line. Bugzilla has a similar client for the command line.
"Roundup is very light and actively developed since 2001 year. And as it is used as python main bugtracking system (migrated from bugzilla) says about its stability and developement."
If you want to use large projects as examples, note that redhat and linux use bugzilla as their bug tracker.
there's the xmlrpc interface
Thanks, I was writing a python script my self. I like the idea to switch to Bugzilla, I'm proposing this to the others DEVs.
What version of flyspray are we using now btw?
I think it's a modified 0.9.9.4. You can take a look yourself https://projects.archlinux.org/vhosts/bugs.archlinux.org.git/tree
Points that haven't yet been addressed:
- Design
- Workflow
- Any important history items that are missing? Examples I don't consider important: changes of assignees, reopen requests, status updates
- Who will take care of bugzilla? (updates, configuration changes, ...)
- maybe more
http://www.flyspray.org/changelog
3 years is too much time for minor release.
"If anyone’s looking to convert from Flyspray to Bugzilla, you can have my hacked-up Perl script. It uses an intermediate table called “mvtab” (type varchar, old_id int, new_id int) as a temporary work table. You need to create this yourself. You also need to manually import products and components (components must have the same names as categories). It’s really a mess but it got the job done, so play with it at your own risk.
flyspray_to_bugzilla.pl
bz_import_mail_settings.pl (tack-on, since the original import didn’t get e-mail settings right)
And here’s the Bugzilla vBulletin binding: vBulletin.pm (goes in Bugzilla/Auth/Verify). You may need to change config files somewhere to use it."
bz_import_mail_settings.pl (0.9 KiB)
vBulletin.pm (3 KiB)
It could be modified to have Arch colors...
Redmine is simple and clean too, and probably easier to theme for Arch than bugzilla. The Redmine layout seems more Arch-ish than Bugzilla.
https://github.com/Flyspray/flyspray
It has also a bugtracker: https://bugs.flyspray.org/
unless you not want become the uptream of a death project
https://github.com/Flyspray/flyspray/commit/b889759b1805196a5a22de7501b99408f4bd6cd1
Their devs quickly ran out of money
They put in some ads
Made everyone sad
And all their users went away
Commit's been reverted. The discussion was ridiculous though. Looks like some serious incompetence.
$ siege -c 5 -b -t30s
...
Lifting the server siege...
Transactions: 15150 hits
Availability: 100.00 %
Elapsed time: 299.62 secs
Data transferred: 62.53 MB
Response time: 0.16 secs
Transaction rate: 50.56 trans/sec
Throughput: 0.21 MB/sec
Concurrency: 7.99
Successful transactions: 15158
Failed transactions: 0
Longest transaction: 1.06
Shortest transaction: 0.00
Currently I've been trying to migrate our current bugtracker data to bugzilla and somehow fit in our packages as products or components. Migrating and fitting bugzilla in our environment is what is withholding us at the moment.
$ siege -c 5 -b -t30s
...
Lifting the server siege...
Transactions: 94009 hits
Availability: 100.00 %
Elapsed time: 299.61 secs
Data transferred: 10755.75 MB
Response time: 0.03 secs
Transaction rate: 313.77 trans/sec
Throughput: 35.90 MB/sec
Concurrency: 7.98
Successful transactions: 94009
Failed transactions: 0
Longest transaction: 0.09
Shortest transaction: 0.00
$ siege -c 5 -b -t30s
...
Lifting the server siege...
Transactions: 121892 hits
Availability: 100.00 %
Elapsed time: 299.74 secs
Data transferred: 13689.04 MB
Response time: 0.02 secs
Transaction rate: 406.66 trans/sec
Throughput: 45.67 MB/sec
Concurrency: 7.98
Successful transactions: 121892
Failed transactions: 0
Longest transaction: 0.15
Shortest transaction: 0.00
attached is the nginx.conf
And you need to start the backend plackup with:
plackup -S /tmp/bugzilla.sock -s FCGI -E development /srv/http/bugzilla/app.psgi
(add -D for daemon)
(When I was trying to run bugzilla as user `bugs` and socket on /run/bugzilla.sock I was getting permission denied so I switched to /tmp )
Automatic assignment requires products/component to be set in bugzilla so you can file for a component. Also auto removal of bugs when a package is removed from the repos or notification to a selected group of wranglers. Updating the status of the bug report when a package is updated? Auto triggering the question if it was fixed. Auto closing bugs based on commit messages?
- BLOCKER: waiting for bugzilla upstream to release 6.0 and/or fix MySQL 8.0 compatibility (unquoted table name "groups" is now a reserved keyword)
- TODO: set up a demo environment on a public VM (ansible playbook)
+ package bugzilla and all dependencies (CPAN modules)
+ make available to arch staff (not general public yet)
+ run migration script
+ disable email delivery for all accounts by default so people don't get spamed unless they opt in by enabling delivery
+ verify that all previously private bugs are still private and user groups work as expected
+ gather feedback from arch staff
+ fix bugs/implement feedback
- TODO: set up production environment
+ disable flyspray
+ perform migration
+ set up redirect from old bug URLs to new URLs
+ DONE
Since I don't want to spam everyone who's interested in high-level info about bugzilla, more details can be found in the related kanboard ticket: https://kanboard.archlinux.org/public/task/54/7dd7510424e4229247e8e0b90bf43e1553fce86cdf8475b60edc956ed5a8 I'll try to keep this updated whenever something happens. If anyone wants to help out, feel free to drop by in #archlinux-devops and ping me.
Regarding all those features suggested by Jelle, I think we should implement those in a bug wrangler bot. Bugzilla provides a nice REST API so this shouldn't be too difficult and having it in a bot allows us to keep our bugzilla installation simpler and more stable.
If you want to reevaluate other bug tracking solutions or work towards migrating to something else, feel free to do so, obviously. That being said, the bugzilla migration is relatively close to being done. Just keep that in mind if you decide to invest time in something else. Also you can likely reuse a lot of my migration script for other software as well. At least the SQL statements that read the flyspray database and the code that converts it to something useful.
[1] https://lists.archlinux.org/archives/list/arch-dev-public%40lists.archlinux.org/thread/4MSI7GPL5OQCK55ODSWEECYVOTB7N62M/