Seeking pre-approval for gforge 4.7~rc2-3 upload
Hi release team,
I would like to request a freeze exception for the gforge package.
Version currently in lenny is 4.7~rc2-1, with 4.7~rc2-2 in unstable
(and unblocked already), but both versions suffer from a bug (#497512)
when running on PostgreSQL 8.3: due to stricter type enforcing, some
SQL queries don't return anything. Unfortunately, these queries are
all about the role_setting table, which holds permissions and is
therefore required for quite a few important tools (like the bug
trackers, task managers and forums). The bug is not RC, but it does
make the package mostly useless for PostgreSQL 8.3 users.
Would it be okay for me to upload a -3 package? And should I first
wait for -2 to migrate to testing (2 days old for now)? Here's the
full diff:
=== modified file 'gforge/ChangeLog'
--- gforge/ChangeLog 2008-07-20 16:41:30 +0000
+++ gforge/ChangeLog 2008-09-03 18:52:31 +0000
@@ -1,3 +1,15 @@
+2008-09-03 Roland Mas <lolando@debian.org>
+
+
+ * common/tracker/ArtifactType.class.php: Fixed PostgreSQL 8.3
+ compatibility by explicitly converting role_setting.value to an
+ integer.
+ * common/tracker/ArtifactTypeFactory.class.php: Ditto.
+ * common/pm/ProjectGroup.class.php: Ditto.
+ * common/pm/ProjectGroupFactory.class.php: Ditto.
+ * common/forum/Forum.class.php: Ditto.
+ * common/forum/ForumFactory.class.php: Ditto.
+
2008-07-20 Roland Mas <lolando@debian.org>
* common/reporting/report_utils.php: Search user by the initial
=== modified file 'gforge/common/forum/Forum.class.php'
--- gforge/common/forum/Forum.class.php 2008-05-27 20:56:57 +0000
+++ gforge/common/forum/Forum.class.php 2008-09-03 18:47:54 +0000
@@ -421,7 +421,7 @@
FROM user_group, role_setting
WHERE role_setting.section_name='forum'
AND role_setting.ref_id='".$this->getID()."'
- AND role_setting.value > 1
+ AND role_setting.value::integer > 1
AND user_group.role_id = role_setting.role_id";
$result = db_query($sql);
return util_result_column_to_array($result);
=== modified file 'gforge/common/forum/ForumFactory.class.php'
--- gforge/common/forum/ForumFactory.class.php 2008-05-27 20:56:57 +0000
+++ gforge/common/forum/ForumFactory.class.php 2008-09-03 18:48:12 +0000
@@ -106,7 +106,7 @@
} else {
$exists=" AND group_forum_id IN (SELECT role_setting.ref_id
FROM role_setting, user_group
- WHERE role_setting.value >= 0
+ WHERE role_setting.value::integer >= 0
AND role_setting.section_name = 'forum'
AND role_setting.ref_id=forum_group_list_vw.group_forum_id
=== modified file 'gforge/common/pm/ProjectGroup.class.php'
--- gforge/common/pm/ProjectGroup.class.php 2008-05-27 20:56:57 +0000
+++ gforge/common/pm/ProjectGroup.class.php 2008-09-03 18:43:59 +0000
@@ -323,7 +323,7 @@
WHERE users.user_id=user_group.user_id
AND role_setting.role_id=user_group.role_id
AND role_setting.ref_id='". $this->getID() ."'
- AND role_setting.value IN (1,2)
+ AND role_setting.value::integer IN (1,2)
AND role_setting.section_name='pm'
ORDER BY users.realname";
$this->technicians=db_query($sql);
=== modified file 'gforge/common/pm/ProjectGroupFactory.class.php'
--- gforge/common/pm/ProjectGroupFactory.class.php 2008-05-27 20:56:57 +0000
+++ gforge/common/pm/ProjectGroupFactory.class.php 2008-09-03 18:46:33 +0000
@@ -102,7 +102,7 @@
} else {
$exists=" AND group_project_id IN (SELECT role_setting.ref_id
FROM role_setting, user_group
- WHERE role_setting.value >= 0
+ WHERE role_setting.value::integer >= 0
AND role_setting.section_name = 'pm'
AND role_setting.ref_id=project_group_list_vw.group_project_id
=== modified file 'gforge/common/tracker/ArtifactType.class.php'
--- gforge/common/tracker/ArtifactType.class.php 2008-05-27 20:56:57 +0000
+++ gforge/common/tracker/ArtifactType.class.php 2008-09-03 18:47:06 +0000
@@ -1015,7 +1015,7 @@
return 0;
} else {
if (!isset($this->current_user_perm)) {
- $sql="SELECT role_setting.value
+ $sql="SELECT role_setting.value::integer
FROM role_setting, user_group
WHERE role_setting.ref_id='". $this->getID() ."'
AND user_group.role_id = role_setting.role_id
=== modified file 'gforge/common/tracker/ArtifactTypeFactory.class.php'
--- gforge/common/tracker/ArtifactTypeFactory.class.php 2008-05-31 14:03:38 +0000
+++ gforge/common/tracker/ArtifactTypeFactory.class.php 2008-09-03 18:43:18 +0000
@@ -101,7 +101,7 @@
} else {
$exists=" AND group_artifact_id IN (SELECT role_setting.ref_id
FROM role_setting, user_group
- WHERE role_setting.value >= 0
+ WHERE role_setting.value::integer >= 0
AND role_setting.section_name = 'tracker'
AND role_setting.ref_id=artifact_group_list_vw.group_artifact_id
=== modified file 'gforge/debian/changelog'
--- gforge/debian/changelog 2008-08-31 18:50:02 +0000
+++ gforge/debian/changelog 2008-09-03 18:55:06 +0000
@@ -1,3 +1,10 @@
+gforge (4.7~rc2-3) unstable; urgency=low
+
+ * Added explicit cast to fix PostgreSQL 8.3 compatibility (closes:
+ #497512).
+
+ -- Roland Mas <lolando@debian.org> Wed, 03 Sep 2008 20:55:06 +0200
+
gforge (4.7~rc2-2) unstable; urgency=low
* Fixed chroot setup on amd64 (closes: #495728).
As you can see, it's only about adding an explicit cast to queries.
Thanks,
Roland.
--
Roland Mas
When you have a hammer in your hand, most things look like a nail.
Reply to: