diff options
Diffstat (limited to 'officecfg/util/component-map.gen')
-rw-r--r-- | officecfg/util/component-map.gen | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/officecfg/util/component-map.gen b/officecfg/util/component-map.gen new file mode 100644 index 000000000000..e58b90eb6912 --- /dev/null +++ b/officecfg/util/component-map.gen @@ -0,0 +1,101 @@ +: # -*- perl -*- +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: component-map.gen,v $ +# +# $Revision: 1.3 $ +# +# 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 +# <http://www.openoffice.org/license.html> +# 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(<INFILE>) { + 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; |