home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume36 / tcx / part02 < prev    next >
Encoding:
Text File  |  1993-04-03  |  26.2 KB  |  575 lines

  1. Newsgroups: comp.sources.misc
  2. From: slf@cs.mu.OZ.AU (Stewart Forster)
  3. Subject: v36i097:  tcx - Transparent Compressed Executables, v1.02, Part02/02
  4. Message-ID: <1993Apr4.225254.16122@sparky.imd.sterling.com>
  5. X-Md4-Signature: ab0ca443763052e716d2f54af7720761
  6. Date: Sun, 4 Apr 1993 22:52:54 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: slf@cs.mu.OZ.AU (Stewart Forster)
  10. Posting-number: Volume 36, Issue 97
  11. Archive-name: tcx/part02
  12. Environment: SunOS, Ultrix, Irix
  13.  
  14. #! /bin/sh
  15. # This is a shell archive.  Remove anything before this line, then feed it
  16. # into a shell via "sh file" or similar.  To overwrite existing files,
  17. # type "sh file -c".
  18. # Contents:  COPYING Makefile VERSION tcx.1 untcx.1
  19. # Wrapped by kent@sparky on Sun Apr  4 17:44:17 1993
  20. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  21. echo If this archive is complete, you will see the following message:
  22. echo '          "shar: End of archive 2 (of 2)."'
  23. if test -f 'COPYING' -a "${1}" != "-c" ; then 
  24.   echo shar: Will not clobber existing file \"'COPYING'\"
  25. else
  26.   echo shar: Extracting \"'COPYING'\" \(17982 characters\)
  27.   sed "s/^X//" >'COPYING' <<'END_OF_FILE'
  28. X            GNU GENERAL PUBLIC LICENSE
  29. X               Version 2, June 1991
  30. X
  31. X Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  32. X                          675 Mass Ave, Cambridge, MA 02139, USA
  33. X Everyone is permitted to copy and distribute verbatim copies
  34. X of this license document, but changing it is not allowed.
  35. X
  36. X                Preamble
  37. X
  38. X  The licenses for most software are designed to take away your
  39. Xfreedom to share and change it.  By contrast, the GNU General Public
  40. XLicense is intended to guarantee your freedom to share and change free
  41. Xsoftware--to make sure the software is free for all its users.  This
  42. XGeneral Public License applies to most of the Free Software
  43. XFoundation's software and to any other program whose authors commit to
  44. Xusing it.  (Some other Free Software Foundation software is covered by
  45. Xthe GNU Library General Public License instead.)  You can apply it to
  46. Xyour programs, too.
  47. X
  48. X  When we speak of free software, we are referring to freedom, not
  49. Xprice.  Our General Public Licenses are designed to make sure that you
  50. Xhave the freedom to distribute copies of free software (and charge for
  51. Xthis service if you wish), that you receive source code or can get it
  52. Xif you want it, that you can change the software or use pieces of it
  53. Xin new free programs; and that you know you can do these things.
  54. X
  55. X  To protect your rights, we need to make restrictions that forbid
  56. Xanyone to deny you these rights or to ask you to surrender the rights.
  57. XThese restrictions translate to certain responsibilities for you if you
  58. Xdistribute copies of the software, or if you modify it.
  59. X
  60. X  For example, if you distribute copies of such a program, whether
  61. Xgratis or for a fee, you must give the recipients all the rights that
  62. Xyou have.  You must make sure that they, too, receive or can get the
  63. Xsource code.  And you must show them these terms so they know their
  64. Xrights.
  65. X
  66. X  We protect your rights with two steps: (1) copyright the software, and
  67. X(2) offer you this license which gives you legal permission to copy,
  68. Xdistribute and/or modify the software.
  69. X
  70. X  Also, for each author's protection and ours, we want to make certain
  71. Xthat everyone understands that there is no warranty for this free
  72. Xsoftware.  If the software is modified by someone else and passed on, we
  73. Xwant its recipients to know that what they have is not the original, so
  74. Xthat any problems introduced by others will not reflect on the original
  75. Xauthors' reputations.
  76. X
  77. X  Finally, any free program is threatened constantly by software
  78. Xpatents.  We wish to avoid the danger that redistributors of a free
  79. Xprogram will individually obtain patent licenses, in effect making the
  80. Xprogram proprietary.  To prevent this, we have made it clear that any
  81. Xpatent must be licensed for everyone's free use or not licensed at all.
  82. X
  83. X  The precise terms and conditions for copying, distribution and
  84. Xmodification follow.
  85. X
  86. X            GNU GENERAL PUBLIC LICENSE
  87. X   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  88. X
  89. X  0. This License applies to any program or other work which contains
  90. Xa notice placed by the copyright holder saying it may be distributed
  91. Xunder the terms of this General Public License.  The "Program", below,
  92. Xrefers to any such program or work, and a "work based on the Program"
  93. Xmeans either the Program or any derivative work under copyright law:
  94. Xthat is to say, a work containing the Program or a portion of it,
  95. Xeither verbatim or with modifications and/or translated into another
  96. Xlanguage.  (Hereinafter, translation is included without limitation in
  97. Xthe term "modification".)  Each licensee is addressed as "you".
  98. X
  99. XActivities other than copying, distribution and modification are not
  100. Xcovered by this License; they are outside its scope.  The act of
  101. Xrunning the Program is not restricted, and the output from the Program
  102. Xis covered only if its contents constitute a work based on the
  103. XProgram (independent of having been made by running the Program).
  104. XWhether that is true depends on what the Program does.
  105. X
  106. X  1. You may copy and distribute verbatim copies of the Program's
  107. Xsource code as you receive it, in any medium, provided that you
  108. Xconspicuously and appropriately publish on each copy an appropriate
  109. Xcopyright notice and disclaimer of warranty; keep intact all the
  110. Xnotices that refer to this License and to the absence of any warranty;
  111. Xand give any other recipients of the Program a copy of this License
  112. Xalong with the Program.
  113. X
  114. XYou may charge a fee for the physical act of transferring a copy, and
  115. Xyou may at your option offer warranty protection in exchange for a fee.
  116. X
  117. X  2. You may modify your copy or copies of the Program or any portion
  118. Xof it, thus forming a work based on the Program, and copy and
  119. Xdistribute such modifications or work under the terms of Section 1
  120. Xabove, provided that you also meet all of these conditions:
  121. X
  122. X    a) You must cause the modified files to carry prominent notices
  123. X    stating that you changed the files and the date of any change.
  124. X
  125. X    b) You must cause any work that you distribute or publish, that in
  126. X    whole or in part contains or is derived from the Program or any
  127. X    part thereof, to be licensed as a whole at no charge to all third
  128. X    parties under the terms of this License.
  129. X
  130. X    c) If the modified program normally reads commands interactively
  131. X    when run, you must cause it, when started running for such
  132. X    interactive use in the most ordinary way, to print or display an
  133. X    announcement including an appropriate copyright notice and a
  134. X    notice that there is no warranty (or else, saying that you provide
  135. X    a warranty) and that users may redistribute the program under
  136. X    these conditions, and telling the user how to view a copy of this
  137. X    License.  (Exception: if the Program itself is interactive but
  138. X    does not normally print such an announcement, your work based on
  139. X    the Program is not required to print an announcement.)
  140. X
  141. XThese requirements apply to the modified work as a whole.  If
  142. Xidentifiable sections of that work are not derived from the Program,
  143. Xand can be reasonably considered independent and separate works in
  144. Xthemselves, then this License, and its terms, do not apply to those
  145. Xsections when you distribute them as separate works.  But when you
  146. Xdistribute the same sections as part of a whole which is a work based
  147. Xon the Program, the distribution of the whole must be on the terms of
  148. Xthis License, whose permissions for other licensees extend to the
  149. Xentire whole, and thus to each and every part regardless of who wrote it.
  150. X
  151. XThus, it is not the intent of this section to claim rights or contest
  152. Xyour rights to work written entirely by you; rather, the intent is to
  153. Xexercise the right to control the distribution of derivative or
  154. Xcollective works based on the Program.
  155. X
  156. XIn addition, mere aggregation of another work not based on the Program
  157. Xwith the Program (or with a work based on the Program) on a volume of
  158. Xa storage or distribution medium does not bring the other work under
  159. Xthe scope of this License.
  160. X
  161. X  3. You may copy and distribute the Program (or a work based on it,
  162. Xunder Section 2) in object code or executable form under the terms of
  163. XSections 1 and 2 above provided that you also do one of the following:
  164. X
  165. X    a) Accompany it with the complete corresponding machine-readable
  166. X    source code, which must be distributed under the terms of Sections
  167. X    1 and 2 above on a medium customarily used for software interchange; or,
  168. X
  169. X    b) Accompany it with a written offer, valid for at least three
  170. X    years, to give any third party, for a charge no more than your
  171. X    cost of physically performing source distribution, a complete
  172. X    machine-readable copy of the corresponding source code, to be
  173. X    distributed under the terms of Sections 1 and 2 above on a medium
  174. X    customarily used for software interchange; or,
  175. X
  176. X    c) Accompany it with the information you received as to the offer
  177. X    to distribute corresponding source code.  (This alternative is
  178. X    allowed only for noncommercial distribution and only if you
  179. X    received the program in object code or executable form with such
  180. X    an offer, in accord with Subsection b above.)
  181. X
  182. XThe source code for a work means the preferred form of the work for
  183. Xmaking modifications to it.  For an executable work, complete source
  184. Xcode means all the source code for all modules it contains, plus any
  185. Xassociated interface definition files, plus the scripts used to
  186. Xcontrol compilation and installation of the executable.  However, as a
  187. Xspecial exception, the source code distributed need not include
  188. Xanything that is normally distributed (in either source or binary
  189. Xform) with the major components (compiler, kernel, and so on) of the
  190. Xoperating system on which the executable runs, unless that component
  191. Xitself accompanies the executable.
  192. X
  193. XIf distribution of executable or object code is made by offering
  194. Xaccess to copy from a designated place, then offering equivalent
  195. Xaccess to copy the source code from the same place counts as
  196. Xdistribution of the source code, even though third parties are not
  197. Xcompelled to copy the source along with the object code.
  198. X
  199. X  4. You may not copy, modify, sublicense, or distribute the Program
  200. Xexcept as expressly provided under this License.  Any attempt
  201. Xotherwise to copy, modify, sublicense or distribute the Program is
  202. Xvoid, and will automatically terminate your rights under this License.
  203. XHowever, parties who have received copies, or rights, from you under
  204. Xthis License will not have their licenses terminated so long as such
  205. Xparties remain in full compliance.
  206. X
  207. X  5. You are not required to accept this License, since you have not
  208. Xsigned it.  However, nothing else grants you permission to modify or
  209. Xdistribute the Program or its derivative works.  These actions are
  210. Xprohibited by law if you do not accept this License.  Therefore, by
  211. Xmodifying or distributing the Program (or any work based on the
  212. XProgram), you indicate your acceptance of this License to do so, and
  213. Xall its terms and conditions for copying, distributing or modifying
  214. Xthe Program or works based on it.
  215. X
  216. X  6. Each time you redistribute the Program (or any work based on the
  217. XProgram), the recipient automatically receives a license from the
  218. Xoriginal licensor to copy, distribute or modify the Program subject to
  219. Xthese terms and conditions.  You may not impose any further
  220. Xrestrictions on the recipients' exercise of the rights granted herein.
  221. XYou are not responsible for enforcing compliance by third parties to
  222. Xthis License.
  223. X
  224. X  7. If, as a consequence of a court judgment or allegation of patent
  225. Xinfringement or for any other reason (not limited to patent issues),
  226. Xconditions are imposed on you (whether by court order, agreement or
  227. Xotherwise) that contradict the conditions of this License, they do not
  228. Xexcuse you from the conditions of this License.  If you cannot
  229. Xdistribute so as to satisfy simultaneously your obligations under this
  230. XLicense and any other pertinent obligations, then as a consequence you
  231. Xmay not distribute the Program at all.  For example, if a patent
  232. Xlicense would not permit royalty-free redistribution of the Program by
  233. Xall those who receive copies directly or indirectly through you, then
  234. Xthe only way you could satisfy both it and this License would be to
  235. Xrefrain entirely from distribution of the Program.
  236. X
  237. XIf any portion of this section is held invalid or unenforceable under
  238. Xany particular circumstance, the balance of the section is intended to
  239. Xapply and the section as a whole is intended to apply in other
  240. Xcircumstances.
  241. X
  242. XIt is not the purpose of this section to induce you to infringe any
  243. Xpatents or other property right claims or to contest validity of any
  244. Xsuch claims; this section has the sole purpose of protecting the
  245. Xintegrity of the free software distribution system, which is
  246. Ximplemented by public license practices.  Many people have made
  247. Xgenerous contributions to the wide range of software distributed
  248. Xthrough that system in reliance on consistent application of that
  249. Xsystem; it is up to the author/donor to decide if he or she is willing
  250. Xto distribute software through any other system and a licensee cannot
  251. Ximpose that choice.
  252. X
  253. XThis section is intended to make thoroughly clear what is believed to
  254. Xbe a consequence of the rest of this License.
  255. X
  256. X  8. If the distribution and/or use of the Program is restricted in
  257. Xcertain countries either by patents or by copyrighted interfaces, the
  258. Xoriginal copyright holder who places the Program under this License
  259. Xmay add an explicit geographical distribution limitation excluding
  260. Xthose countries, so that distribution is permitted only in or among
  261. Xcountries not thus excluded.  In such case, this License incorporates
  262. Xthe limitation as if written in the body of this License.
  263. X
  264. X  9. The Free Software Foundation may publish revised and/or new versions
  265. Xof the General Public License from time to time.  Such new versions will
  266. Xbe similar in spirit to the present version, but may differ in detail to
  267. Xaddress new problems or concerns.
  268. X
  269. XEach version is given a distinguishing version number.  If the Program
  270. Xspecifies a version number of this License which applies to it and "any
  271. Xlater version", you have the option of following the terms and conditions
  272. Xeither of that version or of any later version published by the Free
  273. XSoftware Foundation.  If the Program does not specify a version number of
  274. Xthis License, you may choose any version ever published by the Free Software
  275. XFoundation.
  276. X
  277. X  10. If you wish to incorporate parts of the Program into other free
  278. Xprograms whose distribution conditions are different, write to the author
  279. Xto ask for permission.  For software which is copyrighted by the Free
  280. XSoftware Foundation, write to the Free Software Foundation; we sometimes
  281. Xmake exceptions for this.  Our decision will be guided by the two goals
  282. Xof preserving the free status of all derivatives of our free software and
  283. Xof promoting the sharing and reuse of software generally.
  284. X
  285. X                NO WARRANTY
  286. X
  287. X  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  288. XFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
  289. XOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
  290. XPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  291. XOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  292. XMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
  293. XTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  294. XPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  295. XREPAIR OR CORRECTION.
  296. X
  297. X  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  298. XWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
  299. XREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
  300. XINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
  301. XOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
  302. XTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
  303. XYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  304. XPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  305. XPOSSIBILITY OF SUCH DAMAGES.
  306. X
  307. X             END OF TERMS AND CONDITIONS
  308. X
  309. X    Appendix: How to Apply These Terms to Your New Programs
  310. X
  311. X  If you develop a new program, and you want it to be of the greatest
  312. Xpossible use to the public, the best way to achieve this is to make it
  313. Xfree software which everyone can redistribute and change under these terms.
  314. X
  315. X  To do so, attach the following notices to the program.  It is safest
  316. Xto attach them to the start of each source file to most effectively
  317. Xconvey the exclusion of warranty; and each file should have at least
  318. Xthe "copyright" line and a pointer to where the full notice is found.
  319. X
  320. X    <one line to give the program's name and a brief idea of what it does.>
  321. X    Copyright (C) 19yy  <name of author>
  322. X
  323. X    This program is free software; you can redistribute it and/or modify
  324. X    it under the terms of the GNU General Public License as published by
  325. X    the Free Software Foundation; either version 2 of the License, or
  326. X    (at your option) any later version.
  327. X
  328. X    This program is distributed in the hope that it will be useful,
  329. X    but WITHOUT ANY WARRANTY; without even the implied warranty of
  330. X    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  331. X    GNU General Public License for more details.
  332. X
  333. X    You should have received a copy of the GNU General Public License
  334. X    along with this program; if not, write to the Free Software
  335. X    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  336. X
  337. XAlso add information on how to contact you by electronic and paper mail.
  338. X
  339. XIf the program is interactive, make it output a short notice like this
  340. Xwhen it starts in an interactive mode:
  341. X
  342. X    Gnomovision version 69, Copyright (C) 19yy name of author
  343. X    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  344. X    This is free software, and you are welcome to redistribute it
  345. X    under certain conditions; type `show c' for details.
  346. X
  347. XThe hypothetical commands `show w' and `show c' should show the appropriate
  348. Xparts of the General Public License.  Of course, the commands you use may
  349. Xbe called something other than `show w' and `show c'; they could even be
  350. Xmouse-clicks or menu items--whatever suits your program.
  351. X
  352. XYou should also get your employer (if you work as a programmer) or your
  353. Xschool, if any, to sign a "copyright disclaimer" for the program, if
  354. Xnecessary.  Here is a sample; alter the names:
  355. X
  356. X  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  357. X  `Gnomovision' (which makes passes at compilers) written by James Hacker.
  358. X
  359. X  <signature of Ty Coon>, 1 April 1989
  360. X  Ty Coon, President of Vice
  361. X
  362. XThis General Public License does not permit incorporating your program into
  363. Xproprietary programs.  If your program is a subroutine library, you may
  364. Xconsider it more useful to permit linking proprietary applications with the
  365. Xlibrary.  If this is what you want to do, use the GNU Library General
  366. XPublic License instead of this License.
  367. END_OF_FILE
  368.   if test 17982 -ne `wc -c <'COPYING'`; then
  369.     echo shar: \"'COPYING'\" unpacked with wrong size!
  370.   fi
  371.   # end of 'COPYING'
  372. fi
  373. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  374.   echo shar: Will not clobber existing file \"'Makefile'\"
  375. else
  376.   echo shar: Extracting \"'Makefile'\" \(567 characters\)
  377.   sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  378. X#
  379. X#        Makefile for tcx
  380. X#
  381. X#    Author : Stewart Forster, University Of Melbourne, 25/31993
  382. X#
  383. X
  384. X# C compiler of your choice.  Should be ansi'ish
  385. XCC = cc            # IRIX, ULTRIX
  386. X#CC = gcc        # SUNOS
  387. X
  388. X
  389. X# Cflags of choice.
  390. XCFLAGS = -s -O
  391. X
  392. X
  393. X# Any libraries
  394. XLIBS = -lmalloc -lc_s    # IRIX
  395. X#LIBS =            # SUNOS, ULTRIX
  396. X
  397. X
  398. Xall:    tcx untcx
  399. X
  400. Xtcx:    tcx.c config.h
  401. X    $(CC) $(CFLAGS) -o tcx tcx.c $(LIBS)
  402. X
  403. Xuntcx:    untcx.c config.h
  404. X    $(CC) $(CFLAGS) -o untcx untcx.c $(LIBS)
  405. X
  406. Xshar:
  407. X    shar -c -l 45 -o tcx README VERSION COPYING Makefile tcx.1 untcx.1 tcx.c config.h untcx.c
  408. X
  409. Xclean:
  410. X    /bin/rm -f *.o tcx untcx
  411. END_OF_FILE
  412.   if test 567 -ne `wc -c <'Makefile'`; then
  413.     echo shar: \"'Makefile'\" unpacked with wrong size!
  414.   fi
  415.   # end of 'Makefile'
  416. fi
  417. if test -f 'VERSION' -a "${1}" != "-c" ; then 
  418.   echo shar: Will not clobber existing file \"'VERSION'\"
  419. else
  420.   echo shar: Extracting \"'VERSION'\" \(1239 characters\)
  421.   sed "s/^X//" >'VERSION' <<'END_OF_FILE'
  422. XVersion 1.0.2    (27/3/1993)    Stewart Forster
  423. X    untcx.c        v1.0.2
  424. X        - Added open file table reference count to internal hash
  425. X        tables for SUNOS.  This means that inodes won't have to
  426. X        time out before recompressing the file they point to.
  427. X          Thanks to Mike Lawley for pointing out problem
  428. X        - Fixed tragic bug in pathname resolution that would have
  429. X        caused a lot of problems when a program needs to access
  430. X        files in the directory in which it was invoked, and not
  431. X        where it lived! Also the cause of incorrect pathname
  432. X        generation on NFS mounted executables placed in ENFSDIR.
  433. X        Thanks to many who directly and indirectly reported this.
  434. XVersion 1.0.1    (26/3/1993)    Stewart Forster
  435. X    tcx.c        v1.0.2
  436. X        - Worked around Ultrix file lock problem on NFS mounted
  437. X        files.  Ultrix 4.2 can't lock NFS files.
  438. X            v1.0.1
  439. X        - Rewrote scratch file creation code to fix Ultrix
  440. X        ftruncate bug reported by John Adcock and Joel Fine.
  441. X        Removed the need for ftruncate().
  442. X    untcx.c        v1.0.1
  443. X        - Fixed trailing slash on mkdir argument which Ultrix
  444. X        barfs on. Reported by John Adcock.
  445. X    config.h    v1.0.1
  446. X        - Added comments about not using tmpfs on SUNOS for ENFSDIR
  447. X
  448. XVersion 1.0    (25/3/1993)    (Original Release)    Stewart Forster
  449. X    tcx.c        v1.0
  450. X    untcx.c        v1.0        
  451. X    config.h    v1.0
  452. END_OF_FILE
  453.   if test 1239 -ne `wc -c <'VERSION'`; then
  454.     echo shar: \"'VERSION'\" unpacked with wrong size!
  455.   fi
  456.   # end of 'VERSION'
  457. fi
  458. if test -f 'tcx.1' -a "${1}" != "-c" ; then 
  459.   echo shar: Will not clobber existing file \"'tcx.1'\"
  460. else
  461.   echo shar: Extracting \"'tcx.1'\" \(2011 characters\)
  462.   sed "s/^X//" >'tcx.1' <<'END_OF_FILE'
  463. X.TH TCX 1 "19 March 1993"
  464. X.UC Melb
  465. X.SH NAME
  466. Xtcx \- Transparantly compress executables
  467. X.SH SYNOPSIS
  468. Xtcx filename
  469. X.SH DESCRIPTION
  470. X.B Tcx
  471. Xwill replace an executable with a compressed version of it that is still
  472. Xcapable of being executed.  The amount of savings will depend on the
  473. Xcompression algorithm configured for use by tcx.
  474. XAn executable compressed with tcx can be run as per normal with (hopefully) no
  475. Xside effects other than a minor delay in startup time.
  476. X.PP
  477. XExecutables local to the system (not NFS mounted) are uncompressed in place
  478. Xand recompressed again some time after it stops being used.  The standard
  479. Xtimeout is 1/2 an hour.
  480. X.PP
  481. XExecutables residing on NFS mounted directores are unpacked to a directory local
  482. Xto the system and run from there.  These executables lie around for about one
  483. Xminute after disuse, after which time they get deleted.
  484. X.PP
  485. XAll this action is transparant to the user, but executables residing on NFS
  486. Xmounted filesystems actually get the benefit of not hanging, in the event of
  487. Xpaging activity, if the NFS server on which they live goes down.  This fact
  488. Xwill also improve the performance of executables on machines short of memory.
  489. X.SH SEE ALSO
  490. Xuntcx(1)
  491. X.SH CAVEATS
  492. XTcx will try to maintain permissions but in order to allow execution
  493. Xof a program on an NFS mounted filesystem to which another machine may
  494. Xnot have root access to, it also sets the read bits on the executable
  495. Xcorresponding to the execute bits.  This may be a slight security flaw
  496. Xand if it causes you problems on particular executables, do not use it on them.
  497. X.PP
  498. XTcx requires the corresponding untcx(1) program to be available otherwise
  499. Xtransparency is not assured.  Yell at your Systems Programmer if tcx'ed
  500. Xexecutables fail to execute.
  501. X.SH BUGS
  502. XTcx is still in beta test stage, so there are bound to be some.
  503. XPlease report any bugs or "patch"-style bug fixes (or new system ports)
  504. Xor even just suggested improvements, via email to slf@cs.mu.OZ.AU
  505. X.SH AUTHOR
  506. XStewart Forster, University Of Melbourne, 1993
  507. END_OF_FILE
  508.   if test 2011 -ne `wc -c <'tcx.1'`; then
  509.     echo shar: \"'tcx.1'\" unpacked with wrong size!
  510.   fi
  511.   # end of 'tcx.1'
  512. fi
  513. if test -f 'untcx.1' -a "${1}" != "-c" ; then 
  514.   echo shar: Will not clobber existing file \"'untcx.1'\"
  515. else
  516.   echo shar: Extracting \"'untcx.1'\" \(1499 characters\)
  517.   sed "s/^X//" >'untcx.1' <<'END_OF_FILE'
  518. X.TH UNTCX 1 "19 March 1993"
  519. X.UC Melb
  520. X.SH NAME
  521. Xuntcx \- Uncompress or execute tcx executables
  522. X.SH SYNOPSIS
  523. Xuntcx [-x | -u] filename [args]
  524. X.SH DESCRIPTION
  525. X\fBUntcx\fP performs three functions.  Firstly used as listed above, it
  526. Xwill uncompress an executable compressed with tcx(1), if such compression
  527. Xis no longer desired.  If the \fB-x\fP option is specified, this will force
  528. Xuntcx to execute \fBfilename\fP, with \fBargs\fP as command line arguments.
  529. X.PP
  530. XIf the \fB-u\fP option is given, this forces untcx into plain decompression
  531. Xof \fBfilename\fP.  Note, that while this is the default mode of operation for
  532. Xusers other than root, it is required if the invoking user is root.
  533. X.PP
  534. XSecondly it is the tool which performs and transparant uncompression
  535. Xand execution of executables compressed with tcx(1).  This mode of
  536. Xoperation is never directly seen by the user (otherwise it wouldn't
  537. Xbe transparent would it!).
  538. X.PP
  539. XThirdly it invokes itself in a daemon mode which will keep track of
  540. Xall executables operating withing the tcx system, to allow for
  541. Xtransparent recompression of executables that have been uncompressed
  542. Xin the process of being invoked.  This mode of operation is also
  543. Xtransparent to the user.
  544. X.SH SEE ALSO
  545. Xtcx(1)
  546. X.SH BUGS
  547. XUntcx is still in beta test stage, so there are bound to be some.
  548. XPlease report any bugs or "patch"-style bug fixes (or new system ports)
  549. Xor even just suggested improvements, via email to slf@cs.mu.OZ.AU
  550. X.SH AUTHOR
  551. XStewart Forster, University Of Melbourne, 1993
  552. END_OF_FILE
  553.   if test 1499 -ne `wc -c <'untcx.1'`; then
  554.     echo shar: \"'untcx.1'\" unpacked with wrong size!
  555.   fi
  556.   # end of 'untcx.1'
  557. fi
  558. echo shar: End of archive 2 \(of 2\).
  559. cp /dev/null ark2isdone
  560. MISSING=""
  561. for I in 1 2 ; do
  562.     if test ! -f ark${I}isdone ; then
  563.     MISSING="${MISSING} ${I}"
  564.     fi
  565. done
  566. if test "${MISSING}" = "" ; then
  567.     echo You have unpacked both archives.
  568.     rm -f ark[1-9]isdone
  569. else
  570.     echo You still must unpack the following archives:
  571.     echo "        " ${MISSING}
  572. fi
  573. exit 0
  574. exit 0 # Just in case...
  575.