-
Notifications
You must be signed in to change notification settings - Fork 33
/
PPM-HowTo
140 lines (106 loc) · 5.29 KB
/
PPM-HowTo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
From [email protected] Mon, 09 Nov 1998 19:04:54 +0100
Return-Path: <[email protected]>
Received: from alfred.itg.ti.com by tiuk.ti.com (SMI-8.6/SMI-SVR4)
id SAA14673; Mon, 9 Nov 1998 18:07:04 GMT
Received: from gatekeep.ti.com (ti.com [192.94.93.61] (may be forged))
by alfred.itg.ti.com (8.8.8/8.8.8) with ESMTP id MAA12465;
Mon, 9 Nov 1998 12:07:02 -0600 (CST)
Received: from lists.Stanford.EDU (lists.Stanford.EDU [171.64.14.232]) by gatekeep.ti.com (8.8.8) with ESMTP id MAA21574; Mon, 9 Nov 1998 12:06:59 -0600 (CST)
Received: (from daemon@localhost) by lists.Stanford.EDU (8.8.5/8.7.1) id KAA28797 for ptk-out271740; Mon, 9 Nov 1998 10:05:29 -0800 (PST)
Received: from o05.xray.mpe.mpg.de (o05.xray.mpe.mpg.de [130.183.72.185]) by lists.Stanford.EDU (8.8.5/8.7.1) with SMTP id KAA28776 for <[email protected]>; Mon, 9 Nov 1998 10:05:04 -0800 (PST)
Received: (qmail 5764 invoked from network); 9 Nov 1998 18:04:54 -0000
Received: from o09.xray.mpe.mpg.de (130.183.72.189)
by o05.xray.mpe.mpg.de with SMTP; 9 Nov 1998 18:04:54 -0000
Received: by o09.xray.mpe.mpg.de (5.65v4.0) id AA02416; Mon, 9 Nov 1998 19:04:54 +0100
Message-Id: <[email protected]>
X-Mailer: exmh version 2.0.2 2/24/98
X-Uri: http://www.xray.mpe.mpg.de/~ach/
X-Face: #9R9$}Qu$q4/+(Y7T(Qfo8cup>^yR8B0wY4IH1)}*1E49K8~;Wi0PXITA"<<pYILk<cuT&8
)fK)zd6!$t\$BYyV>Pi3$mxf36$b1V'u?%-72[ax;U+^t~XCiBWd5:1aDjts)QDu@{p)e@Nou\8b}Z
@`+y-uk-i_7EhtDuv`v$vB0-\83`_-f{aXn%olFdX'UC\9Bl)_U-_,.UPZ9C?Q:E-r@(8/h#OJF8n+
OuC0Rl&[^vWU#enrm$xh&
From: Achim Bohnet <[email protected]>
Cc: Murray Nesbitt <[email protected]>
Subject: FYI: PPM recipe for module authors
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Mon, 09 Nov 1998 19:04:54 +0100
Sender: [email protected]
Precedence: bulk
X-UIDL: d0376b9e195a09450d52590466dca4ba
X-Netscape-Folder: Ptk
X-Mozilla-Status: 0005
Due to the explanations of Murray Nesbitt I was able to produce a
PPM compliant distribution of Tk-Pod that can be installed with
ActiveStates ppm.pl tool.
I know it's a bit of topic but several people on the list had their
fights with this subject...
I've tried/verified the procedure below on Digitial Unix with perl 5.005_01
so some of the pitfalls may not be present using ActivePerl on Win*
1) Add to WriteMakefile() call in Makefile.PL the attributes
ABSTRACT => 'A description of your module',
AUTHOR => 'Author Name (email@addr)',
Pitfall:
o '<' and '>' are not escaped in generated ppd file
so one better used above format instead of a
proper email address like: Author Name <email@addr)
o ABSTRACT should not be one line because embedded
\n are not escaped properly resulting in a buggy Makefile
o To ensure that Makefile.PL run without complains with
older perl version I would suggested to wrap the two
attributes between $] < 5.005 ? () : ( AUTHOR => ..., ...)
o There seems to be some confusion about modules versus
distributions in the PPM business because PREREQ_PM =>
{ This::Module => $min_version, ... }
that is used to track module dependencies, is translated
into a 'distribution like' dependency in the PPD file
<DEPENDENCY NAME="This-Module" />
2) run 'perl Makefile.pl BINARY_LOCATION=x86/Dist-Name.tar.gz'
where Dist-Name is the name of the distribution, e.g., Tk-Pod
in my case.
3) run 'make ppd'. This will create a Dist-Name.ppd file, e.g.,
Tk-Pod.ppd in my case.
Pitfall:
o if you are not on Win* system you have to replace
the <OS NAME="my_os" /> with <OS NAME="MSWin32" />
(of course this fix only works for pure perl
distributions)
4) run 'make'
Pitfall:
o I assume that on Win* scripts listed in EXE_FILES
would be wrapped into a .bat. Generation
on Unix does not do it of course.
5) tar and gzip the resulting blib directory
'tar cvf module.tar blib'
'gzip module.tar'
6) Create a directory that is accessible via WWW and copy
the ppd file into it. Place the tar ball of the blib
directory relative to the ppd file with the relative path
used in step 2)
/path/to/ppm/Dist-Name.ppd
/path/to/ppm/x86/Dist-Name.tar.gz
7) Now one sould be able to install it with ppm.pl from an
Win* box running ActivePerl with ppm.pl
ppm> install http://www.our.server/my/ppd/Dist-Name.ppd
Pitfall:
o Look like at least 'search' command uses some more
magic. Setting the ppm.pl repository to the URL
of the direcotory with the just created .ppd file
returns HTML 'code' of the direcotory listing, generated
by apache, instead of a list of (one) PPM
distribution.
That's it. If someone is adventuresome enough, try with ppm.pl
install http://www.xray.mpe.mpg.de/~ach/ptk/ppm/Tk-Pod.ppd
or
set repository ACH http://www.xray.mpe.mpg.de/~ach/ptk/ppm
install Tk-Pod
Worked for my on NT 4.03 with ActivePerl build 504.
One can of course inspect http://www.xray.mpe.mpg.de/~ach/ptk/ppm
with a WWW browser to check the input used by ppm.pl
Hope this helps to create one's own PPM distribution,
Achim
==========================================================================
This message was posted through the Stanford campus mailing list
server. If you wish to unsubscribe from this mailing list, send the
message body of "unsubscribe ptk" to [email protected]