home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 10
/
aminetcdnumber101996.iso
/
Aminet
/
util
/
arc
/
Repack3_3.lha
/
repack.doc.English
next >
Wrap
Text File
|
1995-12-01
|
13KB
|
312 lines
******** **
********* **
** *** **
** ** **
** ** **** ** **** ***** ***** ** **
** *** ****** ******** *** *** ******* ** **
********* ** ** *** ** ** ** ** ** ** **
******** ** ** ** ** *** ** ****
** ** ******** ** ** ****** ** *****
** ** ** ** ** *** ** ** ** **
** ** ** ** ** ** ** ** ** **
** ** *** ** *** ** ** ** ** ** ** ***
** ** ******* ******** *** *** ******* ** **
** ** **** ** **** *** ** ***** ** ***
**
**
**
**
* * *
* *
* * ** * * ** * *** * ** ** **
* * * * ** * * * * * ** * * * * *
* * **** * ** * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* ** * ** * *** * * ** * **
Copyright (c) 1995 Andrea Vallinotto, All rights reserved.
*** Repack 1.0 and 2.0 by Mat Bettinson of the Plot Hatching Factory '95 ***
*** Repack 3.0 and above by Andrea Vallinotto of Nowhere software ***
*_*_*_* PLEASE READ THE COPYRIGHT NOTICE AT THE END OF THIS DOCUMENT ! *_*_*_*
************
*Disclamier*
************
There is no warranty for this software package. Although the author has tried
to prevent errors, he can't guarantee that the software package described in
this document is 100% reliable. YOU ARE THEREFORE USING THIS MATERIAL AT YOUR
OWN RISK. The author cannot be made responsible for any damage which is caused
by using this software package.
**************
*Introduction*
**************
What is Repack?
Repack stands for: Recursive Enhanced Pratical Archive Conversion Kit.
(Everybody say "Ooohhh!" :-) )
Repack is quite simple. All it does is to extract most of the known archive
types in the specified dir and repack with JFs LZX which is substantially
better. It then deletes the original archives when the LZX archiving is
finished.
Many other scripts already does this, but Repack has some options and
capabilities that no other program has; most important, Repack will convert the
archives RECURSIVELY! So, if you have an LHA archive that contains files like
file1
file2
dir1/file3
file.lha
dir2/file.zip
file.arj
it will be converted to an LZX archive that looks like this:
file1
file2
dir1/file3
file.lzx
dir2/file.lzx
file.lzx
Not bad eh ? :-)
In the distribution there's also a one-shot, single-file only version for BBS
owners (has been succesfully tested on C-Net systems). Have a look at the script
itself (repack.rexx.bbs) for more info and how to use it in BBS enviromnents.
***************
*Requirements:*
***************
To fully operate, Repack needs some programs and libraries; these programs
are: SetDate, Filenote, Delete, Which (found in AmigaDos 1.x and up), LZX 1.21,
lha (or lhx and even LZX registered), arc, unzip, unarj, unrar, zoo, hpack,
xarc, pak, gzip, tar (or Gnutar or Detar); you can get these on Aminet or
similar PD distributor.
Remember: since version 3.3, LZX version 1.21 or above is REQUIRED!
The libraries Repack needs are Rexxsupport.library, Rexxreqtools.library and
Reqtools.library. As the (un)archivers, the libraries are not included in this
package, but can be found on Aminet or FredFish.
A little note about the (un)archivers: Repack has been designed to work with
the most used types of archivers known, and especially SOME VERSION OF THEM!
This means that if you use an older or different version of any of the above
programs, Repack may not work. A good rule is that newer versions always work,
while older are not guaranteed to. Here are the version numbers of the
supported unarchivers, so if you have an older version of any of these... BE
CAREFUL!
Unzip 5.1 07.02.94
Unrar 1.0e ??.??.94
Unarj 2.41 12.03.94
Shrink 1.1 ??.??.92
Xarc (first and only version)
Zoo 2.1 09.07.91
Arc 0.23 03.14.87
Hpack 0.79a0 01.05.93
Pak 1.00 02.11.87
Gzip 1.2.4 18.08.93
One of: Tar ??, GnuTar ??, Detar 1.2 (28.3.95)
One of: Lha 1.48, Lhx 1.33, LZX 1.21 registered
Some notes about Lha archives: the registered version of LZX can extract Lha
archive as well, so if you are a registered user of LZX you don't need to have
Lha or Lhx to make Repack work. If you don't have LZX reg. , Repack will
fallback to Lhx and then to Lha.
A similar scheme applies to Tar archives: Repack will first try Tar, then Gnutar
and Detar as last.
***************
*Installation:*
***************
Copy the script (repack.rexx) to a suitable directory (REXX: is usually a good
choice), and if you want the "omit and add-file" feature, copy 'repack.ano' in
s: (see below for further infos).
It's ABSOLUTELY NECESSARY that you copy the script in a directory whose name
doesn't contain white spaces (' '), otherwise the recursion won't work. This is
an Arexx problem, not Repack's!
In the header of the file, there's the only line you can freely change: it's the
groupsize parameter, which determine the value passed to LZX in for the -M
option (see LZX docs!).
********
*Usage:*
********
-- Dopus v4.12:
Label a new button 'Repack', click on 'new entry', select AmigaDos (NOT Arexx!)
and put in the command line: 'Rx repack "{s}" "{d}"'. This way Dopus will
instruct Repack to convert the files in the source directory, using the
destination directory as temporary dir.
-- Shell (or similar):
Template:
Repack.rexx DIR-FILE/K,TEMPDIR/K,EFF./N,BBSMODE/S,DIR.RECURSION/S
Repack.rexx [Dir/File] [Temp dir] [(eff.)1|2|3] [(bbsmode)on|off] [(rec.)on|off]
Example:
rx Repack dh0:temp/a dh0:temp/b 3 ON ON
will repack each file in directory dh0:temp/a using dh0:temp/b as the temp dir.
The efficiency will be maximum and both the BBS mode and directory recursion
will be enabled.
If you don't provide any of the above parameters, a Reqtools requester will
appear for each, enabling you to make your choice.
Please keep in mind that even through the template looks like a standard
AmigaDos template you *CANNOT* use keywords like TEMPDIR or BBSMODE. Repack
will use the parameters supplied ONLY in the order described above!
Explanation of parameters and features:
--- Dir-File: This is the directory Repack will scan looking for archives to
convert, also called the source directory. It's the only directory that will be
changed when the repacking process will be finished (unless you have set the
Directory-recursion switch - see below).
Although Repack was originally meant for BBS owners who needed to convert
entire directories, this new version has been kluged to support also single
file selection. Since this was not the Repack's original goal, this option is
valid ONLY FROM THE COMMAND LINE!
--- Temp dir: This is the directory Repack will use to unpack the archives while
converting. Unlike the previous versions, this directory *doesn't* need to be
empty, but as always remember that it should have PLENTY of space: it must
accomodate the largest extracted archive, and this becomes very critical when
you convert files composed of many sub-archives, so be careful!
--- Efficency: It's the efficency for LZX. Have a look in LZX manual for more
explanation. Note that you can speed the repacking up some by using a low mode
setting (fast or default); even on 1 (fast), it will still be better than LHA
and considerably faster. In mode 3, LZX has proven to be better than ANY common
archiver, surpassing in compression both RAR and ARJ !
(GZip and Shrink are still the best on single files, but they are much slower.)
If you are a registered user of LZX, Repack will let you choose also the
cpu-killing mode 9, called 'Maximum compression' in LZX.
--- BBS mode switch: When enabled, Repack will set the date, time and comment
of the new .LZX archive as the old one. This could be useful for some bbs
(like C-Net and DLG) that will get otherwise confused by the comment and date
changes.
Note: in this mode there's a potential bug, caused by the syntax of the
Filenote command: if some moron included in a file comment one or more quotes
( " ), Filenote will get confused, resulting in an incomplete comment. This
problem could be addressed a future release of Repack, if it is really
necessary.
--- Directory recursion switch: this is the classical 'recursion' mode; when
enabled Repack will recurse into sub-directories looking for archives to
convert. Please keep in mind that this works IN SINGLE FILE MODE ALSO!!
--- Repack.ano: (Repack-Add'n'Omit) This is a text file that must be placed in
S: in order to work. It contains the file names Repack will omit from the
original archive and/or add to the repacked one. This file has its own syntax:
every line beginning with a semicolon ( ; ) will be considered comment and thus
skipped. Aside from the semicolons, two fields are supported, each one beginnig
with a keyword (either 'ADD:' or 'OMIT:') and ending at the end of the file or
at the other keyword.
Every file name in the 'ADD:' field will be added to the new archive. This
option was made for BBS Sysops who may wish to add a BBS.displayme file to the
repacked archives.
Every file name in the 'OMIT:' field won't be repacked; the omit function is
useful if you want to get rid of #?.displayme or file_id.diz kind of files that
BBS Sysops adds using the ADD: keyword :-)))
Both function support wildcards (as long as are supported by Delete and Copy
commands). Have a look at the file (s/repack.ano) for some examples.
General instructions:
The script is also smart enough (WOW!) to keep track of the archive sizes:
sometimes, when archives have few small files, it could happen that some
archives are smaller than LZX ones. In this case, Repack will leave the
original archive intact, and scrap the longer LZX's.
If an error occurs when operating, Repack will tell you what happened and
leave the original archive intact. However, keep in mind this feature relies on
the de-archivers behavior upon error: some of the older won't signal if
something goes wrong, and you may lose some files. THIS IS NOT REPACK'S FAULT!
For the few who might need it, I've also implemented a log file, that can be
found in t:, name (guess what?) 'Repack.log'.
It's generally a good idea to have the temp drawer on another drive other
than the partition that you are repacking on. Why? Because it will lower disk
thrashing and because for a reasonable drawer full of LHA archives, Repack
can take quite some time indeed depending on the speed of your machine...
If you have plenty of memory and are going to convert many files, I suggest you
make resident LHA (if you need it - see above under requirements), LZX and the
other unarchivers; this way, disk access will be reduced to minimum, and you'll
gain a reasonable amount of speed.
That's all folks, enjoy!
*********
*Thanks!*
*********
Many thanks to:
my brave betatesters:
Jan Pasotto
Angelo Verdone
Marco Bielli
Gino Casavecchia
J.Forbes for LZX
William S. Hawes for Arexx
Mat Bettinson for Repack v 1.0-2.0
Rafael D'Halleweyn for Rexxreqtools.library
Nico François for Reqtools.library
and Jay Miner, for having made a dream become true.
Curses to:
Commodore, for having almost fu**ed that dream.
*******************
*Copyright notice:*
*******************
_ ___
V1.0-2.0 by /\/\(-) | Fido: 2:254/205.0 & E-Mail: mat@darkside.demon.co.uk
V3.0 and up by A. Vallinotto : Fido 2:334/21.13 AmigaNet 39:101/402.13
E-Mail (Fidonet gateway): Andrea.Vallinotto@p13.f21.n334.z2.fidonet.org
Versions 1.0-2.0 of this program were a freeware production by Mat Bettinson.
Since the current version is an evolution of Mat's code, I release it as
completely FREEWARE. (However any donation is appreciated, like a 2-gigabytes
SCSI-2 HD :-) )
PD distributors such Aminet and Fish are allowed to distribute this software.
However, ANY other commercial use of this package without the prior written
consent of the author (Andrea Vallinotto) is expressly PROHIBITED.
Feel free to contact me for any suggestions, ideas, etc. at the address above.
And... if you have a nice sister, give her my address!
^^^^^^^^^^^^
This is a new form of payment for software, which I hope to use in next
productions. It will be named SISTERWARE! :-)))))
******************************************************************************