From cfd087f5ce8e31cc42747a35a6248265123383e7 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Tue, 29 Jan 2008 21:13:16 +0000 Subject: rename translate_menu.pl to translate_menu, for consistency --- translate_menu | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 translate_menu (limited to 'translate_menu') diff --git a/translate_menu b/translate_menu new file mode 100755 index 0000000..2d661c6 --- /dev/null +++ b/translate_menu @@ -0,0 +1,72 @@ +#!/usr/bin/perl -w +#--------------------------------------------------------------- +# Project : Mandrake Linux +# Module : spec-helper +# File : translate_menu.pl +# Version : $Id$ +# Author : Frederic Lepied +# Created On : Mon Jan 26 13:37:49 2004 +# Purpose : change the menu sections +#--------------------------------------------------------------- + +my $menudir = `rpm --eval %_menudir`; +chomp($menudir); + +$ENV{RPM_BUILD_ROOT} or exit(0); +! -d "$ENV{RPM_BUILD_ROOT}/$menudir/" || exit(0); + +my @nested = (["Configuration", "System/Configuration"], + + ["Applications/Monitoring", "System/Monitoring"], + ["Applications/Publishing", "Office/Publishing"], + ["Applications/File tools", "System/File Tools"], + ["Applications/Text tools", "System/Text Tools"], + ["Applications/Archiving", "System/Archiving"], + ["Applications", "More Applications"], + + ["Terminals", "System/Terminals"], + + ["Documentation", "More Applications/Documentation"], + + ["Office/PDA", "Office/Communications/PDA"], + + ["Networking/IRC", "Internet/Chat"], + ["Networking/WWW", "Internet/Web Browsers"], + ["^Networking", "Internet"], + + ["Amusement", "More Applications/Games"], + ["Session/Windowmanagers", "System/Session/Windowmanagers"], + ); + +sub translate { + my ($str) = @_; + + foreach my $t (@nested) { + if ($str =~ /(.*)$t->[0](.*)/ && $str !~ /$t->[1]/) { + print "$str => $1$t->[1]$2\n"; + return "$1$t->[1]$2"; + } + } + return $str; +} + +# process each file passed on cli: + +foreach my $file (glob("$ENV{RPM_BUILD_ROOT}/$menudir/*")) { + open(my $FILE, "<$file") or die $!; + my @lines = <$FILE>; + close($FILE); + open($FILE, ">$file") or die $!; + foreach my $l (@lines) { + chomp($l); + if ($l =~ /(.*section=)"([^"]+)"(\s*.*)/ || $l =~ /(.*section=)([^"].+?)((\s|\\)+.*)/) { + my ($beg, $section, $end) = ($1, $2, $3); + $section = translate($section); + $l = qq($beg"$section"$end); + } + print $FILE "$l\n"; + } + close($FILE); +} + +# translate_menu.pl ends here -- cgit v1.2.1