"Build'n'Play" ist ein Batch-Werkzeug für System-Administratoren, die immer wieder dieselben Software-Pakete (einschließlich Perl, aber nicht auf dieses beschränkt) auf den verschiedensten Unix-Plattformen installieren müssen (zum Beispiel für den periodischen Upgrade oder die Neuinstallation von Unix-Rechnern).
Das wichtigste Feature von "Build'n'Play" besteht dabei in seiner Fähigkeit, nach einem Abbruch (z.B. aufgrund eines Compiler-Fehlers) automatisch wieder an der Abbruchstelle aufzusetzen (nachdem man das betreffende Problem manuell gelöst hat).
"Build'n'Play" besteht im wesentlichen aus drei Teilen (plus einem optionalen Teil): Einem Shell-Skript, um die Batch-Jobs zu starten und die Kommandozeilen-Optionen des Benutzers zu verarbeiten (sowie für das Bootstrapping von Perl, falls erforderlich), einem Perl-Modul, welches den automatischen Wiederaufsatz- Mechanismus zur Verfügung stellt, und diversen Perl-Skripten, die die eigentliche Installation durchführen.
Zusätzlich ist ein (optionales) Werkzeug vorhanden, um eine saubere Installationshierarchie zu verwalten, in der jedes Software-Paket in einem eigenen und separaten Unterverzeichnisbaum abgelegt wird, was das (auch spätere) Zusammenfassen von thematisch zusammengehörenden Software-Paketen in gemeinsamen (hierarchisch organisierten) Unterverzeichnissen sowie eine leichte und garantiert rückstandsfreie De-Installation erlaubt (im Gegensatz zur pauschalen Installation nach "/usr/local", beispielsweise).
Dieses letztere Werkzeug (auch ein Shell-Skript) läßt sich übrigens auch völlig unabhängig vom Rest von "Build'n'Play" einsetzen.
(Mehr Details zu diesem Werkzeug (auf Deutsch) siehe in der Datei "genopt.txt" in dieser Distribution bzw. unter "man 3 genopt" nach der Installation von "Build'n'Play".)
Beachten Sie, daß bei der ersten Installation mit "Build'n'Play" die mitgelieferten Installationsskripte noch an Ihr Betriebssystem und Ihre persönlichen Vorlieben (oder Firmen-Standards) angepaßt werden müssen.
Erwarten Sie daher nicht, daß der erste Installationsversuch ohne irgend einen Abbruch durchläuft.
Die nötigen Anpassungen werden für einige Betriebssysteme durch "diffs" erleichtert (zumindest für das "Perl" Installations-Skript), die in dieser Distribution bereits enthalten sind und die man mit Hilfe des bekannten "patch"-Werkzeugs (eine weitere geniale Erfindung von Perl's Vater Larry Wall!) auf das "Perl" Installations-Skript anwenden kann.
Diese Investition an Anpassungsaufwand lohnt sich natürlich nur, wenn man die betreffenden Software-Pakete mehr als nur einmal installieren muß. Alternativ dazu kann man jedoch auch einfach diejenigen (Perl-) Module auskommentieren, die Probleme bereiten, und sich mit dem Rest (es sind einige Hunderte vorhanden) begnügen.
Da es bereits ein sehr mächtiges Installationswerkzeug namens "CPAN.pm" für Perl-Module (und Bundles ("Bündel") von Perl-Modulen) gibt (siehe die "CPAN(3)" Manual Page in Ihrer Perl-Installation für mehr Details), erhebt sich natürlich die Frage, wozu ein weiteres Werkzeug, und was ist der Unterschied zwischen den beiden?
Kurz gesagt ist "Build'n'Play" ein Werkzeug zur Installation _BELIEBIGER_ Software-Pakete (z.B. um ganze Unix-Server mit allen benötigten Software-Paketen einzurichten), das sich zur Erreichung dieses Ziels lediglich der Programmiersprache "Perl" bedient, während "CPAN.pm" ein auf Perl-Module spezialisiertes (was einige Vorteile mit sich bringt), aber auch beschränktes Werkzeug ist.
Eine ausführlichere tabellarische Gegenüberstellung der verschiedenen Features von "Build'n'Play" und "CPAN.pm" ist in der Datei "README.txt" in dieser Distribution zu finden.
Die Idee und erste private Versionen von "Build'n'Play" stammen von:
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com
Die vorliegende erste öffentliche Programmversion (eine vollständige Neuentwicklung) von "Build'n'Play" stammt von:
Steffen Beyer
sb@sdm.de
sb@engelschall.com
www.engelschall.com/u/sb/download/
Copyright (c) 1996 - 1998 by Ralf S. Engelschall.
Alle Rechte vorbehalten.
Copyright (c) 1998 by Steffen Beyer.
Alle Rechte vorbehalten.
"Build'n'Play" ist Freie Software und kann unter denselben Lizenzbedingungen benutzt, modifiziert und weitergegeben werden wie Perl, d.h. es gelten die Bestimmungen der "Artistic License" oder (wahlweise) der "GNU General Public License".
Bitte beachten Sie die beiden Dateien "Artistic.txt" und "GNU_GPL.txt" in dieser Distribution für die entsprechenden Details!
Die vorliegende Software wird so zur Verfügung gestellt wie sie ist, es werden keinerlei Garantien für ihre Eignung für welche Zwecke auch immer abgegeben, und es wird auch keine Haftung für die durch ihre Verwendung oder Nichtverwendbarkeit möglicherweise verursachten Schäden oder Ausfälle oder dergleichen übernommen, selbst wenn dem Autor solche möglichen Folgen bekannt sein oder bekannt gemacht werden sollten.
Siehe dazu auch die "GNU General Public License" für weitere Details.
Mein ganz besonderer Dank gilt:
- Michael Gerth vom O'Reilly Verlag Köln,
von dem dieses Projekt ausging und der es nach Kräften gefördert und
unterstützt hat,
- meinem Arbeitgeber, software design & management GmbH & Co. KG (sd&m)
(http://www.sdm.de/), und zwar hier besonders in Person meines Bereichs-
und meines Geschäftsbereichsleiters Ulrich Bonfig und
Rüdiger Azone, die mir unbürokratisch diese Nebentätig-
keit gestattet haben, sowie
- Ralf S. Engelschall, dem ursprünglichen Autor von "Build'n'Play",
die alle drei dieses Projekt überhaupt erst möglich gemacht haben.
Außerdem bin ich den Beta-Testern Marc Lehmann, Robert Aussem und Eike Grote für ihre Mühen und ihre Geduld sowie die vielen Anregungen und Verbesserungsvorschläge natürlich besonders verpflichtet. Viele ihrer Verbesserungsvorschläge sind in dieses Projekt mit eingeflossen!
Für das zur-Verfügung-Stellen von Accounts für Testzwecke auf je einem Linux-Rechner und einer HP bin ich Gottfried Bartmuss und Andreas Häusler ganz besonders dankbar.
Für den freien Zugang zu einem Web-Server mit eigenem Account sowie einem eigenen WWW- und FTP-Bereich bin ich Ralf S. Engelschall sowie der Eidgenössischen Technischen Hochschule Zürich (ETHZ) in der Schweiz (die den Rechner, eine SPARC-Station mit Solaris 2.6, freundlicherweise Ralf S. Engelschall zur freien Verfügung gestellt hat, der mir dann wiederum den Zugang darauf ermöglicht hat) hochgradig zu Dank verpflichtet.
Die Möglichkeit, über einen lokalen CPAN-Mirror-Server im LAN mit einer rasanten Zugriffszeit sowie über einen CD-Brenner in demselben LAN (für die Erstellung des CPAN-Snapshots) verfügen zu können, verdanke ich sd&m.
Schließlich bin ich auch noch einem unentschlossenen Kunden von sd&m (der hier nicht genannt werden soll) zu Dank verpflichtet, der mir durch die uns von ihm auferlegten Wartezeiten die nötige "Luft" verschafft hat, um auch unvorhergesehene Aufwände in diesem Projekt zu bewältigen.
1) Die Installationen von "Gimp" und "ImageMagick" funktionieren zwar, sind aber trotzdem noch unvollständig; die Unterstützung verschiedener Grafik-Formate fehlt noch (diese werden nicht korrekt eingebunden).
2) Das Tool "bzip2" läßt sich unter FreeBSD (2.2.6) nicht kompilieren; "ld" beschwert sich: "-lbz2: no match".
Lösung: Verwenden Sie statt dessen die etwas ältere Version von "bzip2", die bereits in der Distribution von FreeBSD enthalten ist.
Alle Tips zur Behebung der obigen Probleme sind hochwillkommen!
Wenn Sie in "Build'n'Play" Fehler finden oder Unterstützung benötigen, wenden Sie sich bitte an Steffen Beyer (sb@engelschall.com).
Vielen Dank!
Zurück zu Programmieren mit Perl-Modulen
© 1998, O'Reilly Verlag