diff options
Diffstat (limited to 'sysui/desktop/share/brand.pl')
-rw-r--r-- | sysui/desktop/share/brand.pl | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/sysui/desktop/share/brand.pl b/sysui/desktop/share/brand.pl new file mode 100644 index 000000000000..ebb5df19d549 --- /dev/null +++ b/sysui/desktop/share/brand.pl @@ -0,0 +1,127 @@ +: +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#************************************************************************* +# +# 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 +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + + +#********************************************************************* +# +# main +# + +$destdir = pop @ARGV; +mkdir $destdir,0777; + +$productname = "OpenOffice.org"; +$productfilename = "openoffice"; +$prefix = ""; +$iconprefix = ""; + +while ($_ = $ARGV[0], /^-/) { + shift; + last if /^--$/; + if (/^-p/) { + $productname = $ARGV[0]; + shift; + } + if (/^-u/) { + $productfilename = $ARGV[0]; + shift; + } + if (/^--prefix/) { + $prefix = $ARGV[0]; + shift; + } + if (/^--iconprefix/) { + $iconprefix = $ARGV[0]; + shift; + } + if (/^--category/) { + $category = $ARGV[0]; + shift; + } +} + + +while (<>) { + unless (open INFILE,$ARGV) { + print STDOUT "Can't open input file $ARGV: $!\n"; + exit 1; + } + + $srcfile = substr($ARGV, rindex($ARGV, "/") + 1); + + unless (open OUTFILE,"> $destdir/$prefix$srcfile") { + print STDOUT "Can't open output file $destdir/$prefix$srcfile: $!\n"; + exit 1; + } + + while (<INFILE>) { + # remove possible Windows line-ends + chomp; + + # patch all occurances of openoffice in ICON line with + # $prefix + s/Icon=/Icon=$iconprefix/; + + # patch all occurances of openoffice in icon_filename + # line with $prefix + s/icon_filename=/icon_filename=$iconprefix/; + + # patch all occurances of openoffice in EXEC line with + # $productfilename + if ( /Exec/ ) { + s/openoffice/$productfilename/; + } + + # if $productfilename != "openoffice, add it to the list + # of applications. + if ( /user_level=$/ ) { + $_ = $_ . $productfilename; + } elsif ( /user_level/ ) { + s/$productfilename,//; + s/user_level=/user_level=$productfilename,/ + } + + # append special category if specified + if ( /Categories/ ) { + if ( length($category) > 0 ) { + $_ = "$_$category;"; + } + } + + # replace %PRODUCTNAME placeholders + s/%PRODUCTNAME/$productname/g; + + print OUTFILE "$_\n"; + } + + close(OUTFILE); + close(INFILE); +} |