Wir kehren zurueck zu Kudzu, da hwinfo noch mehr Aerger macht.
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 10 Apr 2007 16:25:56 +0000 (16:25 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 10 Apr 2007 16:25:56 +0000 (16:25 +0000)
sort_strings.pl erweitert damit er Umlaute automatisch kodiert.
Tripwire und Sysstat (sar) hinzugefuegt.

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@486 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

12 files changed:
config/rootfiles/common/sysstat [new file with mode: 0644]
config/sysstat/CONFIG [new file with mode: 0644]
doc/packages-list.txt
langs/de/cgi-bin/de.pl
lfs/kudzu
lfs/sysstat [new file with mode: 0644]
lfs/tripwire [new file with mode: 0644]
make.sh
src/install+setup/install/mountsource.sh
src/install+setup/install/probehw.sh
src/patches/tripwire-2.4.0.1-gcc4_build_fixes-1.patch [new file with mode: 0644]
tools/sort_strings.pl

diff --git a/config/rootfiles/common/sysstat b/config/rootfiles/common/sysstat
new file mode 100644 (file)
index 0000000..7654a5b
--- /dev/null
@@ -0,0 +1,24 @@
+#etc/sysconfig/sysstat.ioconf
+usr/bin/iostat
+usr/bin/mpstat
+usr/bin/sadf
+usr/bin/sar
+#usr/doc/sysstat-6.0.2
+#usr/doc/sysstat-6.0.2/CHANGES
+#usr/doc/sysstat-6.0.2/COPYING
+#usr/doc/sysstat-6.0.2/CREDITS
+#usr/doc/sysstat-6.0.2/FAQ
+#usr/doc/sysstat-6.0.2/README
+#usr/doc/sysstat-6.0.2/sysstat-6.0.2.lsm
+#usr/lib/sa
+usr/lib/sa/sa1
+usr/lib/sa/sa2
+usr/lib/sa/sadc
+#usr/man/man1/iostat.1
+#usr/man/man1/mpstat.1
+#usr/man/man1/sadf.1
+#usr/man/man1/sar.1
+#usr/man/man8/sa1.8
+#usr/man/man8/sa2.8
+#usr/man/man8/sadc.8
+var/log/sa
diff --git a/config/sysstat/CONFIG b/config/sysstat/CONFIG
new file mode 100644 (file)
index 0000000..ce2d101
--- /dev/null
@@ -0,0 +1,45 @@
+# Configuration file for sysstat
+# (C) 2000 Sebastien GODARD (sysstat <at> wanadoo.fr)
+
+# Directories
+PREFIX = /usr
+SA_LIB_DIR = /usr/lib/sa
+SADC_PATH = ${SA_LIB_DIR}/sadc
+SA_DIR = /var/log/sa
+MAN_DIR = /usr/man
+CLEAN_SA_DIR = y
+YESTERDAY = 
+HISTORY = 7
+
+DFLAGS =
+SAS_DFLAGS =
+
+ENABLE_NLS = n
+ENABLE_SMP_WRKARD = n
+
+ifeq ($(ENABLE_NLS),y)
+# NLS (National Language Support)
+REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(PREFIX)/share/locale\"
+endif
+ifdef REQUIRE_NLS
+   DFLAGS += $(REQUIRE_NLS)
+endif
+
+ifeq ($(ENABLE_SMP_WRKARD),y)
+# Uncomment this to enable workaround for Linux kernel SMP race condition
+SAS_DFLAGS += -DSMP_RACE
+endif
+
+# Man page group
+MAN_GROUP = root
+
+# Crontab owner
+CRON_OWNER = root
+
+# Run-command directories
+RC_DIR = /etc
+INIT_DIR = /etc/init.d
+INITD_DIR = init.d
+
+INSTALL_CRON = n
+
index 155e9b8..f5394ef 100644 (file)
 * sysfsutils-1.3.0
 * sysklogd-1.4.1
 * syslinux-3.11
+* sysstat-6.0.2
 * sysvinit-2.86
 * tar-1.15.1
 * tcp_wrappers_7.6
 * tftp-hpa-0.42
 * tiff-3.8.2
 * traceroute-1.4a12
+* tripwire-2.4.0.1
 * uClibc-0.9.28-pass1
 * uClibc-0.9.28-pass2
 * uClibc-0.9.28-pass3
index 6df4a9d..f1688e6 100644 (file)
 'advproxy errmsg auth ipcache ttl' => 'Ungültiger Wert für Benutzer/IP-Cache TTL',
 'advproxy errmsg change fail' => 'Passwort konnte nicht geändert werden',
 'advproxy errmsg change success' => 'Passwort für Webzugriff erfolgreich geändert',
-'advproxy errmsg hdd cache size' => 'Ungültiger Wert für die Größe des Festplatten-Cachespeichers (min. 10 MB erforderlich)',
+'advproxy errmsg hdd cache size' => 'Ungültiger Wert für die Größe des Festplatten-Cachespeichers (min. 10 MB erforderlich)',
 'advproxy errmsg ident timeout' => 'Ungültiger ident Timeout',
 'advproxy errmsg invalid bdc' => 'Ungültiger Hostname für den Backup Domain Controller',
 'advproxy errmsg invalid destination port' => 'Ungültiger Ziel-Port',
 'advproxy errmsg ldap port' => 'Ungültige LDAP Portnummer',
 'advproxy errmsg ldap server' => 'Ungültige IP-Adresse für den LDAP-Server',
 'advproxy errmsg max userip' => 'Ungültige Anzahl von IP-Adressen pro Benutzer',
-'advproxy errmsg mem cache size' => 'Ungültiger Wert für die Größe des RAM-Cachespeichers',
+'advproxy errmsg mem cache size' => 'Ungültiger Wert für die Größe des RAM-Cachespeichers',
 'advproxy errmsg no browser' => 'Mindestens ein Browser oder Client muss für den Web-Zugriff zugelassen sein',
 'advproxy errmsg no password' => 'Passwort kann nicht leer sein',
 'advproxy errmsg no username' => 'Benutzername darf nicht leer sein',
 'cfg restart' => 'Nach dem Wiederherstellen eines Konfigurationsarchivs wird ein Neustart empfohlen.',
 'chain' => 'Verknüpfung',
 'change passwords' => 'Passwörter&nbsp;ändern',
-'change share' => 'Freigabeeinstellungen ändern',
+'change share' => 'Freigabeeinstellungen ändern',
 'check vpn lr' => 'Überprüfen',
 'choose config' => 'Konfiguration auswaehlen',
 'cipher' => 'Verschlüsselung',
 'country' => 'Land',
 'cpu usage per' => 'CPU-Nutzung pro',
 'create' => 'Erzeuge',
-'create mask' => 'UNIX Rechte für neue Dateien',
+'create mask' => 'UNIX Rechte für neue Dateien',
 'create new backup' => 'Einen neuen Sicherungssatz anlegen',
 'credits' => 'Credits',
 'crl' => 'Certificate Revocation List',
 'default renewal time' => 'Standard-Aktualisierungszeit',
 'default services' => 'Standard Dienste',
 'delete' => 'Löschen',
-'delete pc' => 'PC löschen',
-'delete share' => 'Freigabe löschen',
-'delete user' => 'Benutzer löschen',
+'delete pc' => 'PC löschen',
+'delete share' => 'Freigabe löschen',
+'delete user' => 'Benutzer löschen',
 'demon login script' => 'Demon-Anmeldeskript',
 'description' => 'Beschreibung',
 'dest ip and port' => 'Ziel-IP:Port',
 'fixed ip lease modified' => 'Feste IP-Zuordnung geändert',
 'fixed ip lease removed' => 'Feste IP-Zuordnung gelöscht',
 'force update' => 'Aktualisierung erzwingen',
-'force user' => 'Standartbenutzer für das UNIX Dateisystem',
+'force user' => 'Standartbenutzer für das UNIX Dateisystem',
 'forwarding rule added' => 'Weiterleitungsregel hinzugefügt. Starte Weiterleitung neu',
 'forwarding rule removed' => 'Weiterleitungsregel entfernt. Starte Weiterleitung neu',
 'forwarding rule updated' => 'Weiterleitungsregel aktualisiert; starte Weiterleitung neu',
 'graph per' => 'Diagramm pro',
 'green' => 'GRÜN',
 'green interface' => 'Grünes Interface',
-'guest ok' => 'Gastzugang gewähren',
+'guest ok' => 'Gastzugang gewähren',
 'gui settings' => 'Benutzeroberfläche',
 'gz with key' => 'Nur ein verschlüsseltes Archiv kann auf dieser Maschine wiederhergestellt werden.',
 'hangup' => 'Trennen',
 'no eciadsl synch.bin file' => 'Keine ECI ADSL Datei synch.bin vorhanden. Bitte hochladen.',
 'no fritzdsl driver' => 'Kein Fritz!DSL-Treiber vorhanden. Bitte hochladen.',
 'no information available' => 'Keine Informationen verfügbar.',
-'no log selected' => 'kein Log ausgewählt',
+'no log selected' => 'kein Log ausgewählt',
 'no modem selected' => 'Kein Modem ausgewählt',
 'no set selected' => 'Es wurde kein Satz ausgewählt',
 'no time limit' => 'unbregenzte Zeit',
 'requested data' => '1. Verbindungs Einstellungen',
 'reserved dst port' => 'Dieser Zielport ist für die ausschließliche Benutzung durch IPFire reserviert:',
 'reserved src port' => 'Dieser Quellport ist für die ausschließliche Benutzung durch IPFire reserviert:',
-'reset' => 'Zurück setzen',
-'reset shares' => 'Freigaben zurücksetzen',
+'reset' => 'Zurück setzen',
+'reset shares' => 'Freigaben zurücksetzen',
 'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections' => 'Das Zurücksetzen der VPN-Konfiguration wird die Root-CA, die Host-Zertifikate und alle weiteren Zertifikate und alle zertifikatsbasierten Verbindungen entfernen',
 'restart' => 'Neustart',
 'restart ovpn server' => 'OpenVPN Server neu starten',
 'urlfilter domains' => 'Domains (eine pro Zeile)',
 'urlfilter dont restart urlfilter' => 'URL-Filter nicht neu starten',
 'urlfilter dst' => 'Ziel',
-'urlfilter dst error' => 'Es muss mindestens eine Kategorie ausgewählt werden',
+'urlfilter dst error' => 'Es muss mindestens eine Kategorie ausgewählt werden',
 'urlfilter edit domains urls expressions' => 'Editieren von Domains, URLs und Ausdrücken',
 'urlfilter edit time constraint rule' => 'Bestehende Zeitbeschränkungsregel ändern',
 'urlfilter edit user quota rule' => 'Bestehende Zeitkontingentsregel für Benutzer ändern',
index d8d64c1..54b6dab 100644 (file)
--- a/lfs/kudzu
+++ b/lfs/kudzu
@@ -78,7 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 ifeq "$(LFS_PASS)" "install"
        cd $(DIR_APP) && patch -N < $(DIR_SRC)/src/patches/kudzu-link-lintl.diff
-       cd $(DIR_APP) && make RPM_OPT_FLAGS="$(CFLAGS) -I/opt/$(MACHINE)-uClibc/include" \
+       cd $(DIR_APP) && make RPM_OPT_FLAGS="-O2 -I/opt/$(MACHINE)-uClibc/include" \
                ARCH=$(MACHINE)
        cd $(DIR_APP) && install -m 0755 kudzu /install/initrd/bin/kudzu
        cd $(DIR_APP) && install -m 0644 libkudzu.a /install/initrd/lib
diff --git a/lfs/sysstat b/lfs/sysstat
new file mode 100644 (file)
index 0000000..bc12c65
--- /dev/null
@@ -0,0 +1,79 @@
+###############################################################################
+# This file is part of the IPCop Firewall.                                    #
+#                                                                             #
+# IPCop is free software; you can redistribute it and/or modify               #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation; either version 2 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# IPCop 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 General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with IPCop; if not, write to the Free Software                        #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
+#                                                                             #
+# Makefiles are based on LFSMake, which is                                    #
+# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 6.0.2
+
+THISAPP    = sysstat-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 99ed143d7e753f0b2220baa115859b44
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && cp -vf $(DIR_SRC)/config/sysstat/CONFIG build/
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/tripwire b/lfs/tripwire
new file mode 100644 (file)
index 0000000..5949fb0
--- /dev/null
@@ -0,0 +1,94 @@
+###############################################################################
+# This file is part of the IPCop Firewall.                                    #
+#                                                                             #
+# IPCop is free software; you can redistribute it and/or modify               #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation; either version 2 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# IPCop 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 General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with IPCop; if not, write to the Free Software                        #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
+#                                                                             #
+# Makefiles are based on LFSMake, which is                                    #
+# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 2.4.0.1
+
+THISAPP    = tripwire-$(VER)
+DL_FILE    = $(THISAPP)-src.tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = tripwire
+PAK_VER    = 1
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = b371f79ac23cacc9ad40b1da76b4a0c4
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ln -s contrib install
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/tripwire-2.4.0.1-gcc4_build_fixes-1.patch
+       cd $(DIR_APP) && sed -i -e 's@TWDB="$${prefix}@TWDB="/var@' \
+                                                                                                       -e 's@^CLOBBER="false"@CLOBBER="true"@' install/install.cfg
+       cd $(DIR_APP) && sed -i -e 's@^PROMPT="true"@PROMPT="false"@' \
+                                                                                                       -e 's@^TW_SITE_PASS=""@TW_SITE_PASS="ipfire"@' \
+                                                                                                       -e 's@^TW_LOCAL_PASS=""@TW_LOCAL_PASS="ipfire"@' \
+                                                                                                       install/install.sh
+       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire/tripwire
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && for i in siggen tripwire twadmin twprint; do \
+                                                                                       cp -vf $(DIR_APP)/bin/$$i /usr/sbin; \
+                                                                               done 
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index ba200c6..0413911 100644 (file)
--- a/make.sh
+++ b/make.sh
@@ -535,6 +535,8 @@ buildipfire() {
   ipfiremake iptraf
   ipfiremake bwm-ng
   ipfiremake nagios
+  ipfiremake tripwire
+  ipfiremake sysstat
 }
 
 buildinstaller() {
@@ -945,6 +947,7 @@ svn)
                evaluate 1
          ;;
          diff|di)
