diff --git a/.gitignore b/.gitignore index d73ec0a..7a74d61 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ bodhi-0.7.14.tar.bz2 /2.3.1.tar.gz /2.3.2.tar.gz /2.3.3.tar.gz +/2.4.0.tar.gz diff --git a/0000-Reload-builds-and-releases-after-we-commit-the-trans.patch b/0000-Reload-builds-and-releases-after-we-commit-the-trans.patch deleted file mode 100644 index 21e66de..0000000 --- a/0000-Reload-builds-and-releases-after-we-commit-the-trans.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 04d04f31e08ba30aa289e5593f42fec748df9835 Mon Sep 17 00:00:00 2001 -From: Patrick Uiterwijk -Date: Wed, 30 Nov 2016 18:25:33 +0000 -Subject: [PATCH] Reload builds and releases after we commit the transaction - -Signed-off-by: Patrick Uiterwijk ---- - bodhi/server/services/updates.py | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/bodhi/server/services/updates.py b/bodhi/server/services/updates.py -index 5afd03b0..28ac2cef 100644 ---- a/bodhi/server/services/updates.py -+++ b/bodhi/server/services/updates.py -@@ -375,6 +375,17 @@ def new_update(request): - # the builds as signed. - transaction.commit() - -+ # After we commit the transaction, we need to get the builds and releases again, since they -+ # were tied to the previous session that has now been terminated. -+ builds = [] -+ releases = set() -+ for build in data['builds']: -+ # At this moment, we are sure the builds are in the database (that is what the commit -+ # was for actually). -+ build = Build.get(nvr, request.db) -+ builds.append(build) -+ releases.add(build.release) -+ - if data.get('edited'): - - log.info('Editing update: %s' % data['edited']) --- -2.11.0 - diff --git a/0001-Skip-builds-that-are-not-assigned-to-a-release.patch b/0001-Skip-builds-that-are-not-assigned-to-a-release.patch deleted file mode 100644 index f4fb35d..0000000 --- a/0001-Skip-builds-that-are-not-assigned-to-a-release.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0981e62941d827f292b190e4b0e29868a2189bcd Mon Sep 17 00:00:00 2001 -From: Patrick Uiterwijk -Date: Thu, 1 Dec 2016 02:44:56 +0000 -Subject: [PATCH] Skip builds that are not assigned to a release - -Signed-off-by: Patrick Uiterwijk ---- - bodhi/server/consumers/signed.py | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/bodhi/server/consumers/signed.py b/bodhi/server/consumers/signed.py -index 4868662c..9284fd8d 100644 ---- a/bodhi/server/consumers/signed.py -+++ b/bodhi/server/consumers/signed.py -@@ -64,6 +64,10 @@ class SignedHandler(fedmsg.consumers.FedmsgConsumer): - log.info("Build was not submitted, skipping") - return - -+ if not build.release: -+ log.info('Build is not assigned to release, skipping') -+ return -+ - if build.release.pending_testing_tag != tag: - log.info("Tag is not pending_testing tag, skipping") - return --- -2.11.0 - diff --git a/0002-Lock-the-buildsystem-while-logging-in.patch b/0002-Lock-the-buildsystem-while-logging-in.patch deleted file mode 100644 index e0f0a3f..0000000 --- a/0002-Lock-the-buildsystem-while-logging-in.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 2596dc814f05ce7575816e01857b2b1bdcfed4e9 Mon Sep 17 00:00:00 2001 -From: Patrick Uiterwijk -Date: Fri, 2 Dec 2016 18:00:52 +0000 -Subject: [PATCH] Lock the buildsystem while logging in - -Signed-off-by: Patrick Uiterwijk ---- - bodhi/server/buildsys.py | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/bodhi/server/buildsys.py b/bodhi/server/buildsys.py -index fbbcd347..6fbe5f6f 100644 ---- a/bodhi/server/buildsys.py -+++ b/bodhi/server/buildsys.py -@@ -14,6 +14,7 @@ - - import time - import logging -+from threading import Lock - - from os.path import join, expanduser - -@@ -314,18 +315,20 @@ def get_krb_conf(config): - - def get_session(): - """ Get a new buildsystem instance """ -- global _buildsystem -- if not _buildsystem: -- log.warning('No buildsystem configured; assuming testing') -- return DevBuildsys() -- return _buildsystem() -+ global _buildsystem, _buildsystem_login_lock -+ with _buildsystem_login_lock: -+ if not _buildsystem: -+ log.warning('No buildsystem configured; assuming testing') -+ return DevBuildsys() -+ return _buildsystem() - - - def setup_buildsystem(settings): -- global _buildsystem, _koji_hub -+ global _buildsystem, _koji_hub, _buildsystem_login_lock - if _buildsystem: - return - -+ _buildsystem_login_lock = Lock() - _koji_hub = settings.get('koji_hub') - buildsys = settings.get('buildsystem') - --- -2.11.0 - diff --git a/0003-Set-krb_rdns-to-False.patch b/0003-Set-krb_rdns-to-False.patch deleted file mode 100644 index b1f9f7a..0000000 --- a/0003-Set-krb_rdns-to-False.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 49354037f7a46796a332821ec6c40e8bf30932fd Mon Sep 17 00:00:00 2001 -From: Patrick Uiterwijk -Date: Fri, 16 Dec 2016 00:53:56 +0000 -Subject: [PATCH] Set krb_rdns to False - -Signed-off-by: Patrick Uiterwijk ---- - bodhi/server/buildsys.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bodhi/server/buildsys.py b/bodhi/server/buildsys.py -index fbbcd347..e24bd4fb 100644 ---- a/bodhi/server/buildsys.py -+++ b/bodhi/server/buildsys.py -@@ -291,7 +291,7 @@ class DevBuildsys(Buildsystem): - - def koji_login(config): - """ Login to Koji and return the session """ -- koji_client = koji.ClientSession(_koji_hub, {}) -+ koji_client = koji.ClientSession(_koji_hub, {'krb_rdns': False}) - if not koji_client.krb_login(**get_krb_conf(config)): - log.error('Koji krb_login failed') - return koji_client --- -2.11.0 - diff --git a/0004-Fix-submitting-multiple-updates-at-a-time.patch b/0004-Fix-submitting-multiple-updates-at-a-time.patch deleted file mode 100644 index 048990c..0000000 --- a/0004-Fix-submitting-multiple-updates-at-a-time.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9ac5f8436ed0845e12ff84066298e03367e28311 Mon Sep 17 00:00:00 2001 -From: Jeremy Cline -Date: Thu, 19 Jan 2017 16:38:58 -0500 -Subject: [PATCH 2/2] Fix submitting multiple updates at a time - -The commit prior to this (04d04f31e08ba30aa289e5593f42fec748df9835) -reloads the builds after committing a transaction, but accidentally -references an old variable that results in the same build being queried -for repeatedly. This caused submitting more than one build to break. - -Signed-off-by: Jeremy Cline ---- - bodhi/server/services/updates.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bodhi/server/services/updates.py b/bodhi/server/services/updates.py -index 28ac2ce..e88f3f3 100644 ---- a/bodhi/server/services/updates.py -+++ b/bodhi/server/services/updates.py -@@ -379,7 +379,7 @@ def new_update(request): - # were tied to the previous session that has now been terminated. - builds = [] - releases = set() -- for build in data['builds']: -+ for nvr in data['builds']: - # At this moment, we are sure the builds are in the database (that is what the commit - # was for actually). - build = Build.get(nvr, request.db) --- -2.9.3 - diff --git a/0005-Bodhi-now-comments-on-non-autokarma-updates-after-en.patch b/0005-Bodhi-now-comments-on-non-autokarma-updates-after-en.patch deleted file mode 100644 index 2e5b505..0000000 --- a/0005-Bodhi-now-comments-on-non-autokarma-updates-after-en.patch +++ /dev/null @@ -1,94 +0,0 @@ -From fa6dad445a5b2eecf27f6192f721c98cc3309efe Mon Sep 17 00:00:00 2001 -From: Randy Barlow -Date: Tue, 6 Dec 2016 21:44:24 -0500 -Subject: [PATCH] Bodhi now comments on non-autokarma updates after enough - time. - -There was an issue where Bodhi was not commenting on updates that -had reached the necessary time in testing when the update had -autokarma disabled. This commit fixes the approve_testing.py script -so that it will add a reminder on these updates as well. - -fixes #1094 ---- - bodhi/server/scripts/approve_testing.py | 17 +++++++------- - bodhi/tests/server/scripts/test_approve_testing.py | 26 ++++++++++++++++++++++ - 2 files changed, 35 insertions(+), 8 deletions(-) - -diff --git a/bodhi/server/scripts/approve_testing.py b/bodhi/server/scripts/approve_testing.py -index 373538ad..5d804ffe 100644 ---- a/bodhi/server/scripts/approve_testing.py -+++ b/bodhi/server/scripts/approve_testing.py -@@ -56,23 +56,24 @@ def main(argv=sys.argv): - if update.met_testing_requirements: - continue - -+ # Approval message when testing based on karma threshold -+ if update.stable_karma not in (0, None) and update.karma >= update.stable_karma \ -+ and not update.autokarma: -+ print('%s now reaches stable karma threshold' % update.title) -+ text = config.get('testing_approval_msg_based_on_karma') -+ update.comment(db, text, author='bodhi') -+ continue -+ - # If autokarma updates have reached the testing threshold, say something! Keep in mind - # that we don't care about karma here, because autokarma updates get their request set - # to stable by the Update.comment() workflow when they hit the required threshold. Thus, - # this function only needs to consider the time requirements because these updates have - # not reached the karma threshold. -- if update.autokarma and update.meets_testing_requirements: -+ if update.meets_testing_requirements: - print('%s now meets testing requirements' % update.title) - text = config.get('testing_approval_msg') % update.release.mandatory_days_in_testing - update.comment(db, text, author='bodhi') - -- # Approval message when testing based on karma threshold -- if update.stable_karma not in (0, None) and update.karma >= update.stable_karma \ -- and not update.autokarma: -- print('%s now reaches stable karma threshold' % update.title) -- text = config.get('testing_approval_msg_based_on_karma') -- update.comment(db, text, author='bodhi') -- - - def _get_db_session(config_uri): - """ -diff --git a/bodhi/tests/server/scripts/test_approve_testing.py b/bodhi/tests/server/scripts/test_approve_testing.py -index dbffd460..013c8a85 100644 ---- a/bodhi/tests/server/scripts/test_approve_testing.py -+++ b/bodhi/tests/server/scripts/test_approve_testing.py -@@ -208,6 +208,32 @@ class TestMain(BaseTestCase): - for c in self.db.query(models.Comment).order_by(models.Comment.timestamp).all()] - self.assertEqual(usernames, [u'guest', u'anonymous', u'hunter2']) - -+ def test_non_autokarma_update_with_unmet_karma_requirement_after_time_met(self): -+ """ -+ A non-autokarma update without enough karma that reaches mandatory days in testing should -+ get a comment from Bodhi that the update can be pushed to stable. -+ -+ See https://github.com/fedora-infra/bodhi/issues/1094 -+ """ -+ update = self.db.query(models.Update).all()[0] -+ update.autokarma = False -+ update.request = None -+ update.stable_karma = 10 -+ update.status = models.UpdateStatus.testing -+ update.date_testing = datetime.now() - timedelta(days=7) -+ update.comment(self.db, 'testing', author='hunter2', anonymous=False, karma=1) -+ -+ with patch( -+ 'bodhi.server.scripts.approve_testing._get_db_session', return_value=self.db): -+ approve_testing.main(['nosetests', 'some_config.ini']) -+ -+ bodhi = self.db.query(models.User).filter_by(name=u'bodhi').one() -+ comment_q = self.db.query(models.Comment).filter_by(update_id=update.id, user_id=bodhi.id) -+ self.assertEqual(comment_q.count(), 1) -+ self.assertEqual( -+ comment_q[0].text, -+ config.get('testing_approval_msg') % update.release.mandatory_days_in_testing) -+ - # Set the release's mandatory days in testing to 0 to set up the condition for this test. - @patch.dict(config, [('fedora.mandatory_days_in_testing', 0)]) - def test_non_autokarma_update_without_mandatory_days_in_testing(self): --- -2.11.0 - diff --git a/0006-Only-comment-on-non-autokarma-updates-meeting-testin.patch b/0006-Only-comment-on-non-autokarma-updates-meeting-testin.patch deleted file mode 100644 index c8c22ec..0000000 --- a/0006-Only-comment-on-non-autokarma-updates-meeting-testin.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 49d71553c455d700bdc13fcc4b13879a27587f83 Mon Sep 17 00:00:00 2001 -From: Randy Barlow -Date: Thu, 8 Dec 2016 14:39:02 -0500 -Subject: [PATCH] Only comment on non-autokarma updates meeting testing - requirements. - -This commit fixes an issue where non-autokarma ciritcal path -updates were getting repeat e-mails every 6 hours saying that they -could be pushed to testing. The code that does these checks is far -more complicated than it needs to be, but it was possible to fix -this issue by adding a simple and onto the end of an existing if -statement so it will do for now. I intend to refactor this area of -the code in the future. - -fixes #1009 ---- - bodhi/server/scripts/approve_testing.py | 2 +- - bodhi/tests/server/scripts/test_approve_testing.py | 72 ++++++++++++++++++++++ - 2 files changed, 73 insertions(+), 1 deletion(-) - -diff --git a/bodhi/server/scripts/approve_testing.py b/bodhi/server/scripts/approve_testing.py -index 5d804ffe..d52046ea 100644 ---- a/bodhi/server/scripts/approve_testing.py -+++ b/bodhi/server/scripts/approve_testing.py -@@ -58,7 +58,7 @@ def main(argv=sys.argv): - - # Approval message when testing based on karma threshold - if update.stable_karma not in (0, None) and update.karma >= update.stable_karma \ -- and not update.autokarma: -+ and not update.autokarma and update.meets_testing_requirements: - print('%s now reaches stable karma threshold' % update.title) - text = config.get('testing_approval_msg_based_on_karma') - update.comment(db, text, author='bodhi') -diff --git a/bodhi/tests/server/scripts/test_approve_testing.py b/bodhi/tests/server/scripts/test_approve_testing.py -index 013c8a85..79ad3e70 100644 ---- a/bodhi/tests/server/scripts/test_approve_testing.py -+++ b/bodhi/tests/server/scripts/test_approve_testing.py -@@ -106,6 +106,78 @@ class TestMain(BaseTestCase): - self.assertEqual(self.db.query(models.User).filter_by(name=u'bodhi').count(), 0) - self.assertEqual(self.db.query(models.Comment).count(), 0) - -+ def test_non_autokarma_critpath_update_meeting_karma_requirements_gets_one_comment(self): -+ """ -+ Ensure that a non-autokarma critical path update that meets the required karma threshold -+ and required time in testing gets only one comment from Bodhi to that effect, even on -+ subsequent runs of main(). There was an issue[0] where Bodhi wasn't correctly detecting when -+ it should add these comments, and with detecting that it has already commented on -+ critical path updates, and would repeatedly comment that these updates could be pushed. -+ This test ensures that issue stays fixed. -+ -+ [0] https://github.com/fedora-infra/bodhi/issues/1009 -+ """ -+ update = self.db.query(models.Update).all()[0] -+ update.autokarma = False -+ # Make this update a critpath update to force meets_testing_requirements into a different -+ # code path. -+ update.critpath = True -+ # It's been in testing long enough to get the comment from bodhi that it can be pushed. -+ update.date_testing = datetime.now() - timedelta(days=15) -+ update.request = None -+ update.stable_karma = 1 -+ update.status = models.UpdateStatus.testing -+ update.comment(self.db, 'testing', author='hunter2', anonymous=False, karma=1) -+ -+ with patch( -+ 'bodhi.server.scripts.approve_testing._get_db_session', return_value=self.db): -+ approve_testing.main(['nosetests', 'some_config.ini']) -+ -+ # Now we will run main() again, but this time we expect Bodhi not to add any further -+ # comments. -+ approve_testing.main(['nosetests', 'some_config.ini']) -+ -+ bodhi = self.db.query(models.User).filter_by(name=u'bodhi').one() -+ comment_q = self.db.query(models.Comment).filter_by(update_id=update.id, user_id=bodhi.id) -+ self.assertEqual(comment_q.count(), 1) -+ self.assertEqual(comment_q[0].text, config.get('testing_approval_msg_based_on_karma')) -+ -+ def test_non_autokarma_critpath_update_not_meeting_time_requirements_gets_no_comment(self): -+ """ -+ Ensure that a non-autokarma critical path update that does not meet the required time in -+ testing does not get any comment from bodhi saying it can be pushed to stable. -+ There was an issue[0] where Bodhi was incorrectly detecting that the update could be pushed -+ and was commenting to that effect. This test ensures that issue stays fixed. -+ -+ [0] https://github.com/fedora-infra/bodhi/issues/1009 -+ """ -+ update = self.db.query(models.Update).all()[0] -+ update.autokarma = False -+ # Make this update a critpath update to force meets_testing_requirements into a different -+ # code path. -+ update.critpath = True -+ update.request = None -+ update.stable_karma = 1 -+ update.status = models.UpdateStatus.testing -+ update.comment(self.db, 'testing', author='hunter2', anonymous=False, karma=1) -+ -+ with patch( -+ 'bodhi.server.scripts.approve_testing._get_db_session', return_value=self.db): -+ approve_testing.main(['nosetests', 'some_config.ini']) -+ -+ # Now we will run main() again, but this time we expect Bodhi not to add any further -+ # comments. -+ approve_testing.main(['nosetests', 'some_config.ini']) -+ -+ # The bodhi user shouldn't exist, since it shouldn't have made any comments -+ self.assertEqual(self.db.query(models.User).filter_by(name=u'bodhi').count(), 0) -+ # There are three comments, but none from the non-existing bodhi user. -+ self.assertEqual(self.db.query(models.Comment).count(), 3) -+ usernames = [ -+ c.user.name -+ for c in self.db.query(models.Comment).order_by(models.Comment.timestamp).all()] -+ self.assertEqual(usernames, [u'guest', u'anonymous', u'hunter2']) -+ - def test_non_autokarma_update_meeting_karma_requirements_gets_one_comment(self): - """ - Ensure that a non-autokarma update that meets the required karma threshold gets only one --- -2.11.0 - diff --git a/bodhi.spec b/bodhi.spec index 1601b11..fb88d02 100644 --- a/bodhi.spec +++ b/bodhi.spec @@ -1,9 +1,6 @@ -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%{!?pyver: %global pyver %(%{__python} -c "import sys ; print sys.version[:3]")} - Name: bodhi -Version: 2.3.3 -Release: 4%{?dist} +Version: 2.4.0 +Release: 1%{?dist} BuildArch: noarch License: GPLv2+ @@ -11,20 +8,6 @@ Summary: A modular framework that facilitates publishing software updates Group: Applications/Internet URL: https://github.com/fedora-infra/bodhi Source0: https://github.com/fedora-infra/bodhi/archive/%{version}.tar.gz -# https://github.com/fedora-infra/bodhi/pull/1137 -Patch0: 0000-Reload-builds-and-releases-after-we-commit-the-trans.patch -# https://github.com/fedora-infra/bodhi/pull/1139 -Patch1: 0001-Skip-builds-that-are-not-assigned-to-a-release.patch -# https://github.com/fedora-infra/bodhi/pull/1142 -Patch2: 0002-Lock-the-buildsystem-while-logging-in.patch -# https://github.com/fedora-infra/bodhi/pull/1163 -Patch3: 0003-Set-krb_rdns-to-False.patch -# https://github.com/fedora-infra/bodhi/pull/1232 -Patch4: 0004-Fix-submitting-multiple-updates-at-a-time.patch -# https://github.com/fedora-infra/bodhi/pull/1145 -Patch5: 0005-Bodhi-now-comments-on-non-autokarma-updates-after-en.patch -# https://github.com/fedora-infra/bodhi/pull/1145 -Patch6: 0006-Only-comment-on-non-autokarma-updates-meeting-testin.patch # For the tests BuildRequires: python2 @@ -43,7 +26,7 @@ BuildRequires: python-pyramid-mako BuildRequires: python-pyramid-tm BuildRequires: python-waitress BuildRequires: python-colander -BuildRequires: python-cornice +BuildRequires: python-cornice < 2 BuildRequires: python-cornice-sphinx BuildRequires: python-openid @@ -52,6 +35,7 @@ BuildRequires: packagedb-cli BuildRequires: python-sqlalchemy BuildRequires: python-zope-sqlalchemy +BuildRequires: python2-sqlalchemy_schemadisplay BuildRequires: python-webhelpers BuildRequires: python-progressbar @@ -112,9 +96,11 @@ A modular piece of the Fedora Infrastructure stack Summary: Bodhi Client Group: Applications/Internet Requires: koji yum +Requires: python-click Requires: python-fedora >= 0.3.5 Requires: python-kitchen -Requires: python-click +Requires: python2-six + Requires: python2-bodhi == %{version}-%{release} @@ -159,7 +145,7 @@ Requires: python-pyramid-tm Requires: python-waitress Requires: python-click Requires: python-colander -Requires: python-cornice +Requires: python-cornice < 2 Requires: python-openid Requires: python-pyramid-fas-openid @@ -215,15 +201,7 @@ updates for a software distribution. %prep -%setup -q -n bodhi-%{version} - -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 +%autosetup -n bodhi-%{version} # Kill some dev deps sed -i '/pyramid_debugtoolbar/d' setup.py @@ -268,7 +246,7 @@ cp -rf alembic/ %{buildroot}%{_datadir}/%{name}/alembic #%{__install} -m 640 %{name}/config/*mash* %{buildroot}%{_sysconfdir}/%{name}/ install -d %{buildroot}%{_mandir}/man1 -install -pm0644 docs/_build/man/bodhi.1 %{buildroot}%{_mandir}/man1/ +install -pm0644 docs/_build/man/*.1 %{buildroot}%{_mandir}/man1/ if [ ! -e %{buildroot}%{python2_sitelib}/%{name}/server/static/bootstrap ]; then # setuptools on EL 7 does not install bootstrap, so we need to symlink it @@ -284,16 +262,6 @@ if [ ! -e %{buildroot}%{python2_sitelib}/%{name}/server/static/bootstrap ]; then /usr/bin/false fi; -# Bodhi 2.3.3 has tests that depend on it being 2016. Though this is fixed in develop, the patch -# does not cleanly apply to 2.3.3 and it is not worth the effort to backport it for now. Once we -# update to the next Bodhi release we can delete this if/else block below and go back to running the -# tests. -%if "%{version}" == "2.3.3" -exit 0 -%else -# This will remind us to delete this if/else block when we update to the next bodhi release. -exit 1 -%endif PYTHONPATH=. %{__python} setup.py nosetests @@ -308,7 +276,7 @@ PYTHONPATH=. %{__python} setup.py nosetests %license COPYING %{_bindir}/bodhi %{python2_sitelib}/%{name}/client -%{python2_sitelib}/%{name}_client-%{version}-py%{pyver}.egg-info +%{python2_sitelib}/%{name}_client-%{version}-py%{python2_version}.egg-info %{_mandir}/man1/bodhi.1* @@ -321,13 +289,14 @@ PYTHONPATH=. %{__python} setup.py nosetests %license COPYING %dir %{python2_sitelib}/%{name}/ %{python2_sitelib}/%{name}/__init__.py* -%{python2_sitelib}/%{name}-%{version}-py%{pyver}.egg-info +%{python2_sitelib}/%{name}-%{version}-py%{python2_version}.egg-info %files server %defattr(-,root,root,-) %license COPYING %{_bindir}/initialize_bodhi_db +%{_bindir}/bodhi-clean-old-mashes %{_bindir}/bodhi-expire-overrides %{_bindir}/bodhi-approve-testing %{_bindir}/bodhi-push @@ -337,7 +306,9 @@ PYTHONPATH=. %{__python} setup.py nosetests %config(noreplace) %{_sysconfdir}/fedmsg.d/* %dir %{_sysconfdir}/bodhi/ %{python2_sitelib}/%{name}/server -%{python2_sitelib}/%{name}_server-%{version}-py%{pyver}.egg-info +%{python2_sitelib}/%{name}_server-%{version}-py%{python2_version}.egg-info +%{_mandir}/man1/bodhi-push.1* +%{_mandir}/man1/initialize_bodhi_db.1* %attr(-,bodhi,root) %{_datadir}/%{name} %attr(-,bodhi,bodhi) %config(noreplace) %{_sysconfdir}/bodhi/* %attr(-,bodhi,root) %{_localstatedir}/log/bodhi @@ -345,6 +316,11 @@ PYTHONPATH=. %{__python} setup.py nosetests %changelog +* Mon Feb 06 2017 Randy Barlow - 2.4.0-1 +- Update to 2.4.0. +- Drop some unneeded globals from the top of the spec file. +- https://github.com/fedora-infra/bodhi/releases/tag/2.4.0 + * Mon Feb 06 2017 Randy Barlow - 2.3.3-4 - Apply patches to fix repeat e-mails (#1396689). diff --git a/sources b/sources index 0572b36..10af51c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eccaadf523ade745f3c25d806cccf5cd 2.3.3.tar.gz +SHA512 (2.4.0.tar.gz) = c47452a5b9f6a456a1ac47867073874031be9be9647d81f5db9f166a7c2abd5b8487efa6e60e408b38e09c8276680226bf79c6531a2a4e9071cc1921d803dc6e