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
1=== modified file 'configs/development/launchpad-lazr.conf'
2--- configs/development/launchpad-lazr.conf 2010-04-27 20:11:21 +0000
3+++ configs/development/launchpad-lazr.conf 2010-04-27 20:11:38 +0000
4@@ -45,7 +45,7 @@
5
6 [codebrowse]
7 cachepath: /var/tmp/codebrowse.launchpad.dev/cache
8-log_folder:
9+log_folder: /var/tmp/codebrowse.launchpad.dev/logs
10 launchpad_root: https://code.launchpad.dev/
11 secret_path: configs/development/codebrowse-secret
12
13
14=== modified file 'database/sampledata/current-dev.sql'
15--- database/sampledata/current-dev.sql 2010-04-06 05:29:36 +0000
16+++ database/sampledata/current-dev.sql 2010-04-27 20:11:38 +0000
17@@ -8262,31 +8262,31 @@
18
19 ALTER TABLE product DISABLE TRIGGER ALL;
20
21-INSERT 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);
22-INSERT 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);
23-INSERT 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);
24-INSERT 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);
25-INSERT 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.
26-
27-The 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);
28-INSERT 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);
29-INSERT 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);
30-INSERT 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);
31-INSERT 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.
32-
33-The 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);
34-INSERT 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);
35-INSERT 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);
36-INSERT 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);
37-INSERT 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);
38-INSERT 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);
39-INSERT 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);
40-INSERT 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.
41-
42-The 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);
43-INSERT 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);
44-INSERT 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);
45-INSERT 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.
46+INSERT 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);
47+INSERT 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);
48+INSERT 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);
49+INSERT 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);
50+INSERT 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.
51+
52+The 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);
53+INSERT 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);
54+INSERT 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);
55+INSERT 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);
56+INSERT 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.
57+
58+The 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);
59+INSERT 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);
60+INSERT 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);
61+INSERT 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);
62+INSERT 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);
63+INSERT 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);
64+INSERT 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);
65+INSERT 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.
66+
67+The 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);
68+INSERT 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);
69+INSERT 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);
70+INSERT 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.
71
72 With aptoncd you can:
73 * Create a CD/DVD with all downloaded packages
74@@ -8295,26 +8295,26 @@
75 * Upgrade a lot of computers with same DVD
76 * And more is expected...
77
78-In 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);
79-INSERT 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);
80-INSERT 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.
81+In 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);
82+INSERT 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);
83+INSERT 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.
84
85-Distributed 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);
86-INSERT 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);
87-INSERT 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:
88+Distributed 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);
89+INSERT 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);
90+INSERT 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:
91
92 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.
93 * Derby is based on the Java, JDBC, and SQL standards.
94 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
95 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
96 * Derby is easy to install, deploy, and use.
97-', '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);
98-INSERT 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);
99-INSERT 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);
100-INSERT 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);
101-INSERT 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);
102-INSERT 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);
103-INSERT 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);
104+', '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);
105+INSERT 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);
106+INSERT 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);
107+INSERT 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);
108+INSERT 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);
109+INSERT 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);
110+INSERT 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);
111
112
113 ALTER TABLE product ENABLE TRIGGER ALL;
114
115=== modified file 'database/sampledata/current.sql'
116--- database/sampledata/current.sql 2010-04-06 05:29:36 +0000
117+++ database/sampledata/current.sql 2010-04-27 20:11:38 +0000
118@@ -8148,31 +8148,31 @@
119
120 ALTER TABLE product DISABLE TRIGGER ALL;
121
122-INSERT 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);
123-INSERT 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);
124-INSERT 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);
125-INSERT 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);
126-INSERT 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.
127-
128-The 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);
129-INSERT 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);
130-INSERT 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);
131-INSERT 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);
132-INSERT 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.
133-
134-The 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);
135-INSERT 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);
136-INSERT 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);
137-INSERT 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);
138-INSERT 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);
139-INSERT 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);
140-INSERT 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);
141-INSERT 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.
142-
143-The 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);
144-INSERT 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);
145-INSERT 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);
146-INSERT 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.
147+INSERT 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);
148+INSERT 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);
149+INSERT 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);
150+INSERT 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);
151+INSERT 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.
152+
153+The 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);
154+INSERT 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);
155+INSERT 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);
156+INSERT 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);
157+INSERT 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.
158+
159+The 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);
160+INSERT 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);
161+INSERT 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);
162+INSERT 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);
163+INSERT 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);
164+INSERT 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);
165+INSERT 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);
166+INSERT 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.
167+
168+The 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);
169+INSERT 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);
170+INSERT 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);
171+INSERT 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.
172
173 With aptoncd you can:
174 * Create a CD/DVD with all downloaded packages
175@@ -8181,23 +8181,23 @@
176 * Upgrade a lot of computers with same DVD
177 * And more is expected...
178
179-In 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);
180-INSERT 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);
181-INSERT 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.
182+In 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);
183+INSERT 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);
184+INSERT 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.
185
186-Distributed 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);
187-INSERT 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);
188-INSERT 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:
189+Distributed 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);
190+INSERT 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);
191+INSERT 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:
192
193 * Derby has a small footprint -- about 2 megabytes for the base engine and embedded JDBC driver.
194 * Derby is based on the Java, JDBC, and SQL standards.
195 * Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
196 * Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
197 * Derby is easy to install, deploy, and use.
198-', '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);
199-INSERT 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);
200-INSERT 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);
201-INSERT 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);
202+', '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);
203+INSERT 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);
204+INSERT 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);
205+INSERT 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);
206
207
208 ALTER TABLE product ENABLE TRIGGER ALL;
209
210=== modified file 'database/schema/comments.sql'
211--- database/schema/comments.sql 2010-03-25 19:55:16 +0000
212+++ database/schema/comments.sql 2010-04-27 20:11:38 +0000
213@@ -623,6 +623,7 @@
214 COMMENT ON COLUMN Product.license_approved IS 'The Other/Open Source license has been approved by an administrator.';
215 COMMENT ON COLUMN Product.remote_product IS 'The ID of this product on its remote bug tracker.';
216 COMMENT ON COLUMN Product.max_bug_heat IS 'The highest heat value across bugs for this product.';
217+COMMENT ON COLUMN Product.date_next_suggest_packaging IS 'The date when Launchpad can resume suggesting Ubuntu packages that the project provides.';
218
219 -- ProductLicense
220 COMMENT ON TABLE ProductLicense IS 'The licenses that cover the software for a product.';
221
222=== added file 'database/schema/patch-2207-52-0.sql'
223--- database/schema/patch-2207-52-0.sql 1970-01-01 00:00:00 +0000
224+++ database/schema/patch-2207-52-0.sql 2010-04-27 20:11:38 +0000
225@@ -0,0 +1,11 @@
226+-- Copyright 2010 Canonical Ltd. This software is licensed under the
227+-- GNU Affero General Public License version 3 (see the file LICENSE).
228+
229+SET client_min_messages=ERROR;
230+
231+-- Add a column to track when Launchpad can resume suggesting Ubuntu packages
232+-- that the project provides.
233+ALTER TABLE Product
234+ ADD COLUMN date_next_suggest_packaging timestamp without time zone;
235+
236+INSERT INTO LaunchpadDatabaseRevision VALUES (2207, 52, 0);
237
238=== removed directory 'lib/launchpad_loggerhead'
239=== removed file 'lib/launchpad_loggerhead/__init__.py'
240--- lib/launchpad_loggerhead/__init__.py 2010-04-27 20:11:21 +0000
241+++ lib/launchpad_loggerhead/__init__.py 1970-01-01 00:00:00 +0000
242@@ -1,1 +0,0 @@
243-
244
245=== removed file 'lib/launchpad_loggerhead/app.py'
246--- lib/launchpad_loggerhead/app.py 2010-04-27 20:11:21 +0000
247+++ lib/launchpad_loggerhead/app.py 1970-01-01 00:00:00 +0000
248@@ -1,232 +0,0 @@
249-# Copyright 2009 Canonical Ltd. This software is licensed under the
250-# GNU Affero General Public License version 3 (see the file LICENSE).
251-
252-import logging
253-import re
254-import os
255-import threading
256-import urllib
257-import urlparse
258-import xmlrpclib
259-
260-from bzrlib import branch, errors, lru_cache, urlutils
261-
262-from loggerhead.apps import favicon_app, static_app
263-from loggerhead.apps.branch import BranchWSGIApp
264-
265-from openid.extensions.sreg import SRegRequest, SRegResponse
266-from openid.consumer.consumer import CANCEL, Consumer, FAILURE, SUCCESS
267-from openid.store.memstore import MemoryStore
268-
269-from paste.fileapp import DataApp
270-from paste.request import construct_url, parse_querystring, path_info_pop
271-from paste.httpexceptions import (
272- HTTPMovedPermanently, HTTPNotFound, HTTPUnauthorized)
273-
274-from canonical.config import config
275-from canonical.launchpad.xmlrpc import faults
276-from lp.code.interfaces.codehosting import (
277- BRANCH_TRANSPORT, LAUNCHPAD_ANONYMOUS, LAUNCHPAD_SERVICES)
278-from lp.codehosting.vfs import branch_id_to_path
279-
280-robots_txt = '''\
281-User-agent: *
282-Disallow: /
283-'''
284-
285-robots_app = DataApp(robots_txt, content_type='text/plain')
286-
287-
288-thread_transports = threading.local()
289-
290-def valid_launchpad_name(s):
291- return re.match('^[a-z0-9][a-z0-9\+\.\-]*$', s) is not None
292-
293-
294-def valid_launchpad_user_name(s):
295- return re.match('^~[a-z0-9][a-z0-9\+\.\-]*$', s) is not None
296-
297-
298-def valid_launchpad_branch_name(s):
299- return re.match(r'^(?i)[a-z0-9][a-z0-9+\.\-@_]*\Z', s) is not None
300-
301-
302-class RootApp:
303-
304- def __init__(self, session_var):
305- self.graph_cache = lru_cache.LRUCache(10)
306- self.branchfs = xmlrpclib.ServerProxy(
307- config.codehosting.branchfs_endpoint)
308- self.session_var = session_var
309- self.store = MemoryStore()
310- self.log = logging.getLogger('lp-loggerhead')
311- branch.Branch.hooks.install_named_hook(
312- 'transform_fallback_location',
313- self._transform_fallback_location_hook,
314- 'RootApp._transform_fallback_location_hook')
315-
316- def _transform_fallback_location_hook(self, branch, url):
317- """Transform a human-readable fallback URL into and id-based one.
318-
319- Branches on Launchpad record their stacked-on URLs in the form
320- '/~user/product/branch', but we need to access branches based on
321- database ID to gain access to private branches. So we use this hook
322- into Bazaar's branch-opening process to translate the former to the
323- latter.
324- """
325- # It might seem that using the LAUNCHPAD_SERVICES 'user', which allows
326- # access to all branches, here would be a security risk. But in fact
327- # it isn't, because a user will only have launchpad.View on the
328- # stacked branch if they have it for all the stacked-on branches.
329- # (It would be nice to use the user from the request, but that's far
330- # from simple because branch hooks are global per-process and we
331- # handle different requests in different threads).
332- transport_type, info, trail = self.branchfs.translatePath(
333- LAUNCHPAD_SERVICES, url)
334- return urlparse.urljoin(
335- config.codehosting.internal_branch_by_id_root,
336- branch_id_to_path(info['id']))
337-
338- def get_transports(self):
339- t = getattr(thread_transports, 'transports', None)
340- if t is None:
341- thread_transports.transports = []
342- return thread_transports.transports
343-
344- def _make_consumer(self, environ):
345- """Build an OpenID `Consumer` object with standard arguments."""
346- return Consumer(environ[self.session_var], self.store)
347-
348- def _begin_login(self, environ, start_response):
349- """Start the process of authenticating with OpenID.
350-
351- We redirect the user to Launchpad to identify themselves, asking to be
352- sent their nickname. Launchpad will then redirect them to our +login
353- page with enough information that we can then redirect them again to
354- the page they were looking at, with a cookie that gives us the
355- username.
356- """
357- openid_request = self._make_consumer(environ).begin(
358- 'https://' + config.vhost.openid.hostname)
359- openid_request.addExtension(
360- SRegRequest(required=['nickname']))
361- back_to = construct_url(environ)
362- raise HTTPMovedPermanently(openid_request.redirectURL(
363- config.codehosting.secure_codebrowse_root,
364- config.codehosting.secure_codebrowse_root + '+login/?'
365- + urllib.urlencode({'back_to':back_to})))
366-
367- def _complete_login(self, environ, start_response):
368- """Complete the OpenID authentication process.
369-
370- Here we handle the result of the OpenID process. If the process
371- succeeded, we record the username in the session and redirect the user
372- to the page they were trying to view that triggered the login attempt.
373- In the various failures cases we return a 401 Unauthorized response
374- with a brief explanation of what went wrong.
375- """
376- query = dict(parse_querystring(environ))
377- # Passing query['openid.return_to'] here is massive cheating, but
378- # given we control the endpoint who cares.
379- response = self._make_consumer(environ).complete(
380- query, query['openid.return_to'])
381- if response.status == SUCCESS:
382- self.log.error('open id response: SUCCESS')
383- sreg_info = SRegResponse.fromSuccessResponse(response)
384- environ[self.session_var]['user'] = sreg_info['nickname']
385- raise HTTPMovedPermanently(query['back_to'])
386- elif response.status == FAILURE:
387- self.log.error('open id response: FAILURE: %s', response.message)
388- exc = HTTPUnauthorized()
389- exc.explanation = response.message
390- raise exc
391- elif response.status == CANCEL:
392- self.log.error('open id response: CANCEL')
393- exc = HTTPUnauthorized()
394- exc.explanation = "Authetication cancelled."
395- raise exc
396- else:
397- self.log.error('open id response: UNKNOWN')
398- exc = HTTPUnauthorized()
399- exc.explanation = "Unknown OpenID response."
400- raise exc
401-
402- def __call__(self, environ, start_response):
403- environ['loggerhead.static.url'] = environ['SCRIPT_NAME']
404- if environ['PATH_INFO'].startswith('/static/'):
405- path_info_pop(environ)
406- return static_app(environ, start_response)
407- elif environ['PATH_INFO'] == '/favicon.ico':
408- return favicon_app(environ, start_response)
409- elif environ['PATH_INFO'] == '/robots.txt':
410- return robots_app(environ, start_response)
411- elif environ['PATH_INFO'].startswith('/+login'):
412- return self._complete_login(environ, start_response)
413- path = environ['PATH_INFO']
414- trailingSlashCount = len(path) - len(path.rstrip('/'))
415- user = environ[self.session_var].get('user', LAUNCHPAD_ANONYMOUS)
416- try:
417- transport_type, info, trail = self.branchfs.translatePath(
418- user, urlutils.escape(path))
419- except xmlrpclib.Fault, f:
420- if faults.check_fault(f, faults.PathTranslationError):
421- raise HTTPNotFound()
422- elif faults.check_fault(f, faults.PermissionDenied):
423- # If we're not allowed to see the branch...
424- if environ['wsgi.url_scheme'] != 'https':
425- # ... the request shouldn't have come in over http, as
426- # requests for private branches over http should be
427- # redirected to https by the dynamic rewrite script we use
428- # (which runs before this code is reached), but just in
429- # case...
430- env_copy = environ.copy()
431- env_copy['wsgi.url_scheme'] = 'https'
432- raise HTTPMovedPermanently(construct_url(env_copy))
433- elif user != LAUNCHPAD_ANONYMOUS:
434- # ... if the user is already logged in and still can't see
435- # the branch, they lose.
436- exc = HTTPUnauthorized()
437- exc.explanation = "You are logged in as %s." % user
438- raise exc
439- else:
440- # ... otherwise, lets give them a chance to log in with
441- # OpenID.
442- return self._begin_login(environ, start_response)
443- else:
444- raise
445- if transport_type != BRANCH_TRANSPORT:
446- raise HTTPNotFound()
447- trail = urlutils.unescape(trail).encode('utf-8')
448- trail += trailingSlashCount * '/'
449- amount_consumed = len(path) - len(trail)
450- consumed = path[:amount_consumed]
451- branch_name = consumed.strip('/')
452- self.log.info('Using branch: %s', branch_name)
453- if trail and not trail.startswith('/'):
454- trail = '/' + trail
455- environ['PATH_INFO'] = trail
456- environ['SCRIPT_NAME'] += consumed.rstrip('/')
457- branch_url = urlparse.urljoin(
458- config.codehosting.internal_branch_by_id_root,
459- branch_id_to_path(info['id']))
460- branch_link = urlparse.urljoin(
461- config.codebrowse.launchpad_root, branch_name)
462- cachepath = os.path.join(
463- config.codebrowse.cachepath, branch_name[1:])
464- if not os.path.isdir(cachepath):
465- os.makedirs(cachepath)
466- self.log.info('branch_url: %s', branch_url)
467- try:
468- bzr_branch = branch.Branch.open(
469- branch_url, possible_transports=self.get_transports())
470- except errors.NotBranchError, err:
471- self.log.warning('Not a branch: %s', err)
472- raise HTTPNotFound()
473- bzr_branch.lock_read()
474- try:
475- view = BranchWSGIApp(
476- bzr_branch, branch_name, {'cachepath': cachepath},
477- self.graph_cache, branch_link=branch_link, served_url=None)
478- return view.app(environ, start_response)
479- finally:
480- bzr_branch.unlock()
481
482=== removed file 'lib/launchpad_loggerhead/debug.py'
483--- lib/launchpad_loggerhead/debug.py 2010-04-27 20:11:21 +0000
484+++ lib/launchpad_loggerhead/debug.py 1970-01-01 00:00:00 +0000
485@@ -1,120 +0,0 @@
486-# Copyright 2009 Canonical Ltd. This software is licensed under the
487-# GNU Affero General Public License version 3 (see the file LICENSE).
488-
489-import thread
490-import time
491-
492-from paste.request import construct_url
493-
494-
495-def tabulate(cells):
496- """Format a list of lists of strings in a table.
497-
498- The 'cells' are centered.
499-
500- >>> print ''.join(tabulate(
501- ... [['title 1', 'title 2'],
502- ... ['short', 'rather longer']]))
503- title 1 title 2
504- short rather longer
505- """
506- widths = {}
507- for row in cells:
508- for col_index, cell in enumerate(row):
509- widths[col_index] = max(len(cell), widths.get(col_index, 0))
510- result = []
511- for row in cells:
512- result_row = ''
513- for col_index, cell in enumerate(row):
514- result_row += cell.center(widths[col_index] + 2)
515- result.append(result_row.rstrip() + '\n')
516- return result
517-
518-
519-def threadpool_debug(app):
520- """Wrap `app` to provide debugging information about the threadpool state.
521-
522- The returned application will serve debugging information about the state
523- of the threadpool at '/thread-debug' -- but only when accessed directly,
524- not when accessed through Apache.
525- """
526- def wrapped(environ, start_response):
527- if ('HTTP_X_FORWARDED_SERVER' in environ
528- or environ['PATH_INFO'] != '/thread-debug'):
529- environ['lp.timestarted'] = time.time()
530- return app(environ, start_response)
531- threadpool = environ['paste.httpserver.thread_pool']
532- start_response("200 Ok", [])
533- output = [("url", "time running", "time since last activity")]
534- now = time.time()
535- # Because we're accessing mutable structures without locks here,
536- # we're a bit cautious about things looking like we expect -- if a
537- # worker doesn't seem fully set up, we just ignore it.
538- for worker in threadpool.workers:
539- if not hasattr(worker, 'thread_id'):
540- continue
541- time_started, info = threadpool.worker_tracker.get(
542- worker.thread_id, (None, None))
543- if time_started is not None and info is not None:
544- real_time_started = info.get(
545- 'lp.timestarted', time_started)
546- output.append(
547- map(str,
548- (construct_url(info),
549- now - real_time_started,
550- now - time_started,)))
551- return tabulate(output)
552- return wrapped
553-
554-
555-def change_kill_thread_criteria(application):
556- """Interfere with threadpool so that threads are killed for inactivity.
557-
558- The usual rules with paste's threadpool is that a thread that takes longer
559- than 'hung_thread_limit' seconds to process a request is considered hung
560- and more than 'kill_thread_limit' seconds is killed.
561-
562- Because loggerhead streams its output, how long the entire request takes
563- to process depends on things like how fast the users internet connection
564- is. What we'd like to do is kill threads that don't _start_ to produce
565- output for 'kill_thread_limit' seconds.
566-
567- What this class actually does is arrange things so that threads that
568- produce no output for 'kill_thread_limit' are killed, because that's the
569- rule Apache uses when interpreting ProxyTimeout.
570- """
571- def wrapped_application(environ, start_response):
572- threadpool = environ['paste.httpserver.thread_pool']
573- def reset_timer():
574- """Make this thread safe for another 'kill_thread_limit' seconds.
575-
576- We do this by hacking the threadpool's record of when this thread
577- started to pretend that it started right now. Hacky, but it's
578- enough to fool paste.httpserver.ThreadPool.kill_hung_threads and
579- that's what matters.
580- """
581- threadpool.worker_tracker[thread.get_ident()][0] = time.time()
582- def response_hook(status, response_headers, exc_info=None):
583- # We reset the timer when the HTTP headers are sent...
584- reset_timer()
585- writer = start_response(status, response_headers, exc_info)
586- def wrapped_writer(arg):
587- # ... and whenever more output has been generated.
588- reset_timer()
589- return writer(arg)
590- return wrapped_writer
591- result = application(environ, response_hook)
592- # WSGI allows the application to return an iterable, which could be a
593- # generator that does significant processing between successive items,
594- # so we should reset the timer between each item.
595- #
596- # This isn't really necessary as loggerhead doesn't return any
597- # non-trivial iterables to the WSGI server. But it's probably better
598- # to cope with this case to avoid nasty suprises if loggerhead
599- # changes.
600- def reset_timer_between_items(iterable):
601- for item in iterable:
602- reset_timer()
603- yield item
604- return reset_timer_between_items(result)
605- return wrapped_application
606
607=== removed file 'lib/launchpad_loggerhead/session.py'
608--- lib/launchpad_loggerhead/session.py 2010-04-27 20:11:21 +0000
609+++ lib/launchpad_loggerhead/session.py 1970-01-01 00:00:00 +0000
610@@ -1,73 +0,0 @@
611-# Copyright 2009 Canonical Ltd. This software is licensed under the
612-# GNU Affero General Public License version 3 (see the file LICENSE).
613-
614-"""Simple paste-y session manager tuned for the needs of launchpad-loggerhead.
615-"""
616-
617-import pickle
618-
619-from paste.auth.cookie import AuthCookieHandler, AuthCookieSigner
620-
621-
622-class MyAuthCookieSigner(AuthCookieSigner):
623- """Fix a bug in AuthCookieSigner."""
624-
625- def sign(self, content):
626- # XXX 2008-01-13 Michael Hudson: paste.auth.cookie generates bogus
627- # cookies when the value is long:
628- # http://trac.pythonpaste.org/pythonpaste/ticket/257. This is fixed
629- # now, so when a new version is released and packaged we can remove
630- # this class.
631- r = AuthCookieSigner.sign(self, content)
632- return r.replace('\n', '')
633-
634-
635-class SessionHandler(object):
636- """Middleware that provides a cookie-based session.
637-
638- The session dict is stored, pickled (and HMACed), in a cookie, so don't
639- store very much in the session!
640- """
641-
642- def __init__(self, application, session_var, secret=None):
643- """Initialize a SessionHandler instance.
644-
645- :param application: This is the wrapped application which will have
646- access to the ``environ[session_var]`` dictionary managed by this
647- middleware.
648- :param session_var: The key under which to store the session
649- dictionary in the environment.
650- :param secret: A secret value used for signing the cookie. If not
651- supplied, a new secret will be used for each instantiation of the
652- SessionHandler.
653- """
654- self.application = application
655- self.cookie_handler = AuthCookieHandler(
656- self._process, scanlist=[session_var],
657- signer=MyAuthCookieSigner(secret))
658- self.session_var = session_var
659-
660- def __call__(self, environ, start_response):
661- # We need to put the request through the cookie handler first, so we
662- # can access the validated string in the environ in `_process` below.
663- return self.cookie_handler(environ, start_response)
664-
665- def _process(self, environ, start_response):
666- """Process a request.
667-
668- AuthCookieHandler takes care of getting the text value of the session
669- in and out of the cookie (and validating the text using HMAC) so we
670- just need to convert that string to and from a real dictionary using
671- pickle.
672- """
673- if self.session_var in environ:
674- session = pickle.loads(environ[self.session_var])
675- else:
676- session = {}
677- environ[self.session_var] = session
678- def response_hook(status, response_headers, exc_info=None):
679- session = environ.pop(self.session_var)
680- if session:
681- environ[self.session_var] = pickle.dumps(session)
682- return start_response(status, response_headers, exc_info)
683- return self.application(environ, response_hook)
684
685=== removed directory 'lib/launchpad_loggerhead/static'
686=== removed file 'lib/launchpad_loggerhead/static/robots.txt'
687--- lib/launchpad_loggerhead/static/robots.txt 2010-04-27 20:11:21 +0000
688+++ lib/launchpad_loggerhead/static/robots.txt 1970-01-01 00:00:00 +0000
689@@ -1,2 +0,0 @@
690-User-agent: *
691-Disallow: /
692
693=== modified file 'lib/lp/code/doc/xmlrpc-codehosting.txt'
694--- lib/lp/code/doc/xmlrpc-codehosting.txt 2010-04-27 20:11:21 +0000
695+++ lib/lp/code/doc/xmlrpc-codehosting.txt 2010-04-27 20:11:38 +0000
696@@ -17,7 +17,7 @@
697 ... private_root.codehosting)
698 True
699
700-The CodeHosting view provides the ICodehostingAPI XML-RPC API:
701+The CodehostingAPI view provides the ICodehostingAPI XML-RPC API:
702
703 >>> from canonical.launchpad.webapp.servers import LaunchpadTestRequest
704 >>> from lp.code.interfaces.codehosting import ICodehostingAPI
705
706=== modified file 'lib/lp/code/model/tests/test_branchjob.py'
707--- lib/lp/code/model/tests/test_branchjob.py 2010-04-27 20:11:21 +0000
708+++ lib/lp/code/model/tests/test_branchjob.py 2010-04-27 20:11:38 +0000
709@@ -1263,7 +1263,7 @@
710 layer = LaunchpadZopelessLayer
711
712 def cleanBranchArea(self):
713- """Ensure that the branc areas is present and empty."""
714+ """Ensure that the branch area is present and empty."""
715 mirrored = config.codehosting.mirrored_branches_root
716 shutil.rmtree(mirrored, ignore_errors=True)
717 os.makedirs(mirrored)
718
719=== modified file 'lib/lp/codehosting/bzrutils.py'
720--- lib/lp/codehosting/bzrutils.py 2010-04-27 20:11:21 +0000
721+++ lib/lp/codehosting/bzrutils.py 2010-04-27 20:11:38 +0000
722@@ -302,7 +302,7 @@
723 _install_checked_open_hook()
724
725
726-def checked_open(validation_function, url):
727+def checked_open(validation_function, url, possible_transports=None):
728 """Open a branch, calling `validation_function` with any URL thus found.
729
730 This is intended to be used to open a branch ensuring that it's not
731@@ -312,7 +312,7 @@
732 raise AssertionError("checked_open called recursively")
733 checked_open_data.validate = validation_function
734 try:
735- return Branch.open(url)
736+ return Branch.open(url, possible_transports=possible_transports)
737 finally:
738 del checked_open_data.validate
739
740@@ -332,10 +332,11 @@
741 return checkURL
742
743
744-def safe_open(allowed_scheme, url):
745+def safe_open(allowed_scheme, url, possible_transports=None):
746 """Open the branch at `url`, only accessing URLs on `allowed_scheme`.
747
748 :raises UnsafeUrlSeen: An attempt was made to open a URL that was not on
749 `allowed_scheme`.
750 """
751- return checked_open(makeURLChecker(allowed_scheme), url)
752+ return checked_open(
753+ makeURLChecker(allowed_scheme), url, possible_transports)
754
755=== modified file 'lib/lp/codehosting/vfs/branchfs.py'
756--- lib/lp/codehosting/vfs/branchfs.py 2010-04-27 20:11:21 +0000
757+++ lib/lp/codehosting/vfs/branchfs.py 2010-04-27 20:11:38 +0000
758@@ -118,8 +118,10 @@
759
760
761 # The directories allowed directly beneath a branch directory. These are the
762-# directories that Bazaar creates as part of regular operation.
763-ALLOWED_DIRECTORIES = ('.bzr', '.bzr.backup', 'backup.bzr')
764+# directories that Bazaar creates as part of regular operation. We support
765+# only two numbered backups to avoid indefinite space usage.
766+ALLOWED_DIRECTORIES = ('.bzr', '.bzr.backup', 'backup.bzr', 'backup.bzr.~1~',
767+ 'backup.bzr.~2~')
768 FORBIDDEN_DIRECTORY_ERROR = (
769 "Cannot create '%s'. Only Bazaar branches are allowed.")
770
771@@ -671,7 +673,7 @@
772 return deferred.addCallback(got_path_info).addErrback(log.err)
773
774
775-def get_lp_server(user_id, codehosting_endpoint_url=None, branch_directory=None,
776+def get_lp_server(user_id, codehosting_endpoint_url=None, branch_url=None,
777 seen_new_branch_hook=None):
778 """Create a Launchpad server.
779
780@@ -686,10 +688,9 @@
781 # Get the defaults from the config.
782 if codehosting_endpoint_url is None:
783 codehosting_endpoint_url = config.codehosting.codehosting_endpoint
784- if branch_directory is None:
785- branch_directory = config.codehosting.mirrored_branches_root
786+ if branch_url is None:
787+ branch_url = config.codehosting.mirrored_branches_root
788
789- branch_url = urlutils.local_path_to_url(branch_directory)
790 codehosting_client = xmlrpclib.ServerProxy(codehosting_endpoint_url)
791 branch_transport = get_chrooted_transport(branch_url)
792 lp_server = LaunchpadServer(
793
794=== modified file 'lib/lp/registry/browser/product.py'
795--- lib/lp/registry/browser/product.py 2010-04-26 15:42:02 +0000
796+++ lib/lp/registry/browser/product.py 2010-04-27 20:11:38 +0000
797@@ -44,8 +44,11 @@
798
799
800 from cgi import escape
801+from datetime import datetime, timedelta
802 from operator import attrgetter
803
804+import pytz
805+
806 from zope.component import getUtility
807 from zope.event import notify
808 from zope.app.form.browser import TextAreaWidget, TextWidget
809@@ -1050,6 +1053,7 @@
810 suggestions = None
811 max_suggestions = 8
812 other_package = object()
813+ not_packaged = object()
814 initial_focus_widget = None
815
816 @cachedproperty
817@@ -1068,8 +1072,10 @@
818 return True
819 if self.user is None or config.launchpad.is_lpnet:
820 return False
821- else:
822- return True
823+ date_next_suggest_packaging = self.context.date_next_suggest_packaging
824+ return (
825+ date_next_suggest_packaging is None
826+ or date_next_suggest_packaging <= datetime.now(tz=pytz.UTC))
827
828 @property
829 def initial_values(self):
830@@ -1102,15 +1108,21 @@
831 vocab_terms.append(
832 SimpleTerm(self.other_package, 'OTHER_PACKAGE', description))
833 vocabulary = SimpleVocabulary(vocab_terms)
834+ # Add an option to represent that the project is not packaged in
835+ # Ubuntu.
836+ description = 'This project is not packaged in Ubuntu'
837+ vocab_terms.append(
838+ SimpleTerm(self.not_packaged, 'NOT_PACKAGED', description))
839+ vocabulary = SimpleVocabulary(vocab_terms)
840+ series_display_name = ubuntu.currentseries.displayname
841 self.form_fields = form.Fields(
842 Choice(__name__=self.package_field_name,
843- title=_('Ubuntu %s packages' %
844- ubuntu.currentseries.displayname),
845+ title=_('Ubuntu %s packages') % series_display_name,
846 default=None,
847 vocabulary=vocabulary,
848 required=True))
849
850- @action(_('Set Ubuntu package information'), name='link')
851+ @action(_('Set Ubuntu Package Information'), name='link')
852 def link(self, action, data):
853 product = self.context
854 dsp = data.get(self.package_field_name)
855@@ -1120,6 +1132,11 @@
856 self.next_url = canonical_url(
857 product_series, view_name="+ubuntupkg")
858 return
859+ if dsp is self.not_packaged:
860+ year_from_now = datetime.now(tz=pytz.UTC) + timedelta(days=365)
861+ self.context.date_next_suggest_packaging = year_from_now
862+ self.next_url = self.request.getURL()
863+ return
864 ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
865 product_series.setPackaging(ubuntu.currentseries,
866 dsp.sourcepackagename,
867
868=== modified file 'lib/lp/registry/browser/tests/product-portlet-packages-view.txt'
869--- lib/lp/registry/browser/tests/product-portlet-packages-view.txt 2010-04-26 15:42:02 +0000
870+++ lib/lp/registry/browser/tests/product-portlet-packages-view.txt 2010-04-27 20:11:38 +0000
871@@ -68,6 +68,7 @@
872 suggest one?
873 Ubuntu Hoary packages:
874 Choose another Ubuntu package
875+ This project is not packaged in Ubuntu
876
877 A distribution source package in a distribution other than ubuntu will
878 not be suggested.
879@@ -99,7 +100,6 @@
880 >>> view.suggestions
881 []
882
883-
884 A source package that does NOT have a publishing history in the PENDING
885 or PUBLISHED statuses will NOT be suggested.
886
887@@ -115,7 +115,7 @@
888 ... print dsp.name
889
890 A source package that does have a publishing history for the current
891-Ubuntu series will be suggested. The view as a distributionsourcepackage
892+Ubuntu series will be suggested. The view has a distributionsourcepackage
893 field.
894
895 >>> spph = factory.makeSourcePackagePublishingHistory(
896@@ -263,6 +263,52 @@
897
898 >>> ignore = config.pop('test_data')
899
900+The can_show_portlet property is False when
901+product.date_next_suggest_packaging is None or the date is more than one
902+year ago.
903+
904+ >>> from datetime import datetime, timedelta
905+ >>> import pytz
906+
907+ >>> print product.date_next_suggest_packaging
908+ None
909+
910+ >>> view = create_initialized_view(
911+ ... product, name="+portlet-packages", principal=product.owner)
912+ >>> view.can_show_portlet
913+ True
914+
915+ >>> year_from_now = datetime.now(tz=pytz.UTC) + timedelta(days=365)
916+ >>> product.date_next_suggest_packaging = year_from_now
917+ >>> view = create_initialized_view(
918+ ... product, name="+portlet-packages", principal=product.owner)
919+ >>> view.can_show_portlet
920+ False
921+
922+ >>> yesterday = datetime.now(tz=pytz.UTC) - timedelta(days=1)
923+ >>> product.date_next_suggest_packaging = yesterday
924+ >>> view = create_initialized_view(
925+ ... product, name="+portlet-packages", principal=product.owner)
926+ >>> view.can_show_portlet
927+ True
928+
929+The +portlet-packages view can set the product date_next_suggest_packaging
930+attribute so that suggestions are disabled.
931+
932+ >>> product.date_next_suggest_packaging = None
933+ >>> almost_a_year = datetime.now(tz=pytz.UTC) + timedelta(days=364)
934+ >>> form = {
935+ ... 'field.distributionsourcepackage': 'NOT_PACKAGED',
936+ ... 'field.actions.link': 'Set Ubuntu Package Information',
937+ ... }
938+ >>> view = create_initialized_view(
939+ ... product, name="+portlet-packages", form=form)
940+ >>> view.errors
941+ []
942+
943+ >>> print product.date_next_suggest_packaging > almost_a_year
944+ True
945+
946 The +portlet-packages view can create a Packaging link.
947
948 >>> product.sourcepackages
949@@ -270,7 +316,7 @@
950
951 >>> form = {
952 ... 'field.distributionsourcepackage': 'bingo',
953- ... 'field.actions.link': 'Set Ubuntu package information',
954+ ... 'field.actions.link': 'Set Ubuntu Package Information',
955 ... }
956 >>> view = create_initialized_view(
957 ... product, name="+portlet-packages", form=form)
958@@ -298,7 +344,7 @@
959
960 >>> form = {
961 ... 'field.distributionsourcepackage': 'OTHER_PACKAGE',
962- ... 'field.actions.link': 'Set Ubuntu package information',
963+ ... 'field.actions.link': 'Set Ubuntu Package Information',
964 ... }
965 >>> view = create_initialized_view(
966 ... product, name="+portlet-packages", form=form)
967
968=== modified file 'lib/lp/registry/browser/tests/product-views.txt'
969--- lib/lp/registry/browser/tests/product-views.txt 2010-04-19 20:03:36 +0000
970+++ lib/lp/registry/browser/tests/product-views.txt 2010-04-27 20:11:38 +0000
971@@ -457,7 +457,6 @@
972 officially supports.
973
974 >>> from canonical.launchpad.testing.pages import find_tag_by_id
975- >>> product = factory.makeProduct(name='tomato', title='Tomato')
976
977 >>> owner = product.owner
978 >>> login_person(owner)
979@@ -496,80 +495,3 @@
980 portlet-latest-bugs
981 >>> print find_tag_by_id(content, 'portlet-blueprints')['id']
982 portlet-blueprints
983-
984-
985-+portlet-packages
986------------------
987-
988-When the product is not linked to a source package in Ubuntu the
989-+portlet-packages will show suggestions on potential matches and ask
990-the user to make the connection.
991-
992- >>> product = factory.makeProduct(name="bingo")
993- >>> transaction.commit()
994- >>> login_person(product.owner)
995- >>> view = create_initialized_view(
996- ... product, name="+portlet-packages",
997- ... principal=product.owner)
998- >>> print view.suggestions
999- []
1000-
1001- >>> content = find_tag_by_id(view.render(), 'portlet-packages')
1002- >>> print extract_text(content)
1003- All packages
1004- Packages in Ubuntu
1005- Launchpad doesn't know which Ubuntu packages this project
1006- provides. Links from distribution packages to upstream projects
1007- let distribution and upstream maintainers share bugs, patches, and
1008- translations efficiently.
1009- There are no unlinked source packages that are a good match.
1010- Can you suggest one?
1011- Ubuntu Hoary packages:
1012- Choose another Ubuntu package
1013-
1014- >>> spn = factory.makeSourcePackageName(name="bingo")
1015- >>> from canonical.launchpad.interfaces.launchpad import (
1016- ... ILaunchpadCelebrities)
1017- >>> ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
1018- >>> distro_package = factory.makeDistributionSourcePackage(
1019- ... sourcepackagename=spn, distribution=ubuntu)
1020- >>> spph = factory.makeSourcePackagePublishingHistory(
1021- ... sourcepackagename=spn, distroseries=ubuntu.currentseries)
1022-
1023- >>> view = create_initialized_view(
1024- ... product, name="+portlet-packages",
1025- ... principal=product.owner)
1026- >>> print view.suggestions
1027- []
1028-
1029- >>> distro_package = factory.makeDistributionSourcePackage(
1030- ... sourcepackagename=spn, distribution=ubuntu)
1031-
1032- >>> view = create_initialized_view(
1033- ... product, name="+portlet-packages",
1034- ... principal=product.owner)
1035- >>> print view.suggestions
1036- []
1037-
1038- >>> import transaction
1039- >>> #transaction.commit()
1040- >>> from canonical.launchpad.scripts import QuietFakeLogger
1041- >>> logger = QuietFakeLogger()
1042- >>> from canonical.testing.layers import reconnect_stores
1043- >>> from canonical.config import config
1044- >>> # Switch to the statistician user who is the only user with
1045- >>> # write permission to the source package cache tables.
1046- >>> reconnect_stores(config.statistician.dbuser)
1047- >>> # LaunchpadZopelessLayer.switchDbUser(config.statistician.dbuser)
1048- >>> ubuntu = getUtility(ILaunchpadCelebrities).ubuntu
1049- >>> updated = ubuntu.updateCompleteSourcePackageCache(
1050- ... archive=ubuntu.main_archive, log=logger, ztm=transaction)
1051- >>> transaction.commit()
1052- >>> reconnect_stores('launchpad')
1053- >>> login(ANONYMOUS)
1054- >>> product = getUtility(IProductSet)['bingo']
1055- >>> view = create_initialized_view(
1056- ... product, name="+portlet-packages",
1057- ... principal=product.owner)
1058- >>> print view.suggestions
1059- []
1060
1061=== modified file 'lib/lp/registry/configure.zcml'
1062--- lib/lp/registry/configure.zcml 2010-04-19 08:31:01 +0000
1063+++ lib/lp/registry/configure.zcml 2010-04-27 20:11:38 +0000
1064@@ -1078,6 +1078,9 @@
1065 <allow
1066 interface="lp.translations.interfaces.customlanguagecode.IHasCustomLanguageCodes"/>
1067 <require
1068+ permission="launchpad.View"
1069+ set_attributes="date_next_suggest_packaging"/>
1070+ <require
1071 permission="launchpad.Driver"
1072 interface="lp.registry.interfaces.product.IProductDriverRestricted"/>
1073 <require
1074
1075=== modified file 'lib/lp/registry/doc/product.txt'
1076--- lib/lp/registry/doc/product.txt 2010-04-22 14:23:32 +0000
1077+++ lib/lp/registry/doc/product.txt 2010-04-27 20:11:38 +0000
1078@@ -211,7 +211,8 @@
1079 >>> evo.active = True
1080
1081
1082-== Package links ==
1083+Package links
1084+-------------
1085
1086 The packaging table allows us to list source and distro source packages
1087 related to a certain upstream:
1088@@ -222,7 +223,29 @@
1089 >>> [(sp.name, sp.distribution.name) for sp in alsa.distrosourcepackages]
1090 [(u'alsa-utils', u'debian'), (u'alsa-utils', u'ubuntu')]
1091
1092-== External Bug Tracker ==
1093+The date_next_suggest_packaging attribute records the date when Launchpad can
1094+resume suggesting Ubuntu packages that the project provides. A value of None
1095+means that no user has ever confirmed that that the project has no Ubuntu
1096+packages.
1097+
1098+ >>> print evo.date_next_suggest_packaging
1099+ None
1100+
1101+Any logged in user can set date_next_suggest_packaging, just like any
1102+logged in user can can link a project to a source package.
1103+
1104+ >>> from datetime import datetime
1105+ >>> from pytz import UTC
1106+
1107+ >>> login("no-priv@canonical.com")
1108+ >>> evo.date_next_suggest_packaging = datetime(
1109+ ... 2011, 1, 25, 0, 0, 0, tzinfo=UTC)
1110+ >>> print evo.date_next_suggest_packaging
1111+ 2011-01-25 00:00:00+00:00
1112+
1113+
1114+External Bug Tracker
1115+--------------------
1116
1117 If a product doesn't use Malone, it can specify that it uses an
1118 external bug tracker. It can either use its own bug tracker, or use its
1119@@ -244,6 +267,8 @@
1120 This is true even if its project has a bug tracker specified.
1121
1122 >>> from canonical.launchpad.interfaces import IBugTrackerSet
1123+
1124+ >>> login_person(firefox.owner)
1125 >>> gnome_bugzilla = getUtility(IBugTrackerSet).getByName('gnome-bugzilla')
1126 >>> firefox.project.bugtracker = gnome_bugzilla
1127 >>> firefox.getExternalBugTracker() is None
1128@@ -322,6 +347,7 @@
1129 or license_info attributes are changed, the license_reviewed is reset
1130 to false.
1131
1132+ >>> login('admin@canonical.com')
1133 >>> productset.getByName('jokosher').licenses == ()
1134 True
1135 >>> product.licenses
1136@@ -401,7 +427,6 @@
1137 We can use IProduct.milestones to get all milestones associated with any
1138 ProductSeries of a product.
1139
1140- >>> from datetime import datetime
1141 >>> [milestone.name for milestone in firefox.milestones]
1142 [u'1.0']
1143
1144
1145=== modified file 'lib/lp/registry/interfaces/product.py'
1146--- lib/lp/registry/interfaces/product.py 2010-04-23 02:55:08 +0000
1147+++ lib/lp/registry/interfaces/product.py 2010-04-27 20:11:38 +0000
1148@@ -571,6 +571,16 @@
1149
1150 sourcepackages = Attribute(_("List of packages for this product"))
1151
1152+ date_next_suggest_packaging = exported(
1153+ Datetime(
1154+ title=_('Next suggest packaging date'),
1155+ description=_(
1156+ "The date when Launchpad can resume suggesting Ubuntu "
1157+ "packages that the project provides. The default value is "
1158+ "one year after a user states the project is not packaged "
1159+ "in Ubuntu."),
1160+ required=False))
1161+
1162 distrosourcepackages = Attribute(_("List of distribution packages for "
1163 "this product"))
1164
1165
1166=== modified file 'lib/lp/registry/model/product.py'
1167--- lib/lp/registry/model/product.py 2010-04-22 14:23:32 +0000
1168+++ lib/lp/registry/model/product.py 2010-04-27 20:11:38 +0000
1169@@ -254,6 +254,7 @@
1170 remote_product = Unicode(
1171 name='remote_product', allow_none=True, default=None)
1172 max_bug_heat = Int()
1173+ date_next_suggest_packaging = UtcDateTimeCol(default=None)
1174
1175 @property
1176 def official_codehosting(self):
1177
1178=== modified file 'lib/lp/registry/stories/product/xx-product-index.txt'
1179--- lib/lp/registry/stories/product/xx-product-index.txt 2010-04-13 21:39:12 +0000
1180+++ lib/lp/registry/stories/product/xx-product-index.txt 2010-04-27 20:11:38 +0000
1181@@ -378,6 +378,6 @@
1182
1183 >>> user_browser.getControl(
1184 ... name='field.distributionsourcepackage').value = ['pmount']
1185- >>> user_browser.getControl('Set Ubuntu package information').click()
1186+ >>> user_browser.getControl('Set Ubuntu Package Information').click()
1187 >>> print_feedback_messages(user_browser.contents)
1188 This project was linked to the source package "pmount in ubuntu"
1189
1190=== modified file 'lib/lp/registry/stories/webservice/xx-project-registry.txt'
1191--- lib/lp/registry/stories/webservice/xx-project-registry.txt 2010-04-23 20:41:06 +0000
1192+++ lib/lp/registry/stories/webservice/xx-project-registry.txt 2010-04-27 20:11:38 +0000
1193@@ -155,6 +155,7 @@
1194 commercial_subscription_is_due: True
1195 commercial_subscription_link: None
1196 date_created: u'2004-09-24T20:58:02.185708+00:00'
1197+ date_next_suggest_packaging: None
1198 description: u'The Mozilla Firefox web browser'
1199 development_focus_link: u'http://.../firefox/trunk'
1200 display_name: u'Mozilla Firefox'
1201@@ -214,6 +215,7 @@
1202 commercial_subscription_is_due: True
1203 commercial_subscription_link: None
1204 date_created: u'2004-09-24T20:58:02.185708+00:00'
1205+ date_next_suggest_packaging: None
1206 description: u'The Mozilla Firefox web browser'
1207 development_focus_link: u'http://.../firefox/trunk'
1208 display_name: u'Mozilla Firefox'
1209
1210=== modified file 'lib/lp/services/scripts/tests/__init__.py'
1211--- lib/lp/services/scripts/tests/__init__.py 2009-07-23 15:36:06 +0000
1212+++ lib/lp/services/scripts/tests/__init__.py 2010-04-27 20:11:38 +0000
1213@@ -38,6 +38,8 @@
1214 'scripts/librarian-report.py',
1215 'scripts/rosetta/message-sharing-populate-test.py',
1216 'scripts/get-stacked-on-branches.py',
1217+ 'scripts/start-loggerhead.py',
1218+ 'scripts/stop-loggerhead.py',
1219 ]
1220
1221
1222
1223=== modified file 'lib/lp/testing/__init__.py'
1224--- lib/lp/testing/__init__.py 2010-04-27 20:11:21 +0000
1225+++ lib/lp/testing/__init__.py 2010-04-27 20:11:38 +0000
1226@@ -519,10 +519,15 @@
1227
1228 :param direct_database: If true, translate branch locations by
1229 directly querying the database, not the internal XML-RPC server.
1230+ If the test is in an AppServerLayer, you probably want to pass
1231+ direct_database=False and if not you probably want to pass
1232+ direct_database=True.
1233 """
1234 if self._use_bzr_branch_called:
1235 if direct_database != self.direct_database_server:
1236- raise AssertionError("XXX")
1237+ raise AssertionError(
1238+ "useBzrBranches called with inconsistent values for "
1239+ "direct_database")
1240 return
1241 self._use_bzr_branch_called = True
1242 self.useTempBzrHome()