: # -*- perl -*- #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2000, 2010 Oracle and/or its affiliates. # # OpenOffice.org - a multi-platform office productivity suite # # This file is part of OpenOffice.org. # # OpenOffice.org is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 3 # only, as published by the Free Software Foundation. # # OpenOffice.org 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 version 3 for more details # (a copy is included in the LICENSE file that accompanied this code). # # You should have received a copy of the GNU Lesser General Public License # version 3 along with OpenOffice.org. If not, see # # for a copy of the LGPLv3 License. # #************************************************************************* # generates of the component schema list mapping file, which # describes the mapping between OOR and LDAP 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); # create the properites file print OUTFILE "# location of the component schema \n"; print OUTFILE "component-schema=schema\n\n"; print OUTFILE "# location of the component data \n"; print OUTFILE "component-data=data\n\n"; $comps=join (';',@comp_names); print OUTFILE "# installed components \n"; print OUTFILE "components=$comps\n\n"; print OUTFILE "# component mapping \n"; foreach (@comp_names) { $myCompName=$_; s#org.openoffice.#oo-#g; s#\.#-#g; $myLdapName=lc $_; print OUTFILE "component/$myCompName/attribute=$myLdapName-attr\n"; print OUTFILE "component/$myCompName/objectclass=$myLdapName-class\n\n"; } close(OUTFILE); exit 0;