+         update_langs
                echo -ne "Make a local diff to last svn revision"
                svn diff > ipfire-diff-`date +'%Y-%m-%d-%H:%M'`-r`svn info | grep Revision | cut -c 11-`.diff
                evaluate 1
index b30fb15..f7012b1 100644 (file)
@@ -4,7 +4,7 @@ echo "Scanning source media"
 
 # scan CDROM devices
 
-for DEVICE in $(hwinfo --cdrom | grep "Device File" | awk -F: '{ print $2 }' | cut -c 7- | sort | uniq); do
+for DEVICE in $(kudzu -qps  -t 30 -c CDROM | grep device: | cut -d ' ' -f 2 | sort | uniq); do
     mount /dev/${DEVICE} /cdrom 2> /dev/null
     if [ -e /cdrom/boot ]; then
        echo -n ${DEVICE} > /tmp/source_device
@@ -14,7 +14,7 @@ for DEVICE in $(hwinfo --cdrom | grep "Device File" | awk -F: '{ print $2 }' | c
 done
 
 # scan HD device (usb sticks, etc.)
-for DEVICE in $(hwinfo --usb --disk | grep "Device File" | awk -F: '{ print $2 }' | cut -c 7- | sort | uniq); do
+for DEVICE in $(kudzu -qps  -t 30 -c HD | grep device: | cut -d ' ' -f 2 | sort | uniq); do
     mount /dev/${DEVICE}1 /cdrom 2> /dev/null
     if [ -e /cdrom/boot ]; then
        echo -n ${DEVICE}1 > /tmp/source_device
index 9ee2e95..84b7fd7 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 echo "Detecting Hardware"
-for MODULE in $(hwinfo --all | grep modprobe | awk '{ print $5 }' | tr -d \" | sort | uniq); do
+for MODULE in $(kudzu -qps  -t 30 | grep driver | cut -d ' ' -f 2 | sort | uniq); do
     if [ "${MODULE}" = "unknown" ] || \
         [ "${MODULE}" = "ignore" ]; then
         continue
diff --git a/src/patches/tripwire-2.4.0.1-gcc4_build_fixes-1.patch b/src/patches/tripwire-2.4.0.1-gcc4_build_fixes-1.patch
new file mode 100644 (file)
index 0000000..4526fb7
--- /dev/null
@@ -0,0 +1,41 @@
+Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
+Date: 2006-04-12
+Initial Package Version: 2.4.0.1
+Origin: Mandrake CVS
+Description: This patch contains gcc-4 fixes developed by me.
+
+
+diff -Naur tripwire-2.4.0.1/src/fco/fconame.h tw-new/src/fco/fconame.h
+--- tripwire-2.4.0.1/src/fco/fconame.h 2005-09-15 22:12:38.000000000 -0500
++++ tw-new/src/fco/fconame.h   2006-04-11 21:52:53.000000000 -0500
+@@ -49,6 +49,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+ class cFCONameTblNode;
+ class cFCONameIter;
++class cFCOName_i;
+ class cFCOName : public iTypedSerializable
+ {
+diff -Naur tripwire-2.4.0.1/src/fco/fcosetimpl.h tw-new/src/fco/fcosetimpl.h
+--- tripwire-2.4.0.1/src/fco/fcosetimpl.h      2005-09-15 22:12:38.000000000 -0500
++++ tw-new/src/fco/fcosetimpl.h        2006-04-11 22:02:16.000000000 -0500
+@@ -46,6 +46,8 @@
+ #include "fconame.h"
+ #endif
++class cFCOIterImpl;
++
+ class cFCOSetImpl : public iFCOSet
+ {
+       friend class cFCOIterImpl;
+diff -Naur tripwire-2.4.0.1/src/tw/fcoreport.h tw-new/src/tw/fcoreport.h
+--- tripwire-2.4.0.1/src/tw/fcoreport.h        2005-09-15 22:12:37.000000000 -0500
++++ tw-new/src/tw/fcoreport.h  2006-04-11 22:05:24.000000000 -0500
+@@ -85,6 +85,7 @@
+ class cFileHeaderID;
+ class cErrorQueue;
+ class cFCOReportGenreHeader;
++class cFCOReportSpecIter;
+ class cFCOReport : public iTypedSerializable
+ {
index df49189..7be5cdc 100755 (executable)
@@ -42,6 +42,13 @@ EOF
 
 for my $key ( sort (keys %tr) ) {
        my $value = $tr{$key};
+       $value =~ s/ä/ä/g;
+       $value =~ s/ö/ö/g;
+       $value =~ s/ü/ü/g;
+       $value =~ s/Ä/Ã\84/g;
+       $value =~ s/Ö/Ã\96/g;
+       $value =~ s/Ü/Ã\9c/g;
+       $value =~ s/ß/Ã\9f/g;
        $value =~ s/\'/\\\'/g;
        print FILE "\'$key\' => \'$value\',\n";
 }