From d376e6a94150135099fce15ce98c3a2cae4a8d3d Mon Sep 17 00:00:00 2001
From: Rich Megginson <rmeggins@redhat.com>
Date: Mon, 30 Apr 2012 20:42:34 -0600
Subject: [PATCH] Ticket #351 - use betxn plugins by default

https://fedorahosted.org/389/ticket/351
Resolves: Ticket #351
Bug Description: use betxn plugins by default
Reviewed by: ???
Branch: master
Fix Description: added 90betxn-plugins.ldif that gets used during instance
creation (but not upgrade).  This makes every betxn-aware plugin to be
a betxn plugin, except for Class of Service, Roles, and Views - they will
need further rewriting in order to make them betxn aware.
Platforms tested: RHEL6 x86_64, Fedora 17
Flag Day: no
Doc impact: no
---
 Makefile.am                           |    4 ++-
 Makefile.in                           |    4 ++-
 ldap/admin/src/scripts/DSCreate.pm.in |    4 +++
 ldap/ldif/90betxn-plugins.ldif        |   40 +++++++++++++++++++++++++++++++++
 4 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 ldap/ldif/90betxn-plugins.ldif

diff --git a/Makefile.am b/Makefile.am
index 0efea66..cf91842 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -108,7 +108,8 @@ CLEANFILES =  dberrstrs.h ns-slapd.properties \
 	ldap/admin/src/scripts/template-vlvindex ldap/admin/src/scripts/DSUtil.pm \
 	ldap/ldif/template-baseacis.ldif ldap/ldif/template-bitwise.ldif ldap/ldif/template-country.ldif \
 	ldap/ldif/template-dnaplugin.ldif ldap/ldif/template-domain.ldif ldap/ldif/template-dse.ldif \
-	ldap/ldif/50replication-plugins.ldif ldap/ldif/template-ldapi-autobind.ldif ldap/ldif/template-ldapi-default.ldif \
+	ldap/ldif/50replication-plugins.ldif ldap/ldif/90betxn-plugins.ldif \
+	ldap/ldif/template-ldapi-autobind.ldif ldap/ldif/template-ldapi-default.ldif \
 	ldap/ldif/template-ldapi.ldif ldap/ldif/template-locality.ldif ldap/ldif/template-org.ldif \
 	ldap/ldif/template-orgunit.ldif ldap/ldif/template-pampta.ldif ldap/ldif/template-sasl.ldif \
 	ldap/ldif/template-state.ldif ldap/ldif/template-suffix-db.ldif
@@ -252,6 +253,7 @@ sampledata_DATA = ldap/admin/src/scripts/failedbinds.py \
 	ldap/ldif/template-orgunit.ldif \
 	ldap/ldif/template-baseacis.ldif \
 	ldap/ldif/template-sasl.ldif \
+	ldap/ldif/90betxn-plugins.ldif \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-FamilyNames \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-GivenNames \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-OrgUnits \
diff --git a/Makefile.in b/Makefile.in
index 4b0897f..ab2f657 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1374,7 +1374,8 @@ CLEANFILES = dberrstrs.h ns-slapd.properties \
 	ldap/admin/src/scripts/template-vlvindex ldap/admin/src/scripts/DSUtil.pm \
 	ldap/ldif/template-baseacis.ldif ldap/ldif/template-bitwise.ldif ldap/ldif/template-country.ldif \
 	ldap/ldif/template-dnaplugin.ldif ldap/ldif/template-domain.ldif ldap/ldif/template-dse.ldif \
-	ldap/ldif/50replication-plugins.ldif ldap/ldif/template-ldapi-autobind.ldif ldap/ldif/template-ldapi-default.ldif \
+	ldap/ldif/50replication-plugins.ldif ldap/ldif/90betxn-plugins.ldif \
+	ldap/ldif/template-ldapi-autobind.ldif ldap/ldif/template-ldapi-default.ldif \
 	ldap/ldif/template-ldapi.ldif ldap/ldif/template-locality.ldif ldap/ldif/template-org.ldif \
 	ldap/ldif/template-orgunit.ldif ldap/ldif/template-pampta.ldif ldap/ldif/template-sasl.ldif \
 	ldap/ldif/template-state.ldif ldap/ldif/template-suffix-db.ldif
@@ -1456,6 +1457,7 @@ sampledata_DATA = ldap/admin/src/scripts/failedbinds.py \
 	ldap/ldif/template-orgunit.ldif \
 	ldap/ldif/template-baseacis.ldif \
 	ldap/ldif/template-sasl.ldif \
+	ldap/ldif/90betxn-plugins.ldif \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-FamilyNames \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-GivenNames \
 	$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-OrgUnits \
diff --git a/ldap/admin/src/scripts/DSCreate.pm.in b/ldap/admin/src/scripts/DSCreate.pm.in
index 7bb4595..fcb04e3 100644
--- a/ldap/admin/src/scripts/DSCreate.pm.in
+++ b/ldap/admin/src/scripts/DSCreate.pm.in
@@ -379,6 +379,10 @@ sub createConfigFile {
         push @ldiffiles, "$inf->{General}->{prefix}@updatedir@/50replication-plugins.ldif";
     }
 
+    if (-f "$inf->{General}->{prefix}@templatedir@/90betxn-plugins.ldif") {
+        push @ldiffiles, "$inf->{General}->{prefix}@templatedir@/90betxn-plugins.ldif";
+    }
+
     # additional configuration LDIF files
     if (exists($inf->{slapd}->{ConfigFile})) {
         if (ref($inf->{slapd}->{ConfigFile})) {
diff --git a/ldap/ldif/90betxn-plugins.ldif b/ldap/ldif/90betxn-plugins.ldif
new file mode 100644
index 0000000..deedbc7
--- /dev/null
+++ b/ldap/ldif/90betxn-plugins.ldif
@@ -0,0 +1,40 @@
+dn: cn=State Change Plugin,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpostoperation
+
+dn: cn=MemberOf Plugin,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpostoperation
+
+dn: cn=referential integrity postoperation,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpostoperation
+
+dn: cn=attribute uniqueness,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpreoperation
+
+dn: cn=Auto Membership Plugin,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpreoperation
+
+dn: cn=Linked Attributes,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpreoperation
+
+dn: cn=Managed Entries,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-plugintype
+nsslapd-plugintype: betxnpreoperation
+
+dn: cn=Retro Changelog Plugin,cn=plugins,cn=config
+changetype: modify
+replace: nsslapd-pluginbetxn
+nsslapd-pluginbetxn: TRUE
+
-- 
1.7.1

