Wo sind nicht essentielle .pl-Dateien in einer Distribution zu platzieren?

8

Ich möchte einige zusätzliche .pl-Dateien in mein CPAN-Modul aufnehmen. Diese Dateien sind nicht unbedingt erforderlich, um das Modul zu verwenden, bieten jedoch nützliche Funktionen / Funktionen, wenn das Modul in einigen gängigen Frameworks und Anwendungen verwendet wird.

Momentan schließe ich einfach die .pl-Dateien in ein "Extras" -Verzeichnis der Distribution ein. Dies hat den Nachteil, dass die Dateien nicht auf make install installiert sind. Gibt es eine Möglichkeit, sie in die Installation aufzunehmen und wohin sollten sie gehen? (Sie sind keine ausführbaren Dateien und gehören nicht in "bin".) Würde "teilen" Sinn machen? Oder werden diese Arten von Dateien normalerweise einfach nicht installiert und es bleibt dem Benutzer überlassen, sie aus dem .tgz-Archiv zu holen und nach Bedarf zu benutzen?

Ich verwende Dist :: Zilla, um meine Distribution zu verwalten.

    
Davor Cubranic 03.04.2014, 19:28
quelle

3 Antworten

0

Ich mochte @ Joes Antwort, außer dass in meinem Fall die Dateien WebWork-Makros - einzelne .pl-Dateien waren mache mein Modul aufrufbar aus dem Code des WebWork-Endbenutzers. Sie passen also nicht in eine der hier besprochenen Kategorien und können .pl-Dateien nicht zu einem Modul machen.

Dies ist, was ich getan habe:

  1. Alle .pl-Makro-Dateien in 'extras / WebWork' in der Distribution einfügen.
  2. fügen Sie der Datei "dist.ini" eine [ShareDir] Zeilengruppe mit dir = extras property hinzu.
  3. Jetzt kann der WebWork-Administrator meine Distribution von CPAN installieren und dann perl -MFile::ShareDir -e 'print File::ShareDir::dist_dir("Statistics-R-IO")' verwenden, um die Makros zu finden und sie in WebWork verfügbar zu machen.
Davor Cubranic 17.12.2014, 19:34
quelle
1

Ich würde Folgendes vorschlagen:

  • Wenn sie wirklich vollständige Programme sind oder fast fertig sind, poliere sie dann auf und mache sie zu Standalone-Items, die in /bin mit ihrem eigenen POD gehen könnten.
  • Wenn sie Dienstprogramm-Kleber sind, erstellen Sie ein ::Utils -Modul, damit sie darin leben und ihre Verwendung dokumentieren können.
  • Wenn es sich um nützliche Code-Snippets handelt, aber nicht um etwas, das Sie irgendwo installieren können oder Beispiele von Usages oder handlichen Idiomen sind, erstellen Sie ein ::Cookbook all-POD-Modul und fügen Sie es dort mit der entsprechenden erklärenden Erklärung ein.
Joe McMahon 24.06.2014 22:34
quelle
0

Ich weiß nicht genau, wie Dist :: Zilla funktioniert, aber das resultierende Archiv muss mit dem, was ExtUtils :: MakeMaker erzeugt, kompatibel sein.

Wenn Sie ein Modul mit module-starter erstellen, erstellt es eine Modulvorlage mit ExtUtils::MakeMaker . Es erstellt mehrere Dateien und Verzeichnisse wie das Verzeichnis lib , in dem sich Ihr Modul befindet, und die Verzeichnisse t , in denen Ihre Tests gespeichert sind.

Eine Sache, die es nicht erstellt, ist ein Verzeichnis bin . Wenn Sie jedoch ein bin -Verzeichnis erstellen und Dateien in dieses Verzeichnis stellen (z. B. Perl-Skripte), werden diese Dateien im Verzeichnis bin in Ihrer Perl-Distribution installiert und mit /usr/local/bin oder /usr/bin verknüpft. . Wäre dies ein guter Ort für Ihre Skripte?

    
David W. 03.04.2014 21:15
quelle

Tags und Links