>>>>> "BR" == Brock Rozen <brozen@webdreams.com> writes:
[Supporting old-style konfig files]
BR> Why even bother?
Supporting konfig/newkonfig and people who absolutely have to edit the old
config files (perhaps via some external software), for one. Plus I had to
develop incrementally, and I had already rewritten the stuff for the work I
was doing on 1.95 before 1.94 even hit the disks.
It is really easy to do something like
use Majordomo;
$mj = new Majordomo("$TOPDIR", "hpc.uh.edu, 1)
for $list ($mj->get_all_lists) {
$mj->list_config_set($list, "subscribe_policy", "open+confirm");
}
to change list config files, so there isn't really an excuse for having
separate software to edit the files, but what the heck?
BR> Just create a small program that converts 1.x config files to 2.x
BR> config files.
It's all done automatically, invisibly, and on-the-fly. With autoloading
it's even completely free.
BR> Then leave majordomo to do only 2.x stuff -- there should be no
BR> backwards compatibility if it takes away functionability. There were no
BR> promises made for 2.x in that area -- why start giving them?
Well, the trick to backwards compatibility is to provide as much as
possible without sacrificing anything except time. Supporting the old
directory structure isn't terribly hard. Supporting old-style config files
isn't hard. Supporting majordomo.cf is tougher and I didn't really want to
do it, but I did. But if I run into something that's significantly harder,
I'll try to get out of it.
BR> Well, the permissions sounds very good -- but is the wrapper still
BR> needed?
XYX:sina:~/mj/2.0> ls -l mj_shell mj_email
-rwsrwsr-x 1 lists lists 12285 Dec 29 22:46 mj_email*
-rwsrwsr-x 1 lists lists 1326 Jan 21 00:00 mj_shell*
XYX:sina:~/mj/2.0> head -1 mj_shell mj_email
==> mj_shell <==
#!/usr/local/bin/perl-latest -wT
==> mj_email <==
#!/usr/local/bin/perl-latest -wT
(use strict is in effect, too.) No bloody wrapper. Some people may still
want the warm fuzzies of having a system that completely gives up its real
UID and GID in exchange for having something setuid root; they can still
use the wrapper. Wrapper's behind-the-scenes function of passing the
environment is handled by a make-time fixup, just like the #!/perl line is
fixed.
- J<
Follow-Ups:
References:
|
|