[Vienna-pm] Cave colon!

Thomas Klausner domm at zsi.at
Sun Jun 6 13:24:53 CDT 2004


Hi!

On Sun, Jun 06, 2004 at 09:23:10AM +0200, Peter J. Holzer wrote:
> Also, Meinereiner schreibt ein Package namens Bar::Foo (ok, ist gelogen,
> aber ich will noch nicht ?ber ungelegte Eier gackern) und weil ich gern
> sch?ne, sprechende Directorynamen habe, mache ich das ganze in einem
> Directory namens "Bar::Foo":
> ...

Hmja, das ist eines der weniger gut dokumentierten Dinge: Wie mach ich eine
ordentliche Distribution. Inzwische gibts zwar ein Buch[1] dazu, aber a) hab
ichs nicht gelesen und b) ist Distribution-Style ein sich schnell bewegendes
Ziel... Und perldoc perlmodlib (das letzte Stueckerl..) betrifft auch eher
den Inhalt eine Distro und nicht die Struktur...

Hier mal ein paar Dinge, auf die ich so (durch trial-error bzw abschreiben
von "guten" Modulen/AutorInnen) draufgekommen bin:

Verzeichnisname:
Module-Name

Name des Tarballs:
Module-Name-1.50.tar.gz
(geht automatisch mit zB Module::Build ./Build dist )

Mehr oder weniger wichtige Files:
MANIFEST - Liste aller Files
README - Kurzbeschreibung, wird auf CPAN aus dem tarball extrahiert (damit
man sich anschauen kann, was das Ding tut, ohne es runterladen zu muessen)
META.yml - Metadaten, vor allem fuer dependcy-checking
Changes - Liste der Aenderungen
lib - hier kommen die Module rein
t - und hier die tests

dann gibts noch haufenweise anderes Zeugs:
MANIFEST.skip - Zeugs das ignoriert werden soll (zB .svn)
SIGNATURE - eh klar

Dann gibts noch so lustige Feinheiten wie Versionnummern-stellen:

1.1
1.01
1.10
1.010
..

Welches ist jetzt die aktuelleste Version?

etc.

BTW, wenn sich jemand fuer sowas interessesiert, der kann gerne bei CPANTS
mitmachen (auch wenn ich grad eher kein Zeit dafuer hab, aber in ca einem
Monat wieder)




1: http://www.apress.com/book/bookDisplay.html?bID=14

-- 
#!/usr/bin/perl                               http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}



More information about the Vienna-pm mailing list