bodhi.egg-info/PKG-INFO bodhi.egg-info/requires.txt bodhi/release.py bodhi.spec bodhi/tools setup.py
by Luke Macken
bodhi.egg-info/PKG-INFO | 2 +-
bodhi.egg-info/requires.txt | 3 +--
bodhi.spec | 5 ++++-
bodhi/release.py | 2 +-
bodhi/tools/client.py | 2 +-
setup.py | 2 +-
6 files changed, 9 insertions(+), 7 deletions(-)
New commits:
commit 57807aa840fb784a5a920a95ac00a9fa5f140f0e
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Feb 28 18:47:37 2011 -0500
Comment out our hashlib egg-info requirement
diff --git a/bodhi.egg-info/PKG-INFO b/bodhi.egg-info/PKG-INFO
index af1dfc9..5e7cc1b 100644
--- a/bodhi.egg-info/PKG-INFO
+++ b/bodhi.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: bodhi
-Version: 0.7.10
+Version: 0.7.12
Summary: Bodhi is a modular web-system that facilitates the process of publishing updates for a Fedora-based software distribution
Home-page: https://fedorahosted.org/bodhi
Author: Luke Macken
diff --git a/bodhi.egg-info/requires.txt b/bodhi.egg-info/requires.txt
index 86dd549..053d119 100644
--- a/bodhi.egg-info/requires.txt
+++ b/bodhi.egg-info/requires.txt
@@ -1,5 +1,4 @@
TurboGears >= 1.0
TurboMail
python_fedora
-markdown
-hashlib
\ No newline at end of file
+markdown
\ No newline at end of file
diff --git a/bodhi.spec b/bodhi.spec
index f2d4930..94a3d67 100644
--- a/bodhi.spec
+++ b/bodhi.spec
@@ -2,7 +2,7 @@
%{!?pyver: %define pyver %(%{__python} -c "import sys ; print sys.version[:3]")}
Name: bodhi
-Version: 0.7.11
+Version: 0.7.12
Release: 1%{?dist}
Summary: A modular framework that facilitates publishing software updates
Group: Applications/Internet
@@ -121,6 +121,9 @@ rm -rf bodhi/tests bodhi/tools/test-bodhi.py
%changelog
+* Mon Feb 28 2011 Luke Macken <lmacken(a)redhat.com> - 0.7.12
+- 0.7.12 release
+
* Mon Jan 31 2011 Luke Macken <lmacken(a)redhat.com> - 0.7.11
- Require python-simplemediawiki for our test case integration
diff --git a/bodhi/release.py b/bodhi/release.py
index f15fc71..352c19f 100644
--- a/bodhi/release.py
+++ b/bodhi/release.py
@@ -1,4 +1,4 @@
-VERSION = '0.7.11'
+VERSION = '0.7.12'
NAME = 'bodhi'
DESCRIPTION = 'Bodhi is a modular web-system that facilitates the process of publishing updates for a Fedora-based software distribution'
AUTHOR = 'Luke Macken'
diff --git a/bodhi/tools/client.py b/bodhi/tools/client.py
index 77ed8b3..cf7f87d 100755
--- a/bodhi/tools/client.py
+++ b/bodhi/tools/client.py
@@ -15,7 +15,7 @@
# Copyright 2007-2010 Red Hat, Inc
# Authors: Luke Macken <lmacken(a)redhat.com>
-__version__ = '0.7.11'
+__version__ = '0.7.12'
__description__ = 'Command line tool for interacting with Bodhi'
import sys
diff --git a/setup.py b/setup.py
index 2657b32..9595b10 100755
--- a/setup.py
+++ b/setup.py
@@ -166,7 +166,7 @@ setup(
"TurboMail",
"python_fedora",
"markdown",
- "hashlib",
+ #"hashlib",
],
scripts = [],
data_files = data_files,
13 years, 1 month
Changes to 'refs/tags/0.7.12'
by Luke Macken
Tag '0.7.12' created by Luke Macken <lmacken(a)redhat.com> at 2011-02-28 23:47 +0000
0.7.12
Changes since 0.7.9:
François Cami (1):
ask bug reporters to test updates and post karma
Luke Macken (45):
Fix a bug in our new pkgtags metadata insertion code
Fix a bug in the new code to insert security/critpath updates in the testing digest
Don't append the csrf url to the obsoletion comment
Use more https urls
Fix a bug in the formatting of the security/critpath updates in the testing digest
Mask our database connection limit exceptions
Fix a bug with editing updates and replacing builds with newer versions.
Comment on updates upon reaching the stable karma threshold (#489)
Fix a bug in the get_unapproved_critpath_updates in the masher
Don't wipe out the masher lock when safe_to_resume fails
Add a couple more unit tests
Remove 'All rights reserved' from our copyright notice
Don't try and remove the pending koji tags when we resume pushes
Don't update security bug titles when we resume pushes
Don't show obsolete critpath updates in our testing digest
Ensure the updateinfo epoch is '0' as opposed to None.
Support querying and commenting on updates by the update ID.
Fix the testing status tooltips for EPEL (#486)
Add the update ID back to search results (#558)
Stop spamming proventesters, as this information is now available in the
Add __requires__='bodhi' to the start-bodhi script to get it working in F14
Don't require security update approval when pushing security updates
Make `bodhi --push-type` work for updates going to testing as well
Add more __requires__ pkg_resources hacks to our scripts
Some more __requires__/setuptools hacks
0.7.10
Our yearly unit test tweaks
More 0.7.10 version bumpage
Add the appropriate pending tag upon reaching stablekarma.
Query the wiki for test cases and display them in the update
Tighten up our test case list
Remove the 'Testcase' from the beginning of our links
Update our critpath list
Query for unit tests upon submission
Support basic configurable update policy based on release 'status'.
Strip leading/trailing whitespace in our search queries (#589)
Remove the appropriate pending tag from obsoleted updates (#588)
0.7.11
Add some more files to our manifest
Update our tagcheck script to clean up any stray pending tags
Make the Release.pending_stable_tag work for pending releases
Update our masher sanity checker to handle different arch variation.
Mention the appropriate yum repo in our bugzilla messages
Update our bugzilla messages with proper build delimeters
Comment out our hashlib egg-info requirement
---
MANIFEST.in | 2
bodhi.egg-info/PKG-INFO | 2
bodhi.egg-info/SOURCES.txt | 2
bodhi.egg-info/requires.txt | 3
bodhi.spec | 12 +++
bodhi/admin.py | 5 -
bodhi/config/app.cfg | 14 +++-
bodhi/controllers.py | 91 ++++++++++++++++++++++++---
bodhi/jobs.py | 10 +--
bodhi/masher.py | 49 +++++++++-----
bodhi/metadata.py | 17 ++---
bodhi/model.py | 73 +++++++++++++++++++++-
bodhi/release.py | 2
bodhi/search.py | 1
bodhi/templates/master.kid | 4 -
bodhi/templates/search.kid | 6 +
bodhi/templates/show.kid | 9 ++
bodhi/tests/test_controllers.py | 131 ++++++++++++++++++++++++++++++++++++++--
bodhi/tests/test_model.py | 18 ++---
bodhi/tools/client.py | 11 ---
bodhi/tools/dev_init.py | 2
bodhi/tools/init.py | 2
bodhi/tools/metrics.py | 2
bodhi/tools/pickledb.py | 2
bodhi/tools/tagcheck.py | 41 ++++++++++++
setup.py | 2
start-bodhi | 1
27 files changed, 433 insertions(+), 81 deletions(-)
---
13 years, 1 month
5 commits - bodhi/controllers.py bodhi/masher.py bodhi/model.py bodhi/tools
by Luke Macken
bodhi/controllers.py | 18 ++++++++++++++----
bodhi/masher.py | 7 ++++++-
bodhi/model.py | 2 ++
bodhi/tools/tagcheck.py | 41 ++++++++++++++++++++++++++++++++++++++++-
4 files changed, 62 insertions(+), 6 deletions(-)
New commits:
commit ecac38e1dcf7de6c06b0267d85ea003e9ae9bce1
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Feb 28 18:21:30 2011 -0500
Update our bugzilla messages with proper build delimeters
diff --git a/bodhi/controllers.py b/bodhi/controllers.py
index 2945448..b18fe17 100644
--- a/bodhi/controllers.py
+++ b/bodhi/controllers.py
@@ -1004,7 +1004,8 @@ class Root(controllers.RootController):
"Please go to the following url:\n"
"%s\n"
"then log in and leave karma (feedback)." %
- (update.title, release.long_name, repo, update.title,
+ (update.get_title(delim=', '),
+ release.long_name, repo, update.get_title(),
config.get('base_address') + tg_url(update.get_url())))
except SQLObjectNotFound:
log.debug('Bug #%d not found in our database' % bug)
@@ -1038,7 +1039,8 @@ class Root(controllers.RootController):
"Please go to the following url:\n"
"%s\n"
"then log in and leave karma (feedback)." %
- (update.title, release.long_name, repo, update.title,
+ (update.get_title(delim=', '),
+ release.long_name, repo, update.get_title(),
config.get('base_address') + tg_url(update.get_url())))
# If a request is specified, make it. By default we're submitting
commit 39ec4f6ef515cf8b1932f6ce15c72822fbd95189
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Feb 28 18:18:15 2011 -0500
Mention the appropriate yum repo in our bugzilla messages
diff --git a/bodhi/controllers.py b/bodhi/controllers.py
index 5b9c3c3..2945448 100644
--- a/bodhi/controllers.py
+++ b/bodhi/controllers.py
@@ -988,6 +988,10 @@ class Root(controllers.RootController):
bug = bugzilla.getbug(bug).bug_id
if bug not in original_bugs:
log.debug("Updating newly added bug: %s" % bug)
+ if update.release.collection_name == 'Fedora EPEL':
+ repo = 'epel-testing'
+ else:
+ repo = 'updates-testing'
try:
Bugzilla.byBz_id(bug).add_comment(update,
"Package %s:\n"
@@ -995,12 +999,12 @@ class Root(controllers.RootController):
"* was pushed to the %s updates-testing repository,\n"
"* should be available at your local mirror within two days.\n"
"Update it with:\n"
- "# su -c 'yum update --enablerepo=updates-testing %s'\n"
+ "# su -c 'yum update --enablerepo=%s %s'\n"
"as soon as you are able to, then reboot.\n"
"Please go to the following url:\n"
"%s\n"
"then log in and leave karma (feedback)." %
- (update.title, release.long_name, update.title,
+ (update.title, release.long_name, repo, update.title,
config.get('base_address') + tg_url(update.get_url())))
except SQLObjectNotFound:
log.debug('Bug #%d not found in our database' % bug)
@@ -1019,18 +1023,22 @@ class Root(controllers.RootController):
# Comment on all bugs
for bug in update.bugs:
+ if update.release.collection_name == 'Fedora EPEL':
+ repo = 'epel-testing'
+ else:
+ repo = 'updates-testing'
bug.add_comment(update,
"Package %s:\n"
"* should fix your issue,\n"
"* was pushed to the %s updates-testing repository,\n"
"* should be available at your local mirror within two days.\n"
"Update it with:\n"
- "# su -c 'yum update --enablerepo=updates-testing %s'\n"
+ "# su -c 'yum update --enablerepo=%s %s'\n"
"as soon as you are able to, then reboot.\n"
"Please go to the following url:\n"
"%s\n"
"then log in and leave karma (feedback)." %
- (update.title, release.long_name, update.title,
+ (update.title, release.long_name, repo, update.title,
config.get('base_address') + tg_url(update.get_url())))
# If a request is specified, make it. By default we're submitting
commit 70551dafa29f01e4b7224d118a089bd62b6ea288
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Feb 28 16:31:28 2011 -0500
Update our masher sanity checker to handle different arch variation.
For example, you can define "arches = 'ppc/ppc64'" which will make sure either
ppc OR ppc64 exist in the mash. We need this for support both EL5 (ppc) and
EL6 (ppc64).
diff --git a/bodhi/masher.py b/bodhi/masher.py
index ee03f3d..4584319 100644
--- a/bodhi/masher.py
+++ b/bodhi/masher.py
@@ -528,7 +528,12 @@ class MashTask(Thread):
# make sure the new repository has our arches
for arch in config.get('arches').split():
- if arch not in arches and arch not in [arch.split('.')[0] for arch in arches]:
+ if '/' in arch: # 'ppc/ppc64'
+ one, other = arch.split('/')
+ if one not in arches and other not in arches:
+ self.error_log("Cannot find arch %s OR %s in %s" % (one, other, newrepo))
+ raise MashTaskException
+ elif arch not in arches:
self.error_log("Cannot find arch %s in %s" % (arch, newrepo))
raise MashTaskException
commit c83f7230efe3511868e89166eb0b3a4bdaa7813e
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Feb 28 16:19:57 2011 -0500
Make the Release.pending_stable_tag work for pending releases
diff --git a/bodhi/model.py b/bodhi/model.py
index 894f091..5f953e2 100644
--- a/bodhi/model.py
+++ b/bodhi/model.py
@@ -102,6 +102,8 @@ class Release(SQLObject):
@property
def pending_stable_tag(self):
+ if self.locked:
+ return '%s-updates-pending' % self.dist_tag
return self.stable_tag + '-pending'
@property
commit c1a42c7d3058bc2dc89a83fe2e7e467f1d189883
Author: Luke Macken <lmacken(a)redhat.com>
Date: Sat Feb 26 00:49:15 2011 -0500
Update our tagcheck script to clean up any stray pending tags
diff --git a/bodhi/tools/tagcheck.py b/bodhi/tools/tagcheck.py
index c80603f..a1df758 100755
--- a/bodhi/tools/tagcheck.py
+++ b/bodhi/tools/tagcheck.py
@@ -21,6 +21,46 @@ def main():
tasks = []
broke = set()
+ # Clean up any stray pending tags
+ for release in Release.select():
+ print "Finding all pending-testing builds..."
+ if release.name.startswith('EL'):
+ continue
+
+ tag = release.pending_testing_tag
+ tagged = [build['nvr'] for build in koji.listTagged(tag)]
+ for nvr in tagged:
+ try:
+ build = PackageBuild.byNvr(nvr)
+ for update in build.updates:
+ if update.status in ('testing', 'stable', 'obsolete'):
+ print "%s %s" % (nvr, update.status)
+ if '--fix' in sys.argv:
+ print "Untagging %s" % nvr
+ koji.untagBuild(tag, nvr, force=True)
+ except SQLObjectNotFound:
+ print "Can't find build for %s" % nvr
+ if '--fix' in sys.argv:
+ print "Untagging %s" % nvr
+ koji.untagBuild(tag, nvr, force=True)
+
+ tag = release.pending_stable_tag
+ tagged = [build['nvr'] for build in koji.listTagged(tag)]
+ for nvr in tagged:
+ try:
+ build = PackageBuild.byNvr(nvr)
+ for update in build.updates:
+ if update.status in ('pending', 'obsolete'):
+ print "%s %s" % (nvr, update.status)
+ if '--fix' in sys.argv:
+ print "Untagging %s" % nvr
+ koji.untagBuild(tag, nvr, force=True)
+ except SQLObjectNotFound:
+ print "Can't find build for %s" % nvr
+ if '--fix' in sys.argv:
+ print "Untagging %s" % nvr
+ koji.untagBuild(tag, nvr, force=True)
+
# Check for testing updates that aren't tagged properly
for update in PackageUpdate.select(PackageUpdate.q.status=='testing'):
dest_tag = update.release.testing_tag
@@ -101,7 +141,6 @@ def main():
print "bad_tasks = %r" % bad_tasks
-
if __name__ == '__main__':
main()
13 years, 1 month
bodhi.egg-info/SOURCES.txt MANIFEST.in
by Luke Macken
MANIFEST.in | 2 +-
bodhi.egg-info/SOURCES.txt | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
New commits:
commit 44f242e52aa6ef82d13f13845b1c3deed1cae40b
Author: Luke Macken <lmacken(a)redhat.com>
Date: Sat Feb 26 00:20:52 2011 -0500
Add some more files to our manifest
diff --git a/MANIFEST.in b/MANIFEST.in
index d514ae3..a87f23b 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,7 +1,7 @@
exclude start-bodhi
include apache/bodhi.wsgi
include apache/bodhi.conf
-include AUTHORS README COPYING ChangeLog
+include AUTHORS README COPYING ChangeLog Makefile start-bodhi
include *.cfg
include bodhi/templates/*.kid
include bodhi/templates/*.html
diff --git a/bodhi.egg-info/SOURCES.txt b/bodhi.egg-info/SOURCES.txt
index 6fb7bc9..d6812bf 100644
--- a/bodhi.egg-info/SOURCES.txt
+++ b/bodhi.egg-info/SOURCES.txt
@@ -1,10 +1,12 @@
AUTHORS
COPYING
MANIFEST.in
+Makefile
README
bodhi.cfg
bodhi.spec
setup.py
+start-bodhi
apache/bodhi.conf
apache/bodhi.wsgi
bodhi/__init__.py
13 years, 1 month
bodhi/release.py bodhi.spec bodhi/tools
by Luke Macken
bodhi.spec | 2 +-
bodhi/release.py | 2 +-
bodhi/tools/client.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 098ee4834bb75a1bd7aff95294320486a2f91e8b
Author: Luke Macken <lmacken(a)redhat.com>
Date: Thu Feb 24 14:44:34 2011 -0500
0.7.11
diff --git a/bodhi.spec b/bodhi.spec
index 6ad7f0a..f2d4930 100644
--- a/bodhi.spec
+++ b/bodhi.spec
@@ -2,7 +2,7 @@
%{!?pyver: %define pyver %(%{__python} -c "import sys ; print sys.version[:3]")}
Name: bodhi
-Version: 0.7.10
+Version: 0.7.11
Release: 1%{?dist}
Summary: A modular framework that facilitates publishing software updates
Group: Applications/Internet
diff --git a/bodhi/release.py b/bodhi/release.py
index c02bacc..f15fc71 100644
--- a/bodhi/release.py
+++ b/bodhi/release.py
@@ -1,4 +1,4 @@
-VERSION = '0.7.10'
+VERSION = '0.7.11'
NAME = 'bodhi'
DESCRIPTION = 'Bodhi is a modular web-system that facilitates the process of publishing updates for a Fedora-based software distribution'
AUTHOR = 'Luke Macken'
diff --git a/bodhi/tools/client.py b/bodhi/tools/client.py
index 00880d7..77ed8b3 100755
--- a/bodhi/tools/client.py
+++ b/bodhi/tools/client.py
@@ -15,7 +15,7 @@
# Copyright 2007-2010 Red Hat, Inc
# Authors: Luke Macken <lmacken(a)redhat.com>
-__version__ = '0.7.9'
+__version__ = '0.7.11'
__description__ = 'Command line tool for interacting with Bodhi'
import sys
13 years, 1 month
bodhi/model.py
by Luke Macken
bodhi/model.py | 7 +++++++
1 file changed, 7 insertions(+)
New commits:
commit 890f566bc7efd0be6154f709d45482c0c9312d49
Author: Luke Macken <lmacken(a)redhat.com>
Date: Thu Feb 24 14:08:23 2011 -0500
Remove the appropriate pending tag from obsoleted updates (#588)
diff --git a/bodhi/model.py b/bodhi/model.py
index 3748ec8..894f091 100644
--- a/bodhi/model.py
+++ b/bodhi/model.py
@@ -948,6 +948,13 @@ class PackageUpdate(SQLObject):
log.debug("Obsoleting %s" % self.title)
if self.status != 'pending':
self.untag()
+
+ # Remove the appropriate pending tags
+ if self.request == 'testing':
+ self.remove_tag(self.release.pending_testing_tag)
+ elif self.request == 'stable':
+ self.remove_tag(self.release.pending_stable_tag)
+
self.status = 'obsolete'
self.request = None
if newer:
13 years, 1 month
bodhi/search.py
by Luke Macken
bodhi/search.py | 1 +
1 file changed, 1 insertion(+)
New commits:
commit c09488c63c6d83891f7a246e9fb47ca6e593e0f4
Author: Luke Macken <lmacken(a)redhat.com>
Date: Thu Feb 24 13:52:51 2011 -0500
Strip leading/trailing whitespace in our search queries (#589)
diff --git a/bodhi/search.py b/bodhi/search.py
index 6e1913a..a2bf6ae 100644
--- a/bodhi/search.py
+++ b/bodhi/search.py
@@ -45,6 +45,7 @@ class SearchController(Controller):
limit=20, max_limit=1000)
def default(self, search, *args, **kw):
results = set()
+ search = search.strip()
# Search name-version-release
map(results.add, PackageUpdate.select(
13 years, 1 month
2 commits - bodhi/config bodhi/controllers.py bodhi/model.py bodhi/templates
by Luke Macken
bodhi/config/app.cfg | 8 ++++++++
bodhi/controllers.py | 17 ++++++++++++++++-
bodhi/model.py | 16 ++++++++++++++++
bodhi/templates/show.kid | 9 ++-------
4 files changed, 42 insertions(+), 8 deletions(-)
New commits:
commit 3c0f462a11f6a8f72e60f743d648eb09bb9e8129
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Feb 23 16:46:50 2011 -0500
Support basic configurable update policy based on release 'status'.
This allows us to update bodhi's config file and change the status of a
release, along with some policy variables such as the number of days that an
update must spend in testing, and the number of proventesters that must +1 a
critpath update.
diff --git a/bodhi/config/app.cfg b/bodhi/config/app.cfg
index 6abf88d..1feaf50 100644
--- a/bodhi/config/app.cfg
+++ b/bodhi/config/app.cfg
@@ -182,6 +182,14 @@ critpath.min_karma = 2
fedora.mandatory_days_in_testing = 7
fedora_epel.mandatory_days_in_testing = 14
+# Release status
+# pre-beta enforces the Pre Beta policy defined here:
+# https://fedoraproject.org/wiki/Updates_Policy
+f15.status = 'pre_beta'
+f15.pre_beta.mandatory_days_in_testing = 3
+f15.pre_beta.critpath.num_admin_approvals = 1
+f15.pre_beta.critpath.min_karma = 1
+
testing_approval_msg = "This update has reached %d days in testing and can be pushed to stable now if the maintainer wishes"
not_yet_tested_msg = 'This update has not yet met the minimum testing requirements defined in the <a href="https://fedoraproject.org/wiki/Package_update_acceptance_criteria">Package Update Acceptance Criteria</a>'
diff --git a/bodhi/model.py b/bodhi/model.py
index 2f3a241..3748ec8 100644
--- a/bodhi/model.py
+++ b/bodhi/model.py
@@ -122,6 +122,12 @@ class Release(SQLObject):
@property
def mandatory_days_in_testing(self):
+ name = self.name.lower().replace('-', '')
+ status = config.get('%s.status' % name, None)
+ if status:
+ days = config.get('%s.%s.mandatory_days_in_testing' % (name, status))
+ if days:
+ return days
return config.get('%s.mandatory_days_in_testing' %
self.id_prefix.lower().replace('-', '_'))
@@ -1062,6 +1068,16 @@ class PackageUpdate(SQLObject):
@property
def critpath_approved(self):
""" Return whether or not this critpath update has been approved """
+ release_name = self.release.name.lower().replace('-', '')
+ status = config.get('%s.status' % release_name, None)
+ if status:
+ num_admin_approvals = config.get('%s.%s.critpath.num_admin_approvals' % (
+ release_name, status), None)
+ min_karma = config.get('%s.%s.critpath.min_karma' % (
+ release_name, status), None)
+ if num_admin_approvals and min_karma:
+ return self.num_admin_approvals >= num_admin_approvals and \
+ self.karma >= min_karma
return self.num_admin_approvals >= config.get(
'critpath.num_admin_approvals', 2) and \
self.karma >= config.get('critpath.min_karma', 2)
commit 9c3582aef8cf7af3276feaec3d6ec5583e9666a4
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Feb 23 15:34:40 2011 -0500
Query for unit tests upon submission
diff --git a/bodhi/controllers.py b/bodhi/controllers.py
index 1e41831..5b9c3c3 100644
--- a/bodhi/controllers.py
+++ b/bodhi/controllers.py
@@ -949,7 +949,6 @@ class Root(controllers.RootController):
log.error("Unknown exception thrown from python-bugzilla!")
note.insert(0, "Unable to access one or more bugs. Exception: %s" % e)
-
# If there are any security bugs, make sure this update is
# properly marked as a security update
if update.type != 'security':
@@ -958,6 +957,22 @@ class Root(controllers.RootController):
update.type = 'security'
break
+ # Append links to unit tests in the update notes
+ try:
+ test_cases = []
+ for build in update.builds:
+ test_cases.extend(build.package.get_test_cases())
+ # HACK: shove the unit tests into this PickleCol
+ if test_cases:
+ if not update.nagged:
+ nagged = {}
+ else:
+ nagged = update.nagged
+ nagged['test_cases'] = test_cases
+ update.nagged = nagged
+ except Exception, e:
+ log.exception(e)
+
# Send out mail notifications
if edited:
#mail.send(update.get_maintainers(), 'edited', update)
diff --git a/bodhi/templates/show.kid b/bodhi/templates/show.kid
index 8a6a84b..458f082 100644
--- a/bodhi/templates/show.kid
+++ b/bodhi/templates/show.kid
@@ -57,11 +57,6 @@ statusinfo = {
'obsolete': 'Obsolete - <b>This update has been obsoleted by a newer update.</b>',
'stable': 'Stable - <b>This update has been released to the stable updates repository and is available for all users to install via the standard update mechanisms.</b>',
}
-
-## Build a list of test cases for this update
-test_cases = []
-for build in update.builds:
- test_cases.extend(build.package.get_test_cases())
?>
<body>
@@ -251,9 +246,9 @@ for build in update.builds:
</blockquote>
</div>
- <div py:if="test_cases">
+ <div py:if="update.nagged and 'test_cases' in update.nagged.keys() and update.nagged['test_cases']">
<div class="show">Test Cases</div>
- <ul py:for="test in test_cases">
+ <ul py:for="test in update.nagged['test_cases']">
<li style="line-height:0px;"><a href="https://fedoraproject.org/wiki/${test}">${test.replace('QA:Testcase', '')}</a></li>
</ul>
</div>
13 years, 1 month
2 commits - bodhi/config bodhi/templates
by Luke Macken
bodhi/config/app.cfg | 4 ++--
bodhi/templates/show.kid | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 0cb4cdd9717d45992a99512af785f38d61b0ffb8
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Feb 23 15:13:31 2011 -0500
Update our critpath list
diff --git a/bodhi/config/app.cfg b/bodhi/config/app.cfg
index ad99f39..6abf88d 100644
--- a/bodhi/config/app.cfg
+++ b/bodhi/config/app.cfg
@@ -167,8 +167,8 @@ tgcaptcha.key = 'Y`h`f&s}TZz'
## Critical Path Packages
##
## Hardcoded, until we can query the pkgdb for it.
-## http://kojipkgs.fedoraproject.org/mash/branched-20100518/logs/critpath.txt
-critpath = "ConsoleKit ConsoleKit-libs ConsoleKit-x11 GConf2 GConf2-gtk MAKEDEV ModemManager NetworkManager NetworkManager-glib ORBit2 acl alsa-lib anaconda anaconda-yum-plugins at-spi atk attr audit audit-libs authconfig authconfig-gtk avahi avahi-autoipd avahi-glib basesystem bash binutils bzip2 bzip2-libs c-ares ca-certificates cairo checkpolicy chkconfig cloog-ppl compat-db47 comps-extras control-center control-center-filesystem coreutils coreutils-libs cpio cpp cracklib cracklib-dicts cracklib-python createrepo cronie cronie-anacron crontabs cryptsetup-luks cryptsetup-luks-libs cups-libs curl cyrus-sasl cyrus-sasl-lib dash db4 db4-utils dbus dbus-glib dbus-libs dbus-python dbus-x11 deltarpm desktop-backgrounds-basic desktop-file-utils device-mapper device-mapper-event device-mapper-event-libs device-mapper-libs dhclient diffutils dmidecode dmraid dmraid-events dmz-cursor-themes dnsmasq dosfstools dracut e2fsprogs e2fsprogs-libs efibootmgr eggdbus elfutils elfutils-libelf elfutils-libs enchant evolution-data-server expat fedora-gnome-theme fedora-icon-theme fedora-logos fedora-release file file-libs filesystem findutils fipscheck fipscheck-lib firstboot flac fontconfig freetype gamin gawk gcc gcc-c++ gdbm gdm genisoimage glib2 glibc glibc-common glibc-devel glibc-headers gmp gnome-desktop gnome-icon-theme gnome-keyring gnome-keyring-pam gnome-menus gnome-panel-libs gnome-python2 gnome-python2-canvas gnome-python2-gnome gnome-python2-gnomevfs gnome-session gnome-settings-daemon gnome-themes gnome-vfs2 gnupg2 gnutls gobject-introspection goddard-backgrounds-gnome goddard-backgrounds-single gpgme grep grub grubby gstreamer gstreamer-tools gtk2 gtk2-engines gzip hal hal-filesystem hal-info hal-libs hdparm hesiod hicolor-icon-theme hostname hunspell hwdata info initscripts iptables iptables-ipv6 iputils iscsi-initiator-utils iso-codes isomd5sum jasper-libs kbd kernel kernel-headers keyutils-libs koji kpartx krb5-libs less libICE libIDL libSM libX11 libX11-common libXScrnSaver libXau libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXfont libXft libXi libXinerama libXmu libXrandr libXrender libXres libXt libXtst libXv libXvMC libXxf86misc libXxf86vm libacl libarchive libart_lgpl libasyncns libattr libblkid libbonobo libbonoboui libcanberra libcanberra-gtk2 libcap libcap-ng libcom_err libcroco libcurl libdaemon libdrm libedit libffi libfontenc libgail-gnome libgcc libgcrypt libglade2 libgnome libgnome-keyring libgnomecanvas libgnomekbd libgnomeui libgomp libgpg-error libgsf libgudev1 libgweather libical libidn libjpeg libmcpp libnih libnl libnotify libogg libpcap libpciaccess libpng libproxy librsvg2 libselinux libselinux-python libselinux-utils libsemanage libsepol libsexy libsndfile libsoup libss libssh2 libstdc++ libstdc++-devel libtasn1 libtdb libthai libtiff libtool-ltdl libudev libusb libuser libuser-python libutempter libuuid libvorbis libwnck libx86 libxcb libxfce4util libxfcegui4 libxkbfile libxklavier libxml2 libxml2-python libxslt linux-firmware livecd-tools logrotate lua lvm2 lvm2-libs m4 makebootfat mash mcpp mdadm mesa-dri-drivers metacity mingetty mobile-broadband-provider-info module-init-tools mpfr mtools mysql-libs ncurses ncurses-base ncurses-libs net-tools newt newt-python notification-daemon notification-daemon-engine-slider nspr nss nss-softokn nss-softokn-freebl nss-sysinit nss-util ntp ntpdate openldap openssh openssh-clients openssh-server openssl pam pango parted passwd patch pciutils-libs pcre perl perl-Crypt-PasswdMD5 perl-Digest-SHA1 perl-Module-Pluggable perl-Pod-Escapes perl-Pod-Simple perl-libs perl-version pinentry pixman pkgconfig plymouth plymouth-core-libs plymouth-gdm-hooks plymouth-scripts plymouth-utils pm-utils policycoreutils polkit polkit-desktop-policy polkit-gnome popt postfix ppl ppp procmail procps psmisc pth pulseaudio-gdm-hooks pulseaudio-libs pulseaudio-libs-glib2 pungi pyOpenSSL pycairo pygobject2 pygpgme pygtk2 pygtk2-libglade pykickstart pyparted python python-bugzilla python-cryptsetup python-decorator python-deltarpm python-ethtool python-imgcreate python-iniparse python-kid python-krbV python-libs python-meh python-nss python-pyblock python-pycurl python-slip python-urlgrabber pyxf86config radeontool rarian rarian-compat readline redhat-menus redhat-rpm-config repoview rootfiles rpm rpm-build rpm-libs rpm-python rsyslog sed selinux-policy selinux-policy-targeted sendmail setserial setup setuptool sgml-common sgpio shadow-utils shared-mime-info slang sound-theme-freedesktop sqlite squashfs-tools startup-notification sudo sysklogd syslinux system-config-date system-config-firewall-base system-config-keyboard system-config-users system-setup-keyboard sysvinit-tools tar tcp_wrappers-libs tigervnc-server tzdata udev unique unzip upower upstart usermode usermode-gtk ustr util-linux-ng vbetool vim-minimal which wpa_supplicant xcb-util xdg-utils xfce4-notifyd xfconf xkeyboard-config xml-common xorg-x11-drivers xorg-x11-drv-acecad xorg-x11-drv-aiptek xorg-x11-drv-apm xorg-x11-drv-ast xorg-x11-drv-ati xorg-x11-drv-cirrus xorg-x11-drv-dummy xorg-x11-drv-elographics xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-fpit xorg-x11-drv-geode xorg-x11-drv-glint xorg-x11-drv-hyperpen xorg-x11-drv-i128 xorg-x11-drv-i740 xorg-x11-drv-intel xorg-x11-drv-keyboard xorg-x11-drv-mach64 xorg-x11-drv-mga xorg-x11-drv-mouse xorg-x11-drv-mutouch xorg-x11-drv-neomagic xorg-x11-drv-nouveau xorg-x11-drv-nv xorg-x11-drv-openchrome xorg-x11-drv-penmount xorg-x11-drv-r128 xorg-x11-drv-rendition xorg-x11-drv-s3virge xorg-x11-drv-savage xorg-x11-drv-siliconmotion xorg-x11-drv-sis xorg-x11-drv-sisusb xorg-x11-drv-synaptics xorg-x11-drv-tdfx xorg-x11-drv-trident xorg-x11-drv-v4l xorg-x11-drv-vesa xorg-x11-drv-vmmouse xorg-x11-drv-vmware xorg-x11-drv-void xorg-x11-drv-voodoo xorg-x11-drv-wacom xorg-x11-font-utils xorg-x11-fonts-misc xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-xauth xorg-x11-xinit xorg-x11-xkb-utils xz xz-libs yum yum-metadata-parser yum-utils zenity zlib"
+## http://kojipkgs.fedoraproject.org/mash/branched-20110222/logs/critpath.txt
+critpath = "ConsoleKit ConsoleKit-libs ConsoleKit-x11 GConf2 GConf2-gtk ModemManager NetworkManager NetworkManager-glib NetworkManager-gnome ORBit2 PackageKit PackageKit-device-rebind PackageKit-glib PackageKit-gtk-module PackageKit-yum acl alsa-lib anaconda anaconda-yum-plugins atk attr audit audit-libs authconfig authconfig-gtk avahi avahi-autoipd avahi-glib avahi-libs basesystem bash binutils bzip2 bzip2-libs ca-certificates cairo checkpolicy chkconfig cloog-ppl comps-extras control-center control-center-filesystem coreutils coreutils-libs cpio cpp cracklib cracklib-dicts cracklib-python createrepo cronie cronie-anacron cronie-noanacron crontabs cryptsetup-luks cryptsetup-luks-libs cups-libs curl cyrus-sasl cyrus-sasl-lib dash db4 db4-utils dbus dbus-glib dbus-libs dbus-python dbus-x11 dconf deltarpm desktop-backgrounds-basic desktop-file-utils device-mapper device-mapper-event device-mapper-event-libs device-mapper-libs device-mapper-multipath device-mapper-multipath-libs dhclient diffutils dmidecode dmraid dmraid-events dmz-cursor-themes dnsmasq dosfstools dracut e2fsprogs e2fsprogs-libs efibootmgr eject elfutils elfutils-libelf elfutils-libs enchant evolution-data-server exempi expat fcoe-utils fedora-gnome-theme fedora-icon-theme fedora-logos fedora-release file file-libs filesystem findutils fipscheck fipscheck-lib firstboot flac fontconfig fprintd fprintd-pam freetype fuse fuse-libs gamin gawk gcc gcc-c++ gdb gdbm gdk-pixbuf2 gdm gdm-plugin-fingerprint gdm-user-switch-applet genisoimage glib2 glibc glibc-common glibc-devel glibc-headers gmp gnome-bluetooth-libs gnome-desktop gnome-disk-utility-libs gnome-icon-theme gnome-keyring gnome-keyring-pam gnome-menus gnome-packagekit gnome-panel gnome-panel-libs gnome-python2 gnome-python2-canvas gnome-python2-gnome gnome-python2-gnomevfs gnome-session gnome-session-xsession gnome-settings-daemon gnome-terminal gnome-themes gnome-vfs2 gnupg2 gnutls gobject-introspection gpgme grep grub grubby gstreamer gstreamer-tools gtk2 gtk2-engines gvfs gvfs-fuse gzip hal-filesystem hal-libs hdparm hesiod hicolor-icon-theme hostname hunspell hwdata info initscripts iptables iptables-ipv6 iputils iscsi-initiator-utils iso-codes isomd5sum jasper-libs kbd kbd-misc kernel kernel-headers keyutils-libs koji kpartx krb5-libs laughlin-backgrounds-gnome laughlin-backgrounds-single less libICE libIDL libSM libX11 libX11-common libXScrnSaver libXau libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXfont libXft libXi libXinerama libXmu libXrandr libXrender libXres libXt libXtst libXv libXvMC libXxf86misc libXxf86vm libacl libaio libarchive libart_lgpl libassuan libasyncns libatasmart libattr libblkid libbonobo libbonoboui libcanberra libcanberra-gtk2 libcap libcap-ng libcdio libcgroup libcom_err libconfig libcroco libcurl libdaemon libdb libdrm libedit libexif libffi libfontenc libfprint libgcc libgcrypt libgdata libglade2 libgnome libgnome-keyring libgnomecanvas libgnomekbd libgnomeui libgomp libgpg-error libgudev1 libgweather libhbaapi libhbalinux libical libidn libimobiledevice libjpeg-turbo libmcpp libmodman libmount libmpc libnl libnotify libogg libpcap libpciaccess libplist libpng libproxy librsvg2 libsamplerate libselinux libselinux-python libselinux-utils libsemanage libsepol libsexy libsndfile libsoup libss libssh2 libstdc++ libstdc++-devel libtalloc libtasn1 libtdb libthai libtiff libtool-ltdl libudev libusb libusb1 libuser libuser-python libutempter libuuid libvorbis libwnck libxcb libxfce4util libxfcegui4 libxkbfile libxklavier libxml2 libxml2-python linux-firmware livecd-tools lldpad logrotate lua lvm2 lvm2-libs m4 makebootfat mash mcpp mdadm mesa-dri-drivers metacity mingetty mobile-broadband-provider-info module-init-tools mpfr mtools nautilus nautilus-extensions ncurses ncurses-base ncurses-libs net-tools newt newt-python notification-daemon nspr nss nss-softokn nss-softokn-freebl nss-sysinit nss-util ntfsprogs ntp ntpdate openldap openssh openssh-clients openssh-server openssl pam pango parted passwd patch pciutils-libs pcre perl perl-Module-Pluggable perl-Pod-Escapes perl-Pod-Simple perl-libs perl-threads pinentry pixman pkgconfig plymouth plymouth-core-libs plymouth-gdm-hooks plymouth-scripts plymouth-utils pm-utils policycoreutils polkit polkit-desktop-policy polkit-gnome popt ppl ppp procmail procps psmisc pth pulseaudio pulseaudio-gdm-hooks pulseaudio-libs pulseaudio-libs-glib2 pulseaudio-module-gconf pulseaudio-module-x11 pulseaudio-utils pyOpenSSL pycairo pygobject2 pygpgme pygtk2 pygtk2-libglade pykickstart pyparted python python-bugzilla python-cryptsetup python-decorator python-deltarpm python-ethtool python-imgcreate python-iniparse python-krbV python-libs python-meh python-nss python-pyblock python-pycurl python-slip python-urlgrabber pyxf86config radeontool readline redhat-menus redhat-rpm-config report report-config-bugzilla-redhat-com report-config-ftp report-config-localsave report-config-scp report-gtk report-newt report-plugin-bugzilla report-plugin-ftp report-plugin-localsave report-plugin-scp rootfiles rpm rpm-build rpm-libs rpm-python rsyslog rtkit sed selinux-policy selinux-policy-targeted sendmail setserial setup setuptool sg3_utils-libs sgml-common sgpio shadow-utils shared-mime-info slang smp_utils sound-theme-freedesktop speex sqlite squashfs-tools startup-notification sudo syslinux syslinux-extlinux system-config-date system-config-firewall-base system-config-keyboard system-config-users system-setup-keyboard systemd-units sysvinit-tools tar tcp_wrappers-libs tigervnc-license tigervnc-server-minimal tzdata udev udisks unique unzip upower usbmuxd usermode usermode-gtk ustr util-linux-ng vconfig vim-minimal vte which wpa_supplicant xcb-util xdg-utils xfce4-doc xfce4-notifyd xfconf xfsprogs xfwm4 xkeyboard-config xml-common xorg-x11-drivers xorg-x11-drv-acecad xorg-x11-drv-aiptek xorg-x11-drv-apm xorg-x11-drv-ast xorg-x11-drv-ati xorg-x11-drv-cirrus xorg-x11-drv-dummy xorg-x11-drv-elographics xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-fpit xorg-x11-drv-geode xorg-x11-drv-glint xorg-x11-drv-hyperpen xorg-x11-drv-i128 xorg-x11-drv-i740 xorg-x11-drv-intel xorg-x11-drv-keyboard xorg-x11-drv-mach64 xorg-x11-drv-mga xorg-x11-drv-mouse xorg-x11-drv-mutouch xorg-x11-drv-neomagic xorg-x11-drv-nouveau xorg-x11-drv-nv xorg-x11-drv-openchrome xorg-x11-drv-penmount xorg-x11-drv-qxl xorg-x11-drv-r128 xorg-x11-drv-rendition xorg-x11-drv-s3virge xorg-x11-drv-savage xorg-x11-drv-siliconmotion xorg-x11-drv-sis xorg-x11-drv-sisusb xorg-x11-drv-synaptics xorg-x11-drv-tdfx xorg-x11-drv-trident xorg-x11-drv-v4l xorg-x11-drv-vesa xorg-x11-drv-vmmouse xorg-x11-drv-vmware xorg-x11-drv-void xorg-x11-drv-voodoo xorg-x11-drv-wacom xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-xauth xorg-x11-xinit xorg-x11-xkb-utils xz xz-libs yum yum-metadata-parser yum-utils zenity zlib"
# The number of admin approvals it takes to be able to push a critical path
# update to stable for a pending release.
commit 2bf7c71b64e46533a07bca27dc4c575569f9502f
Author: Luke Macken <lmacken(a)redhat.com>
Date: Wed Feb 23 14:25:38 2011 -0500
Remove the 'Testcase' from the beginning of our links
diff --git a/bodhi/templates/show.kid b/bodhi/templates/show.kid
index 34a2b69..8a6a84b 100644
--- a/bodhi/templates/show.kid
+++ b/bodhi/templates/show.kid
@@ -254,7 +254,7 @@ for build in update.builds:
<div py:if="test_cases">
<div class="show">Test Cases</div>
<ul py:for="test in test_cases">
- <li style="line-height:0px;"><a href="https://fedoraproject.org/wiki/${test}">${test.replace('QA:', '')}</a></li>
+ <li style="line-height:0px;"><a href="https://fedoraproject.org/wiki/${test}">${test.replace('QA:Testcase', '')}</a></li>
</ul>
</div>
13 years, 1 month