[Fedora-directory-users] Schema Conversion

Rich Megginson rmeggins at redhat.com
Wed Jun 15 20:38:18 UTC 2005


Thanks!  I've added a link to this script on the 
http://directory.fedora.redhat.com/wiki/Howto:OpenLDAPMigration page.

Mike Jackson wrote:

> Nathan Benson wrote:
>
>> i have a quick and dirty perl script i had cooked up to do this.  it was
>> enough to allow me to convert some openldap schema to FDS.  i was able
>> to successfully start FDS after converting a few of them (samba3, etc).
>
>
> And here is the one which I promised. It does OL schema to LDIF 
> conversion, as well as pretty printing for readability.
>
>
> usage: ./ol-schema-migrate.pl nis.schema > nis.ldif
>
>
> Sorry, I couldn't think of a better name for the script. Let me know 
> (on the list) if there are any problems with it and I'll fix them.
>
> -- 
> mike
>
>------------------------------------------------------------------------
>
>#!/usr/bin/perl -w
>#
># Convert OpenLDAP schema files into RHDS format with pretty printing
>#
># Mike Jackson <mj at sci.fi> 14 June 2005
>#
># GPL license
>#
>
>use strict;
>
>my @lines = <>;
>my @at;
>my @oc;
>my $at  = 0;
>my $oc  = 0;
>my $at_string;
>my $oc_string;
>
>
>for (@lines) {
>
>  if ($at) {
>    s/\n//;
>    s/ +/ /;
>    s/\t/ /;
>    $at_string .= $_;
>
>    if ( /\)$/ ) {
>      push @at, $at_string;
>      $at = 0;
>      $at_string = "";
>    }
>  }
>
>  if ($oc) {
>    s/ +/ /;
>    s/\t/ /;
>    $oc_string .= $_;
>
>    if ( /^\n/ ) {
>      $oc_string =~ s/\n//;
>      push @oc, $oc_string;
>      $oc = 0;
>      $oc_string = "";
>    }
>    $oc_string =~ s/\n//;
>  }
>
>  if ( /attribute[t|T]ype/ ) {
>    $at  = 1;
>    s/\n//;
>    s/attribute[t|T]ype/attributeTypes:/;
>    $at_string .= $_;
>  }
>
>  if ( /object[c|C]lass/ ) {
>    $oc  = 1;
>    s/\n//;
>    s/object[c|C]lass/objectClasses:/;
>    $oc_string .= $_;
>  }
>}
>
>&seperator;
>print "dn: cn=schema\n";
>&seperator;
>
>
>for (@at) {
>
>  s/attributeTypes: \(/attributeTypes: \(\n /;
>
>  s/NAME/\n  NAME/;
>  s/EQUALITY/\n  EQUALITY/;
>  s/SUBSTRING/\n  SUBSTRING/;
>  s/DESC/\n  DESC/;
>  s/SYNTAX/\n  SYNTAX/;
>  s/SUP/\n  SUP/;
>  s/SUBSTR/\n  SUBSTR/;
>  s/SINGLE-VALUE/\n  SINGLE-VALUE/;
>
>  s/\)$/\n  )/;
>  s/ \n/\n/g;
>
>  print "$_\n";
>  &seperator;
>}
>
>for (@oc) {
>
>  s/objectClasses: \(/objectClasses: \(\n /;
>
>  s/NAME/\n  NAME/;
>  s/SUP/\n  SUP/;
>  s/AUXILIARY/\n  AUXILIARY/;
>  s/STRUCTURAL/\n  STRUCTURAL/;
>  s/DESC/\n  DESC/;
>  s/MUST/\n  MUST/;
>  s/MAY/\n  MAY/;
>
>  s/\)$/\n  )/;
>  s/ \n/\n/g;
>
>  print "$_\n";
>  &seperator;
>}
>
>
>## subs
>sub seperator {
>  print "#\n";
>  print "#********************************************************************\n";
>  print "#\n";
>}
>  
>
>------------------------------------------------------------------------
>
>--
>Fedora-directory-users mailing list
>Fedora-directory-users at redhat.com
>https://www.redhat.com/mailman/listinfo/fedora-directory-users
>  
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/389-users/attachments/20050615/a7e03d6f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3312 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.fedoraproject.org/pipermail/389-users/attachments/20050615/a7e03d6f/attachment.bin>


More information about the 389-users mailing list