From: Torsten Raudssus Date: Tue, 13 Jul 2010 17:24:50 +0000 (+0200) Subject: Added support informations to the pod in both languages X-Git-Tag: 1.006009~21 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cc19e8d4096884958f35fc03d86e6f90138114e8;p=p5sagit%2Flocal-lib.git Added support informations to the pod in both languages fixed newline of the german doc --- diff --git a/Changes b/Changes index 13909ab..518d4eb 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,10 @@ Revision history for local::lib +1.006005 2010-07-13 + + - Added support informations (also for german) + - Fixed newline in german translation from DOS2UNIX + 1.006004 2010-06-10 - I am stupid. diff --git a/lib/POD2/DE/local/lib.pod b/lib/POD2/DE/local/lib.pod index 1e307ca..be36bcb 100755 --- a/lib/POD2/DE/local/lib.pod +++ b/lib/POD2/DE/local/lib.pod @@ -1,312 +1,318 @@ -=encoding utf8 - -=head1 NAME - -local::lib~[de] - Erschaffen und benutzen von Perl Modulen in einem lokalen lib/ Verzeichnis mit PERL5LIB - -=head1 SYNOPSIS - -Im Code - - - use local::lib; # Benutzt das Verzeichnis ~/perl5 zum anlegen des lokalen lib/ Verzeichnisses - - use local::lib '~/foo'; # das selbe, aber mit ~/foo - - # Oder... - use FindBin; - use local::lib "$FindBin::Bin/../support"; # Applikationsspezifische Sammlung von Modulen - -Von der Shell - - - # Installiert LWP und alle notwendigen Abhängigkeiten in das '~/perl5' Verzeichnis - perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)' - - # Gibt die Shell Kommandos aus um die Umgebung vorzubereiten - $ perl -Mlocal::lib - export MODULEBUILDRC=/home/username/perl/.modulebuildrc - export PERL_MM_OPT='INSTALL_BASE=/home/username/perl' - export PERL5LIB='/home/username/perl/lib/perl5:/home/username/perl/lib/perl5/i386-linux' - export PATH="/home/username/perl/bin:$PATH" - -=head2 Die Bootstrapping Methode - -Ein typischer Weg um local::lib zu benutzen ist die sogenannte "Bootstrapping" Methode. -Diese Methode wird benutzt wenn noch kein local::lib auf dem System installiert ist. -In diesem Fall kannst du einfach local::lib direkt in deinem Home-Verzeichnis installieren. - -Selbst wenn du administrative Rechte hast, ist es wichtig das die Umgebungsvariablen von -Schritt 4 in deinem Shell Startup Skript gesetzt werden. Ohne diesen Schritt werden die -Module von CPAN weiterhin im System installiert und auch Perl Skripte die du startest -würden das von local::lib erstellte lib/ Verzeichnis nicht nutzen. - -Windows Benutzern müssen ausserdem dies hier lesen: -L. - -1. Lade das Tar-Archiv von CPAN runter (Suche nach "Download" auf der CPAN Seite von -local::lib) und entpacke es in einem beliebigem Verzeichnis. Um das obige Problem zu -vermeiden, sollte man dies als normaler User tun und nicht als root oder Administrator. - -2. Starte in dem entstandenen Verzeichnis folgenden Befehl: - - perl Makefile.PL --bootstrap - -Wenn das System dir vorschlägt gewisse Dinge eigenständig zu konfigurieren ist es in -fast allen Fällen vollkommen in Ordnung einfach "yes" zu antworten. - -Falls du local::lib nicht in das Standard Verzeichnis installieren willst, musst du -dieses Verzeichnis als Parameter angeben: - - perl Makefile.PL --bootstrap=~/foo - -3. Danach folgenden Befehl starten: (local::lib erwartet make auf dem System) - - make test && make install - -4. Nun müssen wir die benötigten Umgebungsvariablen, damit Perl unser neu generiertes -lib/ Verzeichnis benutzt. Wenn du bash oder eine andere Bourne Shell benutzt, kannst -du es über diesen Weg zu deinem Shell Startup Skript hinzufügen: - - echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc - -Wenn du C Shell benutzt, du kannst das gleiche hiermit erreichen: - - /bin/csh - echo $SHELL - /bin/csh - perl -I$HOME/perl5/lib/perl5 -Mlocal::lib >> ~/.cshrc - -Wenn du beim bootstrappen ein anderes Verzeichnis benutzt als das Standardverzeichnis, -dann musst du dieses Verzeichnis als Parameter beim Laden des Modules local::lib angeben: - - echo 'eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/foo)' >>~/.bashrc - -Nachdem diese Änderungen in deinem Shell Startup Skript gemacht wurden, ist es nun wichtig -das diese Umgebungsvariablen auch gesetzt sind in deiner aktuellen Umgebung. In Bourne -Shells macht man dies z.B. mit C<. ~/.bashrc>, und in C Shell würde man es mit: -C mit. - -Wenn du eine sehr langsames System hast, oder du unter drakonischen Regulierungen des -Plattenplatz leben musst, kann man die automatische Generierung der manpages vom POD -bei der Installation des Moduls deaktivieren beim bootstrapping mit dem C<--no-manpages> -Parameter: - - perl Makefile.PL --bootstrap --no-manpages - -Wenn du mehrere lokale lib/ Installationen nutzen möchtest, z.B. für verschiedene -Applikationen. Hierfür kannst du local::lib einfach einm - -Um zu vermeiden das man mehrere bootstraps macht um z.B. für verschiedene Applikationen -eigene local::lib Installationen zu nutzen, kann man eine dieser Umgebungen benutzen -um einfach in beliebigen anderen Verzeichnis Module zu installieren und somit weitere -eigenständige lib/ Umgebungen zu bekommen: - - cd ~/mydir1 - perl -Mlocal::lib=./ - eval $(perl -Mlocal::lib=./) ### Um die Umgebungsvariablen für die - ### aktuelle Shell zusetzen - - printenv ### Hier kannst du sehen das ~/mydir1 - ### in der PERL5LIB Umgebungsvariable - ### steht - - perl -MCPAN -e install ... ### welche Module auch immer ... - cd ../mydir2 - - ... WIEDERHOLEN ... - -Für mehrere Umgebungen in dieser Form brauch man eine Modifikation in der -Benutzung von C<< use FindBin >> in dem "Im Code" Beispiel oben. -Wenn du sowas machst, und du hast damit z.B. Perl Module nach C<< -~/mydir1/lib >> installiert und du hast ein Script in C<< -~/mydir1/scripts/myscript.pl >>, du musst dort angeben das die Module -die es braucht im Verzeichnis C<< ~/mydir1/lib >> liegen. - -In C<< ~/mydir1/scripts/myscript.pl >> steht dann: - - use strict; - use warnings; - use local::lib "$FindBin::Bin/.."; ### zeigt auf ~/mydir1 und local::lib - ### findet dort lib - use lib "$FindBin::Bin/../lib"; ### zeigt auf ~/mydir1/lib - -Setze das vor jeden BEGIN { ... } Block der die Module braucht die du -installiert hast. - -=head2 Unterschiede bei Benutzung dieses Module mit Win32 - -Um die nötigen Umgebungsvariablen für diese Variablen in der derzeitigen -Sitzung mit C zu setzen, kann man folgendes kommando nutzen: - - C:\>perl -Mlocal::lib - set MODULEBUILDRC=C:\DOCUME~1\ADMINI~1\perl5\.modulebuildrc - set PERL_MM_OPT=INSTALL_BASE=C:\DOCUME~1\ADMINI~1\perl5 - set PERL5LIB=C:\DOCUME~1\ADMINI~1\perl5\lib\perl5;C:\DOCUME~1\ADMINI~1\perl5\lib\perl5\MSWin32-x86-multi-thread - set PATH=C:\DOCUME~1\ADMINI~1\perl5\bin;%PATH% - - ### Um die Umgebungsvariablen für diese Shell alleine zu setzen - C:\>perl -Mlocal::lib > %TEMP%\tmp.bat && %TEMP%\tmp.bat && del %TEMP%\temp.bat - ### anstelle von $(perl -Mlocal::lib=./) in bash. - -Wenn du willst das die Umgebungsvariablen dauerhaft gesetzt sind, musst du diese -in Systemsteuerung / System dauerhaft selber eintragen oder -L benutzen. - -Die "~" wird übersetzt zu dem Benutzer Profil Verzeichnis (das Verzeichnis was -beim User als "Dokumente und Einstellungen" bekannt ist unter Windows XP und -vorher oder das "Benutzer" Verzeichnis bei Windows Vista und später, solange -$ENV{HOME} nicht gesetzt ist. Das Verzeichnis wird hierbei zu dem korrekten -Kurznamen umgewandelt, und muss daher definitiv existieren, und wird um die -nötigen Unterverzeichnise erweitert. - -=head1 GRUNDPRINZIP - -Die Version von den Perl Paketen die man benötigt für spezifische Aufgaben sind -sehr häufig nicht die richtigen oder korrekten Versionen auf dem System -vorinstalliert. Ein Updaten von diesen Modulen ist in vielen Fällen einfach -nicht möglich weil die nötigen Rechte fehlen. Ausserdem ist es generell nicht -gut eigenständig die Versionen der Module auf dem System auszutauschen, weil -natürlich der Rest des Systems genau die Version erwartet die von der -Systemverwaltung auch installiert wurde. - -local::lib löst dieses Problem, es erlaubt dir dein komplett eigenes Verzeichnis -für deine CPAN Module zu haben und bist so nicht genötigt die Module vom -System zu nutzen oder andersrum andere User nicht mit individuellen -Modulwünschen zu Überarbeitung ihres Codes zu zwingen, weil bestimmte Module -zentral für alle auf neuere Version upgedatet werden. Die Installation findet -hierbei dann z.B. im Home Verzeichnis statt. Es werden nur Umgebungsvariablen -gesetzt die das installierte Perl dazu bewegen die im Homeverzeichnis -installierten Module zu benutzen, zusätzlich und vorgezogen zu denen auf dem -System. - -Daher muss man sich wenn man ein Paket System benutzt, wie z.b. Debian, garnicht -mehr Sorgen machen, irgendwas auf dem System zu verletzten nur durch die -Installation von Perl Modulen. - -=head1 BESCHREIBUNG - -Dieses Modul bietet eine schnelle und legitime Art und Weise ein sogenanntes -bootstrapping zu machen um in einem User Homeverzeichnis eine Sammlung von -Modulen zu installieren. Es erstellt auch die nötigen Umgebungsvariablen -die benötigt werden um diese Module zu nutzen, passend zu der Shell die der -User in der Umgebungsvariable C angegeben hat, um dann direkt passend -in die entsprechenden Konfigurationsdateien der Shell einfügt zu werden. - -Weitergehend ist local::lib in der Lage Module zu nutzen die nicht im -standardmäßigen C<@INC> Pfad von Perl enthalten sind. Das macht es einfacher -für bestimmte Applikationen ein bestimmtes Set von Modulen zu installieren -ohne die anderen Module auf dem System in irgendeiner Art anzufassen. -Damit es z.B. auch sicherer Module zu installieren die vom Maintainer noch -nicht als Release verfügbar sind. - -Beim Import setzt local::lib die folgenden Umgebungsvariablen zu den -nötigen Werten: - -=over 4 - -=item MODULEBUILDRC - -=item PERL_MM_OPT - -=item PERL5LIB - -=item PATH - -Am PATH wird natürlich angehangen, und nicht ersetzt. - -=back - -Diese Werte sind dann verfügbar für jeden Code der danach importiert wurde. - -=head1 CREATING A SELF-CONTAINED SET OF MODULES - -C<Übersetzung fehlt...> - -=head1 METHODS - -C<Übersetzung fehlt...> - -=head1 A WARNING ABOUT UNINST=1 - -Wenn man local::lib in Kombination mit "make install UNINST=1" benutzt, muss -man vorsichtig sein über die Tatsache das der Prozess über die Neuinstallation -eine nicht ausreichende Sicherheit hat bezüglich wo er nun installieren muss. -Hierdurch mann es passieren das beim deinstallieren eines Modul u.U. das -globale Modul deinstalliert wird (wenn die Rechte vorhanden sind) aber die -neue Version nur in der lokalen Version installiert ist. Es ist hier also sehr -wichtig das man "make install UNINST=1" und local::lib nur gleichzeitig -benutzt wenn man sehr sicher darüber ist welche Konsequenzen einem -entgegenkommen. - -=head1 EINSCHRÄNKUNGEN - -Die Shell Erkennung ist sehr primitiv. Derzeit ist es so das alles was "csh" -im Namen hat auch als C Shell eingeordnet wird, und alles andere wird als -Bourne Shell betrachet, ausser auf Win32 Systemen. Wenn die C Variable -nicht gesetzt ist, eine Bourne Shell wird angenommen. - -Bootstrap ist leider ein Hack, und wird auf jedenfall CPAN.pm benutzen für -ExtUtils::MakeMaker, auch wenn CPANPLUS installiert ist. - -Es setzt definitiv PERL5LIB, PERL_MM_OPT und MODULEBUILDRC neu und vernichtet -jeden Wert der vorher gesetzt war. - -Es sollte vielleicht eine automatische Korrektur der CPAN Config machen, wenn -das nicht schon gemacht wurde. - -"Patches Welcome" - Patches sind immer willkommen beim Autor oder den anderen -Mitwirkenden. - -Auf Win32 Systemen werden die Umgebungsvariablen nicht direkt in die Registrierung -geschrieben damit sie auch nach dem Neustarten erhalten bleiben. - -=head1 FEHLERANALYSE - -Wenn du local::lib konfiguriert hast CPAN Module in deinem Home Verzeichnis -zu installieren, und du danach versuchst mit C ein Modul -zu installieren, und dabei einen Fehler bekommst, wie: C und in der installationsausgabe steht -irgendwo ein Fehler der sagt C<'INSTALL_BASE' is not a known MakeMaker parameter -name>, dann hast du aus irgendeinem Grund dein neue Version von ExtUtils::MakeMaker -verloren. - -Um dies zu korrigieren, einfach nochmal die bootstrapping Methode laufen lassen, -wie oben beschrieben. - -Dann starte C - -Abschliessend dann nochmal mit C installieren und die Probleme -sollten verschwunden sein. - -=head1 UMGEBUNGSVARIABLEN - -=over 4 - -=item SHELL - -=item COMSPEC - -local::lib schaut in die C Umgebungsvariable um die korrekten Kommandos -zu der Shell Konfiguration hinzuzufügen. - -Auf Win32 Systemen, C wird auch analysiert. - -=back - -=head1 AUTOR DER ÜBERSETZUNG - -Torsten Raudssus http://www.raudssus.de/ - -=head1 URHEBERRECHT - -Copyright (c) 2007 - 2010 von den local::lib L und L -aufgelistet in L. - -=head1 LIZENZ - -Diese Sammlung ist freie Software und kann unter der selben Lizenz verbreitet -werden wie Perl selber. - -=cut - -1; +=encoding utf8 + +=head1 NAME + +local::lib~[de] - Erschaffen und benutzen von Perl Modulen in einem lokalen lib/ Verzeichnis mit PERL5LIB + +=head1 SYNOPSIS + +Im Code - + + use local::lib; # Benutzt das Verzeichnis ~/perl5 zum anlegen des lokalen lib/ Verzeichnisses + + use local::lib '~/foo'; # das selbe, aber mit ~/foo + + # Oder... + use FindBin; + use local::lib "$FindBin::Bin/../support"; # Applikationsspezifische Sammlung von Modulen + +Von der Shell - + + # Installiert LWP und alle notwendigen Abhängigkeiten in das '~/perl5' Verzeichnis + perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)' + + # Gibt die Shell Kommandos aus um die Umgebung vorzubereiten + $ perl -Mlocal::lib + export MODULEBUILDRC=/home/username/perl/.modulebuildrc + export PERL_MM_OPT='INSTALL_BASE=/home/username/perl' + export PERL5LIB='/home/username/perl/lib/perl5:/home/username/perl/lib/perl5/i386-linux' + export PATH="/home/username/perl/bin:$PATH" + +=head2 Die Bootstrapping Methode + +Ein typischer Weg um local::lib zu benutzen ist die sogenannte "Bootstrapping" Methode. +Diese Methode wird benutzt wenn noch kein local::lib auf dem System installiert ist. +In diesem Fall kannst du einfach local::lib direkt in deinem Home-Verzeichnis installieren. + +Selbst wenn du administrative Rechte hast, ist es wichtig das die Umgebungsvariablen von +Schritt 4 in deinem Shell Startup Skript gesetzt werden. Ohne diesen Schritt werden die +Module von CPAN weiterhin im System installiert und auch Perl Skripte die du startest +würden das von local::lib erstellte lib/ Verzeichnis nicht nutzen. + +Windows Benutzern müssen ausserdem dies hier lesen: +L. + +1. Lade das Tar-Archiv von CPAN runter (Suche nach "Download" auf der CPAN Seite von +local::lib) und entpacke es in einem beliebigem Verzeichnis. Um das obige Problem zu +vermeiden, sollte man dies als normaler User tun und nicht als root oder Administrator. + +2. Starte in dem entstandenen Verzeichnis folgenden Befehl: + + perl Makefile.PL --bootstrap + +Wenn das System dir vorschlägt gewisse Dinge eigenständig zu konfigurieren ist es in +fast allen Fällen vollkommen in Ordnung einfach "yes" zu antworten. + +Falls du local::lib nicht in das Standard Verzeichnis installieren willst, musst du +dieses Verzeichnis als Parameter angeben: + + perl Makefile.PL --bootstrap=~/foo + +3. Danach folgenden Befehl starten: (local::lib erwartet make auf dem System) + + make test && make install + +4. Nun müssen wir die benötigten Umgebungsvariablen, damit Perl unser neu generiertes +lib/ Verzeichnis benutzt. Wenn du bash oder eine andere Bourne Shell benutzt, kannst +du es über diesen Weg zu deinem Shell Startup Skript hinzufügen: + + echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc + +Wenn du C Shell benutzt, du kannst das gleiche hiermit erreichen: + + /bin/csh + echo $SHELL + /bin/csh + perl -I$HOME/perl5/lib/perl5 -Mlocal::lib >> ~/.cshrc + +Wenn du beim bootstrappen ein anderes Verzeichnis benutzt als das Standardverzeichnis, +dann musst du dieses Verzeichnis als Parameter beim Laden des Modules local::lib angeben: + + echo 'eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/foo)' >>~/.bashrc + +Nachdem diese Änderungen in deinem Shell Startup Skript gemacht wurden, ist es nun wichtig +das diese Umgebungsvariablen auch gesetzt sind in deiner aktuellen Umgebung. In Bourne +Shells macht man dies z.B. mit C<. ~/.bashrc>, und in C Shell würde man es mit: +C mit. + +Wenn du eine sehr langsames System hast, oder du unter drakonischen Regulierungen des +Plattenplatz leben musst, kann man die automatische Generierung der manpages vom POD +bei der Installation des Moduls deaktivieren beim bootstrapping mit dem C<--no-manpages> +Parameter: + + perl Makefile.PL --bootstrap --no-manpages + +Wenn du mehrere lokale lib/ Installationen nutzen möchtest, z.B. für verschiedene +Applikationen. Hierfür kannst du local::lib einfach einm + +Um zu vermeiden das man mehrere bootstraps macht um z.B. für verschiedene Applikationen +eigene local::lib Installationen zu nutzen, kann man eine dieser Umgebungen benutzen +um einfach in beliebigen anderen Verzeichnis Module zu installieren und somit weitere +eigenständige lib/ Umgebungen zu bekommen: + + cd ~/mydir1 + perl -Mlocal::lib=./ + eval $(perl -Mlocal::lib=./) ### Um die Umgebungsvariablen für die + ### aktuelle Shell zusetzen + + printenv ### Hier kannst du sehen das ~/mydir1 + ### in der PERL5LIB Umgebungsvariable + ### steht + + perl -MCPAN -e install ... ### welche Module auch immer ... + cd ../mydir2 + + ... WIEDERHOLEN ... + +Für mehrere Umgebungen in dieser Form brauch man eine Modifikation in der +Benutzung von C<< use FindBin >> in dem "Im Code" Beispiel oben. +Wenn du sowas machst, und du hast damit z.B. Perl Module nach C<< +~/mydir1/lib >> installiert und du hast ein Script in C<< +~/mydir1/scripts/myscript.pl >>, du musst dort angeben das die Module +die es braucht im Verzeichnis C<< ~/mydir1/lib >> liegen. + +In C<< ~/mydir1/scripts/myscript.pl >> steht dann: + + use strict; + use warnings; + use local::lib "$FindBin::Bin/.."; ### zeigt auf ~/mydir1 und local::lib + ### findet dort lib + use lib "$FindBin::Bin/../lib"; ### zeigt auf ~/mydir1/lib + +Setze das vor jeden BEGIN { ... } Block der die Module braucht die du +installiert hast. + +=head2 Unterschiede bei Benutzung dieses Module mit Win32 + +Um die nötigen Umgebungsvariablen für diese Variablen in der derzeitigen +Sitzung mit C zu setzen, kann man folgendes kommando nutzen: + + C:\>perl -Mlocal::lib + set MODULEBUILDRC=C:\DOCUME~1\ADMINI~1\perl5\.modulebuildrc + set PERL_MM_OPT=INSTALL_BASE=C:\DOCUME~1\ADMINI~1\perl5 + set PERL5LIB=C:\DOCUME~1\ADMINI~1\perl5\lib\perl5;C:\DOCUME~1\ADMINI~1\perl5\lib\perl5\MSWin32-x86-multi-thread + set PATH=C:\DOCUME~1\ADMINI~1\perl5\bin;%PATH% + + ### Um die Umgebungsvariablen für diese Shell alleine zu setzen + C:\>perl -Mlocal::lib > %TEMP%\tmp.bat && %TEMP%\tmp.bat && del %TEMP%\temp.bat + ### anstelle von $(perl -Mlocal::lib=./) in bash. + +Wenn du willst das die Umgebungsvariablen dauerhaft gesetzt sind, musst du diese +in Systemsteuerung / System dauerhaft selber eintragen oder +L benutzen. + +Die "~" wird übersetzt zu dem Benutzer Profil Verzeichnis (das Verzeichnis was +beim User als "Dokumente und Einstellungen" bekannt ist unter Windows XP und +vorher oder das "Benutzer" Verzeichnis bei Windows Vista und später, solange +$ENV{HOME} nicht gesetzt ist. Das Verzeichnis wird hierbei zu dem korrekten +Kurznamen umgewandelt, und muss daher definitiv existieren, und wird um die +nötigen Unterverzeichnise erweitert. + +=head1 GRUNDPRINZIP + +Die Version von den Perl Paketen die man benötigt für spezifische Aufgaben sind +sehr häufig nicht die richtigen oder korrekten Versionen auf dem System +vorinstalliert. Ein Updaten von diesen Modulen ist in vielen Fällen einfach +nicht möglich weil die nötigen Rechte fehlen. Ausserdem ist es generell nicht +gut eigenständig die Versionen der Module auf dem System auszutauschen, weil +natürlich der Rest des Systems genau die Version erwartet die von der +Systemverwaltung auch installiert wurde. + +local::lib löst dieses Problem, es erlaubt dir dein komplett eigenes Verzeichnis +für deine CPAN Module zu haben und bist so nicht genötigt die Module vom +System zu nutzen oder andersrum andere User nicht mit individuellen +Modulwünschen zu Überarbeitung ihres Codes zu zwingen, weil bestimmte Module +zentral für alle auf neuere Version upgedatet werden. Die Installation findet +hierbei dann z.B. im Home Verzeichnis statt. Es werden nur Umgebungsvariablen +gesetzt die das installierte Perl dazu bewegen die im Homeverzeichnis +installierten Module zu benutzen, zusätzlich und vorgezogen zu denen auf dem +System. + +Daher muss man sich wenn man ein Paket System benutzt, wie z.b. Debian, garnicht +mehr Sorgen machen, irgendwas auf dem System zu verletzten nur durch die +Installation von Perl Modulen. + +=head1 BESCHREIBUNG + +Dieses Modul bietet eine schnelle und legitime Art und Weise ein sogenanntes +bootstrapping zu machen um in einem User Homeverzeichnis eine Sammlung von +Modulen zu installieren. Es erstellt auch die nötigen Umgebungsvariablen +die benötigt werden um diese Module zu nutzen, passend zu der Shell die der +User in der Umgebungsvariable C angegeben hat, um dann direkt passend +in die entsprechenden Konfigurationsdateien der Shell einfügt zu werden. + +Weitergehend ist local::lib in der Lage Module zu nutzen die nicht im +standardmäßigen C<@INC> Pfad von Perl enthalten sind. Das macht es einfacher +für bestimmte Applikationen ein bestimmtes Set von Modulen zu installieren +ohne die anderen Module auf dem System in irgendeiner Art anzufassen. +Damit es z.B. auch sicherer Module zu installieren die vom Maintainer noch +nicht als Release verfügbar sind. + +Beim Import setzt local::lib die folgenden Umgebungsvariablen zu den +nötigen Werten: + +=over 4 + +=item MODULEBUILDRC + +=item PERL_MM_OPT + +=item PERL5LIB + +=item PATH + +Am PATH wird natürlich angehangen, und nicht ersetzt. + +=back + +Diese Werte sind dann verfügbar für jeden Code der danach importiert wurde. + +=head1 CREATING A SELF-CONTAINED SET OF MODULES + +C<Übersetzung fehlt...> + +=head1 METHODS + +C<Übersetzung fehlt...> + +=head1 A WARNING ABOUT UNINST=1 + +Wenn man local::lib in Kombination mit "make install UNINST=1" benutzt, muss +man vorsichtig sein über die Tatsache das der Prozess über die Neuinstallation +eine nicht ausreichende Sicherheit hat bezüglich wo er nun installieren muss. +Hierdurch mann es passieren das beim deinstallieren eines Modul u.U. das +globale Modul deinstalliert wird (wenn die Rechte vorhanden sind) aber die +neue Version nur in der lokalen Version installiert ist. Es ist hier also sehr +wichtig das man "make install UNINST=1" und local::lib nur gleichzeitig +benutzt wenn man sehr sicher darüber ist welche Konsequenzen einem +entgegenkommen. + +=head1 EINSCHRÄNKUNGEN + +Die Shell Erkennung ist sehr primitiv. Derzeit ist es so das alles was "csh" +im Namen hat auch als C Shell eingeordnet wird, und alles andere wird als +Bourne Shell betrachet, ausser auf Win32 Systemen. Wenn die C Variable +nicht gesetzt ist, eine Bourne Shell wird angenommen. + +Bootstrap ist leider ein Hack, und wird auf jedenfall CPAN.pm benutzen für +ExtUtils::MakeMaker, auch wenn CPANPLUS installiert ist. + +Es setzt definitiv PERL5LIB, PERL_MM_OPT und MODULEBUILDRC neu und vernichtet +jeden Wert der vorher gesetzt war. + +Es sollte vielleicht eine automatische Korrektur der CPAN Config machen, wenn +das nicht schon gemacht wurde. + +"Patches Welcome" - Patches sind immer willkommen beim Autor oder den anderen +Mitwirkenden. + +Auf Win32 Systemen werden die Umgebungsvariablen nicht direkt in die Registrierung +geschrieben damit sie auch nach dem Neustarten erhalten bleiben. + +=head1 FEHLERANALYSE + +Wenn du local::lib konfiguriert hast CPAN Module in deinem Home Verzeichnis +zu installieren, und du danach versuchst mit C ein Modul +zu installieren, und dabei einen Fehler bekommst, wie: C und in der installationsausgabe steht +irgendwo ein Fehler der sagt C<'INSTALL_BASE' is not a known MakeMaker parameter +name>, dann hast du aus irgendeinem Grund dein neue Version von ExtUtils::MakeMaker +verloren. + +Um dies zu korrigieren, einfach nochmal die bootstrapping Methode laufen lassen, +wie oben beschrieben. + +Dann starte C + +Abschliessend dann nochmal mit C installieren und die Probleme +sollten verschwunden sein. + +=head1 UMGEBUNGSVARIABLEN + +=over 4 + +=item SHELL + +=item COMSPEC + +local::lib schaut in die C Umgebungsvariable um die korrekten Kommandos +zu der Shell Konfiguration hinzuzufügen. + +Auf Win32 Systemen, C wird auch analysiert. + +=back + +=head1 SUPPORT + +IRC: + + Wir sind im Channel #local-lib auf dem Server irc.perl.org. + +=head1 AUTOR DER ÜBERSETZUNG + +Torsten Raudssus http://www.raudssus.de/ + +=head1 URHEBERRECHT + +Copyright (c) 2007 - 2010 von den local::lib L und L +aufgelistet in L. + +=head1 LIZENZ + +Diese Sammlung ist freie Software und kann unter der selben Lizenz verbreitet +werden wie Perl selber. + +=cut + +1; diff --git a/lib/local/lib.pm b/lib/local/lib.pm index e8f117d..a6784bc 100755 --- a/lib/local/lib.pm +++ b/lib/local/lib.pm @@ -11,7 +11,7 @@ use File::Path (); use Carp (); use Config; -our $VERSION = '1.006004'; # 1.6.4 +our $VERSION = '1.006005'; # 1.6.5 our @KNOWN_FLAGS = qw(--self-contained); @@ -764,6 +764,12 @@ On Win32 systems, C is also examined. =back +=head1 SUPPORT + +IRC: + + Join #local-lib on irc.perl.org. + =head1 AUTHOR Matt S Trout http://www.shadowcat.co.uk/ @@ -775,7 +781,8 @@ auto_install fixes kindly sponsored by http://www.takkle.com/ Patches to correctly output commands for csh style shells, as well as some documentation additions, contributed by Christopher Nehren . -Doc patches for a custom local::lib directory contributed by Torsten Raudssus +Doc patches for a custom local::lib directory, more cleanups in the english +documentation and a german documentation contributed by Torsten Raudssus . Hans Dieter Pearcey sent in some additional tests for ensuring @@ -800,7 +807,7 @@ David Mertens (run4flat). =head1 COPYRIGHT -Copyright (c) 2007 - 2009 the local::lib L and L as +Copyright (c) 2007 - 2010 the local::lib L and L as listed above. =head1 LICENSE