[Rt-commit] rt branch, 4.2/migrator-fixes, created. rt-4.2.12-114-g152c90c
Shawn Moore
shawn at bestpractical.com
Sat Mar 12 11:58:44 EST 2016
The branch, 4.2/migrator-fixes has been created
at 152c90c600c19cf470e9202b21b1cbb82a100072 (commit)
- Log -----------------------------------------------------------------
commit 50dea853e373a5c3d3fafe3f201d8b726fda1099
Author: Dustin Graves <dustin at bestpractical.com>
Date: Wed Feb 17 20:16:50 2016 +0000
add AddRight calls to 4.0.1 upgrade step to prevent error message due to failure to canonicalize rights
Fixes: I#31721
diff --git a/etc/upgrade/4.0.1/content b/etc/upgrade/4.0.1/content
index cc3b5f1..851c502 100644
--- a/etc/upgrade/4.0.1/content
+++ b/etc/upgrade/4.0.1/content
@@ -50,6 +50,11 @@ our @Initial = (
sub {
RT->Logger->debug('Removing all Delegate and PersonalGroup rights');
+ # this temporarily tells the system that the rights exist so it can properly canonicalize them
+ RT::System->AddRight(Admin => AdminOwnPersonalGroups => 'Add right for 4.0.1 upgrade steps');
+ RT::System->AddRight(Admin => AdminAllPersonalGroups => 'Add right for 4.0.1 upgrade steps');
+ RT::System->AddRight(Admin => DelegateRights => 'Add right for 4.0.1 upgrade steps');
+
my $acl = RT::ACL->new(RT->SystemUser);
for my $right (qw/AdminOwnPersonalGroups AdminAllPersonalGroups DelegateRights/) {
$acl->Limit( FIELD => 'RightName', VALUE => $right );
commit 3b8ae5b6697ffd26734c9db46b30002af9460193
Author: Jim Brandt <jbrandt at bestpractical.com>
Date: Wed Feb 17 23:19:49 2016 +0000
Update detection of find version in configure
Commit 4028723 added code to detect the version of find
because Debian is changing to a newer version of GNU
find with different syntax than the traditional find.
However, the change in that commit no longer worked on
Mac OS X, a BSD-type system.
Modify the find check to use the --version option supported
on GNU and use GNU syntax if found. Otherwise default to the
previous BSD syntax which was the previous setting for all
systems.
diff --git a/configure.ac b/configure.ac
index 44f5384..c671138 100755
--- a/configure.ac
+++ b/configure.ac
@@ -36,21 +36,13 @@ fi
dnl BSD find uses -perm +xxxx, GNU find has deprecated this syntax in favour of
dnl -perm /xxx.
-AC_MSG_CHECKING([whether find supports -perm /x or find -perm +x])
-if find -perm /0100 -not -perm /0100
-then
- FINDPERM="/"
-elif
- find -perm +0100 -not -perm +0100
-then
- FINDPERM="+"
-else
- FINDPERM="na"
-fi
-AC_MSG_RESULT([${FINDPERM}])
-if test "x$FINDPERM" = "xna" ; then
- AC_MSG_WARN([local find program supports neither -perm /0111 nor -perm +0111, make fixperms will not work])
-fi
+AC_MSG_CHECKING([checking version of find])
+AS_IF([find --version 2>&1 | grep 'GNU'],
+ [ FINDPERM="/"
+ AC_MSG_RESULT([configuring for GNU find]) ],
+ [ FINDPERM="+"
+ AC_MSG_RESULT([configuring for BSD find]) ])
+
AC_SUBST([FINDPERM])
dnl WEB_HANDLER
commit 1cac7d3a64b1b3513610069f7b3895e359585475
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Sat Mar 12 16:27:00 2016 +0000
Serialize ObjectClass ObjectId using indirection
Otherwise article classes get applied to the wrong queue (the
one which happens to have had the same ID as one in the database
being serialized). This method is mostly lifted from
ObjectCustomField.
Fixes: I#31804
diff --git a/lib/RT/ObjectClass.pm b/lib/RT/ObjectClass.pm
index c51d9d4..f5a5da6 100644
--- a/lib/RT/ObjectClass.pm
+++ b/lib/RT/ObjectClass.pm
@@ -229,6 +229,18 @@ sub FindDependencies {
$deps->Add( out => $obj );
}
+sub Serialize {
+ my $self = shift;
+ my %args = (@_);
+ my %store = $self->SUPER::Serialize(@_);
+
+ if ($store{ObjectId}) {
+ my $obj = $self->ObjectType->new( RT->SystemUser );
+ $obj->Load( $store{ObjectId} );
+ $store{ObjectId} = \($obj->UID);
+ }
+ return %store;
+}
RT::Base->_ImportOverlays();
commit 06c4c4393d1ce6223aa280f152c5da14bfb6a2fd
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Sat Mar 12 16:43:53 2016 +0000
Serialize ObjectScrip ObjectId using indirection
Otherwise scrip gets applied to the wrong queue (the one which
happens to have had the same ID as one in the database being
serialized). This method is mostly lifted from
ObjectCustomField.
Fixes: I#31805
diff --git a/lib/RT/ObjectScrip.pm b/lib/RT/ObjectScrip.pm
index 8399398..b270d25 100644
--- a/lib/RT/ObjectScrip.pm
+++ b/lib/RT/ObjectScrip.pm
@@ -272,6 +272,19 @@ sub FindDependencies {
}
}
+sub Serialize {
+ my $self = shift;
+ my %args = (@_);
+ my %store = $self->SUPER::Serialize(@_);
+
+ if ($store{ObjectId}) {
+ my $obj = RT::Queue->new( RT->SystemUser );
+ $obj->Load( $store{ObjectId} );
+ $store{ObjectId} = \($obj->UID);
+ }
+ return %store;
+}
+
RT::Base->_ImportOverlays();
1;
commit 152c90c600c19cf470e9202b21b1cbb82a100072
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Sat Mar 12 16:51:44 2016 +0000
Serialize ObjectTopic ObjectId using indirection
Otherwise a topic gets applied to the wrong article (the one
which happens to have had the same ID as one in the database
being serialized). This method is mostly lifted from
ObjectCustomField.
Fixes: I#31803
diff --git a/lib/RT/ObjectTopic.pm b/lib/RT/ObjectTopic.pm
index c9429fd..dfe2bfd 100644
--- a/lib/RT/ObjectTopic.pm
+++ b/lib/RT/ObjectTopic.pm
@@ -212,6 +212,19 @@ sub FindDependencies {
$deps->Add( out => $obj );
}
+sub Serialize {
+ my $self = shift;
+ my %args = (@_);
+ my %store = $self->SUPER::Serialize(@_);
+
+ if ($store{ObjectId}) {
+ my $obj = $self->ObjectType->new( RT->SystemUser );
+ $obj->Load( $store{ObjectId} );
+ $store{ObjectId} = \($obj->UID);
+ }
+ return %store;
+}
+
RT::Base->_ImportOverlays();
1;
-----------------------------------------------------------------------
More information about the rt-commit
mailing list