Merge lp:~mwhudson/launchpad/no-hosted-area-strengthen-launchpad-loggerhead into lp:launchpad

Proposed by Michael Hudson-Doyle
Status: Merged
Approved by: Tim Penhey
Approved revision: no longer in the source branch.
Merged at revision: 10828
Proposed branch: lp:~mwhudson/launchpad/no-hosted-area-strengthen-launchpad-loggerhead
Merge into: lp:launchpad
Prerequisite: lp:~mwhudson/launchpad/no-hosted-area-include-launchpad-loggerhead
Diff against target: 1242 lines (+225/-606)
25 files modified
configs/development/launchpad-lazr.conf (+1/-1)
database/sampledata/current-dev.sql (+38/-38)
database/sampledata/current.sql (+35/-35)
database/schema/comments.sql (+1/-0)
database/schema/patch-2207-52-0.sql (+11/-0)
lib/launchpad_loggerhead/__init__.py (+0/-1)
lib/launchpad_loggerhead/app.py (+0/-232)
lib/launchpad_loggerhead/debug.py (+0/-120)
lib/launchpad_loggerhead/session.py (+0/-73)
lib/launchpad_loggerhead/static/robots.txt (+0/-2)
lib/lp/code/doc/xmlrpc-codehosting.txt (+1/-1)
lib/lp/code/model/tests/test_branchjob.py (+1/-1)
lib/lp/codehosting/bzrutils.py (+5/-4)
lib/lp/codehosting/vfs/branchfs.py (+7/-6)
lib/lp/registry/browser/product.py (+22/-5)
lib/lp/registry/browser/tests/product-portlet-packages-view.txt (+50/-4)
lib/lp/registry/browser/tests/product-views.txt (+0/-78)
lib/lp/registry/configure.zcml (+3/-0)
lib/lp/registry/doc/product.txt (+28/-3)
lib/lp/registry/interfaces/product.py (+10/-0)
lib/lp/registry/model/product.py (+1/-0)
lib/lp/registry/stories/product/xx-product-index.txt (+1/-1)
lib/lp/registry/stories/webservice/xx-project-registry.txt (+2/-0)
lib/lp/services/scripts/tests/__init__.py (+2/-0)
lib/lp/testing/__init__.py (+6/-1)
To merge this branch: bzr merge lp:~mwhudson/launchpad/no-hosted-area-strengthen-launchpad-loggerhead
Reviewer Review Type Date Requested Status
Tim Penhey (community) Approve
Review via email: mp+24194@code.launchpad.net

Commit message

[lep=RemoveHostedArea] Remove the distinction between the hosted and mirrored areas in codehosting

Description of the change

To post a comment you must log in.
Revision history for this message
Tim Penhey (thumper) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'configs/development/launchpad-lazr.conf'
--- configs/development/launchpad-lazr.conf 2010-04-27 20:11:21 +0000
+++ configs/development/launchpad-lazr.conf 2010-04-27 20:11:38 +0000
@@ -45,7 +45,7 @@
4545
46[codebrowse]46[codebrowse]
47cachepath: /var/tmp/codebrowse.launchpad.dev/cache47cachepath: /var/tmp/codebrowse.launchpad.dev/cache
48log_folder:48log_folder: /var/tmp/codebrowse.launchpad.dev/logs
49launchpad_root: https://code.launchpad.dev/49launchpad_root: https://code.launchpad.dev/
50secret_path: configs/development/codebrowse-secret50secret_path: configs/development/codebrowse-secret
5151
5252
=== modified file 'database/sampledata/current-dev.sql'
--- database/sampledata/current-dev.sql 2010-04-06 05:29:36 +0000
+++ database/sampledata/current-dev.sql 2010-04-27 20:11:38 +0000
@@ -8262,31 +8262,31 @@
82628262
8263ALTER TABLE product DISABLE TRIGGER ALL;8263ALTER TABLE product DISABLE TRIGGER ALL;
82648264
8265INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (1, 1, 17, 'tomcat', 'Tomcat', 'Tomcat', 'The servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.', 'Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. This project has nothing to do with Ubuntu, but this description uses the word "Ubuntu" for the purpose of testing search results.', '2004-09-24 20:58:00.655518', 'http://tomcat.apache.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 16, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 17, NULL, NULL, NULL);8265INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (1, 1, 17, 'tomcat', 'Tomcat', 'Tomcat', 'The servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.', 'Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. This project has nothing to do with Ubuntu, but this description uses the word "Ubuntu" for the purpose of testing search results.', '2004-09-24 20:58:00.655518', 'http://tomcat.apache.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 16, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 17, NULL, NULL, NULL, NULL);
8266INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (2, 2, 2, 'unassigned', 'unassigned syncs', 'unassigned syncs', 'syncs still not assigned to a real product', 'unassigned syncs, will not be processed, to be moved to real projects ASAP.', '2004-09-24 20:58:00.674409', 'http://archive.apache.org/dist/tomcat', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 17, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8266INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (2, 2, 2, 'unassigned', 'unassigned syncs', 'unassigned syncs', 'syncs still not assigned to a real product', 'unassigned syncs, will not be processed, to be moved to real projects ASAP.', '2004-09-24 20:58:00.674409', 'http://archive.apache.org/dist/tomcat', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 17, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8267INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (3, 3, 2, 'arch-mirrors', 'Arch mirrors', 'Arch archive mirrors', 'Arch Archive Mirroring project.', 'Arch archive full-archive mirror tasks', '2004-09-24 20:58:00.691047', 'http://arch.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 15, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8267INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (3, 3, 2, 'arch-mirrors', 'Arch mirrors', 'Arch archive mirrors', 'Arch Archive Mirroring project.', 'Arch archive full-archive mirror tasks', '2004-09-24 20:58:00.691047', 'http://arch.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 15, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8268INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (4, 4, 12, 'firefox', 'Mozilla Firefox', 'Mozilla Firefox', 'The Mozilla Firefox web browser', 'The Mozilla Firefox web browser', '2004-09-24 20:58:02.185708', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, false, true, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8268INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (4, 4, 12, 'firefox', 'Mozilla Firefox', 'Mozilla Firefox', 'The Mozilla Firefox web browser', 'The Mozilla Firefox web browser', '2004-09-24 20:58:02.185708', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, false, true, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8269INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (5, 5, 12, 'evolution', 'Evolution', 'The Evolution Groupware Application', 'Evolution is an email client, addressbook and calendar application that is very well integrated with the Gnome desktop. Evolution is the standard mail client in the Ubuntu distribution, and supports all current mail system standards.', 'Recently, Evolution has seen significant work to make it interoperable with the proprietary Microsoft Exchange Server protocols and formats, allowing organisations to replace Outlook on Windows with Evolution and Linux.8269INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (5, 5, 12, 'evolution', 'Evolution', 'The Evolution Groupware Application', 'Evolution is an email client, addressbook and calendar application that is very well integrated with the Gnome desktop. Evolution is the standard mail client in the Ubuntu distribution, and supports all current mail system standards.', 'Recently, Evolution has seen significant work to make it interoperable with the proprietary Microsoft Exchange Server protocols and formats, allowing organisations to replace Outlook on Windows with Evolution and Linux.
82708270
8271The current stable release series of Evolution is 2.0.', '2004-09-24 20:58:02.240163', 'http://www.gnome.org/evolution/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, true, true, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8271The current stable release series of Evolution is 2.0.', '2004-09-24 20:58:02.240163', 'http://www.gnome.org/evolution/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, true, true, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8272INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (6, 5, 12, 'gnome-terminal', 'GNOME Terminal', 'The GNOME Terminal Emulator', 'Gnome Terminal is a simple terminal application for your Gnome desktop. It allows quick access to console applications, supports all console types, and has many useful features such as tabbed consoles (many consoles in a single window with quick switching between them).', 'The Gnome Terminal application fully supports Gnome 2 and is a standard part of the Gnome Desktop.', '2004-09-24 20:58:02.256678', 'http://www.gnome.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, 2, 14, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, 'gnome-terminal', NULL, NULL);8272INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (6, 5, 12, 'gnome-terminal', 'GNOME Terminal', 'The GNOME Terminal Emulator', 'Gnome Terminal is a simple terminal application for your Gnome desktop. It allows quick access to console applications, supports all console types, and has many useful features such as tabbed consoles (many consoles in a single window with quick switching between them).', 'The Gnome Terminal application fully supports Gnome 2 and is a standard part of the Gnome Desktop.', '2004-09-24 20:58:02.256678', 'http://www.gnome.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, 2, 14, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, 'gnome-terminal', NULL, NULL, NULL);
8273INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (7, 6, 12, 'iso-codes', 'iso-codes', 'The iso-codes', 'foo', 'bar', '2004-09-24 20:58:02.258743', 'http://www.novell.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 13, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8273INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (7, 6, 12, 'iso-codes', 'iso-codes', 'The iso-codes', 'foo', 'bar', '2004-09-24 20:58:02.258743', 'http://www.novell.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 13, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8274INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (8, 4, 12, 'thunderbird', 'Mozilla Thunderbird', 'Mozilla Thunderbird', 'The Mozilla Thunderbird email client', 'The Mozilla Thunderbird email client', '2004-09-24 20:58:04.478988', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8274INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (8, 4, 12, 'thunderbird', 'Mozilla Thunderbird', 'Mozilla Thunderbird', 'The Mozilla Thunderbird email client', 'The Mozilla Thunderbird email client', '2004-09-24 20:58:04.478988', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8275INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (9, 5, 16, 'applets', 'Gnome Applets', 'The Gnome Panel Applets', 'The Gnome Panel Applets are a collection of standard widgets that can be installed on your desktop Panel. These icons act as launchers for applications, or indicators of the status of your machine. For example, panel applets exist to show you your battery status or wifi network signal strength.', 'This is the collection of Panel Applets that is part of the default Gnome release. Additional Panel Applets are available from third parties. A complete set of Panel Applets is included in the Ubuntu OS, for example.8275INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (9, 5, 16, 'applets', 'Gnome Applets', 'The Gnome Panel Applets', 'The Gnome Panel Applets are a collection of standard widgets that can be installed on your desktop Panel. These icons act as launchers for applications, or indicators of the status of your machine. For example, panel applets exist to show you your battery status or wifi network signal strength.', 'This is the collection of Panel Applets that is part of the default Gnome release. Additional Panel Applets are available from third parties. A complete set of Panel Applets is included in the Ubuntu OS, for example.
82768276
8277The Gnome Panel team includes Abel Kascinsky, Frederick Wurst and Andreas Andropovitch Axelsson.', '2004-10-03 16:46:09.113721', 'http://www.gnome.org/panel/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 12, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8277The Gnome Panel team includes Abel Kascinsky, Frederick Wurst and Andreas Andropovitch Axelsson.', '2004-10-03 16:46:09.113721', 'http://www.gnome.org/panel/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 12, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8278INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (10, NULL, 2, 'python-gnome2-dev', 'python gnome2 dev', 'python gnome2 dev', 'Python bindings for the GNOME desktop environment', 'Python bindings for the GNOME desktop environment', '2004-09-24 20:58:00.674409', 'http://www.daa.com.au/~james/software/pygtk/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 18, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8278INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (10, NULL, 2, 'python-gnome2-dev', 'python gnome2 dev', 'python gnome2 dev', 'Python bindings for the GNOME desktop environment', 'Python bindings for the GNOME desktop environment', '2004-09-24 20:58:00.674409', 'http://www.daa.com.au/~james/software/pygtk/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 18, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8279INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (11, 5, 12, 'netapplet', 'NetApplet', 'Network Applet', 'The Novell Network Applet', 'Displays current network status and allows network switching', '2005-03-10 16:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 5, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8279INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (11, 5, 12, 'netapplet', 'NetApplet', 'Network Applet', 'The Novell Network Applet', 'Displays current network status and allows network switching', '2005-03-10 16:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 5, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8280INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (12, NULL, 16, 'a52dec', 'a52dec', 'Liba52 Test Decoder', 'a52dec is a test program for liba52.', 'This tool decodes ATSC A/52 streams, and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. The liba52 source code is always distributed in the a52dec package, to make sure it easier for people to test it.', '2005-04-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8280INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (12, NULL, 16, 'a52dec', 'a52dec', 'Liba52 Test Decoder', 'a52dec is a test program for liba52.', 'This tool decodes ATSC A/52 streams, and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. The liba52 source code is always distributed in the a52dec package, to make sure it easier for people to test it.', '2005-04-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8281INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (13, 5, 16, 'gnomebaker', 'gnomebaker', 'Gnome Baker', 'Gnome Baker is a CD burning application', 'Gnome Baker burns CDs like there''s no tomorrow', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8281INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (13, 5, 16, 'gnomebaker', 'gnomebaker', 'Gnome Baker', 'Gnome Baker is a CD burning application', 'Gnome Baker burns CDs like there''s no tomorrow', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8282INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (14, NULL, 12, 'bazaar', 'Bazaar', 'Bazaar', 'Bazaar is a distributed revision control system', 'Bazaar is all about source control and double-dashes.', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 10, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8282INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (14, NULL, 12, 'bazaar', 'Bazaar', 'Bazaar', 'Bazaar is a distributed revision control system', 'Bazaar is all about source control and double-dashes.', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 10, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8283INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (15, NULL, 1, 'alsa-utils', 'alsa-utils', 'ALSA utilities', 'Utilities for configurating and using the Advanced Linux Sound Architecture', NULL, '2005-09-15 09:05:11.472752', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 1, true, false, NULL, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL);8283INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (15, NULL, 1, 'alsa-utils', 'alsa-utils', 'ALSA utilities', 'Utilities for configurating and using the Advanced Linux Sound Architecture', NULL, '2005-09-15 09:05:11.472752', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 1, true, false, NULL, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL, NULL);
8284INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (16, NULL, 12, 'landscape', 'The Landscape Project', 'The Landscape Project', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface.', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface. The scope of the project isn''t limited, and will grow up as new features are planned.8284INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (16, NULL, 12, 'landscape', 'The Landscape Project', 'The Landscape Project', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface.', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface. The scope of the project isn''t limited, and will grow up as new features are planned.
82858285
8286The Landscape system consists of two major parts: a client daemon which delivers information to the server and acts on server-provided requests; and a web server responsible for handling communication with clients and the user interface itself.', '2006-07-11 19:59:17.311451', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, false, true, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8286The Landscape system consists of two major parts: a client daemon which delivers information to the server and acts on server-provided requests; and a web server responsible for handling communication with clients and the user interface itself.', '2006-07-11 19:59:17.311451', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, false, true, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8287INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (17, NULL, 12, 'launchpad', 'Launchpad', 'Launchpad', 'Launchpad is a catalogue of libre software projects and products. Projects registered in the Launchpad are linked to their translations in Rosetta, their bugs in Malone, their RCS imports in Bazaar, and their packages in Soyuz.', 'Launchpad''s design is inspired by the Description of a Project (DOAP) framework by Edd Dumbill, with extensions for actual releases of products.', '2006-11-24 12:48:19.178553', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 19, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8287INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (17, NULL, 12, 'launchpad', 'Launchpad', 'Launchpad', 'Launchpad is a catalogue of libre software projects and products. Projects registered in the Launchpad are linked to their translations in Rosetta, their bugs in Malone, their RCS imports in Bazaar, and their packages in Soyuz.', 'Launchpad''s design is inspired by the Description of a Project (DOAP) framework by Edd Dumbill, with extensions for actual releases of products.', '2006-11-24 12:48:19.178553', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 19, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8288INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (18, NULL, 37, 'upstart', 'Upstart', 'The Upstart System Initialisation Process', 'Event-based init daemon.', 'upstart is a replacement for the /sbin/init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running.', '2007-03-14 18:47:04.891546', 'http://upstart.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 3, 100, false, false, NULL, NULL, NULL, NULL, 20, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 37, NULL, NULL, NULL);8288INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (18, NULL, 37, 'upstart', 'Upstart', 'The Upstart System Initialisation Process', 'Event-based init daemon.', 'upstart is a replacement for the /sbin/init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running.', '2007-03-14 18:47:04.891546', 'http://upstart.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 3, 100, false, false, NULL, NULL, NULL, NULL, 20, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 37, NULL, NULL, NULL, NULL);
8289INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (19, NULL, 28, 'aptoncd', 'APTonCD', 'APTonCD, Get APT Anywhere', 'A simple yet powerful tool which allows you to create one (or more) CD/DVD-Repository containing all of the packages downloaded via apt-get or aptitude.', 'A GUI-based tool that allows you to create a CD/DVD with all downloaded packages with APT-GET, creating a removable-repository.8289INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (19, NULL, 28, 'aptoncd', 'APTonCD', 'APTonCD, Get APT Anywhere', 'A simple yet powerful tool which allows you to create one (or more) CD/DVD-Repository containing all of the packages downloaded via apt-get or aptitude.', 'A GUI-based tool that allows you to create a CD/DVD with all downloaded packages with APT-GET, creating a removable-repository.
82908290
8291With aptoncd you can:8291With aptoncd you can:
8292* Create a CD/DVD with all downloaded packages8292* Create a CD/DVD with all downloaded packages
@@ -8295,26 +8295,26 @@
8295* Upgrade a lot of computers with same DVD8295* Upgrade a lot of computers with same DVD
8296* And more is expected...8296* And more is expected...
82978297
8298In the "Create APTonCD" feature we have the possibility to make a CD/DVD with all previously downloaded packages with apt-get or aptitude. It uses apt-cache (/var/cache/apt/archives) and scans for packages and makes a repository in one (or more) CD/DVD, exactly as the previous option.', '2007-03-14 18:53:13.112116', 'http://aptoncd.sourceforge.net/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 21, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 28, NULL, NULL, NULL);8298In the "Create APTonCD" feature we have the possibility to make a CD/DVD with all previously downloaded packages with apt-get or aptitude. It uses apt-cache (/var/cache/apt/archives) and scans for packages and makes a repository in one (or more) CD/DVD, exactly as the previous option.', '2007-03-14 18:53:13.112116', 'http://aptoncd.sourceforge.net/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 21, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 28, NULL, NULL, NULL, NULL);
8299INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (20, NULL, 14, 'jokosher', 'Jokosher', 'Jokosher Audio Editor', 'Jokosher is a simple yet powerful multi-track studio. With it you can create and record music, podcasts and more, all from an integrated simple environment.', 'Jokosher brings together many sources of audio into a seamless environment where you can record, mix and publish your audio content.', '2007-03-15 20:11:49.501871', 'http://www.jokosher.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 22, NULL, NULL, NULL, NULL, false, false, false, NULL, false, true, NULL, NULL, false, false, 14, NULL, NULL, NULL);8299INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (20, NULL, 14, 'jokosher', 'Jokosher', 'Jokosher Audio Editor', 'Jokosher is a simple yet powerful multi-track studio. With it you can create and record music, podcasts and more, all from an integrated simple environment.', 'Jokosher brings together many sources of audio into a seamless environment where you can record, mix and publish your audio content.', '2007-03-15 20:11:49.501871', 'http://www.jokosher.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 22, NULL, NULL, NULL, NULL, false, false, false, NULL, false, true, NULL, NULL, false, false, 14, NULL, NULL, NULL, NULL);
8300INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (21, NULL, 12, 'bzr', 'Bazaar', 'Bazaar Version Control System', 'Bazaar is a distributed revision control system. It allows team members to branch and merge upstream code very easily. Most importantly, it is very robust in handling renames so that merges across radical restructurings of the tree are efficient and correct.', 'Bazaar aims to be a distributed RCS system that the open source community loves to use.8300INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (21, NULL, 12, 'bzr', 'Bazaar', 'Bazaar Version Control System', 'Bazaar is a distributed revision control system. It allows team members to branch and merge upstream code very easily. Most importantly, it is very robust in handling renames so that merges across radical restructurings of the tree are efficient and correct.', 'Bazaar aims to be a distributed RCS system that the open source community loves to use.
83018301
8302Distributed revision control systems allow multiple people to have their own branch of a project, and merge code efficiently between them. This enables new contributors to immediately have access to the full tools that previously have been limited to just the committers to a project.', '2007-03-27 16:28:27.763632', 'http://bazaar-vcs.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 23, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8302Distributed revision control systems allow multiple people to have their own branch of a project, and merge code efficiently between them. This enables new contributors to immediately have access to the full tools that previously have been limited to just the committers to a project.', '2007-03-27 16:28:27.763632', 'http://bazaar-vcs.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 23, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8303INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (22, NULL, 12, 'redfish', 'Redfish', 'Redfish', 'The redfish project.', 'The redfish project.', '2007-04-18 20:58:56.846607', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 24, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8303INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (22, NULL, 12, 'redfish', 'Redfish', 'Redfish', 'The redfish project.', 'The redfish project.', '2007-04-18 20:58:56.846607', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 24, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8304INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (23, 1, 1, 'derby', 'Derby', 'Derby - Java Database', 'Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0.', 'Some key advantages include:8304INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (23, 1, 1, 'derby', 'Derby', 'Derby - Java Database', 'Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0.', 'Some key advantages include:
83058305
8306 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.8306 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.
8307 * Derby is based on the Java, JDBC, and SQL standards.8307 * Derby is based on the Java, JDBC, and SQL standards.
8308 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.8308 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
8309 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.8309 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
8310 * Derby is easy to install, deploy, and use.8310 * Derby is easy to install, deploy, and use.
8311', '2007-11-19 12:44:30.603892', 'http://db.apache.org/derby/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 25, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL);8311', '2007-11-19 12:44:30.603892', 'http://db.apache.org/derby/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 25, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL, NULL);
8312INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (24, NULL, 243623, 'mega-money-maker', 'Mega Money Maker', 'Sample Commercial Project', 'Proprietary project', NULL, '2008-06-27 14:51:47.366199', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 26, NULL, NULL, NULL, NULL, false, false, false, 'All rights reserved. Not free.', false, false, NULL, NULL, false, false, 243623, NULL, NULL, NULL);8312INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (24, NULL, 243623, 'mega-money-maker', 'Mega Money Maker', 'Sample Commercial Project', 'Proprietary project', NULL, '2008-06-27 14:51:47.366199', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 26, NULL, NULL, NULL, NULL, false, false, false, 'All rights reserved. Not free.', false, false, NULL, NULL, false, false, 243623, NULL, NULL, NULL, NULL);
8313INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (25, NULL, 16, 'rosetta', 'Launchpad Translations', 'The translations part of Launchpad', 'Here you can translate your project into other spoken languages.', NULL, '2008-10-02 10:12:40.909504', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 27, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8313INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (25, NULL, 16, 'rosetta', 'Launchpad Translations', 'The translations part of Launchpad', 'Here you can translate your project into other spoken languages.', NULL, '2008-10-02 10:12:40.909504', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 27, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8314INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (26, NULL, 16, 'obsolete-junk', 'Obsolete Junk', 'The Great Mass of Obsolete Junk', 'If you have junk that you don''t want clogging up your product, dump it here.', NULL, '2009-05-02 21:33:15.310312', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 28, NULL, NULL, NULL, NULL, false, false, false, '(We have them all because we are junk. Junk. Junk I tell you.)', false, false, NULL, NULL, false, true, 16, NULL, NULL, NULL);8314INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (26, NULL, 16, 'obsolete-junk', 'Obsolete Junk', 'The Great Mass of Obsolete Junk', 'If you have junk that you don''t want clogging up your product, dump it here.', NULL, '2009-05-02 21:33:15.310312', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 28, NULL, NULL, NULL, NULL, false, false, false, '(We have them all because we are junk. Junk. Junk I tell you.)', false, false, NULL, NULL, false, true, 16, NULL, NULL, NULL, NULL);
8315INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (27, NULL, 243648, 'epiphany', 'Epiphany', 'Epiphany Web Browser', 'A default GNOME web browser.', 'description1', '2009-08-24 14:36:04.699204', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 3, 20, true, false, NULL, NULL, NULL, NULL, 29, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243648, NULL, NULL, NULL);8315INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (27, NULL, 243648, 'epiphany', 'Epiphany', 'Epiphany Web Browser', 'A default GNOME web browser.', 'description1', '2009-08-24 14:36:04.699204', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 3, 20, true, false, NULL, NULL, NULL, NULL, 29, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243648, NULL, NULL, NULL, NULL);
8316INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (28, NULL, 243649, 'intltool', 'intltool', 'Internationalization build tools', 'Tools to extract translatable messages from different file formats and to merge them back in.', 'description2', '2009-08-24 14:39:04.708167', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 1, true, false, NULL, NULL, NULL, NULL, 30, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243649, NULL, NULL, NULL);8316INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (28, NULL, 243649, 'intltool', 'intltool', 'Internationalization build tools', 'Tools to extract translatable messages from different file formats and to merge them back in.', 'description2', '2009-08-24 14:39:04.708167', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 1, true, false, NULL, NULL, NULL, NULL, 30, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243649, NULL, NULL, NULL, NULL);
8317INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (29, NULL, 243650, 'lies', 'Lies', 'Quick production of lies', 'Software to easily and quickly manufacture as many lies as possible. It takes truth as the input', 'description3', '2009-08-24 14:41:04.427117', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 100, true, false, NULL, NULL, NULL, NULL, 31, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243650, NULL, NULL, NULL);8317INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (29, NULL, 243650, 'lies', 'Lies', 'Quick production of lies', 'Software to easily and quickly manufacture as many lies as possible. It takes truth as the input', 'description3', '2009-08-24 14:41:04.427117', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 2, 100, true, false, NULL, NULL, NULL, NULL, 31, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 243650, NULL, NULL, NULL, NULL);
83188318
83198319
8320ALTER TABLE product ENABLE TRIGGER ALL;8320ALTER TABLE product ENABLE TRIGGER ALL;
83218321
=== modified file 'database/sampledata/current.sql'
--- database/sampledata/current.sql 2010-04-06 05:29:36 +0000
+++ database/sampledata/current.sql 2010-04-27 20:11:38 +0000
@@ -8148,31 +8148,31 @@
81488148
8149ALTER TABLE product DISABLE TRIGGER ALL;8149ALTER TABLE product DISABLE TRIGGER ALL;
81508150
8151INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (1, 1, 17, 'tomcat', 'Tomcat', 'Tomcat', 'The servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.', 'Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. This project has nothing to do with Ubuntu, but this description uses the word "Ubuntu" for the purpose of testing search results.', '2004-09-24 20:58:00.655518', 'http://tomcat.apache.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 16, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 17, NULL, NULL, NULL);8151INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (1, 1, 17, 'tomcat', 'Tomcat', 'Tomcat', 'The servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.', 'Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. This project has nothing to do with Ubuntu, but this description uses the word "Ubuntu" for the purpose of testing search results.', '2004-09-24 20:58:00.655518', 'http://tomcat.apache.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 16, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 17, NULL, NULL, NULL, NULL);
8152INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (2, 2, 2, 'unassigned', 'unassigned syncs', 'unassigned syncs', 'syncs still not assigned to a real product', 'unassigned syncs, will not be processed, to be moved to real projects ASAP.', '2004-09-24 20:58:00.674409', 'http://archive.apache.org/dist/tomcat', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 17, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8152INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (2, 2, 2, 'unassigned', 'unassigned syncs', 'unassigned syncs', 'syncs still not assigned to a real product', 'unassigned syncs, will not be processed, to be moved to real projects ASAP.', '2004-09-24 20:58:00.674409', 'http://archive.apache.org/dist/tomcat', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 17, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8153INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (3, 3, 2, 'arch-mirrors', 'Arch mirrors', 'Arch archive mirrors', 'Arch Archive Mirroring project.', 'Arch archive full-archive mirror tasks', '2004-09-24 20:58:00.691047', 'http://arch.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 15, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8153INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (3, 3, 2, 'arch-mirrors', 'Arch mirrors', 'Arch archive mirrors', 'Arch Archive Mirroring project.', 'Arch archive full-archive mirror tasks', '2004-09-24 20:58:00.691047', 'http://arch.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 15, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8154INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (4, 4, 12, 'firefox', 'Mozilla Firefox', 'Mozilla Firefox', 'The Mozilla Firefox web browser', 'The Mozilla Firefox web browser', '2004-09-24 20:58:02.185708', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, false, true, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8154INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (4, 4, 12, 'firefox', 'Mozilla Firefox', 'Mozilla Firefox', 'The Mozilla Firefox web browser', 'The Mozilla Firefox web browser', '2004-09-24 20:58:02.185708', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, false, true, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8155INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (5, 5, 12, 'evolution', 'Evolution', 'The Evolution Groupware Application', 'Evolution is an email client, addressbook and calendar application that is very well integrated with the Gnome desktop. Evolution is the standard mail client in the Ubuntu distribution, and supports all current mail system standards.', 'Recently, Evolution has seen significant work to make it interoperable with the proprietary Microsoft Exchange Server protocols and formats, allowing organisations to replace Outlook on Windows with Evolution and Linux.8155INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (5, 5, 12, 'evolution', 'Evolution', 'The Evolution Groupware Application', 'Evolution is an email client, addressbook and calendar application that is very well integrated with the Gnome desktop. Evolution is the standard mail client in the Ubuntu distribution, and supports all current mail system standards.', 'Recently, Evolution has seen significant work to make it interoperable with the proprietary Microsoft Exchange Server protocols and formats, allowing organisations to replace Outlook on Windows with Evolution and Linux.
81568156
8157The current stable release series of Evolution is 2.0.', '2004-09-24 20:58:02.240163', 'http://www.gnome.org/evolution/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, true, true, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8157The current stable release series of Evolution is 2.0.', '2004-09-24 20:58:02.240163', 'http://www.gnome.org/evolution/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, 1, 100, true, true, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8158INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (6, 5, 12, 'gnome-terminal', 'GNOME Terminal', 'The GNOME Terminal Emulator', 'Gnome Terminal is a simple terminal application for your Gnome desktop. It allows quick access to console applications, supports all console types, and has many useful features such as tabbed consoles (many consoles in a single window with quick switching between them).', 'The Gnome Terminal application fully supports Gnome 2 and is a standard part of the Gnome Desktop.', '2004-09-24 20:58:02.256678', 'http://www.gnome.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, 2, 14, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, 'gnome-terminal', NULL, NULL);8158INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (6, 5, 12, 'gnome-terminal', 'GNOME Terminal', 'The GNOME Terminal Emulator', 'Gnome Terminal is a simple terminal application for your Gnome desktop. It allows quick access to console applications, supports all console types, and has many useful features such as tabbed consoles (many consoles in a single window with quick switching between them).', 'The Gnome Terminal application fully supports Gnome 2 and is a standard part of the Gnome Desktop.', '2004-09-24 20:58:02.256678', 'http://www.gnome.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, 2, 14, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, 'gnome-terminal', NULL, NULL, NULL);
8159INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (7, 6, 12, 'iso-codes', 'iso-codes', 'The iso-codes', 'foo', 'bar', '2004-09-24 20:58:02.258743', 'http://www.novell.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 13, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8159INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (7, 6, 12, 'iso-codes', 'iso-codes', 'The iso-codes', 'foo', 'bar', '2004-09-24 20:58:02.258743', 'http://www.novell.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 13, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8160INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (8, 4, 12, 'thunderbird', 'Mozilla Thunderbird', 'Mozilla Thunderbird', 'The Mozilla Thunderbird email client', 'The Mozilla Thunderbird email client', '2004-09-24 20:58:04.478988', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8160INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (8, 4, 12, 'thunderbird', 'Mozilla Thunderbird', 'Mozilla Thunderbird', 'The Mozilla Thunderbird email client', 'The Mozilla Thunderbird email client', '2004-09-24 20:58:04.478988', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8161INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (9, 5, 16, 'applets', 'Gnome Applets', 'The Gnome Panel Applets', 'The Gnome Panel Applets are a collection of standard widgets that can be installed on your desktop Panel. These icons act as launchers for applications, or indicators of the status of your machine. For example, panel applets exist to show you your battery status or wifi network signal strength.', 'This is the collection of Panel Applets that is part of the default Gnome release. Additional Panel Applets are available from third parties. A complete set of Panel Applets is included in the Ubuntu OS, for example.8161INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (9, 5, 16, 'applets', 'Gnome Applets', 'The Gnome Panel Applets', 'The Gnome Panel Applets are a collection of standard widgets that can be installed on your desktop Panel. These icons act as launchers for applications, or indicators of the status of your machine. For example, panel applets exist to show you your battery status or wifi network signal strength.', 'This is the collection of Panel Applets that is part of the default Gnome release. Additional Panel Applets are available from third parties. A complete set of Panel Applets is included in the Ubuntu OS, for example.
81628162
8163The Gnome Panel team includes Abel Kascinsky, Frederick Wurst and Andreas Andropovitch Axelsson.', '2004-10-03 16:46:09.113721', 'http://www.gnome.org/panel/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 12, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8163The Gnome Panel team includes Abel Kascinsky, Frederick Wurst and Andreas Andropovitch Axelsson.', '2004-10-03 16:46:09.113721', 'http://www.gnome.org/panel/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 12, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8164INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (10, NULL, 2, 'python-gnome2-dev', 'python gnome2 dev', 'python gnome2 dev', 'Python bindings for the GNOME desktop environment', 'Python bindings for the GNOME desktop environment', '2004-09-24 20:58:00.674409', 'http://www.daa.com.au/~james/software/pygtk/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 18, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL);8164INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (10, NULL, 2, 'python-gnome2-dev', 'python gnome2 dev', 'python gnome2 dev', 'Python bindings for the GNOME desktop environment', 'Python bindings for the GNOME desktop environment', '2004-09-24 20:58:00.674409', 'http://www.daa.com.au/~james/software/pygtk/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, false, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 18, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 2, NULL, NULL, NULL, NULL);
8165INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (11, 5, 12, 'netapplet', 'NetApplet', 'Network Applet', 'The Novell Network Applet', 'Displays current network status and allows network switching', '2005-03-10 16:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 5, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8165INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (11, 5, 12, 'netapplet', 'NetApplet', 'Network Applet', 'The Novell Network Applet', 'Displays current network status and allows network switching', '2005-03-10 16:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 5, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8166INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (12, NULL, 16, 'a52dec', 'a52dec', 'Liba52 Test Decoder', 'a52dec is a test program for liba52.', 'This tool decodes ATSC A/52 streams, and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. The liba52 source code is always distributed in the a52dec package, to make sure it easier for people to test it.', '2005-04-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8166INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (12, NULL, 16, 'a52dec', 'a52dec', 'Liba52 Test Decoder', 'a52dec is a test program for liba52.', 'This tool decodes ATSC A/52 streams, and also includes a demultiplexer for mpeg-1 and mpeg-2 program streams. The liba52 source code is always distributed in the a52dec package, to make sure it easier for people to test it.', '2005-04-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8167INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (13, 5, 16, 'gnomebaker', 'gnomebaker', 'Gnome Baker', 'Gnome Baker is a CD burning application', 'Gnome Baker burns CDs like there''s no tomorrow', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8167INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (13, 5, 16, 'gnomebaker', 'gnomebaker', 'Gnome Baker', 'Gnome Baker is a CD burning application', 'Gnome Baker burns CDs like there''s no tomorrow', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8168INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (14, NULL, 12, 'bazaar', 'Bazaar', 'Bazaar', 'Bazaar is a distributed revision control system', 'Bazaar is all about source control and double-dashes.', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 10, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8168INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (14, NULL, 12, 'bazaar', 'Bazaar', 'Bazaar', 'Bazaar is a distributed revision control system', 'Bazaar is all about source control and double-dashes.', '2005-08-26 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 10, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8169INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (15, NULL, 1, 'alsa-utils', 'alsa-utils', 'ALSA utilities', 'Utilities for configurating and using the Advanced Linux Sound Architecture', '', '2005-09-15 09:05:11.472752', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, true, false, NULL, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL);8169INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (15, NULL, 1, 'alsa-utils', 'alsa-utils', 'ALSA utilities', 'Utilities for configurating and using the Advanced Linux Sound Architecture', '', '2005-09-15 09:05:11.472752', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, true, false, NULL, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL, NULL);
8170INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (16, NULL, 12, 'landscape', 'The Landscape Project', 'The Landscape Project', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface.', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface. The scope of the project isn''t limited, and will grow up as new features are planned.8170INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (16, NULL, 12, 'landscape', 'The Landscape Project', 'The Landscape Project', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface.', 'Landscape is a system being developed by Canonical to allow remote management of systems using a web interface. The scope of the project isn''t limited, and will grow up as new features are planned.
81718171
8172The Landscape system consists of two major parts: a client daemon which delivers information to the server and acts on server-provided requests; and a web server responsible for handling communication with clients and the user interface itself.', '2006-07-11 19:59:17.311451', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, false, true, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8172The Landscape system consists of two major parts: a client daemon which delivers information to the server and acts on server-provided requests; and a web server responsible for handling communication with clients and the user interface itself.', '2006-07-11 19:59:17.311451', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, false, true, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8173INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (17, NULL, 12, 'launchpad', 'Launchpad', 'Launchpad', 'Launchpad is a catalogue of libre software projects and products. Projects registered in the Launchpad are linked to their translations in Rosetta, their bugs in Malone, their RCS imports in Bazaar, and their packages in Soyuz.', 'Launchpad''s design is inspired by the Description of a Project (DOAP) framework by Edd Dumbill, with extensions for actual releases of products.', '2006-11-24 12:48:19.178553', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 19, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8173INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (17, NULL, 12, 'launchpad', 'Launchpad', 'Launchpad', 'Launchpad is a catalogue of libre software projects and products. Projects registered in the Launchpad are linked to their translations in Rosetta, their bugs in Malone, their RCS imports in Bazaar, and their packages in Soyuz.', 'Launchpad''s design is inspired by the Description of a Project (DOAP) framework by Edd Dumbill, with extensions for actual releases of products.', '2006-11-24 12:48:19.178553', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 19, NULL, NULL, NULL, NULL, true, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8174INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (18, NULL, 37, 'upstart', 'Upstart', 'The Upstart System Initialisation Process', 'Event-based init daemon.', 'upstart is a replacement for the /sbin/init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running.', '2007-03-14 18:47:04.891546', 'http://upstart.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 20, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 37, NULL, NULL, NULL);8174INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (18, NULL, 37, 'upstart', 'Upstart', 'The Upstart System Initialisation Process', 'Event-based init daemon.', 'upstart is a replacement for the /sbin/init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running.', '2007-03-14 18:47:04.891546', 'http://upstart.ubuntu.com/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 20, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 37, NULL, NULL, NULL, NULL);
8175INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (19, NULL, 28, 'aptoncd', 'APTonCD', 'APTonCD, Get APT Anywhere', 'A simple yet powerful tool which allows you to create one (or more) CD/DVD-Repository containing all of the packages downloaded via apt-get or aptitude.', 'A GUI-based tool that allows you to create a CD/DVD with all downloaded packages with APT-GET, creating a removable-repository.8175INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (19, NULL, 28, 'aptoncd', 'APTonCD', 'APTonCD, Get APT Anywhere', 'A simple yet powerful tool which allows you to create one (or more) CD/DVD-Repository containing all of the packages downloaded via apt-get or aptitude.', 'A GUI-based tool that allows you to create a CD/DVD with all downloaded packages with APT-GET, creating a removable-repository.
81768176
8177With aptoncd you can:8177With aptoncd you can:
8178* Create a CD/DVD with all downloaded packages8178* Create a CD/DVD with all downloaded packages
@@ -8181,23 +8181,23 @@
8181* Upgrade a lot of computers with same DVD8181* Upgrade a lot of computers with same DVD
8182* And more is expected...8182* And more is expected...
81838183
8184In the "Create APTonCD" feature we have the possibility to make a CD/DVD with all previously downloaded packages with apt-get or aptitude. It uses apt-cache (/var/cache/apt/archives) and scans for packages and makes a repository in one (or more) CD/DVD, exactly as the previous option.', '2007-03-14 18:53:13.112116', 'http://aptoncd.sourceforge.net/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 21, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 28, NULL, NULL, NULL);8184In the "Create APTonCD" feature we have the possibility to make a CD/DVD with all previously downloaded packages with apt-get or aptitude. It uses apt-cache (/var/cache/apt/archives) and scans for packages and makes a repository in one (or more) CD/DVD, exactly as the previous option.', '2007-03-14 18:53:13.112116', 'http://aptoncd.sourceforge.net/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 21, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 28, NULL, NULL, NULL, NULL);
8185INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (20, NULL, 14, 'jokosher', 'Jokosher', 'Jokosher Audio Editor', 'Jokosher is a simple yet powerful multi-track studio. With it you can create and record music, podcasts and more, all from an integrated simple environment.', 'Jokosher brings together many sources of audio into a seamless environment where you can record, mix and publish your audio content.', '2007-03-15 20:11:49.501871', 'http://www.jokosher.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 22, NULL, NULL, NULL, NULL, false, false, false, NULL, false, true, NULL, NULL, false, false, 14, NULL, NULL, NULL);8185INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (20, NULL, 14, 'jokosher', 'Jokosher', 'Jokosher Audio Editor', 'Jokosher is a simple yet powerful multi-track studio. With it you can create and record music, podcasts and more, all from an integrated simple environment.', 'Jokosher brings together many sources of audio into a seamless environment where you can record, mix and publish your audio content.', '2007-03-15 20:11:49.501871', 'http://www.jokosher.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, NULL, NULL, NULL, NULL, 22, NULL, NULL, NULL, NULL, false, false, false, NULL, false, true, NULL, NULL, false, false, 14, NULL, NULL, NULL, NULL);
8186INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (21, NULL, 12, 'bzr', 'Bazaar', 'Bazaar Version Control System', 'Bazaar is a distributed revision control system. It allows team members to branch and merge upstream code very easily. Most importantly, it is very robust in handling renames so that merges across radical restructurings of the tree are efficient and correct.', 'Bazaar aims to be a distributed RCS system that the open source community loves to use.8186INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (21, NULL, 12, 'bzr', 'Bazaar', 'Bazaar Version Control System', 'Bazaar is a distributed revision control system. It allows team members to branch and merge upstream code very easily. Most importantly, it is very robust in handling renames so that merges across radical restructurings of the tree are efficient and correct.', 'Bazaar aims to be a distributed RCS system that the open source community loves to use.
81878187
8188Distributed revision control systems allow multiple people to have their own branch of a project, and merge code efficiently between them. This enables new contributors to immediately have access to the full tools that previously have been limited to just the committers to a project.', '2007-03-27 16:28:27.763632', 'http://bazaar-vcs.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 23, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8188Distributed revision control systems allow multiple people to have their own branch of a project, and merge code efficiently between them. This enables new contributors to immediately have access to the full tools that previously have been limited to just the committers to a project.', '2007-03-27 16:28:27.763632', 'http://bazaar-vcs.org/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 23, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8189INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (22, NULL, 12, 'redfish', 'Redfish', 'Redfish', 'The redfish project.', 'The redfish project.', '2007-04-18 20:58:56.846607', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 24, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL);8189INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (22, NULL, 12, 'redfish', 'Redfish', 'Redfish', 'The redfish project.', 'The redfish project.', '2007-04-18 20:58:56.846607', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, true, 64, NULL, NULL, NULL, 24, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 12, NULL, NULL, NULL, NULL);
8190INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (23, 1, 1, 'derby', 'Derby', 'Derby - Java Database', 'Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0.', 'Some key advantages include:8190INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (23, 1, 1, 'derby', 'Derby', 'Derby - Java Database', 'Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0.', 'Some key advantages include:
81918191
8192 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.8192 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.
8193 * Derby is based on the Java, JDBC, and SQL standards.8193 * Derby is based on the Java, JDBC, and SQL standards.
8194 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.8194 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
8195 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.8195 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
8196 * Derby is easy to install, deploy, and use.8196 * Derby is easy to install, deploy, and use.
8197', '2007-11-19 12:44:30.603892', 'http://db.apache.org/derby/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 25, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL);8197', '2007-11-19 12:44:30.603892', 'http://db.apache.org/derby/', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 25, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 1, NULL, NULL, NULL, NULL);
8198INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (24, NULL, 243623, 'mega-money-maker', 'Mega Money Maker', 'Sample Commercial Project', 'Proprietary project', NULL, '2008-06-27 14:51:47.366199', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 26, NULL, NULL, NULL, NULL, false, false, false, 'All rights reserved. Not free.', false, false, NULL, NULL, false, false, 243623, NULL, NULL, NULL);8198INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (24, NULL, 243623, 'mega-money-maker', 'Mega Money Maker', 'Sample Commercial Project', 'Proprietary project', NULL, '2008-06-27 14:51:47.366199', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 26, NULL, NULL, NULL, NULL, false, false, false, 'All rights reserved. Not free.', false, false, NULL, NULL, false, false, 243623, NULL, NULL, NULL, NULL);
8199INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (25, NULL, 16, 'rosetta', 'Launchpad Translations', 'The translations part of Launchpad', 'Here you can translate your project into other spoken languages.', NULL, '2008-10-02 10:12:40.909504', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 27, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL);8199INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (25, NULL, 16, 'rosetta', 'Launchpad Translations', 'The translations part of Launchpad', 'Here you can translate your project into other spoken languages.', NULL, '2008-10-02 10:12:40.909504', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 27, NULL, NULL, NULL, NULL, false, false, false, NULL, false, false, NULL, NULL, false, false, 16, NULL, NULL, NULL, NULL);
8200INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat) VALUES (26, NULL, 16, 'obsolete-junk', 'Obsolete Junk', 'The Great Mass of Obsolete Junk', 'If you have junk that you don''t want clogging up your product, dump it here.', NULL, '2009-05-02 21:33:15.310312', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 28, NULL, NULL, NULL, NULL, false, false, false, '(We have them all because we are junk. Junk. Junk I tell you.)', false, false, NULL, NULL, false, true, 16, NULL, NULL, NULL);8200INSERT INTO product (id, project, owner, name, displayname, title, summary, description, datecreated, homepageurl, screenshotsurl, wikiurl, listurl, programminglang, downloadurl, lastdoap, sourceforgeproject, freshmeatproject, reviewed, active, fti, autoupdate, translationgroup, translationpermission, official_rosetta, official_malone, bug_supervisor, security_contact, driver, bugtracker, development_focus, homepage_content, icon, mugshot, logo, official_answers, private_bugs, private_specs, license_info, official_blueprints, enable_bug_expiration, bug_reporting_guidelines, reviewer_whiteboard, official_codehosting, license_approved, registrant, remote_product, translation_focus, max_bug_heat, date_next_suggest_packaging) VALUES (26, NULL, 16, 'obsolete-junk', 'Obsolete Junk', 'The Great Mass of Obsolete Junk', 'If you have junk that you don''t want clogging up your product, dump it here.', NULL, '2009-05-02 21:33:15.310312', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, true, NULL, false, NULL, 1, false, false, NULL, NULL, NULL, NULL, 28, NULL, NULL, NULL, NULL, false, false, false, '(We have them all because we are junk. Junk. Junk I tell you.)', false, false, NULL, NULL, false, true, 16, NULL, NULL, NULL, NULL);
82018201
82028202
8203ALTER TABLE product ENABLE TRIGGER ALL;8203ALTER TABLE product ENABLE TRIGGER ALL;
82048204
=== modified file 'database/schema/comments.sql'
--- database/schema/comments.sql 2010-03-25 19:55:16 +0000
+++ database/schema/comments.sql 2010-04-27 20:11:38 +0000
@@ -623,6 +623,7 @@
623COMMENT ON COLUMN Product.license_approved IS 'The Other/Open Source license has been approved by an administrator.';623COMMENT ON COLUMN Product.license_approved IS 'The Other/Open Source license has been approved by an administrator.';
624COMMENT ON COLUMN Product.remote_product IS 'The ID of this product on its remote bug tracker.';624COMMENT ON COLUMN Product.remote_product IS 'The ID of this product on its remote bug tracker.';
625COMMENT ON COLUMN Product.max_bug_heat IS 'The highest heat value across bugs for this product.';625COMMENT ON COLUMN Product.max_bug_heat IS 'The highest heat value across bugs for this product.';
626COMMENT ON COLUMN Product.date_next_suggest_packaging IS 'The date when Launchpad can resume suggesting Ubuntu packages that the project provides.';
626627
627-- ProductLicense628-- ProductLicense
628COMMENT ON TABLE ProductLicense IS 'The licenses that cover the software for a product.';629COMMENT ON TABLE ProductLicense IS 'The licenses that cover the software for a product.';
629630
=== added file 'database/schema/patch-2207-52-0.sql'
--- database/schema/patch-2207-52-0.sql 1970-01-01 00:00:00 +0000
+++ database/schema/patch-2207-52-0.sql 2010-04-27 20:11:38 +0000
@@ -0,0 +1,11 @@
1-- Copyright 2010 Canonical Ltd. This software is licensed under the
2-- GNU Affero General Public License version 3 (see the file LICENSE).
3
4SET client_min_messages=ERROR;
5
6-- Add a column to track when Launchpad can resume suggesting Ubuntu packages
7-- that the project provides.
8ALTER TABLE Product
9 ADD COLUMN date_next_suggest_packaging timestamp without time zone;
10
11INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 52, 0);
012
=== removed directory 'lib/launchpad_loggerhead'
=== removed file 'lib/launchpad_loggerhead/__init__.py'
--- lib/launchpad_loggerhead/__init__.py 2010-04-27 20:11:21 +0000
+++ lib/launchpad_loggerhead/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
1
20
=== removed file 'lib/launchpad_loggerhead/app.py'
--- lib/launchpad_loggerhead/app.py 2010-04-27 20:11:21 +0000
+++ lib/launchpad_loggerhead/app.py 1970-01-01 00:00:00 +0000
@@ -1,232 +0,0 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).
3
4import logging
5import re
6import os
7import threading
8import urllib
9import urlparse
10import xmlrpclib
11
12from bzrlib import branch, errors, lru_cache, urlutils
13
14from loggerhead.apps import favicon_app, static_app
15from loggerhead.apps.branch import BranchWSGIApp
16
17from openid.extensions.sreg import SRegRequest, SRegResponse
18from openid.consumer.consumer import CANCEL, Consumer, FAILURE, SUCCESS
19from openid.store.memstore import MemoryStore
20
21from paste.fileapp import DataApp
22from paste.request import construct_url, parse_querystring, path_info_pop
23from paste.httpexceptions import (
24 HTTPMovedPermanently, HTTPNotFound, HTTPUnauthorized)
25
26from canonical.config import config
27from canonical.launchpad.xmlrpc import faults
28from lp.code.interfaces.codehosting import (
29 BRANCH_TRANSPORT, LAUNCHPAD_ANONYMOUS, LAUNCHPAD_SERVICES)
30from lp.codehosting.vfs import branch_id_to_path
31
32robots_txt = '''\
33User-agent: *
34Disallow: /
35'''
36
37robots_app = DataApp(robots_txt, content_type='text/plain')
38
39
40thread_transports = threading.local()
41
42def valid_launchpad_name(s):
43 return re.match('^[a-z0-9][a-z0-9\+\.\-]*$', s) is not None
44
45
46def valid_launchpad_user_name(s):
47 return re.match('^~[a-z0-9][a-z0-9\+\.\-]*$', s) is not None
48
49
50def valid_launchpad_branch_name(s):
51 return re.match(r'^(?i)[a-z0-9][a-z0-9+\.\-@_]*\Z', s) is not None
52
53
54class RootApp:
55
56 def __init__(self, session_var):
57 self.graph_cache = lru_cache.LRUCache(10)
58 self.branchfs = xmlrpclib.ServerProxy(
59 config.codehosting.branchfs_endpoint)
60 self.session_var = session_var
61 self.store = MemoryStore()
62 self.log = logging.getLogger('lp-loggerhead')
63 branch.Branch.hooks.install_named_hook(
64 'transform_fallback_location',
65 self._transform_fallback_location_hook,
66 'RootApp._transform_fallback_location_hook')
67
68 def _transform_fallback_location_hook(self, branch, url):
69 """Transform a human-readable fallback URL into and id-based one.
70
71 Branches on Launchpad record their stacked-on URLs in the form
72 '/~user/product/branch', but we need to access branches based on
73 database ID to gain access to private branches. So we use this hook
74 into Bazaar's branch-opening process to translate the former to the
75 latter.
76 """
77 # It might seem that using the LAUNCHPAD_SERVICES 'user', which allows
78 # access to all branches, here would be a security risk. But in fact
79 # it isn't, because a user will only have launchpad.View on the
80 # stacked branch if they have it for all the stacked-on branches.
81 # (It would be nice to use the user from the request, but that's far
82 # from simple because branch hooks are global per-process and we
83 # handle different requests in different threads).
84 transport_type, info, trail = self.branchfs.translatePath(
85 LAUNCHPAD_SERVICES, url)
86 return urlparse.urljoin(
87 config.codehosting.internal_branch_by_id_root,
88 branch_id_to_path(info['id']))
89
90 def get_transports(self):
91 t = getattr(thread_transports, 'transports', None)
92 if t is None:
93 thread_transports.transports = []
94 return thread_transports.transports
95
96 def _make_consumer(self, environ):
97 """Build an OpenID `Consumer` object with standard arguments."""
98 return Consumer(environ[self.session_var], self.store)
99
100 def _begin_login(self, environ, start_response):
101 """Start the process of authenticating with OpenID.
102
103 We redirect the user to Launchpad to identify themselves, asking to be
104 sent their nickname. Launchpad will then redirect them to our +login
105 page with enough information that we can then redirect them again to
106 the page they were looking at, with a cookie that gives us the
107 username.
108 """
109 openid_request = self._make_consumer(environ).begin(
110 'https://' + config.vhost.openid.hostname)
111 openid_request.addExtension(
112 SRegRequest(required=['nickname']))
113 back_to = construct_url(environ)
114 raise HTTPMovedPermanently(openid_request.redirectURL(
115 config.codehosting.secure_codebrowse_root,
116 config.codehosting.secure_codebrowse_root + '+login/?'
117 + urllib.urlencode({'back_to':back_to})))
118
119 def _complete_login(self, environ, start_response):
120 """Complete the OpenID authentication process.
121
122 Here we handle the result of the OpenID process. If the process
123 succeeded, we record the username in the session and redirect the user
124 to the page they were trying to view that triggered the login attempt.
125 In the various failures cases we return a 401 Unauthorized response
126 with a brief explanation of what went wrong.
127 """
128 query = dict(parse_querystring(environ))
129 # Passing query['openid.return_to'] here is massive cheating, but
130 # given we control the endpoint who cares.
131 response = self._make_consumer(environ).complete(
132 query, query['openid.return_to'])
133 if response.status == SUCCESS:
134 self.log.error('open id response: SUCCESS')
135 sreg_info = SRegResponse.fromSuccessResponse(response)
136 environ[self.session_var]['user'] = sreg_info['nickname']
137 raise HTTPMovedPermanently(query['back_to'])
138 elif response.status == FAILURE:
139 self.log.error('open id response: FAILURE: %s', response.message)
140 exc = HTTPUnauthorized()
141 exc.explanation = response.message
142 raise exc
143 elif response.status == CANCEL:
144 self.log.error('open id response: CANCEL')
145 exc = HTTPUnauthorized()
146 exc.explanation = "Authetication cancelled."
147 raise exc
148 else:
149 self.log.error('open id response: UNKNOWN')
150 exc = HTTPUnauthorized()
151 exc.explanation = "Unknown OpenID response."
152 raise exc
153
154 def __call__(self, environ, start_response):
155 environ['loggerhead.static.url'] = environ['SCRIPT_NAME']
156 if environ['PATH_INFO'].startswith('/static/'):
157 path_info_pop(environ)
158 return static_app(environ, start_response)
159 elif environ['PATH_INFO'] == '/favicon.ico':
160 return favicon_app(environ, start_response)
161 elif environ['PATH_INFO'] == '/robots.txt':
162 return robots_app(environ, start_response)
163 elif environ['PATH_INFO'].startswith('/+login'):
164 return self._complete_login(environ, start_response)
165 path = environ['PATH_INFO']
166 trailingSlashCount = len(path) - len(path.rstrip('/'))
167 user = environ[self.session_var].get('user', LAUNCHPAD_ANONYMOUS)
168 try:
169 transport_type, info, trail = self.branchfs.translatePath(
170 user, urlutils.escape(path))
171 except xmlrpclib.Fault, f:
172 if faults.check_fault(f, faults.PathTranslationError):
173 raise HTTPNotFound()
174 elif faults.check_fault(f, faults.PermissionDenied):
175 # If we're not allowed to see the branch...
176 if environ['wsgi.url_scheme'] != 'https':
177 # ... the request shouldn't have come in over http, as
178 # requests for private branches over http should be
179 # redirected to https by the dynamic rewrite script we use
180 # (which runs before this code is reached), but just in
181 # case...
182 env_copy = environ.copy()
183 env_copy['wsgi.url_scheme'] = 'https'
184 raise HTTPMovedPermanently(construct_url(env_copy))
185 elif user != LAUNCHPAD_ANONYMOUS:
186 # ... if the user is already logged in and still can't see
187 # the branch, they lose.
188 exc = HTTPUnauthorized()
189 exc.explanation = "You are logged in as %s." % user
190 raise exc
191 else:
192 # ... otherwise, lets give them a chance to log in with
193 # OpenID.
194 return self._begin_login(environ, start_response)
195 else:
196 raise
197 if transport_type != BRANCH_TRANSPORT:
198 raise HTTPNotFound()
199 trail = urlutils.unescape(trail).encode('utf-8')
200 trail += trailingSlashCount * '/'
201 amount_consumed = len(path) - len(trail)
202 consumed = path[:amount_consumed]
203 branch_name = consumed.strip('/')
204 self.log.info('Using branch: %s', branch_name)
205 if trail and not trail.startswith('/'):
206 trail = '/' + trail
207 environ['PATH_INFO'] = trail
208 environ['SCRIPT_NAME'] += consumed.rstrip('/')
209 branch_url = urlparse.urljoin(
210 config.codehosting.internal_branch_by_id_root,
211 branch_id_to_path(info['id']))
212 branch_link = urlparse.urljoin(
213 config.codebrowse.launchpad_root, branch_name)
214 cachepath = os.path.join(
215 config.codebrowse.cachepath, branch_name[1:])
216 if not os.path.isdir(cachepath):
217 os.makedirs(cachepath)
218 self.log.info('branch_url: %s', branch_url)
219 try:
220 bzr_branch = branch.Branch.open(
221 branch_url, possible_transports=self.get_transports())
222 except errors.NotBranchError, err:
223 self.log.warning('Not a branch: %s', err)
224 raise HTTPNotFound()
225 bzr_branch.lock_read()
226 try:
227 view = BranchWSGIApp(
228 bzr_branch, branch_name, {'cachepath': cachepath},
229 self.graph_cache, branch_link=branch_link, served_url=None)
230 return view.app(environ, start_response)
231 finally:
232 bzr_branch.unlock()
2330
=== removed file 'lib/launchpad_loggerhead/debug.py'
--- lib/launchpad_loggerhead/debug.py 2010-04-27 20:11:21 +0000
+++ lib/launchpad_loggerhead/debug.py 1970-01-01 00:00:00 +0000
@@ -1,120 +0,0 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).
3
4import thread
5import time
6
7from paste.request import construct_url
8
9
10def tabulate(cells):
11 """Format a list of lists of strings in a table.
12
13 The 'cells' are centered.
14
15 >>> print ''.join(tabulate(
16 ... [['title 1', 'title 2'],
17 ... ['short', 'rather longer']]))
18 title 1 title 2
19 short rather longer
20 """
21 widths = {}
22 for row in cells:
23 for col_index, cell in enumerate(row):
24 widths[col_index] = max(len(cell), widths.get(col_index, 0))
25 result = []
26 for row in cells:
27 result_row = ''
28 for col_index, cell in enumerate(row):
29 result_row += cell.center(widths[col_index] + 2)
30 result.append(result_row.rstrip() + '\n')
31 return result
32
33
34def threadpool_debug(app):
35 """Wrap `app` to provide debugging information about the threadpool state.
36
37 The returned application will serve debugging information about the state
38 of the threadpool at '/thread-debug' -- but only when accessed directly,
39 not when accessed through Apache.
40 """
41 def wrapped(environ, start_response):
42 if ('HTTP_X_FORWARDED_SERVER' in environ
43 or environ['PATH_INFO'] != '/thread-debug'):
44 environ['lp.timestarted'] = time.time()
45 return app(environ, start_response)
46 threadpool = environ['paste.httpserver.thread_pool']
47 start_response("200 Ok", [])
48 output = [("url", "time running", "time since last activity")]
49 now = time.time()
50 # Because we're accessing mutable structures without locks here,
51 # we're a bit cautious about things looking like we expect -- if a
52 # worker doesn't seem fully set up, we just ignore it.
53 for worker in threadpool.workers:
54 if not hasattr(worker, 'thread_id'):
55 continue
56 time_started, info = threadpool.worker_tracker.get(
57 worker.thread_id, (None, None))
58 if time_started is not None and info is not None:
59 real_time_started = info.get(
60 'lp.timestarted', time_started)
61 output.append(
62 map(str,
63 (construct_url(info),
64 now - real_time_started,
65 now - time_started,)))
66 return tabulate(output)
67 return wrapped
68
69
70def change_kill_thread_criteria(application):
71 """Interfere with threadpool so that threads are killed for inactivity.
72
73 The usual rules with paste's threadpool is that a thread that takes longer
74 than 'hung_thread_limit' seconds to process a request is considered hung
75 and more than 'kill_thread_limit' seconds is killed.
76
77 Because loggerhead streams its output, how long the entire request takes
78 to process depends on things like how fast the users internet connection
79 is. What we'd like to do is kill threads that don't _start_ to produce
80 output for 'kill_thread_limit' seconds.
81
82 What this class actually does is arrange things so that threads that
83 produce no output for 'kill_thread_limit' are killed, because that's the
84 rule Apache uses when interpreting ProxyTimeout.
85 """
86 def wrapped_application(environ, start_response):
87 threadpool = environ['paste.httpserver.thread_pool']
88 def reset_timer():
89 """Make this thread safe for another 'kill_thread_limit' seconds.
90
91 We do this by hacking the threadpool's record of when this thread
92 started to pretend that it started right now. Hacky, but it's
93 enough to fool paste.httpserver.ThreadPool.kill_hung_threads and
94 that's what matters.
95 """
96 threadpool.worker_tracker[thread.get_ident()][0] = time.time()
97 def response_hook(status, response_headers, exc_info=None):
98 # We reset the timer when the HTTP headers are sent...
99 reset_timer()
100 writer = start_response(status, response_headers, exc_info)
101 def wrapped_writer(arg):
102 # ... and whenever more output has been generated.
103 reset_timer()
104 return writer(arg)
105 return wrapped_writer
106 result = application(environ, response_hook)
107 # WSGI allows the application to return an iterable, which could be a
108 # generator that does significant processing between successive items,
109 # so we should reset the timer between each item.
110 #
111 # This isn't really necessary as loggerhead doesn't return any
112 # non-trivial iterables to the WSGI server. But it's probably better
113 # to cope with this case to avoid nasty suprises if loggerhead
114 # changes.
115 def reset_timer_between_items(iterable):
116 for item in iterable:
117 reset_timer()
118 yield item
119 return reset_timer_between_items(result)
120 return wrapped_application
1210
=== removed file 'lib/launchpad_loggerhead/session.py'
--- lib/launchpad_loggerhead/session.py 2010-04-27 20:11:21 +0000
+++ lib/launchpad_loggerhead/session.py 1970-01-01 00:00:00 +0000
@@ -1,73 +0,0 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).
3
4"""Simple paste-y session manager tuned for the needs of launchpad-loggerhead.
5"""
6
7import pickle
8
9from paste.auth.cookie import AuthCookieHandler, AuthCookieSigner
10
11
12class MyAuthCookieSigner(AuthCookieSigner):
13 """Fix a bug in AuthCookieSigner."""
14
15 def sign(self, content):
16 # XXX 2008-01-13 Michael Hudson: paste.auth.cookie generates bogus
17 # cookies when the value is long:
18 # http://trac.pythonpaste.org/pythonpaste/ticket/257. This is fixed
19 # now, so when a new version is released and packaged we can remove
20 # this class.
21 r = AuthCookieSigner.sign(self, content)
22 return r.replace('\n', '')
23
24
25class SessionHandler(object):
26 """Middleware that provides a cookie-based session.
27
28 The session dict is stored, pickled (and HMACed), in a cookie, so don't
29 store very much in the session!
30 """
31
32 def __init__(self, application, session_var, secret=None):
33 """Initialize a SessionHandler instance.
34
35 :param application: This is the wrapped application which will have
36 access to the ``environ[session_var]`` dictionary managed by this
37 middleware.
38 :param session_var: The key under which to store the session
39 dictionary in the environment.
40 :param secret: A secret value used for signing the cookie. If not
41 supplied, a new secret will be used for each instantiation of the
42 SessionHandler.
43 """
44 self.application = application
45 self.cookie_handler = AuthCookieHandler(
46 self._process, scanlist=[session_var],
47 signer=MyAuthCookieSigner(secret))
48 self.session_var = session_var
49
50 def __call__(self, environ, start_response):
51 # We need to put the request through the cookie handler first, so we
52 # can access the validated string in the environ in `_process` below.
53 return self.cookie_handler(environ, start_response)
54
55 def _process(self, environ, start_response):
56 """Process a request.
57
58 AuthCookieHandler takes care of getting the text value of the session
59 in and out of the cookie (and validating the text using HMAC) so we
60 just need to convert that string to and from a real dictionary using
61 pickle.
62 """
63 if self.session_var in environ:
64 session = pickle.loads(environ[self.session_var])
65 else:
66 session = {}
67 environ[self.session_var] = session
68 def response_hook(status, response_headers, exc_info=None):
69 session = environ.pop(self.session_var)
70 if session:
71 environ[self.session_var] = pickle.dumps(session)
72 return start_response(status, response_headers, exc_info)
73 return self.application(environ, response_hook)
740
=== removed directory 'lib/launchpad_loggerhead/static'
=== removed file 'lib/launchpad_loggerhead/static/robots.txt'
--- lib/launchpad_loggerhead/static/robots.txt 2010-04-27 20:11:21 +0000
+++ lib/launchpad_loggerhead/static/robots.txt 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1User-agent: *
2Disallow: /
30
=== modified file 'lib/lp/code/doc/xmlrpc-codehosting.txt'
--- lib/lp/code/doc/xmlrpc-codehosting.txt 2010-04-27 20:11:21 +0000
+++ lib/lp/code/doc/xmlrpc-codehosting.txt 2010-04-27 20:11:38 +0000
@@ -17,7 +17,7 @@
17 ... private_root.codehosting)17 ... private_root.codehosting)
18 True18 True
1919
20The CodeHosting view provides the ICodehostingAPI XML-RPC API:20The CodehostingAPI view provides the ICodehostingAPI XML-RPC API:
2121
22 >>> from canonical.launchpad.webapp.servers import LaunchpadTestRequest22 >>> from canonical.launchpad.webapp.servers import LaunchpadTestRequest
23 >>> from lp.code.interfaces.codehosting import ICodehostingAPI23 >>> from lp.code.interfaces.codehosting import ICodehostingAPI
2424
=== modified file 'lib/lp/code/model/tests/test_branchjob.py'
--- lib/lp/code/model/tests/test_branchjob.py 2010-04-27 20:11:21 +0000
+++ lib/lp/code/model/tests/test_branchjob.py 2010-04-27 20:11:38 +0000
@@ -1263,7 +1263,7 @@
1263 layer = LaunchpadZopelessLayer1263 layer = LaunchpadZopelessLayer
12641264
1265 def cleanBranchArea(self):1265 def cleanBranchArea(self):
1266 """Ensure that the branc areas is present and empty."""1266 """Ensure that the branch area is present and empty."""
1267 mirrored = config.codehosting.mirrored_branches_root1267 mirrored = config.codehosting.mirrored_branches_root
1268 shutil.rmtree(mirrored, ignore_errors=True)1268 shutil.rmtree(mirrored, ignore_errors=True)
1269 os.makedirs(mirrored)1269 os.makedirs(mirrored)
12701270
=== modified file 'lib/lp/codehosting/bzrutils.py'
--- lib/lp/codehosting/bzrutils.py 2010-04-27 20:11:21 +0000
+++ lib/lp/codehosting/bzrutils.py 2010-04-27 20:11:38 +0000
@@ -302,7 +302,7 @@
302_install_checked_open_hook()302_install_checked_open_hook()
303303
304304
305def checked_open(validation_function, url):305def checked_open(validation_function, url, possible_transports=None):
306 """Open a branch, calling `validation_function` with any URL thus found.306 """Open a branch, calling `validation_function` with any URL thus found.
307307
308 This is intended to be used to open a branch ensuring that it's not308 This is intended to be used to open a branch ensuring that it's not
@@ -312,7 +312,7 @@
312 raise AssertionError("checked_open called recursively")312 raise AssertionError("checked_open called recursively")
313 checked_open_data.validate = validation_function313 checked_open_data.validate = validation_function
314 try:314 try:
315 return Branch.open(url)315 return Branch.open(url, possible_transports=possible_transports)
316 finally:316 finally:
317 del checked_open_data.validate317 del checked_open_data.validate
318318
@@ -332,10 +332,11 @@
332 return checkURL332 return checkURL
333333
334334
335def safe_open(allowed_scheme, url):335def safe_open(allowed_scheme, url, possible_transports=None):
336 """Open the branch at `url`, only accessing URLs on `allowed_scheme`.336 """Open the branch at `url`, only accessing URLs on `allowed_scheme`.
337337
338 :raises UnsafeUrlSeen: An attempt was made to open a URL that was not on338 :raises UnsafeUrlSeen: An attempt was made to open a URL that was not on
339 `allowed_scheme`.339 `allowed_scheme`.
340 """340 """
341 return checked_open(makeURLChecker(allowed_scheme), url)341 return checked_open(
342 makeURLChecker(allowed_scheme), url, possible_transports)
342343
=== modified file 'lib/lp/codehosting/vfs/branchfs.py'
--- lib/lp/codehosting/vfs/branchfs.py 2010-04-27 20:11:21 +0000
+++ lib/lp/codehosting/vfs/branchfs.py 2010-04-27 20:11:38 +0000
@@ -118,8 +118,10 @@
118118
119119
120# The directories allowed directly beneath a branch directory. These are the120# The directories allowed directly beneath a branch directory. These are the
121# directories that Bazaar creates as part of regular operation.121# directories that Bazaar creates as part of regular operation. We support
122ALLOWED_DIRECTORIES = ('.bzr', '.bzr.backup', 'backup.bzr')122# only two numbered backups to avoid indefinite space usage.
123ALLOWED_DIRECTORIES = ('.bzr', '.bzr.backup', 'backup.bzr', 'backup.bzr.~1~',
124 'backup.bzr.~2~')
123FORBIDDEN_DIRECTORY_ERROR = (125FORBIDDEN_DIRECTORY_ERROR = (
124 "Cannot create '%s'. Only Bazaar branches are allowed.")126 "Cannot create '%s'. Only Bazaar branches are allowed.")
125127
@@ -671,7 +673,7 @@
671 return deferred.addCallback(got_path_info).addErrback(log.err)673 return deferred.addCallback(got_path_info).addErrback(log.err)
672674
673675
674def get_lp_server(user_id, codehosting_endpoint_url=None, branch_directory=None,676def get_lp_server(user_id, codehosting_endpoint_url=None, branch_url=None,
675 seen_new_branch_hook=None):677 seen_new_branch_hook=None):
676 """Create a Launchpad server.678 """Create a Launchpad server.
677679
@@ -686,10 +688,9 @@
686 # Get the defaults from the config.688 # Get the defaults from the config.
687 if codehosting_endpoint_url is None:689 if codehosting_endpoint_url is None:
688 codehosting_endpoint_url = config.codehosting.codehosting_endpoint690 codehosting_endpoint_url = config.codehosting.codehosting_endpoint
689 if branch_directory is None:691 if branch_url is None:
690 branch_directory = config.codehosting.mirrored_branches_root692 branch_url = config.codehosting.mirrored_branches_root
691693
692 branch_url = urlutils.local_path_to_url(branch_directory)
693 codehosting_client = xmlrpclib.ServerProxy(codehosting_endpoint_url)694 codehosting_client = xmlrpclib.ServerProxy(codehosting_endpoint_url)
694 branch_transport = get_chrooted_transport(branch_url)695 branch_transport = get_chrooted_transport(branch_url)
695 lp_server = LaunchpadServer(696 lp_server = LaunchpadServer(
696697
=== modified file 'lib/lp/registry/browser/product.py'
--- lib/lp/registry/browser/product.py 2010-04-26 15:42:02 +0000
+++ lib/lp/registry/browser/product.py 2010-04-27 20:11:38 +0000
@@ -44,8 +44,11 @@
4444
4545
46from cgi import escape46from cgi import escape
47from datetime import datetime, timedelta
47from operator import attrgetter48from operator import attrgetter
4849
50import pytz
51
49from zope.component import getUtility52from zope.component import getUtility
50from zope.event import notify53from zope.event import notify
51from zope.app.form.browser import TextAreaWidget, TextWidget54from zope.app.form.browser import TextAreaWidget, TextWidget
@@ -1050,6 +1053,7 @@
1050 suggestions = None1053 suggestions = None
1051 max_suggestions = 81054 max_suggestions = 8
1052 other_package = object()1055 other_package = object()
1056 not_packaged = object()
1053 initial_focus_widget = None1057 initial_focus_widget = None
10541058
1055 @cachedproperty1059 @cachedproperty
@@ -1068,8 +1072,10 @@
1068 return True1072 return True
1069 if self.user is None or config.launchpad.is_lpnet:1073 if self.user is None or config.launchpad.is_lpnet:
1070 return False1074 return False
1071 else:1075 date_next_suggest_packaging = self.context.date_next_suggest_packaging
1072 return True1076 return (
1077 date_next_suggest_packaging is None
1078 or date_next_suggest_packaging <= datetime.now(tz=pytz.UTC))
10731079
1074 @property1080 @property
1075 def initial_values(self):1081 def initial_values(self):
@@ -1102,15 +1108,21 @@
1102 vocab_terms.append(1108 vocab_terms.append(
1103 SimpleTerm(self.other_package, 'OTHER_PACKAGE', description))1109 SimpleTerm(self.other_package, 'OTHER_PACKAGE', description))
1104 vocabulary = SimpleVocabulary(vocab_terms)1110 vocabulary = SimpleVocabulary(vocab_terms)
1111 # Add an option to represent that the project is not packaged in
1112 # Ubuntu.
1113 description = 'This project is not packaged in Ubuntu'
1114 vocab_terms.append(
1115 SimpleTerm(self.not_packaged, 'NOT_PACKAGED', description))
1116 vocabulary = SimpleVocabulary(vocab_terms)
1117 series_display_name = ubuntu.currentseries.displayname
1105 self.form_fields = form.Fields(1118 self.form_fields = form.Fields(
1106 Choice(__name__=self.package_field_name,1119 Choice(__name__=self.package_field_name,
1107 title=_('Ubuntu %s packages' %1120 title=_('Ubuntu %s packages') % series_display_name,
1108 ubuntu.currentseries.displayname),
1109 default=None,1121 default=None,
1110 vocabulary=vocabulary,1122 vocabulary=vocabulary,
1111 required=True))1123 required=True))
11121124
1113 @action(_('Set Ubuntu package information'), name='link')1125 @action(_('Set Ubuntu Package Information'), name='link')
1114 def link(self, action, data):1126 def link(self, action, data):
1115 product = self.context1127 product = self.context
1116 dsp = data.get(self.package_field_name)1128 dsp = data.get(self.package_field_name)
@@ -1120,6 +1132,11 @@
1120 self.next_url = canonical_url(1132 self.next_url = canonical_url(
1121 product_series, view_name="+ubuntupkg")1133 product_series, view_name="+ubuntupkg")
1122 return1134 return
1135 if dsp is self.not_packaged:
1136 year_from_now = datetime.now(tz=pytz.UTC) + timedelta(days=365)
1137 self.context.date_next_suggest_packaging = year_from_now
1138 self.next_url = self.request.getURL()
1139 return
1123 ubuntu = getUtility(ILaunchpadCelebrities).ubuntu1140 ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
1124 product_series.setPackaging(ubuntu.currentseries,1141 product_series.setPackaging(ubuntu.currentseries,
1125 dsp.sourcepackagename,1142 dsp.sourcepackagename,
11261143
=== modified file 'lib/lp/registry/browser/tests/product-portlet-packages-view.txt'
--- lib/lp/registry/browser/tests/product-portlet-packages-view.txt 2010-04-26 15:42:02 +0000
+++ lib/lp/registry/browser/tests/product-portlet-packages-view.txt 2010-04-27 20:11:38 +0000
@@ -68,6 +68,7 @@
68 suggest one?68 suggest one?
69 Ubuntu Hoary packages:69 Ubuntu Hoary packages:
70 Choose another Ubuntu package70 Choose another Ubuntu package
71 This project is not packaged in Ubuntu
7172
72A distribution source package in a distribution other than ubuntu will73A distribution source package in a distribution other than ubuntu will
73not be suggested.74not be suggested.
@@ -99,7 +100,6 @@
99 >>> view.suggestions100 >>> view.suggestions
100 []101 []
101102
102
103A source package that does NOT have a publishing history in the PENDING103A source package that does NOT have a publishing history in the PENDING
104or PUBLISHED statuses will NOT be suggested.104or PUBLISHED statuses will NOT be suggested.
105105
@@ -115,7 +115,7 @@
115 ... print dsp.name115 ... print dsp.name
116116
117A source package that does have a publishing history for the current117A source package that does have a publishing history for the current
118Ubuntu series will be suggested. The view as a distributionsourcepackage118Ubuntu series will be suggested. The view has a distributionsourcepackage
119field.119field.
120120
121 >>> spph = factory.makeSourcePackagePublishingHistory(121 >>> spph = factory.makeSourcePackagePublishingHistory(
@@ -263,6 +263,52 @@
263263
264 >>> ignore = config.pop('test_data')264 >>> ignore = config.pop('test_data')
265265
266The can_show_portlet property is False when
267product.date_next_suggest_packaging is None or the date is more than one
268year ago.
269
270 >>> from datetime import datetime, timedelta
271 >>> import pytz
272
273 >>> print product.date_next_suggest_packaging
274 None
275
276 >>> view = create_initialized_view(
277 ... product, name="+portlet-packages", principal=product.owner)
278 >>> view.can_show_portlet
279 True
280
281 >>> year_from_now = datetime.now(tz=pytz.UTC) + timedelta(days=365)
282 >>> product.date_next_suggest_packaging = year_from_now
283 >>> view = create_initialized_view(
284 ... product, name="+portlet-packages", principal=product.owner)
285 >>> view.can_show_portlet
286 False
287
288 >>> yesterday = datetime.now(tz=pytz.UTC) - timedelta(days=1)
289 >>> product.date_next_suggest_packaging = yesterday
290 >>> view = create_initialized_view(
291 ... product, name="+portlet-packages", principal=product.owner)
292 >>> view.can_show_portlet
293 True
294
295The +portlet-packages view can set the product date_next_suggest_packaging
296attribute so that suggestions are disabled.
297
298 >>> product.date_next_suggest_packaging = None
299 >>> almost_a_year = datetime.now(tz=pytz.UTC) + timedelta(days=364)
300 >>> form = {
301 ... 'field.distributionsourcepackage': 'NOT_PACKAGED',
302 ... 'field.actions.link': 'Set Ubuntu Package Information',
303 ... }
304 >>> view = create_initialized_view(
305 ... product, name="+portlet-packages", form=form)
306 >>> view.errors
307 []
308
309 >>> print product.date_next_suggest_packaging > almost_a_year
310 True
311
266The +portlet-packages view can create a Packaging link.312The +portlet-packages view can create a Packaging link.
267313
268 >>> product.sourcepackages314 >>> product.sourcepackages
@@ -270,7 +316,7 @@
270316
271 >>> form = {317 >>> form = {
272 ... 'field.distributionsourcepackage': 'bingo',318 ... 'field.distributionsourcepackage': 'bingo',
273 ... 'field.actions.link': 'Set Ubuntu package information',319 ... 'field.actions.link': 'Set Ubuntu Package Information',
274 ... }320 ... }
275 >>> view = create_initialized_view(321 >>> view = create_initialized_view(
276 ... product, name="+portlet-packages", form=form)322 ... product, name="+portlet-packages", form=form)
@@ -298,7 +344,7 @@
298344
299 >>> form = {345 >>> form = {
300 ... 'field.distributionsourcepackage': 'OTHER_PACKAGE',346 ... 'field.distributionsourcepackage': 'OTHER_PACKAGE',
301 ... 'field.actions.link': 'Set Ubuntu package information',347 ... 'field.actions.link': 'Set Ubuntu Package Information',
302 ... }348 ... }
303 >>> view = create_initialized_view(349 >>> view = create_initialized_view(
304 ... product, name="+portlet-packages", form=form)350 ... product, name="+portlet-packages", form=form)
305351
=== modified file 'lib/lp/registry/browser/tests/product-views.txt'
--- lib/lp/registry/browser/tests/product-views.txt 2010-04-19 20:03:36 +0000
+++ lib/lp/registry/browser/tests/product-views.txt 2010-04-27 20:11:38 +0000
@@ -457,7 +457,6 @@
457officially supports.457officially supports.
458458
459 >>> from canonical.launchpad.testing.pages import find_tag_by_id459 >>> from canonical.launchpad.testing.pages import find_tag_by_id
460 >>> product = factory.makeProduct(name='tomato', title='Tomato')
461460
462 >>> owner = product.owner461 >>> owner = product.owner
463 >>> login_person(owner)462 >>> login_person(owner)
@@ -496,80 +495,3 @@
496 portlet-latest-bugs495 portlet-latest-bugs
497 >>> print find_tag_by_id(content, 'portlet-blueprints')['id']496 >>> print find_tag_by_id(content, 'portlet-blueprints')['id']
498 portlet-blueprints497 portlet-blueprints
499
500
501+portlet-packages
502-----------------
503
504When the product is not linked to a source package in Ubuntu the
505+portlet-packages will show suggestions on potential matches and ask
506the user to make the connection.
507
508 >>> product = factory.makeProduct(name="bingo")
509 >>> transaction.commit()
510 >>> login_person(product.owner)
511 >>> view = create_initialized_view(
512 ... product, name="+portlet-packages",
513 ... principal=product.owner)
514 >>> print view.suggestions
515 []
516
517 >>> content = find_tag_by_id(view.render(), 'portlet-packages')
518 >>> print extract_text(content)
519 All packages
520 Packages in Ubuntu
521 Launchpad doesn't know which Ubuntu packages this project
522 provides. Links from distribution packages to upstream projects
523 let distribution and upstream maintainers share bugs, patches, and
524 translations efficiently.
525 There are no unlinked source packages that are a good match.
526 Can you suggest one?
527 Ubuntu Hoary packages:
528 Choose another Ubuntu package
529
530 >>> spn = factory.makeSourcePackageName(name="bingo")
531 >>> from canonical.launchpad.interfaces.launchpad import (
532 ... ILaunchpadCelebrities)
533 >>> ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
534 >>> distro_package = factory.makeDistributionSourcePackage(
535 ... sourcepackagename=spn, distribution=ubuntu)
536 >>> spph = factory.makeSourcePackagePublishingHistory(
537 ... sourcepackagename=spn, distroseries=ubuntu.currentseries)
538
539 >>> view = create_initialized_view(
540 ... product, name="+portlet-packages",
541 ... principal=product.owner)
542 >>> print view.suggestions
543 []
544
545 >>> distro_package = factory.makeDistributionSourcePackage(
546 ... sourcepackagename=spn, distribution=ubuntu)
547
548 >>> view = create_initialized_view(
549 ... product, name="+portlet-packages",
550 ... principal=product.owner)
551 >>> print view.suggestions
552 []
553
554 >>> import transaction
555 >>> #transaction.commit()
556 >>> from canonical.launchpad.scripts import QuietFakeLogger
557 >>> logger = QuietFakeLogger()
558 >>> from canonical.testing.layers import reconnect_stores
559 >>> from canonical.config import config
560 >>> # Switch to the statistician user who is the only user with
561 >>> # write permission to the source package cache tables.
562 >>> reconnect_stores(config.statistician.dbuser)
563 >>> # LaunchpadZopelessLayer.switchDbUser(config.statistician.dbuser)
564 >>> ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
565 >>> updated = ubuntu.updateCompleteSourcePackageCache(
566 ... archive=ubuntu.main_archive, log=logger, ztm=transaction)
567 >>> transaction.commit()
568 >>> reconnect_stores('launchpad')
569 >>> login(ANONYMOUS)
570 >>> product = getUtility(IProductSet)['bingo']
571 >>> view = create_initialized_view(
572 ... product, name="+portlet-packages",
573 ... principal=product.owner)
574 >>> print view.suggestions
575 []
576498
=== modified file 'lib/lp/registry/configure.zcml'
--- lib/lp/registry/configure.zcml 2010-04-19 08:31:01 +0000
+++ lib/lp/registry/configure.zcml 2010-04-27 20:11:38 +0000
@@ -1078,6 +1078,9 @@
1078 <allow1078 <allow
1079 interface="lp.translations.interfaces.customlanguagecode.IHasCustomLanguageCodes"/>1079 interface="lp.translations.interfaces.customlanguagecode.IHasCustomLanguageCodes"/>
1080 <require1080 <require
1081 permission="launchpad.View"
1082 set_attributes="date_next_suggest_packaging"/>
1083 <require
1081 permission="launchpad.Driver"1084 permission="launchpad.Driver"
1082 interface="lp.registry.interfaces.product.IProductDriverRestricted"/>1085 interface="lp.registry.interfaces.product.IProductDriverRestricted"/>
1083 <require1086 <require
10841087
=== modified file 'lib/lp/registry/doc/product.txt'
--- lib/lp/registry/doc/product.txt 2010-04-22 14:23:32 +0000
+++ lib/lp/registry/doc/product.txt 2010-04-27 20:11:38 +0000
@@ -211,7 +211,8 @@
211 >>> evo.active = True211 >>> evo.active = True
212212
213213
214== Package links ==214Package links
215-------------
215216
216The packaging table allows us to list source and distro source packages217The packaging table allows us to list source and distro source packages
217related to a certain upstream:218related to a certain upstream:
@@ -222,7 +223,29 @@
222 >>> [(sp.name, sp.distribution.name) for sp in alsa.distrosourcepackages]223 >>> [(sp.name, sp.distribution.name) for sp in alsa.distrosourcepackages]
223 [(u'alsa-utils', u'debian'), (u'alsa-utils', u'ubuntu')]224 [(u'alsa-utils', u'debian'), (u'alsa-utils', u'ubuntu')]
224225
225== External Bug Tracker ==226The date_next_suggest_packaging attribute records the date when Launchpad can
227resume suggesting Ubuntu packages that the project provides. A value of None
228means that no user has ever confirmed that that the project has no Ubuntu
229packages.
230
231 >>> print evo.date_next_suggest_packaging
232 None
233
234Any logged in user can set date_next_suggest_packaging, just like any
235logged in user can can link a project to a source package.
236
237 >>> from datetime import datetime
238 >>> from pytz import UTC
239
240 >>> login("no-priv@canonical.com")
241 >>> evo.date_next_suggest_packaging = datetime(
242 ... 2011, 1, 25, 0, 0, 0, tzinfo=UTC)
243 >>> print evo.date_next_suggest_packaging
244 2011-01-25 00:00:00+00:00
245
246
247External Bug Tracker
248--------------------
226249
227If a product doesn't use Malone, it can specify that it uses an250If a product doesn't use Malone, it can specify that it uses an
228external bug tracker. It can either use its own bug tracker, or use its251external bug tracker. It can either use its own bug tracker, or use its
@@ -244,6 +267,8 @@
244This is true even if its project has a bug tracker specified.267This is true even if its project has a bug tracker specified.
245268
246 >>> from canonical.launchpad.interfaces import IBugTrackerSet269 >>> from canonical.launchpad.interfaces import IBugTrackerSet
270
271 >>> login_person(firefox.owner)
247 >>> gnome_bugzilla = getUtility(IBugTrackerSet).getByName('gnome-bugzilla')272 >>> gnome_bugzilla = getUtility(IBugTrackerSet).getByName('gnome-bugzilla')
248 >>> firefox.project.bugtracker = gnome_bugzilla273 >>> firefox.project.bugtracker = gnome_bugzilla
249 >>> firefox.getExternalBugTracker() is None274 >>> firefox.getExternalBugTracker() is None
@@ -322,6 +347,7 @@
322or license_info attributes are changed, the license_reviewed is reset347or license_info attributes are changed, the license_reviewed is reset
323to false.348to false.
324349
350 >>> login('admin@canonical.com')
325 >>> productset.getByName('jokosher').licenses == ()351 >>> productset.getByName('jokosher').licenses == ()
326 True352 True
327 >>> product.licenses353 >>> product.licenses
@@ -401,7 +427,6 @@
401We can use IProduct.milestones to get all milestones associated with any427We can use IProduct.milestones to get all milestones associated with any
402ProductSeries of a product.428ProductSeries of a product.
403429
404 >>> from datetime import datetime
405 >>> [milestone.name for milestone in firefox.milestones]430 >>> [milestone.name for milestone in firefox.milestones]
406 [u'1.0']431 [u'1.0']
407432
408433
=== modified file 'lib/lp/registry/interfaces/product.py'
--- lib/lp/registry/interfaces/product.py 2010-04-23 02:55:08 +0000
+++ lib/lp/registry/interfaces/product.py 2010-04-27 20:11:38 +0000
@@ -571,6 +571,16 @@
571571
572 sourcepackages = Attribute(_("List of packages for this product"))572 sourcepackages = Attribute(_("List of packages for this product"))
573573
574 date_next_suggest_packaging = exported(
575 Datetime(
576 title=_('Next suggest packaging date'),
577 description=_(
578 "The date when Launchpad can resume suggesting Ubuntu "
579 "packages that the project provides. The default value is "
580 "one year after a user states the project is not packaged "
581 "in Ubuntu."),
582 required=False))
583
574 distrosourcepackages = Attribute(_("List of distribution packages for "584 distrosourcepackages = Attribute(_("List of distribution packages for "
575 "this product"))585 "this product"))
576586
577587
=== modified file 'lib/lp/registry/model/product.py'
--- lib/lp/registry/model/product.py 2010-04-22 14:23:32 +0000
+++ lib/lp/registry/model/product.py 2010-04-27 20:11:38 +0000
@@ -254,6 +254,7 @@
254 remote_product = Unicode(254 remote_product = Unicode(
255 name='remote_product', allow_none=True, default=None)255 name='remote_product', allow_none=True, default=None)
256 max_bug_heat = Int()256 max_bug_heat = Int()
257 date_next_suggest_packaging = UtcDateTimeCol(default=None)
257258
258 @property259 @property
259 def official_codehosting(self):260 def official_codehosting(self):
260261
=== modified file 'lib/lp/registry/stories/product/xx-product-index.txt'
--- lib/lp/registry/stories/product/xx-product-index.txt 2010-04-13 21:39:12 +0000
+++ lib/lp/registry/stories/product/xx-product-index.txt 2010-04-27 20:11:38 +0000
@@ -378,6 +378,6 @@
378378
379 >>> user_browser.getControl(379 >>> user_browser.getControl(
380 ... name='field.distributionsourcepackage').value = ['pmount']380 ... name='field.distributionsourcepackage').value = ['pmount']
381 >>> user_browser.getControl('Set Ubuntu package information').click()381 >>> user_browser.getControl('Set Ubuntu Package Information').click()
382 >>> print_feedback_messages(user_browser.contents)382 >>> print_feedback_messages(user_browser.contents)
383 This project was linked to the source package "pmount in ubuntu"383 This project was linked to the source package "pmount in ubuntu"
384384
=== modified file 'lib/lp/registry/stories/webservice/xx-project-registry.txt'
--- lib/lp/registry/stories/webservice/xx-project-registry.txt 2010-04-23 20:41:06 +0000
+++ lib/lp/registry/stories/webservice/xx-project-registry.txt 2010-04-27 20:11:38 +0000
@@ -155,6 +155,7 @@
155 commercial_subscription_is_due: True155 commercial_subscription_is_due: True
156 commercial_subscription_link: None156 commercial_subscription_link: None
157 date_created: u'2004-09-24T20:58:02.185708+00:00'157 date_created: u'2004-09-24T20:58:02.185708+00:00'
158 date_next_suggest_packaging: None
158 description: u'The Mozilla Firefox web browser'159 description: u'The Mozilla Firefox web browser'
159 development_focus_link: u'http://.../firefox/trunk'160 development_focus_link: u'http://.../firefox/trunk'
160 display_name: u'Mozilla Firefox'161 display_name: u'Mozilla Firefox'
@@ -214,6 +215,7 @@
214 commercial_subscription_is_due: True215 commercial_subscription_is_due: True
215 commercial_subscription_link: None216 commercial_subscription_link: None
216 date_created: u'2004-09-24T20:58:02.185708+00:00'217 date_created: u'2004-09-24T20:58:02.185708+00:00'
218 date_next_suggest_packaging: None
217 description: u'The Mozilla Firefox web browser'219 description: u'The Mozilla Firefox web browser'
218 development_focus_link: u'http://.../firefox/trunk'220 development_focus_link: u'http://.../firefox/trunk'
219 display_name: u'Mozilla Firefox'221 display_name: u'Mozilla Firefox'
220222
=== modified file 'lib/lp/services/scripts/tests/__init__.py'
--- lib/lp/services/scripts/tests/__init__.py 2009-07-23 15:36:06 +0000
+++ lib/lp/services/scripts/tests/__init__.py 2010-04-27 20:11:38 +0000
@@ -38,6 +38,8 @@
38 'scripts/librarian-report.py',38 'scripts/librarian-report.py',
39 'scripts/rosetta/message-sharing-populate-test.py',39 'scripts/rosetta/message-sharing-populate-test.py',
40 'scripts/get-stacked-on-branches.py',40 'scripts/get-stacked-on-branches.py',
41 'scripts/start-loggerhead.py',
42 'scripts/stop-loggerhead.py',
41 ]43 ]
4244
4345
4446
=== modified file 'lib/lp/testing/__init__.py'
--- lib/lp/testing/__init__.py 2010-04-27 20:11:21 +0000
+++ lib/lp/testing/__init__.py 2010-04-27 20:11:38 +0000
@@ -519,10 +519,15 @@
519519
520 :param direct_database: If true, translate branch locations by520 :param direct_database: If true, translate branch locations by
521 directly querying the database, not the internal XML-RPC server.521 directly querying the database, not the internal XML-RPC server.
522 If the test is in an AppServerLayer, you probably want to pass
523 direct_database=False and if not you probably want to pass
524 direct_database=True.
522 """525 """
523 if self._use_bzr_branch_called:526 if self._use_bzr_branch_called:
524 if direct_database != self.direct_database_server:527 if direct_database != self.direct_database_server:
525 raise AssertionError("XXX")528 raise AssertionError(
529 "useBzrBranches called with inconsistent values for "
530 "direct_database")
526 return531 return
527 self._use_bzr_branch_called = True532 self._use_bzr_branch_called = True
528 self.useTempBzrHome()533 self.useTempBzrHome()