Hi. Welcome to crappy half baked docs for Bundler 1.3 This is a Plot Hatching Factory production by Mat Bettinson sometime in '95. So what is Bundler? Simply put, it scans your outbound and shoves ALL PACKETS into a single outgoing archive for a single address and a single flow file. Since I've been involved in LZX from an early stage, Bundler supports LZX mail 100% though currently because LZX doesn't support 'Concatenation' this means that the mail will have to be fully extracted, additional packets extracted into the same temp dir and then re-archived. Simply put this means that Bundling using LZX mail will take a LOT longer than LHA *BUT* and this is a BIG /BUT/ Because LZX uses cross file compression, fully extracting and re-archiving for additional mail packets will be a HELL of a lot more compressive than LHA since it'll throw away it's LZ dictionary for each tiny file... Bottom line is that a point feeding off your system with you using LZX mail and Bundler is VERY likely to spend a fraction of the time on the phone as with a normal Buckets-of-tiny-little-LHA-packets type system. Example of an outbound dir after Bundler running: 2.250.156.0.HLO 2.250.156.0.SU1 2.254.205.0.DUT 2.254.205.1.HLO 2.254.205.1.SU1 2.254.205.10.HLO 2.254.205.10.SU0 2.254.205.4.HLO 2.254.205.4.SU1 2.254.205.5.HLO 2.254.205.5.SU1 2.254.205.55.FLO 2.254.205.55.SU1 2.254.205.8.HLO 2.254.205.8.SU1 2.254.205.9.HLO 2.254.205.9.SU1 2.254.524.0.FLO 2.254.524.0.SU0 2.441.58.0.FLO 2.441.58.0.SU0 This doesn't look like much mail as there aren't any network addresses other than Fidonet. Actually there IS but they are in the SAME packets as the Fido mail. Note there is neatly one flo file and one packet for EACH system. Net result is the same mail and files gets send but with a minimum of tiny packets and of course... If a system doesn't support EMSI like say... MAXs then this is a god-send... This was a major reason for implementing Bunder though really it was an extention of MAXPKT that got re-written. This isn't the final version. There's a fair bit of speeding up and I'm sure there's some bugs to be found etc... Still it works here but just for paranoia sake you can test on a backup of your outbound and I've provided a tool for enabling this. NB: As of R3 I've removed this tool. It caused too much confusion and I can't make Bundler eat mail if I try now. If it DOES FAIL, running again with the force switch should fix the flow-files since deleted files will be removed from the flo-files and if Bundler attempts to add mail again to an archive, both LZX and LHA will simply skip the request and the packet to be added will be deleted as normal. Basically I'm telling you that Bundler is pretty darn reliable since I use it for my own mail and have done for some time fixing loads of bugs as I found them myself. No-one else every seemed to report any bugs anyway so I guess testing hasn't been that great. ultimately, I can't accept responsibility if Bundler eats your mail but I'm telling you that I've done everything I could to ensure it wont. Now what we do? Well editting the config file might be a good start. :-) Example: <-----------------------------------CUT-----------------------------------> ; ; Bundle 1.0 config file. ; ; Format: [aka1] [aka2] [aka3] ... [Archiver] [Mailtype] ; ; Where Achiver = LHA or LZX and Mailtype = FLO, DLO, CLO or HLO ; 2:254/205.55 39:139/5.55 240:100/37.55 959:104/5.55 LZX FLO ; <-----------------------------------CUT-----------------------------------> This will bundle all the mail for all the addresses above into the Fidonet address (IE the first one). using the LZX archiver (will bomb out with an error if it encounters LHA mail) and use a normal flo-file type. NOTE! I fyou DO NOT want to bundle a systems mail, just leave it out of the config and Bundler will leave alone 100%! So you can test on one system if you like. The archiver keyword can only be LHA or LZX and since LZX has just been released, I imagine you'll be using LHA but I REALLY suggest that you investigate LZX since it's so vastly superior to LHA that there's no real reason to use LHA any more (see my Repack script on Aminet too). It defaults to LHA if you specify nothing. Likewise the flo-file type defaults to FLO. You can specify as many or as few bundle systems as you like. BTW You must have LHA and/or LZX in C: along with Delete. This is hard pathed in the script. Net-Mail is packed up using the specified archiver. If it doesn't understand what a packet is, it will arc it up using the specified archiver. IE if you had an ARC mail packet it would use LZX to arc that up into the main bundle. Not and a great idea but without buckets more checking and farting about this is the best option. Config file normally belongs in MAIL: but of course you can edit the script header which has a few other things you need to change... HEADER CHANGES: cfgfile = 'Mail:Bundle.cfg' PKTemp = 'BBS:temp/' DefArc = 'LHA' DefFlo = 'FLO' FloDel = '#^' Priority = '-1' Move of the above should be self explainitory. The PKTemp should be an EMPTY dir with some space in it. It's only needed if you're using LZX. DefArc and DefFlo are default values to be used if none specified in the config file for any system. FloDel defines the characters in your flo-files that signify the file is to be deleted after sent. The above should be OK in 99% of cases. Priority controls the priority of the only real CPU intensive bit which is the activation of the archivers. Both LHA and LZX are told to operate at a task priority specified here. So when it's time to run Bundler you just run it with the outbound mail path as an arg: IE rx Bundler MAIL:Outbound... And away it goes. If running the first time it will take some time... Running again will be much quicker and even the scan phase will be speeded up once I have a working reliable engine. NB It is working and reliable so has been sped up. Ok that's it. Try it out and sent me some comments. History: 1.0 Beta r1: First release. Bundled Net-Mail into main archive without renaming. Oops! 1.0 Beta r2: Second release. Appeared to work fine except if you change archivers. 1.0 Beta r3: Many changes. Monitoring return codes of archiver lines. Neatly skipping systems when there's a difference of archivers use on AKAs. Much faster scanning. Dupe checking on every line added to compiled flo-files. 1.0 Public Release: Changed delete functions to rexxsupport library Delete(). Stopped Bundler from adding unrecognised packets to the flow-file by default. Added 'FURPACK' keyword in the header. This forces UnRecognised packets to be added to the bundle file IF it's 'YES'. Recommend leave at 'NO'. Added ENV: setting when active. Bundler can not be run simultaneously on the same dir but several copies CAN be run on seperate directories. This was added since I found that a major bundler session could be activated from an incoming mail call (I use in my aftersession script in the mailer) and then another launching could get confused since files appear and disappear. Again no data loss could have occured but this is the elegant solution. Added Mode switch in header. Allows control of LZX compression mode. Where: 1 is fast but lowest compression. 3 is flow but highest compression. 2 is about right... 1.1 Beta: Change the MAXing code drastically. It now unarcs all the packets to be bundled FIRST and THEN arcs up when all are extracted to the temp dir. That made it a LOT LOT LOT fast for LZX mail but because it ALSO did it for LHA it was a waste for LHA systems since there's no POINT in repacking LHA mail since no gain will be had. Released that the LZX archiving AFTER deleting the mail packets was dangerous... So I added the facility where Bundler will go OFF-LINE if something goes wrong. It will refuse to start and also report the error since it was stashed in an ENV variable. I make the error tell you what system the mail in the temp dir was for. So IF LZX should bomb out from lack of memory at least you'll be able to repair later by hand. 1.2 Public Release: Made Hybrid MAXing code using 1.1 code for LZX and 1.0 code for LHA with the intelligent High speed concatenate to the largest packet... Works treat. Faster all round. Did up the CON display a tad to tell you what archiver code is being used and to display a '*' when the archiving ADDING is going on. Couple of redundant bits of code found. Been testing and I could find little else to improve upon. 1.25 Beta. Finding better ways to do things. Failed. Scrapped. 1.3 Public Release: Fixed a NASTY net-mail eating bug that affected LHA systems... Because I didn't use LHA much I missed this. Thanks to Christian Ruf for reporting this heinous bug. Fixed the failure of Bundler to rename the bigbundle to the bundler main address. Minor but ugly. To do: Speed up analysis though a good rexx opt improves matters. Maybe I'll look at coding in something other than Arexx though I quite like the 'ol rexx. Wish there was a proper compiler. Anyone care to tell me where I can get Rexx Plus? Mat Bettinson at Fido: 2:254/205.0 & E-Mail: mat@darkside.demon.co.uk