-
Notifications
You must be signed in to change notification settings - Fork 15
/
UPGRADE
236 lines (159 loc) · 8.67 KB
/
UPGRADE
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
Like any other piece of software (and information generally), ezmlm-idx
comes with NO WARRANTY.
This file is for upgrading from earlier version of ezmlm-idx/mod. If you use
ezmlm-0.53 but have not installed a previous version of ezmlm-idx,
see INSTALL. For details on what's new in this version, see CHANGES.
1. Proceed as per INSTALL.
NOTE: If you follow the test instructions in INSTALL of ezmlm-0.53 after
adding ezmlm-idx, step 6 will fail. Before this step, edit
~/testlist/editor and remove the ezmlm-reject line.
Steps required for upgrading from ezmlm-idx-5.x.x and earlier
-------------------------------------------------------------
1. The usage of ezmlm-issubn, ezmlm-gate, ezmlm-list, ezmlm-sub, and
ezmlm-unsub has changed. Where previously the commands would have used
multiple full paths, they now use relative paths for all tables. Read
the manual pages for more details. The changes have been made so that
most uses of these tools will still work as before, but some usages may
break.
In particular, if you had set up your lists with ezmlm-make -k, one
invocation of ezmlm-issubn in the "editor" file will break. You need to
rewrite it from:
|BIN/ezmlm-issubn -n 'DIR/deny' || ....
to:
|BIN/ezmlm-issubn -n 'DIR' deny || ....
Alternately, you may upgrade the list entirely by running:
ezmlm-make -+ DIR
2. All lists with paths in their DIR/modsub or DIR/remote files need to
have those paths checked and possibly modified to ensure that they are
either single-level relative paths or absolute paths within DIR.
3. If you were previously using an install of ezmlm-idx that was
compiled with MySQL or PgSQL support and have set up lists that use this
SQL support, you will need to build and install the appropriate plugin
and make it the default.
The database plugins will get installed in the directory named by
conf-lib. To make one of these the default (necessary to let old lists
continue to operate), run:
ln -s sub-NAME.so /usr/local/lib/ezmlm/sub-sql.so
where "NAME" is either "mysql" or "pgsql" depending on which needs to
become the default. Replace /usr/local/lib/ezmlm with the appropriate
path if the modules were installed elsewhere.
4. Upgrading digested lists will erase their digest creation thresholds.
Make note of the values for -k, -m, and -t in the "4:" line in "config"
or on the ezmlm-tstdig command line in the "editor" file. Save the
three numbers into files named "digsize", "digcount", and "digwhen"
respectively.
Steps required for upgrading from ezmlm-idx-0.31x/32x
-----------------------------------------------------
In the unlikely event that you have lists that have been manually configured
to use ezmlm-gate (sender check/moderation combination) using only a single
directory, add the same directory to the command line a second time. If you
do not do this, all messages will be moderated, i.e. no major problem. No
other changes are required, but you may want to use some of the new features
(see CHANGES).
See below to migrate customized ezmlmrc files.
Run ezmlm-idx on your lists. The index file format has changed. The old
format will still work, but only the new format can be used with WWW archive
access.
To enable WWW archive access for your list(s) see the "Optional" section in
INSTALL.
If you used MySQL support, you need to update the tables. A few new fields
have been added for performance moitoring and billing. sub_mysql/to40x will
generate the necessary SQL. For each list, do:
sh sub_mysql/to40x list | mysql ...
where ``list'' is the tableroot for the list.
Additional steps for upgrading from ezmlm-idx-0.30x
---------------------------------------------------
If your old lists use SENDER restriction on posts with aliases (DIR/extra)
and blacklisted addresses (DIR/blacklist) you need to change the name of
these directories to DIR/allow and DIR/deny, respectively, and rebuild the list
(see below). Without this change the list will still function normally, but
addresses cannot be added/removed from these addresses remotely (e.g. via
list-allow-subscribe). Other than this, your lists will function without
modifications if you are upgrading from ezmlm-idx>=0.30.
See below for changing the names of the extra databases.
Additional steps for upgrading from ezmlm-idx<0.30
--------------------------------------------------
1. Reindex the subject index for existing lists:
% ezmlm-idx DIR
for each list directory 'DIR'.
2. For existing digest lists, assuming the list "joe-sos" and the digest list
"joe-sos-digest".
a. Remove links to the digest list:
% rm -f ~joe/.qmail-sos-digest*
b. edit the main list to include a digest list:
% ezmlm-make -edxxx ~joe/SOS ~joe/.qmail joe-sos id.com gaga
where 'xxx' are switches used in creating the original list. For lists
created with ezmlm-idx-0.23 or later, the arguments after the list
directory may be omitted.
c. Move the digest subscriber info:
% mv ~joe/SOS-digest/subscribers/* ~joe/SOS/digest/subscribers
The digest list bounce info will be lost, as the key used for the new
digest is the same as for the list, and different for that from the old
digest. At worst, this will make the info for a digest user on missed
digests incomplete. It may also slightly delay the removal
of a permanently bouncing subscriber addresses.
Additional steps for upgrading from ezmlm-idx<0.23x
---------------------------------------------------
For subscription-moderated lists created with ezmlm-idx<0.23:
1. If you have subscription moderated lists created with ezmlm-idx<0.23,
they likely lack dir/text/mod-sub-confirm and dir/text/mod-unsub-confirm.
Ezmlm-idx-0.23 substituted dir/text/(un)sub-confirm if the above files were
missing, but ezmlm-idx>=0.30 will not work without these files. Again,
ezmlm-make -e is the easiest way to update the list. Alternatively,
just copy dir/text/(un)sub-confirm to dir/text/mod-(un)sub-confirm.
------------------------------------------------------------------------------
That's it! To report success (this helps to track platform-specific problems):
% ( echo 'First M. Last'; cat `cat SYSDEPS` ) \
| mail [email protected]
Replace First M. Last with your name.
Send bugs reports, ideally with patch, to '[email protected]'.
------------------------------------------------------------------------------
Additional information
------------------------
Migrating customized ezmlmrc files
==================================
ezmlmrc is upgraded from ezmlm-idx-0.31x/32x, but the changes are not required
for using the list.
The changes from ezmlm-idx-0.30x are minimal, but fix a couple of bugs, see
CHANGES). If you have custom ezmlmrc files and wish to update them,
do the following:
First create a diff between the old ezmlmrc distribution and the
custom ezmlmrc file:
% cp /usr/local/bin/ezmlm/ezmlmrc ~/ezmlmrc.orig
% cp ~/.ezmlmrc ~/ezmlmrc
% diff -c ~/ezmlmrc.orig ~/ezmlmrc ~/ezmlmrc.diff
Next, apply the changes to the new ezmlmrc:
% cp .../ezmlm-idx-0.33/ezmlmrc ~/ezmlmrc
% patch ~/ezmlmrc < ~/ezmlmrc.diff
Next check for rejected parts (you need to apply them manually):
% cat ~/ezmlmrc.rej
Any existing list can be edited with 'ezmlm-make -e dir dot local host [code]'
with the appropriate switches to take advantage of new ezmlm functions. If
you make ezmlmrc files in other languages, please make them public domain
and mail them to [email protected] for inclusion in future versions of
ezmlm-idx.
Adjusting the name of the extra databases (from ezmlm-idx<0.30):
===============================================================
% mv DIR/extra DIR/allow
% mv DIR/blacklist DIR/deny
% ezmlm-make -+ DIR
Additional steps required when upgrading from ezmlm-idx<0.30:
1. Reindex the subject index for existing lists:
% ezmlm-idx DIR
for each list directory 'DIR'.
2. For existing digest lists, assuming the list "joe-sos" and the digest list
"joe-sos-digest".
a. Remove links to the digest list:
% rm -f ~joe/.qmail-sos-digest*
b. edit the main list to include a digest list:
% ezmlm-make -edxxx ~joe/SOS ~joe/.qmail joe-sos id.com gaga
where 'xxx' are switches used in creating the original list. For lists
created with ezmlm-idx-0.23 or later, the arguments after the list
directory may be omitted.
c. Move the digest subscriber info:
% mv ~joe/SOS-digest/subscribers/* ~joe/SOS/digest/subscribers
The digest list bounce info will be lost, as the key used for the new
digest is the same as for the list, and different for that from the old
digest. At worst, this will make the info for a digest user on missed
digests incomplete. It may also slightly delay the removal
of a permanently bouncing subscriber addresses.