: # -*- perl -*- #************************************************************************* # # OpenOffice.org - a multi-platform office productivity suite # # $RCSfile: component-ldif.gen,v $ # # $Revision: 1.2 $ # # last change: $Author: rt $ $Date: 2005-09-08 15:48:25 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. # # # GNU Lesser General Public License Version 2.1 # ============================================= # Copyright 2005 by Sun Microsystems, Inc. # 901 San Antonio Road, Palo Alto, CA 94303, USA # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License version 2.1, as published by the Free Software Foundation. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # #************************************************************************* # generates of the component schema list an ldap schema in ldif format eval 'exec perl -wS $0 ${1+"$@"}' if 0; #creating the output file open(OUTFILE, ">$ARGV[0]") or die "can't open >$ARGV[0]"; #open the makefile open(INFILE, "makefile.mk") or die "can't open makefile.mk"; $inxcs=0; #search all schemas in the makefile except userprofile and format them as e.g org.openoffice.Inet while() { tr/\r\n//d; if (/^\s*XCSFILES/) { $inxcs++; } next unless $inxcs; if ($inxcs) { $inxcs=0 unless /\\$/; next if (/^\s*XCSFILES/); next if (/UserProfile/); s/^\s+//; s/\s*\\$//; s/\.xcs.*$//; s#\$/#.#g; push(@comp_names, $_); } } close(INFILE); # generate the schema in ldif format foreach (@comp_names) { s#org.openoffice.#oo-#g; s#\.#-#g; $myLdapName=lc $_; print OUTFILE "dn: cn=schema\n"; print OUTFILE "attributetypes: ($myLdapName-attr-oid NAME '$myLdapName-attr' DESC '$myLdapName attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE_VALUE )\n\n"; print OUTFILE "dn: cn=schema\n"; print OUTFILE "objectclasses: ($myLdapName-class-oid NAME '$myLdapName-class' DESC '$myLdapName objclass' SUP 'top' MAY ($myLdapName-attr \$ ))\n\n"; } close(OUTFILE); exit 0;