home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| dexmagic
| PrintFox/Pagefox WEAK
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/news
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 73 70 | 61 72 6b 79 21 75 75 6e |Path: sp|arky!uun|
|00000010| 65 74 21 6f 6c 69 76 65 | 61 21 68 61 6c 2e 63 6f |et!olive|a!hal.co|
|00000020| 6d 21 70 61 72 6c 6f 2e | 68 61 6c 2e 43 4f 4d 21 |m!parlo.|hal.COM!|
|00000030| 6e 6f 74 2d 66 6f 72 2d | 6d 61 69 6c 0a 46 72 6f |not-for-|mail.Fro|
|00000040| 6d 3a 20 70 61 75 6c 40 | 68 61 6c 2e 43 4f 4d 20 |m: paul@|hal.COM |
|00000050| 28 50 61 75 6c 20 53 61 | 6e 64 65 72 29 0a 4e 65 |(Paul Sa|nder).Ne|
|00000060| 77 73 67 72 6f 75 70 73 | 3a 20 63 6f 6d 70 2e 75 |wsgroups|: comp.u|
|00000070| 6e 69 78 2e 61 75 78 0a | 53 75 62 6a 65 63 74 3a |nix.aux.|Subject:|
|00000080| 20 73 79 73 74 65 6d 66 | 6f 6c 64 65 72 20 72 65 | systemf|older re|
|00000090| 70 6c 61 63 65 6d 65 6e | 74 0a 53 75 6d 6d 61 72 |placemen|t.Summar|
|000000a0| 79 3a 20 48 65 6c 70 73 | 20 77 68 65 6e 20 70 72 |y: Helps| when pr|
|000000b0| 6f 64 75 63 74 73 20 61 | 72 65 20 69 6e 73 74 61 |oducts a|re insta|
|000000c0| 6c 6c 65 64 20 69 6e 20 | 53 79 73 74 65 6d 20 46 |lled in |System F|
|000000d0| 6f 6c 64 65 72 0a 4d 65 | 73 73 61 67 65 2d 49 44 |older.Me|ssage-ID|
|000000e0| 3a 20 3c 31 69 6f 69 35 | 33 49 4e 4e 74 30 62 40 |: <1ioi5|3INNt0b@|
|000000f0| 70 61 72 6c 6f 2e 68 61 | 6c 2e 43 4f 4d 3e 0a 44 |parlo.ha|l.COM>.D|
|00000100| 61 74 65 3a 20 31 30 20 | 4a 61 6e 20 39 33 20 30 |ate: 10 |Jan 93 0|
|00000110| 37 3a 31 30 3a 32 37 20 | 47 4d 54 0a 4f 72 67 61 |7:10:27 |GMT.Orga|
|00000120| 6e 69 7a 61 74 69 6f 6e | 3a 20 48 61 4c 20 43 6f |nization|: HaL Co|
|00000130| 6d 70 75 74 65 72 20 53 | 79 73 74 65 6d 73 2c 20 |mputer S|ystems, |
|00000140| 49 6e 63 2e 0a 4c 69 6e | 65 73 3a 20 37 30 34 0a |Inc..Lin|es: 704.|
|00000150| 4e 4e 54 50 2d 50 6f 73 | 74 69 6e 67 2d 48 6f 73 |NNTP-Pos|ting-Hos|
|00000160| 74 3a 20 70 61 72 6c 6f | 2e 68 61 6c 2e 63 6f 6d |t: parlo|.hal.com|
|00000170| 0a 0a 57 68 65 6e 20 49 | 20 75 70 67 72 61 64 65 |..When I| upgrade|
|00000180| 64 20 74 6f 20 41 2f 55 | 58 20 33 2e 30 2c 20 49 |d to A/U|X 3.0, I|
|00000190| 20 66 6f 75 6e 64 20 69 | 74 20 64 69 66 66 69 63 | found i|t diffic|
|000001a0| 75 6c 74 20 74 6f 20 75 | 70 67 72 61 64 65 20 74 |ult to u|pgrade t|
|000001b0| 68 65 20 41 2f 55 58 0a | 64 65 73 6b 74 6f 70 20 |he A/UX.|desktop |
|000001c0| 62 65 63 61 75 73 65 20 | 49 20 68 61 64 20 61 20 |because |I had a |
|000001d0| 62 75 6e 63 68 20 6f 66 | 20 73 74 75 66 66 20 69 |bunch of| stuff i|
|000001e0| 6e 73 74 61 6c 6c 65 64 | 20 73 6f 20 74 68 61 74 |nstalled| so that|
|000001f0| 20 70 65 6f 70 6c 65 20 | 63 72 65 61 74 69 6e 67 | people |creating|
|00000200| 0a 70 65 72 73 6f 6e 61 | 6c 20 53 79 73 74 65 6d |.persona|l System|
|00000210| 20 46 6f 6c 64 65 72 73 | 20 77 6f 75 6c 64 20 70 | Folders| would p|
|00000220| 69 63 6b 20 75 70 20 74 | 68 65 20 61 64 64 69 74 |ick up t|he addit|
|00000230| 69 6f 6e 61 6c 20 73 6f | 66 74 77 61 72 65 2e 20 |ional so|ftware. |
|00000240| 20 28 45 78 61 6d 70 6c | 65 73 0a 6f 66 20 73 75 | (Exampl|es.of su|
|00000250| 63 68 20 74 68 69 6e 67 | 73 20 61 72 65 20 61 64 |ch thing|s are ad|
|00000260| 64 69 74 69 6f 6e 61 6c | 20 66 6f 6e 74 73 2c 20 |ditional| fonts, |
|00000270| 69 6e 69 74 73 2c 20 61 | 6e 64 20 73 6f 20 6f 6e |inits, a|nd so on|
|00000280| 2e 29 20 20 49 20 68 61 | 64 20 77 69 73 68 65 64 |.) I ha|d wished|
|00000290| 20 74 68 61 74 0a 49 20 | 63 6f 75 6c 64 20 65 61 | that.I |could ea|
|000002a0| 73 69 6c 79 20 73 65 70 | 61 72 61 74 65 20 6f 75 |sily sep|arate ou|
|000002b0| 74 20 74 68 65 20 69 6e | 73 74 61 6c 6c 65 64 20 |t the in|stalled |
|000002c0| 70 72 6f 64 75 63 74 73 | 20 73 6f 20 74 68 61 74 |products| so that|
|000002d0| 20 49 20 63 6f 75 6c 64 | 20 65 61 73 69 6c 79 0a | I could| easily.|
|000002e0| 75 70 67 72 61 64 65 20 | 65 61 63 68 20 69 6e 64 |upgrade |each ind|
|000002f0| 69 76 69 64 75 61 6c 20 | 70 72 6f 64 75 63 74 20 |ividual |product |
|00000300| 61 73 20 77 65 6c 6c 20 | 61 73 20 74 68 65 20 41 |as well |as the A|
|00000310| 2f 55 58 20 73 79 73 74 | 65 6d 20 73 6f 66 74 77 |/UX syst|em softw|
|00000320| 61 72 65 2e 0a 0a 48 65 | 72 65 20 69 73 20 61 20 |are...He|re is a |
|00000330| 50 65 72 6c 20 28 34 2e | 30 31 39 29 20 73 63 72 |Perl (4.|019) scr|
|00000340| 69 70 74 20 74 68 61 74 | 20 72 65 70 6c 61 63 65 |ipt that| replace|
|00000350| 73 20 74 68 65 20 73 79 | 73 74 65 6d 66 6f 6c 64 |s the sy|stemfold|
|00000360| 65 72 20 73 63 72 69 70 | 74 20 61 6e 64 0a 62 75 |er scrip|t and.bu|
|00000370| 69 6c 64 73 20 61 20 70 | 65 72 73 6f 6e 61 6c 20 |ilds a p|ersonal |
|00000380| 53 79 73 74 65 6d 20 46 | 6f 6c 64 65 72 20 62 61 |System F|older ba|
|00000390| 73 65 64 20 6f 6e 20 66 | 69 6c 65 73 20 74 68 61 |sed on f|iles tha|
|000003a0| 74 20 68 61 76 65 20 62 | 65 65 6e 20 69 6e 73 74 |t have b|een inst|
|000003b0| 61 6c 6c 65 64 0a 69 6e | 20 2f 6d 61 63 2f 6c 69 |alled.in| /mac/li|
|000003c0| 62 2f 53 79 73 74 65 6d | 46 69 6c 65 73 20 61 6e |b/System|Files an|
|000003d0| 64 20 61 6c 73 6f 20 6f | 74 68 65 72 20 70 72 6f |d also o|ther pro|
|000003e0| 64 75 63 74 2d 73 70 65 | 63 69 66 69 63 20 64 69 |duct-spe|cific di|
|000003f0| 72 65 63 74 6f 72 69 65 | 73 2e 0a 0a 55 6e 70 61 |rectorie|s...Unpa|
|00000400| 63 6b 20 74 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |ck the f|ollowing|
|00000410| 20 73 68 61 72 63 68 69 | 76 65 2e 20 20 49 74 20 | sharchi|ve. It |
|00000420| 77 69 6c 6c 20 70 72 6f | 64 75 63 65 20 74 68 65 |will pro|duce the|
|00000430| 20 50 65 72 6c 20 73 63 | 72 69 70 74 2c 20 61 20 | Perl sc|ript, a |
|00000440| 4d 61 6b 65 66 69 6c 65 | 2c 0a 61 6e 64 20 61 20 |Makefile|,.and a |
|00000450| 6d 61 6e 20 70 61 67 65 | 2e 20 20 45 64 69 74 20 |man page|. Edit |
|00000460| 74 68 65 20 4d 61 6b 65 | 66 69 6c 65 20 74 6f 20 |the Make|file to |
|00000470| 69 6e 73 74 61 6c 6c 20 | 74 68 65 20 73 63 72 69 |install |the scri|
|00000480| 70 74 20 69 6e 20 74 68 | 65 20 72 69 67 68 74 20 |pt in th|e right |
|00000490| 70 6c 61 63 65 2c 0a 61 | 6e 64 20 73 65 6c 65 63 |place,.a|nd selec|
|000004a0| 74 20 61 20 63 6f 6e 76 | 65 6e 69 65 6e 74 20 6c |t a conv|enient l|
|000004b0| 6f 63 61 74 69 6f 6e 20 | 66 6f 72 20 74 68 65 20 |ocation |for the |
|000004c0| 70 72 6f 64 75 63 74 20 | 64 69 72 65 63 74 6f 72 |product |director|
|000004d0| 69 65 73 2e 20 20 54 68 | 65 6e 20 64 6f 20 61 0a |ies. Th|en do a.|
|000004e0| 22 6d 61 6b 65 22 20 74 | 6f 20 62 75 69 6c 64 20 |"make" t|o build |
|000004f0| 74 68 65 20 66 69 6e 61 | 6c 20 70 72 6f 64 75 63 |the fina|l produc|
|00000500| 74 20 61 6e 64 20 66 6f | 72 6d 61 74 20 74 68 65 |t and fo|rmat the|
|00000510| 20 6d 61 6e 20 70 61 67 | 65 2e 20 20 54 68 65 6e | man pag|e. Then|
|00000520| 20 64 6f 20 61 20 0a 22 | 6d 61 6b 65 20 69 6e 73 | do a ."|make ins|
|00000530| 74 61 6c 6c 22 20 74 6f | 20 69 6e 73 74 61 6c 6c |tall" to| install|
|00000540| 20 74 68 65 20 73 63 72 | 69 70 74 20 61 6e 64 20 | the scr|ipt and |
|00000550| 74 68 65 20 6d 61 6e 20 | 70 61 67 65 2e 0a 0a 23 |the man |page...#|
|00000560| 21 20 2f 62 69 6e 2f 73 | 68 0a 23 20 54 68 69 73 |! /bin/s|h.# This|
|00000570| 20 69 73 20 61 20 73 68 | 65 6c 6c 20 61 72 63 68 | is a sh|ell arch|
|00000580| 69 76 65 2e 20 20 52 65 | 6d 6f 76 65 20 61 6e 79 |ive. Re|move any|
|00000590| 74 68 69 6e 67 20 62 65 | 66 6f 72 65 20 74 68 69 |thing be|fore thi|
|000005a0| 73 20 6c 69 6e 65 2c 20 | 74 68 65 6e 20 75 6e 70 |s line, |then unp|
|000005b0| 61 63 6b 0a 23 20 69 74 | 20 62 79 20 73 61 76 69 |ack.# it| by savi|
|000005c0| 6e 67 20 69 74 20 69 6e | 74 6f 20 61 20 66 69 6c |ng it in|to a fil|
|000005d0| 65 20 61 6e 64 20 74 79 | 70 69 6e 67 20 22 73 68 |e and ty|ping "sh|
|000005e0| 20 66 69 6c 65 22 2e 20 | 20 54 6f 20 6f 76 65 72 | file". | To over|
|000005f0| 77 72 69 74 65 20 65 78 | 69 73 74 69 6e 67 0a 23 |write ex|isting.#|
|00000600| 20 66 69 6c 65 73 2c 20 | 74 79 70 65 20 22 73 68 | files, |type "sh|
|00000610| 20 66 69 6c 65 20 2d 63 | 22 2e 20 20 59 6f 75 20 | file -c|". You |
|00000620| 63 61 6e 20 61 6c 73 6f | 20 66 65 65 64 20 74 68 |can also| feed th|
|00000630| 69 73 20 61 73 20 73 74 | 61 6e 64 61 72 64 20 69 |is as st|andard i|
|00000640| 6e 70 75 74 20 76 69 61 | 0a 23 20 75 6e 73 68 61 |nput via|.# unsha|
|00000650| 72 2c 20 6f 72 20 62 79 | 20 74 79 70 69 6e 67 20 |r, or by| typing |
|00000660| 22 73 68 20 3c 66 69 6c | 65 22 2c 20 65 2e 67 2e |"sh <fil|e", e.g.|
|00000670| 2e 20 20 49 66 20 74 68 | 69 73 20 61 72 63 68 69 |. If th|is archi|
|00000680| 76 65 20 69 73 20 63 6f | 6d 70 6c 65 74 65 2c 20 |ve is co|mplete, |
|00000690| 79 6f 75 0a 23 20 77 69 | 6c 6c 20 73 65 65 20 74 |you.# wi|ll see t|
|000006a0| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 6d 65 73 |he follo|wing mes|
|000006b0| 73 61 67 65 20 61 74 20 | 74 68 65 20 65 6e 64 3a |sage at |the end:|
|000006c0| 0a 23 09 09 22 45 6e 64 | 20 6f 66 20 73 68 65 6c |.#.."End| of shel|
|000006d0| 6c 20 61 72 63 68 69 76 | 65 2e 22 0a 23 20 43 6f |l archiv|e.".# Co|
|000006e0| 6e 74 65 6e 74 73 3a 20 | 20 4d 61 6b 65 66 69 6c |ntents: | Makefil|
|000006f0| 65 20 6d 6b 73 79 73 74 | 65 6d 2e 70 65 72 6c 20 |e mksyst|em.perl |
|00000700| 6d 6b 73 79 73 74 65 6d | 2e 6d 61 6e 0a 23 20 57 |mksystem|.man.# W|
|00000710| 72 61 70 70 65 64 20 62 | 79 20 70 61 75 6c 40 73 |rapped b|y paul@s|
|00000720| 61 6e 64 65 72 20 6f 6e | 20 53 61 74 20 4a 61 6e |ander on| Sat Jan|
|00000730| 20 20 39 20 31 38 3a 31 | 38 3a 32 37 20 31 39 39 | 9 18:1|8:27 199|
|00000740| 33 0a 50 41 54 48 3d 2f | 62 69 6e 3a 2f 75 73 72 |3.PATH=/|bin:/usr|
|00000750| 2f 62 69 6e 3a 2f 75 73 | 72 2f 75 63 62 20 3b 20 |/bin:/us|r/ucb ; |
|00000760| 65 78 70 6f 72 74 20 50 | 41 54 48 0a 69 66 20 74 |export P|ATH.if t|
|00000770| 65 73 74 20 2d 66 20 4d | 61 6b 65 66 69 6c 65 20 |est -f M|akefile |
|00000780| 2d 61 20 22 24 7b 31 7d | 22 20 21 3d 20 22 2d 63 |-a "${1}|" != "-c|
|00000790| 22 20 3b 20 74 68 65 6e | 20 0a 20 20 65 63 68 6f |" ; then| . echo|
|000007a0| 20 73 68 61 72 3a 20 57 | 69 6c 6c 20 6e 6f 74 20 | shar: W|ill not |
|000007b0| 6f 76 65 72 2d 77 72 69 | 74 65 20 65 78 69 73 74 |over-wri|te exist|
|000007c0| 69 6e 67 20 66 69 6c 65 | 20 5c 22 4d 61 6b 65 66 |ing file| \"Makef|
|000007d0| 69 6c 65 5c 22 0a 65 6c | 73 65 0a 65 63 68 6f 20 |ile\".el|se.echo |
|000007e0| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|000007f0| 20 5c 22 4d 61 6b 65 66 | 69 6c 65 5c 22 20 5c 28 | \"Makef|ile\" \(|
|00000800| 31 30 31 36 20 63 68 61 | 72 61 63 74 65 72 73 5c |1016 cha|racters\|
|00000810| 29 0a 73 65 64 20 22 73 | 2f 5e 58 2f 2f 22 20 3e |).sed "s|/^X//" >|
|00000820| 4d 61 6b 65 66 69 6c 65 | 20 3c 3c 27 45 4e 44 5f |Makefile| <<'END_|
|00000830| 4f 46 5f 4d 61 6b 65 66 | 69 6c 65 27 0a 58 23 20 |OF_Makef|ile'.X# |
|00000840| 4d 61 6b 65 66 69 6c 65 | 20 66 6f 72 20 6d 6b 73 |Makefile| for mks|
|00000850| 79 73 74 65 6d 0a 58 0a | 58 23 20 53 65 74 20 74 |ystem.X.|X# Set t|
|00000860| 68 69 73 20 74 6f 20 74 | 68 65 20 64 69 72 65 63 |his to t|he direc|
|00000870| 74 6f 72 79 20 63 6f 6e | 74 61 69 6e 69 6e 67 20 |tory con|taining |
|00000880| 66 69 6c 65 73 20 74 68 | 61 74 20 65 78 74 65 6e |files th|at exten|
|00000890| 64 20 74 68 65 20 53 79 | 73 74 65 6d 20 46 6f 6c |d the Sy|stem Fol|
|000008a0| 64 65 72 2e 0a 58 50 52 | 4f 44 55 43 54 53 3d 2f |der..XPR|ODUCTS=/|
|000008b0| 75 73 72 32 2f 6d 61 63 | 2f 53 79 73 74 65 6d 46 |usr2/mac|/SystemF|
|000008c0| 69 6c 65 73 0a 58 0a 58 | 23 20 53 65 74 20 74 68 |iles.X.X|# Set th|
|000008d0| 69 73 20 74 6f 20 74 68 | 65 20 69 6e 73 74 61 6c |is to th|e instal|
|000008e0| 6c 20 70 6f 69 6e 74 20 | 6f 66 20 74 68 65 20 73 |l point |of the s|
|000008f0| 63 72 69 70 74 0a 58 44 | 45 53 54 44 49 52 3d 2f |cript.XD|ESTDIR=/|
|00000900| 75 73 72 2f 6c 6f 63 61 | 6c 2f 62 69 6e 0a 58 0a |usr/loca|l/bin.X.|
|00000910| 58 23 20 53 65 74 20 74 | 68 69 73 20 74 6f 20 74 |X# Set t|his to t|
|00000920| 68 65 20 64 69 72 65 63 | 74 6f 72 79 20 63 6f 6e |he direc|tory con|
|00000930| 74 61 69 6e 69 6e 67 20 | 6c 6f 63 61 6c 20 6d 61 |taining |local ma|
|00000940| 6e 20 70 61 67 65 73 0a | 58 4d 41 4e 44 49 52 3d |n pages.|XMANDIR=|
|00000950| 2f 75 73 72 2f 63 61 74 | 6d 61 6e 2f 6c 5f 6d 61 |/usr/cat|man/l_ma|
|00000960| 6e 2f 6d 61 6e 31 0a 58 | 0a 58 61 6c 6c 3a 20 6d |n/man1.X|.Xall: m|
|00000970| 6b 73 79 73 74 65 6d 20 | 6d 6b 73 79 73 74 65 6d |ksystem |mksystem|
|00000980| 32 34 20 6d 6b 73 79 73 | 74 65 6d 2e 31 20 6d 6b |24 mksys|tem.1 mk|
|00000990| 73 79 73 74 65 6d 32 34 | 2e 31 0a 58 0a 58 6d 6b |system24|.1.X.Xmk|
|000009a0| 73 79 73 74 65 6d 3a 20 | 6d 6b 73 79 73 74 65 6d |system: |mksystem|
|000009b0| 2e 70 65 72 6c 0a 58 09 | 73 65 64 20 2d 65 20 22 |.perl.X.|sed -e "|
|000009c0| 73 40 58 58 2d 50 52 4f | 44 55 43 54 53 2d 58 58 |s@XX-PRO|DUCTS-XX|
|000009d0| 40 24 28 50 52 4f 44 55 | 43 54 53 29 40 67 22 20 |@$(PRODU|CTS)@g" |
|000009e0| 6d 6b 73 79 73 74 65 6d | 2e 70 65 72 6c 20 3e 20 |mksystem|.perl > |
|000009f0| 6d 6b 73 79 73 74 65 6d | 0a 58 09 63 68 6d 6f 64 |mksystem|.X.chmod|
|00000a00| 20 37 35 35 20 6d 6b 73 | 79 73 74 65 6d 0a 58 0a | 755 mks|ystem.X.|
|00000a10| 58 6d 6b 73 79 73 74 65 | 6d 32 34 3a 20 6d 6b 73 |Xmksyste|m24: mks|
|00000a20| 79 73 74 65 6d 0a 58 09 | 6c 6e 20 6d 6b 73 79 73 |ystem.X.|ln mksys|
|00000a30| 74 65 6d 20 6d 6b 73 79 | 73 74 65 6d 32 34 0a 58 |tem mksy|stem24.X|
|00000a40| 0a 58 6d 6b 73 79 73 74 | 65 6d 2e 31 3a 20 6d 6b |.Xmksyst|em.1: mk|
|00000a50| 73 79 73 74 65 6d 2e 6d | 61 6e 0a 58 09 73 65 64 |system.m|an.X.sed|
|00000a60| 20 2d 65 20 22 73 40 58 | 58 2d 50 52 4f 44 55 43 | -e "s@X|X-PRODUC|
|00000a70| 54 53 2d 58 58 40 24 28 | 50 52 4f 44 55 43 54 53 |TS-XX@$(|PRODUCTS|
|00000a80| 29 40 67 22 20 6d 6b 73 | 79 73 74 65 6d 2e 6d 61 |)@g" mks|ystem.ma|
|00000a90| 6e 20 7c 20 6e 72 6f 66 | 66 20 2d 6d 61 6e 20 7c |n | nrof|f -man ||
|00000aa0| 20 5c 0a 58 09 09 63 6f | 6c 20 2d 62 20 3e 20 6d | \.X..co|l -b > m|
|00000ab0| 6b 73 79 73 74 65 6d 2e | 31 0a 58 0a 58 6d 6b 73 |ksystem.|1.X.Xmks|
|00000ac0| 79 73 74 65 6d 32 34 2e | 31 3a 20 6d 6b 73 79 73 |ystem24.|1: mksys|
|00000ad0| 74 65 6d 2e 31 0a 58 09 | 6c 6e 20 6d 6b 73 79 73 |tem.1.X.|ln mksys|
|00000ae0| 74 65 6d 2e 31 20 6d 6b | 73 79 73 74 65 6d 32 34 |tem.1 mk|system24|
|00000af0| 2e 31 0a 58 0a 58 69 6e | 73 74 61 6c 6c 3a 20 6d |.1.X.Xin|stall: m|
|00000b00| 6b 73 79 73 74 65 6d 20 | 6d 6b 73 79 73 74 65 6d |ksystem |mksystem|
|00000b10| 2e 31 0a 58 09 63 70 20 | 6d 6b 73 79 73 74 65 6d |.1.X.cp |mksystem|
|00000b20| 20 24 28 44 45 53 54 44 | 49 52 29 2f 6d 6b 73 79 | $(DESTD|IR)/mksy|
|00000b30| 73 74 65 6d 0a 58 09 63 | 68 6d 6f 64 20 37 35 35 |stem.X.c|hmod 755|
|00000b40| 20 24 28 44 45 53 54 44 | 49 52 29 2f 6d 6b 73 79 | $(DESTD|IR)/mksy|
|00000b50| 73 74 65 6d 0a 58 09 6c | 6e 20 24 28 44 45 53 54 |stem.X.l|n $(DEST|
|00000b60| 44 49 52 29 2f 6d 6b 73 | 79 73 74 65 6d 20 24 28 |DIR)/mks|ystem $(|
|00000b70| 44 45 53 54 44 49 52 29 | 2f 6d 6b 73 79 73 74 65 |DESTDIR)|/mksyste|
|00000b80| 6d 32 34 0a 58 09 63 70 | 20 6d 6b 73 79 73 74 65 |m24.X.cp| mksyste|
|00000b90| 6d 2e 31 20 24 28 4d 41 | 4e 44 49 52 29 2f 6d 6b |m.1 $(MA|NDIR)/mk|
|00000ba0| 73 79 73 74 65 6d 2e 31 | 0a 58 09 70 61 63 6b 20 |system.1|.X.pack |
|00000bb0| 24 28 4d 41 4e 44 49 52 | 29 2f 6d 6b 73 79 73 74 |$(MANDIR|)/mksyst|
|00000bc0| 65 6d 2e 31 0a 58 09 63 | 68 6d 6f 64 20 36 34 34 |em.1.X.c|hmod 644|
|00000bd0| 20 24 28 4d 41 4e 44 49 | 52 29 2f 6d 6b 73 79 73 | $(MANDI|R)/mksys|
|00000be0| 74 65 6d 2e 31 2e 7a 0a | 58 09 6c 6e 20 24 28 4d |tem.1.z.|X.ln $(M|
|00000bf0| 41 4e 44 49 52 29 2f 6d | 6b 73 79 73 74 65 6d 2e |ANDIR)/m|ksystem.|
|00000c00| 31 2e 7a 20 24 28 4d 41 | 4e 44 49 52 29 2f 6d 6b |1.z $(MA|NDIR)/mk|
|00000c10| 73 79 73 74 65 6d 32 34 | 2e 31 2e 7a 0a 58 0a 58 |system24|.1.z.X.X|
|00000c20| 63 6c 65 61 6e 3a 0a 58 | 09 72 6d 20 2d 66 20 6d |clean:.X|.rm -f m|
|00000c30| 6b 73 79 73 74 65 6d 20 | 6d 6b 73 79 73 74 65 6d |ksystem |mksystem|
|00000c40| 32 34 20 6d 6b 73 79 73 | 74 65 6d 2e 31 20 6d 6b |24 mksys|tem.1 mk|
|00000c50| 73 79 73 74 65 6d 32 34 | 2e 31 0a 45 4e 44 5f 4f |system24|.1.END_O|
|00000c60| 46 5f 4d 61 6b 65 66 69 | 6c 65 0a 69 66 20 74 65 |F_Makefi|le.if te|
|00000c70| 73 74 20 31 30 31 36 20 | 2d 6e 65 20 60 77 63 20 |st 1016 |-ne `wc |
|00000c80| 2d 63 20 3c 4d 61 6b 65 | 66 69 6c 65 60 3b 20 74 |-c <Make|file`; t|
|00000c90| 68 65 6e 0a 20 20 20 20 | 65 63 68 6f 20 73 68 61 |hen. |echo sha|
|00000ca0| 72 3a 20 5c 22 4d 61 6b | 65 66 69 6c 65 5c 22 20 |r: \"Mak|efile\" |
|00000cb0| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|00000cc0| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|00000cd0| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00000ce0| 67 20 63 68 65 63 6b 0a | 66 69 0a 69 66 20 74 65 |g check.|fi.if te|
|00000cf0| 73 74 20 2d 66 20 6d 6b | 73 79 73 74 65 6d 2e 70 |st -f mk|system.p|
|00000d00| 65 72 6c 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |erl -a "|${1}" !=|
|00000d10| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00000d20| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00000d30| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|00000d40| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 5c 22 6d |xisting |file \"m|
|00000d50| 6b 73 79 73 74 65 6d 2e | 70 65 72 6c 5c 22 0a 65 |ksystem.|perl\".e|
|00000d60| 6c 73 65 0a 65 63 68 6f | 20 73 68 61 72 3a 20 45 |lse.echo| shar: E|
|00000d70| 78 74 72 61 63 74 69 6e | 67 20 5c 22 6d 6b 73 79 |xtractin|g \"mksy|
|00000d80| 73 74 65 6d 2e 70 65 72 | 6c 5c 22 20 5c 28 38 38 |stem.per|l\" \(88|
|00000d90| 31 36 20 63 68 61 72 61 | 63 74 65 72 73 5c 29 0a |16 chara|cters\).|
|00000da0| 73 65 64 20 22 73 2f 5e | 58 2f 2f 22 20 3e 6d 6b |sed "s/^|X//" >mk|
|00000db0| 73 79 73 74 65 6d 2e 70 | 65 72 6c 20 3c 3c 27 45 |system.p|erl <<'E|
|00000dc0| 4e 44 5f 4f 46 5f 6d 6b | 73 79 73 74 65 6d 2e 70 |ND_OF_mk|system.p|
|00000dd0| 65 72 6c 27 0a 58 23 21 | 2f 75 73 72 2f 6c 6f 63 |erl'.X#!|/usr/loc|
|00000de0| 61 6c 2f 62 69 6e 2f 70 | 65 72 6c 0a 58 23 0a 58 |al/bin/p|erl.X#.X|
|00000df0| 23 20 6d 6b 73 79 73 74 | 65 6d 0a 58 23 0a 58 23 |# mksyst|em.X#.X#|
|00000e00| 20 53 65 74 20 75 70 20 | 61 20 6c 6f 63 61 6c 20 | Set up |a local |
|00000e10| 53 79 73 74 65 6d 20 66 | 6f 6c 64 65 72 2c 20 77 |System f|older, w|
|00000e20| 69 74 68 20 6c 6f 63 61 | 6c 20 65 78 74 65 6e 73 |ith loca|l extens|
|00000e30| 69 6f 6e 73 2e 0a 58 23 | 0a 58 0a 58 23 20 49 6e |ions..X#|.X.X# In|
|00000e40| 69 74 69 61 6c 69 7a 65 | 20 70 61 72 61 6d 65 74 |itialize| paramet|
|00000e50| 65 72 73 20 61 6e 64 20 | 70 61 72 73 65 20 74 68 |ers and |parse th|
|00000e60| 65 20 63 6f 6d 6d 61 6e | 64 20 6c 69 6e 65 0a 58 |e comman|d line.X|
|00000e70| 0a 58 24 43 48 4f 57 4e | 20 3d 20 30 3b 0a 58 24 |.X$CHOWN| = 0;.X$|
|00000e80| 66 6f 72 63 65 20 3d 20 | 30 3b 0a 58 24 75 73 65 |force = |0;.X$use|
|00000e90| 72 20 3d 20 22 22 3b 0a | 58 77 68 69 6c 65 20 28 |r = "";.|Xwhile (|
|00000ea0| 20 24 23 41 52 47 56 20 | 3e 3d 20 30 20 29 0a 58 | $#ARGV |>= 0 ).X|
|00000eb0| 7b 0a 58 09 69 66 20 28 | 20 24 41 52 47 56 5b 30 |{.X.if (| $ARGV[0|
|00000ec0| 5d 20 65 71 20 27 2d 66 | 27 20 29 0a 58 09 7b 0a |] eq '-f|' ).X.{.|
|00000ed0| 58 09 09 23 20 46 6f 72 | 63 65 20 63 6f 70 79 69 |X..# For|ce copyi|
|00000ee0| 6e 67 20 6f 66 20 53 79 | 73 74 65 6d 20 46 69 6c |ng of Sy|stem Fil|
|00000ef0| 65 0a 58 09 09 24 66 6f | 72 63 65 20 3d 20 31 3b |e.X..$fo|rce = 1;|
|00000f00| 0a 58 09 09 73 68 69 66 | 74 28 40 41 52 47 56 29 |.X..shif|t(@ARGV)|
|00000f10| 3b 0a 58 09 7d 0a 58 09 | 65 6c 73 69 66 20 28 20 |;.X.}.X.|elsif ( |
|00000f20| 24 41 52 47 56 5b 30 5d | 20 65 71 20 27 2d 75 27 |$ARGV[0]| eq '-u'|
|00000f30| 20 29 0a 58 09 7b 0a 58 | 09 09 23 20 42 75 69 6c | ).X.{.X|..# Buil|
|00000f40| 64 20 73 79 73 74 65 6d | 20 66 6f 6c 64 65 72 20 |d system| folder |
|00000f50| 6f 6e 20 62 65 68 61 6c | 66 20 6f 66 20 61 6e 6f |on behal|f of ano|
|00000f60| 74 68 65 72 20 75 73 65 | 72 0a 58 09 09 24 43 48 |ther use|r.X..$CH|
|00000f70| 4f 57 4e 20 3d 20 31 3b | 0a 58 09 09 24 75 73 65 |OWN = 1;|.X..$use|
|00000f80| 72 20 3d 20 24 41 52 47 | 56 5b 31 5d 3b 0a 58 09 |r = $ARG|V[1];.X.|
|00000f90| 09 69 66 20 28 20 24 75 | 73 65 72 20 65 71 20 22 |.if ( $u|ser eq "|
|00000fa0| 22 20 29 0a 58 09 09 7b | 0a 58 09 09 09 26 75 73 |" ).X..{|.X...&us|
|00000fb0| 61 67 65 3b 0a 58 09 09 | 7d 0a 58 09 09 73 68 69 |age;.X..|}.X..shi|
|00000fc0| 66 74 28 40 41 52 47 56 | 29 3b 0a 58 09 09 73 68 |ft(@ARGV|);.X..sh|
|00000fd0| 69 66 74 28 40 41 52 47 | 56 29 3b 0a 58 09 7d 0a |ift(@ARG|V);.X.}.|
|00000fe0| 58 09 65 6c 73 69 66 20 | 28 20 73 75 62 73 74 72 |X.elsif |( substr|
|00000ff0| 28 24 41 52 47 56 5b 30 | 5d 2c 30 2c 32 29 20 65 |($ARGV[0|],0,2) e|
|00001000| 71 20 27 2d 75 27 20 29 | 0a 58 09 7b 0a 58 09 09 |q '-u' )|.X.{.X..|
|00001010| 23 20 42 75 69 6c 64 20 | 73 79 73 74 65 6d 20 66 |# Build |system f|
|00001020| 6f 6c 64 65 72 20 6f 6e | 20 62 65 68 61 6c 66 20 |older on| behalf |
|00001030| 6f 66 20 61 6e 6f 74 68 | 65 72 20 75 73 65 72 0a |of anoth|er user.|
|00001040| 58 09 09 24 43 48 4f 57 | 4e 20 3d 20 31 3b 0a 58 |X..$CHOW|N = 1;.X|
|00001050| 09 09 24 75 73 65 72 20 | 3d 20 73 75 62 73 74 72 |..$user |= substr|
|00001060| 28 24 41 52 47 56 5b 30 | 5d 2c 32 29 3b 0a 58 09 |($ARGV[0|],2);.X.|
|00001070| 09 73 68 69 66 74 28 40 | 41 52 47 56 29 3b 0a 58 |.shift(@|ARGV);.X|
|00001080| 09 09 73 68 69 66 74 28 | 40 41 52 47 56 29 3b 0a |..shift(|@ARGV);.|
|00001090| 58 09 7d 0a 58 09 65 6c | 73 65 0a 58 09 7b 0a 58 |X.}.X.el|se.X.{.X|
|000010a0| 09 09 23 20 44 69 73 70 | 6c 61 79 20 75 73 61 67 |..# Disp|lay usag|
|000010b0| 65 20 6d 65 73 73 61 67 | 65 0a 58 09 09 26 75 73 |e messag|e.X..&us|
|000010c0| 61 67 65 3b 0a 58 09 7d | 0a 58 7d 0a 58 0a 58 23 |age;.X.}|.X}.X.X#|
|000010d0| 20 4c 6f 63 61 74 65 20 | 74 68 65 20 66 69 6c 65 | Locate |the file|
|000010e0| 73 20 74 6f 20 62 65 20 | 63 6f 6e 74 61 69 6e 65 |s to be |containe|
|000010f0| 64 20 69 6e 20 74 68 65 | 20 6c 6f 63 61 6c 20 53 |d in the| local S|
|00001100| 79 73 74 65 6d 20 46 6f | 6c 64 65 72 2e 20 20 58 |ystem Fo|lder. X|
|00001110| 58 2d 50 52 4f 44 55 43 | 54 53 2d 58 58 0a 58 23 |X-PRODUC|TS-XX.X#|
|00001120| 20 69 73 20 73 75 62 73 | 74 69 74 75 74 65 64 20 | is subs|tituted |
|00001130| 77 69 74 68 20 74 68 65 | 20 64 69 72 65 63 74 6f |with the| directo|
|00001140| 72 79 20 63 6f 6e 74 61 | 69 6e 69 6e 67 20 6c 6f |ry conta|ining lo|
|00001150| 63 61 6c 20 65 78 74 65 | 6e 73 69 6f 6e 73 20 61 |cal exte|nsions a|
|00001160| 73 20 69 74 20 69 73 0a | 58 23 20 73 65 74 20 75 |s it is.|X# set u|
|00001170| 70 20 69 6e 20 74 68 65 | 20 4d 61 6b 65 66 69 6c |p in the| Makefil|
|00001180| 65 2e 0a 58 0a 58 24 73 | 79 73 74 65 6d 64 69 72 |e..X.X$s|ystemdir|
|00001190| 20 3d 20 27 2f 6d 61 63 | 2f 6c 69 62 2f 53 79 73 | = '/mac|/lib/Sys|
|000011a0| 74 65 6d 46 69 6c 65 73 | 27 3b 0a 58 24 73 79 73 |temFiles|';.X$sys|
|000011b0| 74 65 6d 66 6f 6c 64 65 | 72 20 3d 20 27 2f 6d 61 |temfolde|r = '/ma|
|000011c0| 63 2f 73 79 73 2f 53 79 | 73 74 65 6d 20 46 6f 6c |c/sys/Sy|stem Fol|
|000011d0| 64 65 72 27 3b 0a 58 24 | 70 72 6f 64 75 63 74 73 |der';.X$|products|
|000011e0| 20 3d 20 27 58 58 2d 50 | 52 4f 44 55 43 54 53 2d | = 'XX-P|RODUCTS-|
|000011f0| 58 58 27 3b 0a 58 0a 58 | 23 20 52 65 61 64 20 6f |XX';.X.X|# Read o|
|00001200| 75 72 20 75 6d 61 73 6b | 20 66 6f 72 20 75 73 65 |ur umask| for use|
|00001210| 20 6c 61 74 65 72 0a 58 | 0a 58 24 75 6d 61 73 6b | later.X|.X$umask|
|00001220| 20 3d 20 75 6d 61 73 6b | 3b 0a 58 75 6d 61 73 6b | = umask|;.Xumask|
|00001230| 28 24 75 6d 61 73 6b 29 | 3b 0a 58 0a 58 23 20 47 |($umask)|;.X.X# G|
|00001240| 65 74 20 74 68 65 20 68 | 6f 6d 65 20 64 69 72 65 |et the h|ome dire|
|00001250| 63 74 6f 72 79 20 6f 66 | 20 74 68 65 20 75 73 65 |ctory of| the use|
|00001260| 72 20 77 68 6f 20 77 69 | 6c 6c 20 6f 77 6e 20 74 |r who wi|ll own t|
|00001270| 68 65 20 6e 65 77 20 6c | 6f 63 61 6c 20 53 79 73 |he new l|ocal Sys|
|00001280| 74 65 6d 20 46 6f 6c 64 | 65 72 2e 0a 58 23 20 49 |tem Fold|er..X# I|
|00001290| 66 20 74 68 65 20 6f 77 | 6e 65 72 20 69 73 20 6e |f the ow|ner is n|
|000012a0| 6f 74 20 74 68 65 20 73 | 61 6d 65 20 61 73 20 74 |ot the s|ame as t|
|000012b0| 68 65 20 69 6e 76 6f 6b | 65 72 2c 20 74 68 65 6e |he invok|er, then|
|000012c0| 20 77 65 20 6e 65 65 64 | 20 74 68 65 20 6f 77 6e | we need| the own|
|000012d0| 65 72 27 73 0a 58 23 20 | 75 69 64 20 61 6e 64 20 |er's.X# |uid and |
|000012e0| 64 65 66 61 75 6c 74 20 | 67 69 64 20 66 6f 72 20 |default |gid for |
|000012f0| 63 68 6f 77 6e 2e 0a 58 | 0a 58 69 66 20 28 20 24 |chown..X|.Xif ( $|
|00001300| 43 48 4f 57 4e 20 29 0a | 58 7b 0a 58 09 28 24 70 |CHOWN ).|X{.X.($p|
|00001310| 5f 6e 61 6d 65 2c 24 70 | 5f 70 61 73 73 77 64 2c |_name,$p|_passwd,|
|00001320| 24 70 5f 75 69 64 2c 24 | 70 5f 67 69 64 2c 24 70 |$p_uid,$|p_gid,$p|
|00001330| 5f 71 75 6f 74 61 2c 24 | 70 5f 63 6f 6d 6d 65 6e |_quota,$|p_commen|
|00001340| 74 2c 24 70 5f 67 63 6f | 73 2c 24 48 4f 4d 45 29 |t,$p_gco|s,$HOME)|
|00001350| 20 3d 0a 58 09 09 67 65 | 74 70 77 6e 61 6d 28 24 | =.X..ge|tpwnam($|
|00001360| 75 73 65 72 29 3b 0a 58 | 7d 0a 58 65 6c 73 65 0a |user);.X|}.Xelse.|
|00001370| 58 7b 0a 58 09 28 24 70 | 5f 6e 61 6d 65 2c 24 70 |X{.X.($p|_name,$p|
|00001380| 5f 70 61 73 73 77 64 2c | 24 70 5f 75 69 64 2c 24 |_passwd,|$p_uid,$|
|00001390| 70 5f 67 69 64 2c 24 70 | 5f 71 75 6f 74 61 2c 24 |p_gid,$p|_quota,$|
|000013a0| 70 5f 63 6f 6d 6d 65 6e | 74 2c 24 70 5f 67 63 6f |p_commen|t,$p_gco|
|000013b0| 73 2c 24 48 4f 4d 45 29 | 20 3d 0a 58 09 09 67 65 |s,$HOME)| =.X..ge|
|000013c0| 74 70 77 75 69 64 28 24 | 3c 29 3b 0a 58 09 24 70 |tpwuid($|<);.X.$p|
|000013d0| 5f 75 69 64 20 3d 20 24 | 3c 3b 0a 58 09 24 70 5f |_uid = $|<;.X.$p_|
|000013e0| 67 69 64 20 3d 20 24 28 | 3b 0a 58 7d 0a 58 0a 58 |gid = $(|;.X}.X.X|
|000013f0| 69 66 20 28 20 24 48 4f | 4d 45 20 65 71 20 27 27 |if ( $HO|ME eq ''|
|00001400| 20 29 0a 58 7b 0a 58 09 | 70 72 69 6e 74 20 53 54 | ).X{.X.|print ST|
|00001410| 44 45 52 52 20 22 55 73 | 65 72 20 3c 24 75 73 65 |DERR "Us|er <$use|
|00001420| 72 3e 20 6e 6f 74 20 6c | 69 73 74 65 64 20 69 6e |r> not l|isted in|
|00001430| 20 2f 65 74 63 2f 70 61 | 73 73 77 64 21 5c 6e 22 | /etc/pa|sswd!\n"|
|00001440| 3b 0a 58 09 65 78 69 74 | 20 31 3b 0a 58 7d 0a 58 |;.X.exit| 1;.X}.X|
|00001450| 0a 58 23 20 43 6f 6d 70 | 75 74 65 20 74 68 65 20 |.X# Comp|ute the |
|00001460| 6e 61 6d 65 20 6f 66 20 | 74 68 65 20 6c 6f 63 61 |name of |the loca|
|00001470| 6c 20 53 79 73 74 65 6d | 20 46 6f 6c 64 65 72 20 |l System| Folder |
|00001480| 62 61 73 65 64 20 6f 6e | 20 68 6f 77 20 6d 6b 73 |based on| how mks|
|00001490| 79 73 74 65 6d 20 77 61 | 73 0a 58 23 20 69 6e 76 |ystem wa|s.X# inv|
|000014a0| 6f 6b 65 64 3b 20 69 74 | 20 68 61 73 20 74 77 6f |oked; it| has two|
|000014b0| 20 6e 61 6d 65 73 3a 20 | 20 6d 6b 73 79 73 74 65 | names: | mksyste|
|000014c0| 6d 20 61 6e 64 20 6d 6b | 73 79 73 74 65 6d 32 34 |m and mk|system24|
|000014d0| 2e 0a 58 0a 58 69 66 20 | 28 20 73 75 62 73 74 72 |..X.Xif |( substr|
|000014e0| 28 24 30 2c 2d 32 2c 32 | 29 20 65 71 20 22 32 34 |($0,-2,2|) eq "24|
|000014f0| 22 20 29 0a 58 7b 0a 58 | 09 24 6d 79 64 69 72 20 |" ).X{.X|.$mydir |
|00001500| 3d 20 22 24 48 4f 4d 45 | 2f 53 79 73 74 65 6d 20 |= "$HOME|/System |
|00001510| 46 6f 6c 64 65 72 32 34 | 22 3b 0a 58 7d 0a 58 65 |Folder24|";.X}.Xe|
|00001520| 6c 73 65 0a 58 7b 0a 58 | 09 24 6d 79 64 69 72 20 |lse.X{.X|.$mydir |
|00001530| 3d 20 22 24 48 4f 4d 45 | 2f 53 79 73 74 65 6d 20 |= "$HOME|/System |
|00001540| 46 6f 6c 64 65 72 22 3b | 0a 58 7d 0a 58 0a 58 23 |Folder";|.X}.X.X#|
|00001550| 20 4c 6f 6f 6b 20 66 6f | 72 20 41 70 70 6c 65 27 | Look fo|r Apple'|
|00001560| 73 20 73 79 73 74 65 6d | 20 66 69 6c 65 73 2e 0a |s system| files..|
|00001570| 58 0a 58 69 66 20 28 20 | 21 20 2d 64 20 24 73 79 |X.Xif ( |! -d $sy|
|00001580| 73 74 65 6d 64 69 72 20 | 29 0a 58 7b 0a 58 09 70 |stemdir |).X{.X.p|
|00001590| 72 69 6e 74 20 53 54 44 | 45 52 52 20 22 24 30 3a |rint STD|ERR "$0:|
|000015a0| 20 20 43 61 6e 6e 6f 74 | 20 66 69 6e 64 20 67 6c | Cannot| find gl|
|000015b0| 6f 62 61 6c 20 73 79 73 | 74 65 6d 20 66 6f 6c 64 |obal sys|tem fold|
|000015c0| 65 72 20 24 73 79 73 74 | 65 6d 64 69 72 2e 5c 6e |er $syst|emdir.\n|
|000015d0| 22 3b 0a 58 09 65 78 69 | 74 20 31 3b 0a 58 7d 0a |";.X.exi|t 1;.X}.|
|000015e0| 58 0a 58 23 20 43 68 65 | 63 6b 20 70 65 72 6d 69 |X.X# Che|ck permi|
|000015f0| 73 73 69 6f 6e 73 20 6f | 6e 20 74 68 65 20 6e 65 |ssions o|n the ne|
|00001600| 77 20 6c 6f 63 61 6c 20 | 53 79 73 74 65 6d 20 46 |w local |System F|
|00001610| 6f 6c 64 65 72 2c 20 63 | 72 65 61 74 69 6e 67 20 |older, c|reating |
|00001620| 69 74 20 69 66 20 6e 65 | 63 65 73 73 61 72 79 2e |it if ne|cessary.|
|00001630| 0a 58 0a 58 69 66 20 28 | 20 2d 66 20 24 6d 79 64 |.X.Xif (| -f $myd|
|00001640| 69 72 20 29 0a 58 7b 0a | 58 09 70 72 69 6e 74 20 |ir ).X{.|X.print |
|00001650| 53 54 44 45 52 52 20 22 | 24 30 3a 20 43 61 6e 6e |STDERR "|$0: Cann|
|00001660| 6f 74 20 63 72 65 61 74 | 65 20 27 24 6d 79 64 69 |ot creat|e '$mydi|
|00001670| 72 27 2e 5c 6e 22 3b 0a | 58 09 70 72 69 6e 74 20 |r'.\n";.|X.print |
|00001680| 53 54 44 45 52 52 20 22 | 41 20 72 65 67 75 6c 61 |STDERR "|A regula|
|00001690| 72 20 66 69 6c 65 20 62 | 79 20 74 68 61 74 20 6e |r file b|y that n|
|000016a0| 61 6d 65 20 63 75 72 72 | 65 6e 74 6c 79 20 65 78 |ame curr|ently ex|
|000016b0| 69 73 74 73 2e 5c 6e 22 | 3b 0a 58 09 65 78 69 74 |ists.\n"|;.X.exit|
|000016c0| 20 31 3b 0a 58 7d 0a 58 | 65 6c 73 69 66 20 28 20 | 1;.X}.X|elsif ( |
|000016d0| 2d 64 20 24 6d 79 64 69 | 72 20 29 0a 58 7b 0a 58 |-d $mydi|r ).X{.X|
|000016e0| 09 69 66 20 28 20 21 20 | 2d 77 20 24 6d 79 64 69 |.if ( ! |-w $mydi|
|000016f0| 72 20 29 0a 58 09 7b 0a | 58 09 09 70 72 69 6e 74 |r ).X.{.|X..print|
|00001700| 20 53 54 44 45 52 52 20 | 22 24 30 3a 20 63 61 6e | STDERR |"$0: can|
|00001710| 6e 6f 74 20 75 70 64 61 | 74 65 20 24 6d 79 64 69 |not upda|te $mydi|
|00001720| 72 2e 20 20 50 65 72 6d | 69 73 73 69 6f 6e 20 64 |r. Perm|ission d|
|00001730| 65 6e 69 65 64 2e 5c 6e | 22 3b 0a 58 09 09 65 78 |enied.\n|";.X..ex|
|00001740| 69 74 20 31 3b 0a 58 09 | 7d 0a 58 09 70 72 69 6e |it 1;.X.|}.X.prin|
|00001750| 74 20 22 53 79 73 74 65 | 6d 20 46 6f 6c 64 65 72 |t "Syste|m Folder|
|00001760| 20 27 24 6d 79 64 69 72 | 27 20 61 6c 72 65 61 64 | '$mydir|' alread|
|00001770| 79 20 65 78 69 73 74 73 | 20 2d 20 75 70 64 61 74 |y exists| - updat|
|00001780| 69 6e 67 2e 5c 6e 22 3b | 0a 58 09 69 66 20 28 20 |ing.\n";|.X.if ( |
|00001790| 24 66 6f 72 63 65 20 3d | 3d 20 30 20 29 0a 58 09 |$force =|= 0 ).X.|
|000017a0| 7b 0a 58 09 09 70 72 69 | 6e 74 20 22 5c 6e 22 3b |{.X..pri|nt "\n";|
|000017b0| 0a 58 09 09 70 72 69 6e | 74 20 53 54 44 45 52 52 |.X..prin|t STDERR|
|000017c0| 20 22 43 41 55 54 49 4f | 4e 3a 20 45 78 69 73 74 | "CAUTIO|N: Exist|
|000017d0| 69 6e 67 20 70 72 69 76 | 61 74 65 20 28 77 72 69 |ing priv|ate (wri|
|000017e0| 74 61 62 6c 65 29 20 66 | 69 6c 65 73 20 77 69 6c |table) f|iles wil|
|000017f0| 6c 20 22 3b 0a 58 09 09 | 70 72 69 6e 74 20 53 54 |l ";.X..|print ST|
|00001800| 44 45 52 52 20 22 6e 6f | 74 20 62 65 20 75 70 64 |DERR "no|t be upd|
|00001810| 61 74 65 64 2e 5c 6e 22 | 3b 0a 58 09 09 70 72 69 |ated.\n"|;.X..pri|
|00001820| 6e 74 20 53 54 44 45 52 | 52 20 22 20 20 20 20 20 |nt STDER|R " |
|00001830| 20 20 20 20 55 73 65 20 | 74 68 65 20 66 6f 72 63 | Use |the forc|
|00001840| 65 20 6f 70 74 69 6f 6e | 20 28 2d 66 29 20 74 6f |e option| (-f) to|
|00001850| 20 75 70 64 61 74 65 20 | 22 3b 0a 58 09 09 70 72 | update |";.X..pr|
|00001860| 69 6e 74 20 53 54 44 45 | 52 52 20 22 74 68 65 73 |int STDE|RR "thes|
|00001870| 65 20 66 69 6c 65 73 21 | 5c 6e 22 3b 0a 58 09 7d |e files!|\n";.X.}|
|00001880| 0a 58 7d 0a 58 65 6c 73 | 65 0a 58 7b 0a 58 09 70 |.X}.Xels|e.X{.X.p|
|00001890| 72 69 6e 74 20 22 43 72 | 65 61 74 69 6e 67 20 53 |rint "Cr|eating S|
|000018a0| 79 73 74 65 6d 20 46 6f | 6c 64 65 72 20 27 24 6d |ystem Fo|lder '$m|
|000018b0| 79 64 69 72 27 5c 6e 22 | 3b 0a 58 09 24 6e 65 77 |ydir'\n"|;.X.$new|
|000018c0| 64 69 72 20 3d 20 31 3b | 0a 58 09 69 66 20 28 20 |dir = 1;|.X.if ( |
|000018d0| 6d 6b 64 69 72 28 24 6d | 79 64 69 72 2c 28 20 30 |mkdir($m|ydir,( 0|
|000018e0| 37 37 37 20 26 20 7e 20 | 24 75 6d 61 73 6b 20 29 |777 & ~ |$umask )|
|000018f0| 29 20 65 71 20 30 20 29 | 0a 58 09 7b 0a 58 09 09 |) eq 0 )|.X.{.X..|
|00001900| 70 72 69 6e 74 20 53 54 | 44 45 52 52 20 22 43 61 |print ST|DERR "Ca|
|00001910| 6e 6e 6f 74 20 63 72 65 | 61 74 65 20 24 6d 79 64 |nnot cre|ate $myd|
|00001920| 69 72 3a 5c 6e 24 21 5c | 6e 22 3b 0a 58 09 09 65 |ir:\n$!\|n";.X..e|
|00001930| 78 69 74 20 31 3b 0a 58 | 09 7d 0a 58 7d 0a 58 0a |xit 1;.X|.}.X}.X.|
|00001940| 58 23 20 41 6c 77 61 79 | 73 20 77 61 6e 74 20 6c |X# Alway|s want l|
|00001950| 6f 63 61 6c 20 73 74 75 | 66 66 20 69 6e 20 66 61 |ocal stu|ff in fa|
|00001960| 76 6f 72 20 6f 66 20 41 | 70 70 6c 65 20 73 74 75 |vor of A|pple stu|
|00001970| 66 66 2e 20 20 54 68 65 | 72 65 66 6f 72 65 2c 20 |ff. The|refore, |
|00001980| 69 66 0a 58 23 20 66 6f | 72 63 65 64 2c 20 77 61 |if.X# fo|rced, wa|
|00001990| 6e 74 20 74 6f 20 64 6f | 20 74 68 65 20 6c 6f 63 |nt to do| the loc|
|000019a0| 61 6c 20 73 74 75 66 66 | 20 6c 61 73 74 2e 20 20 |al stuff| last. |
|000019b0| 4f 74 68 65 72 77 69 73 | 65 20 64 6f 20 74 68 65 |Otherwis|e do the|
|000019c0| 20 6c 6f 63 61 6c 0a 58 | 23 20 73 74 75 66 66 20 | local.X|# stuff |
|000019d0| 66 69 72 73 74 2e 0a 58 | 0a 58 69 66 20 28 20 24 |first..X|.Xif ( $|
|000019e0| 66 6f 72 63 65 20 29 0a | 58 7b 0a 58 09 26 61 70 |force ).|X{.X.&ap|
|000019f0| 70 6c 65 53 74 75 66 66 | 3b 0a 58 09 26 6c 6f 63 |pleStuff|;.X.&loc|
|00001a00| 61 6c 53 74 75 66 66 3b | 0a 58 7d 0a 58 65 6c 73 |alStuff;|.X}.Xels|
|00001a10| 65 0a 58 7b 0a 58 09 26 | 6c 6f 63 61 6c 53 74 75 |e.X{.X.&|localStu|
|00001a20| 66 66 3b 0a 58 09 26 61 | 70 70 6c 65 53 74 75 66 |ff;.X.&a|ppleStuf|
|00001a30| 66 3b 0a 58 7d 0a 58 0a | 58 23 20 54 68 69 73 20 |f;.X}.X.|X# This |
|00001a40| 73 75 62 72 6f 75 74 69 | 6e 65 20 63 6f 70 69 65 |subrouti|ne copie|
|00001a50| 73 20 24 6f 6c 64 20 74 | 6f 20 24 6e 65 77 2c 20 |s $old t|o $new, |
|00001a60| 75 73 69 6e 67 20 74 68 | 65 20 63 6f 6d 6d 61 6e |using th|e comman|
|00001a70| 64 20 73 70 65 63 69 66 | 69 65 64 20 69 6e 20 24 |d specif|ied in $|
|00001a80| 68 6f 77 2e 0a 58 23 20 | 24 68 6f 77 20 63 6f 6e |how..X# |$how con|
|00001a90| 74 61 69 6e 73 20 61 20 | 55 6e 69 78 20 63 6f 6d |tains a |Unix com|
|00001aa0| 6d 61 6e 64 20 77 69 74 | 68 20 22 24 6f 6c 64 22 |mand wit|h "$old"|
|00001ab0| 20 72 65 70 72 65 73 65 | 6e 74 69 6e 67 20 74 68 | represe|nting th|
|00001ac0| 65 20 73 6f 75 72 63 65 | 20 66 69 6c 65 20 61 6e |e source| file an|
|00001ad0| 64 0a 58 23 20 22 24 6e | 65 77 22 20 72 65 70 72 |d.X# "$n|ew" repr|
|00001ae0| 65 73 65 6e 74 69 6e 67 | 20 74 68 65 20 64 65 73 |esenting| the des|
|00001af0| 74 69 6e 61 74 69 6f 6e | 20 66 69 6c 65 2e 20 20 |tination| file. |
|00001b00| 46 6f 72 20 65 78 61 6d | 70 6c 65 3a 20 20 22 2f |For exam|ple: "/|
|00001b10| 62 69 6e 2f 63 70 20 24 | 6f 6c 64 20 24 6e 65 77 |bin/cp $|old $new|
|00001b20| 22 2e 0a 58 23 20 46 69 | 6c 65 20 6e 61 6d 65 73 |"..X# Fi|le names|
|00001b30| 20 61 72 65 20 74 72 65 | 61 74 65 64 20 69 6e 20 | are tre|ated in |
|00001b40| 61 6e 20 38 2d 62 69 74 | 20 63 6c 65 61 6e 20 66 |an 8-bit| clean f|
|00001b50| 61 73 68 69 6f 6e 2e 0a | 58 0a 58 73 75 62 20 63 |ashion..|X.Xsub c|
|00001b60| 6f 70 79 46 69 6c 65 0a | 58 7b 0a 58 09 6c 6f 63 |opyFile.|X{.X.loc|
|00001b70| 61 6c 28 24 68 6f 77 2c | 24 6f 6c 64 2c 24 6e 65 |al($how,|$old,$ne|
|00001b80| 77 29 20 3d 20 40 5f 3b | 0a 58 09 6c 6f 63 61 6c |w) = @_;|.X.local|
|00001b90| 28 40 61 72 67 73 2c 24 | 61 72 67 29 3b 0a 58 0a |(@args,$|arg);.X.|
|00001ba0| 58 09 40 61 72 67 73 20 | 3d 20 73 70 6c 69 74 28 |X.@args |= split(|
|00001bb0| 2f 20 2f 2c 24 68 6f 77 | 29 3b 0a 58 09 66 6f 72 |/ /,$how|);.X.for|
|00001bc0| 65 61 63 68 20 24 61 72 | 67 20 28 20 30 20 2e 2e |each $ar|g ( 0 ..|
|00001bd0| 20 24 23 61 72 67 73 20 | 29 0a 58 09 7b 0a 58 09 | $#args |).X.{.X.|
|00001be0| 09 65 76 61 6c 28 22 5c | 24 61 72 67 73 5b 5c 24 |.eval("\|$args[\$|
|00001bf0| 61 72 67 5d 20 3d 20 5c | 22 24 61 72 67 73 5b 24 |arg] = \|"$args[$|
|00001c00| 61 72 67 5d 5c 22 22 29 | 3b 0a 58 09 7d 0a 58 09 |arg]\"")|;.X.}.X.|
|00001c10| 26 73 70 61 77 6e 28 40 | 61 72 67 73 29 3b 0a 58 |&spawn(@|args);.X|
|00001c20| 7d 0a 58 0a 58 23 20 54 | 68 69 73 20 73 75 62 72 |}.X.X# T|his subr|
|00001c30| 6f 75 74 69 6e 65 20 63 | 6f 70 69 65 73 20 61 20 |outine c|opies a |
|00001c40| 64 69 72 65 63 74 6f 72 | 79 2e 20 20 52 65 67 75 |director|y. Regu|
|00001c50| 6c 61 72 20 66 69 6c 65 | 73 20 61 72 65 20 63 6f |lar file|s are co|
|00001c60| 70 69 65 64 20 61 63 63 | 6f 72 64 69 6e 67 0a 58 |pied acc|ording.X|
|00001c70| 23 20 74 6f 20 74 68 65 | 20 22 68 6f 77 22 20 70 |# to the| "how" p|
|00001c80| 61 72 61 6d 65 74 65 72 | 2c 20 77 68 69 63 68 20 |arameter|, which |
|00001c90| 69 6e 63 6c 75 64 65 73 | 20 61 6e 20 22 24 6f 6c |includes| an "$ol|
|00001ca0| 64 22 20 6b 65 79 77 6f | 72 64 20 73 70 65 63 69 |d" keywo|rd speci|
|00001cb0| 66 79 69 6e 67 20 74 68 | 65 0a 58 23 20 73 6f 75 |fying th|e.X# sou|
|00001cc0| 72 63 65 20 6f 66 20 74 | 68 65 20 63 6f 70 79 2c |rce of t|he copy,|
|00001cd0| 20 61 6e 64 20 61 20 22 | 24 6e 65 77 22 20 6b 65 | and a "|$new" ke|
|00001ce0| 79 77 6f 72 64 20 73 70 | 65 63 69 66 79 69 6e 67 |yword sp|ecifying|
|00001cf0| 20 74 68 65 20 64 65 73 | 74 69 6e 61 74 69 6f 6e | the des|tination|
|00001d00| 20 6f 66 0a 58 23 20 74 | 68 65 20 63 6f 70 79 2e | of.X# t|he copy.|
|00001d10| 20 20 54 68 65 20 22 73 | 72 63 22 20 70 61 72 61 | The "s|rc" para|
|00001d20| 6d 65 74 65 72 20 73 70 | 65 63 69 66 69 65 73 20 |meter sp|ecifies |
|00001d30| 74 68 65 20 73 6f 75 72 | 63 65 20 64 69 72 65 63 |the sour|ce direc|
|00001d40| 74 6f 72 79 2c 20 61 6e | 64 20 74 68 65 0a 58 23 |tory, an|d the.X#|
|00001d50| 20 22 64 65 73 74 22 20 | 70 61 72 61 6d 65 74 65 | "dest" |paramete|
|00001d60| 72 20 73 70 65 63 69 66 | 69 65 73 20 74 68 65 20 |r specif|ies the |
|00001d70| 64 65 73 74 69 6e 61 74 | 69 6f 6e 20 64 69 72 65 |destinat|ion dire|
|00001d80| 63 74 6f 72 79 2c 20 77 | 68 69 63 68 20 6d 61 79 |ctory, w|hich may|
|00001d90| 20 6f 72 20 6d 61 79 0a | 58 23 20 6e 6f 74 20 65 | or may.|X# not e|
|00001da0| 78 69 73 74 20 70 72 69 | 6f 72 20 74 6f 20 69 6e |xist pri|or to in|
|00001db0| 76 6f 6b 69 6e 67 20 63 | 6f 70 79 44 69 72 2e 20 |voking c|opyDir. |
|00001dc0| 20 54 68 65 20 22 66 6f | 72 63 65 22 20 70 61 72 | The "fo|rce" par|
|00001dd0| 61 6d 65 74 65 72 20 63 | 61 75 73 65 73 20 72 65 |ameter c|auses re|
|00001de0| 67 75 6c 61 72 0a 58 23 | 20 66 69 6c 65 73 20 74 |gular.X#| files t|
|00001df0| 6f 20 62 65 20 63 6f 70 | 69 65 64 2c 20 65 76 65 |o be cop|ied, eve|
|00001e00| 6e 20 69 66 20 74 68 65 | 20 64 65 73 74 69 6e 61 |n if the| destina|
|00001e10| 74 69 6f 6e 20 61 6c 72 | 65 61 64 79 20 65 78 69 |tion alr|eady exi|
|00001e20| 73 74 73 2e 20 20 4f 77 | 6e 65 72 73 68 69 70 73 |sts. Ow|nerships|
|00001e30| 0a 58 23 20 6f 66 20 74 | 68 65 20 66 69 6c 65 73 |.X# of t|he files|
|00001e40| 20 63 6f 70 69 65 64 20 | 61 6e 64 20 64 69 72 65 | copied |and dire|
|00001e50| 63 74 6f 72 69 65 73 20 | 63 72 65 61 74 65 64 20 |ctories |created |
|00001e60| 61 72 65 20 73 65 74 20 | 74 6f 20 74 68 65 20 22 |are set |to the "|
|00001e70| 75 69 64 22 20 61 6e 64 | 0a 58 23 20 22 67 69 64 |uid" and|.X# "gid|
|00001e80| 22 20 70 61 72 61 6d 65 | 74 65 72 73 2e 0a 58 0a |" parame|ters..X.|
|00001e90| 58 73 75 62 20 63 6f 70 | 79 44 69 72 0a 58 7b 0a |Xsub cop|yDir.X{.|
|00001ea0| 58 09 6c 6f 63 61 6c 28 | 24 68 6f 77 2c 24 73 72 |X.local(|$how,$sr|
|00001eb0| 63 2c 24 64 65 73 74 2c | 24 66 6f 72 63 65 2c 24 |c,$dest,|$force,$|
|00001ec0| 75 69 64 2c 24 67 69 64 | 29 20 3d 20 40 5f 3b 0a |uid,$gid|) = @_;.|
|00001ed0| 58 09 6c 6f 63 61 6c 28 | 40 64 69 72 73 2c 24 6e |X.local(|@dirs,$n|
|00001ee0| 61 6d 65 2c 24 74 68 69 | 73 2c 24 73 70 61 74 68 |ame,$thi|s,$spath|
|00001ef0| 2c 24 64 70 61 74 68 2c | 24 73 74 61 74 75 73 2c |,$dpath,|$status,|
|00001f00| 24 73 5f 64 65 76 2c 24 | 73 5f 69 6e 6f 2c 24 73 |$s_dev,$|s_ino,$s|
|00001f10| 5f 6d 6f 64 65 29 3b 0a | 58 0a 58 09 23 20 49 6e |_mode);.|X.X.# In|
|00001f20| 69 74 69 61 6c 69 7a 65 | 20 74 68 65 20 64 69 72 |itialize| the dir|
|00001f30| 65 63 74 6f 72 79 20 6c | 69 73 74 0a 58 09 40 64 |ectory l|ist.X.@d|
|00001f40| 69 72 73 20 3d 20 28 20 | 27 2e 27 20 29 3b 0a 58 |irs = ( |'.' );.X|
|00001f50| 0a 58 09 23 20 43 6f 70 | 79 20 65 61 63 68 20 64 |.X.# Cop|y each d|
|00001f60| 69 72 65 63 74 6f 79 20 | 69 6e 20 74 68 65 20 64 |irectoy |in the d|
|00001f70| 69 72 65 63 74 6f 72 79 | 20 6c 69 73 74 2e 0a 58 |irectory| list..X|
|00001f80| 09 77 68 69 6c 65 20 28 | 20 28 20 24 74 68 69 73 |.while (| ( $this|
|00001f90| 20 3d 20 73 68 69 66 74 | 28 40 64 69 72 73 29 20 | = shift|(@dirs) |
|00001fa0| 29 20 6e 65 20 22 22 20 | 29 0a 58 09 7b 0a 58 09 |) ne "" |).X.{.X.|
|00001fb0| 09 23 20 22 2e 22 20 69 | 73 20 61 20 73 70 65 63 |.# "." i|s a spec|
|00001fc0| 69 61 6c 20 63 61 73 65 | 2c 20 61 6e 64 20 77 65 |ial case|, and we|
|00001fd0| 20 64 6f 6e 27 74 20 77 | 61 6e 74 20 74 6f 20 68 | don't w|ant to h|
|00001fe0| 61 76 65 20 64 6f 74 73 | 0a 58 09 09 23 20 69 6e |ave dots|.X..# in|
|00001ff0| 20 70 61 74 68 73 20 6f | 66 20 66 69 6c 65 73 20 | paths o|f files |
|00002000| 74 68 61 74 20 77 65 20 | 63 6f 70 79 2e 20 20 4c |that we |copy. L|
|00002010| 6f 6f 6b 73 20 62 61 64 | 20 77 68 65 6e 20 74 68 |ooks bad| when th|
|00002020| 65 20 63 6f 70 79 0a 58 | 09 09 23 20 69 73 20 72 |e copy.X|..# is r|
|00002030| 65 61 6c 6c 79 20 61 20 | 73 79 6d 62 6f 6c 69 63 |eally a |symbolic|
|00002040| 20 6c 69 6e 6b 2e 0a 58 | 09 09 69 66 20 28 20 24 | link..X|..if ( $|
|00002050| 74 68 69 73 20 65 71 20 | 27 2e 27 20 29 0a 58 09 |this eq |'.' ).X.|
|00002060| 09 7b 0a 58 09 09 09 24 | 64 70 61 74 68 20 3d 20 |.{.X...$|dpath = |
|00002070| 24 64 65 73 74 3b 0a 58 | 09 09 09 24 73 70 61 74 |$dest;.X|...$spat|
|00002080| 68 20 3d 20 24 73 72 63 | 3b 0a 58 09 09 7d 0a 58 |h = $src|;.X..}.X|
|00002090| 09 09 65 6c 73 65 0a 58 | 09 09 7b 0a 58 09 09 09 |..else.X|..{.X...|
|000020a0| 24 64 70 61 74 68 20 3d | 20 22 24 64 65 73 74 2f |$dpath =| "$dest/|
|000020b0| 24 74 68 69 73 22 3b 0a | 58 09 09 09 24 73 70 61 |$this";.|X...$spa|
|000020c0| 74 68 20 3d 20 22 24 73 | 72 63 2f 24 74 68 69 73 |th = "$s|rc/$this|
|000020d0| 22 3b 0a 58 09 09 7d 0a | 58 0a 58 09 09 23 20 53 |";.X..}.|X.X..# S|
|000020e0| 65 65 20 74 68 61 74 20 | 74 68 65 20 64 65 73 74 |ee that |the dest|
|000020f0| 20 64 69 72 65 63 74 6f | 72 79 20 65 78 69 73 74 | directo|ry exist|
|00002100| 73 2e 0a 58 09 09 69 66 | 20 28 20 2d 64 20 24 64 |s..X..if| ( -d $d|
|00002110| 70 61 74 68 20 29 0a 58 | 09 09 7b 0a 58 09 09 09 |path ).X|..{.X...|
|00002120| 30 3b 20 23 20 44 6f 20 | 6e 6f 74 68 69 6e 67 0a |0; # Do |nothing.|
|00002130| 58 09 09 7d 0a 58 09 09 | 65 6c 73 69 66 20 28 20 |X..}.X..|elsif ( |
|00002140| 2d 65 20 24 64 70 61 74 | 68 20 29 0a 58 09 09 7b |-e $dpat|h ).X..{|
|00002150| 0a 58 09 09 09 70 72 69 | 6e 74 20 53 54 44 45 52 |.X...pri|nt STDER|
|00002160| 52 20 22 43 61 6e 6e 6f | 74 20 63 72 65 61 74 65 |R "Canno|t create|
|00002170| 20 64 69 72 65 63 74 6f | 72 79 20 24 64 70 61 74 | directo|ry $dpat|
|00002180| 68 2c 20 22 3b 0a 58 09 | 09 09 70 72 69 6e 74 20 |h, ";.X.|..print |
|00002190| 53 54 44 45 52 52 20 22 | 61 73 20 69 74 20 61 6c |STDERR "|as it al|
|000021a0| 72 65 61 64 79 20 65 78 | 69 73 74 73 5c 6e 22 3b |ready ex|ists\n";|
|000021b0| 0a 58 09 09 09 6e 65 78 | 74 3b 0a 58 09 09 7d 0a |.X...nex|t;.X..}.|
|000021c0| 58 09 09 65 6c 73 65 0a | 58 09 09 7b 0a 58 09 09 |X..else.|X..{.X..|
|000021d0| 09 69 66 20 28 20 6d 6b | 64 69 72 28 24 64 70 61 |.if ( mk|dir($dpa|
|000021e0| 74 68 2c 28 30 37 37 37 | 20 26 20 7e 20 24 75 6d |th,(0777| & ~ $um|
|000021f0| 61 73 6b 29 29 20 3d 3d | 20 30 20 29 0a 58 09 09 |ask)) ==| 0 ).X..|
|00002200| 09 7b 0a 58 09 09 09 09 | 70 72 69 6e 74 20 53 54 |.{.X....|print ST|
|00002210| 44 45 52 52 20 22 55 6e | 61 62 6c 65 20 74 6f 20 |DERR "Un|able to |
|00002220| 63 72 65 61 74 65 20 24 | 64 70 61 74 68 3a 5c 6e |create $|dpath:\n|
|00002230| 24 21 5c 6e 22 3b 0a 58 | 09 09 09 09 6e 65 78 74 |$!\n";.X|....next|
|00002240| 3b 0a 58 09 09 09 7d 0a | 58 09 09 7d 0a 58 0a 58 |;.X...}.|X..}.X.X|
|00002250| 09 09 23 20 43 6f 70 79 | 20 65 76 65 72 79 74 68 |..# Copy| everyth|
|00002260| 69 6e 67 20 69 6e 20 74 | 68 65 20 73 72 63 20 64 |ing in t|he src d|
|00002270| 69 72 65 63 74 6f 72 79 | 20 74 6f 20 74 68 65 20 |irectory| to the |
|00002280| 64 65 73 74 20 64 69 72 | 65 63 74 6f 72 79 2c 0a |dest dir|ectory,.|
|00002290| 58 09 09 23 20 65 78 63 | 65 70 74 20 66 6f 72 20 |X..# exc|ept for |
|000022a0| 2e 20 61 6e 64 20 2e 2e | 0a 58 09 09 69 66 20 28 |. and ..|.X..if (|
|000022b0| 20 6f 70 65 6e 64 69 72 | 28 44 49 52 2c 24 73 70 | opendir|(DIR,$sp|
|000022c0| 61 74 68 29 20 65 71 20 | 22 22 20 29 0a 58 09 09 |ath) eq |"" ).X..|
|000022d0| 7b 0a 58 09 09 09 70 72 | 69 6e 74 20 53 54 44 45 |{.X...pr|int STDE|
|000022e0| 52 52 20 22 55 6e 61 62 | 6c 65 20 74 6f 20 72 65 |RR "Unab|le to re|
|000022f0| 61 64 20 64 69 72 65 63 | 74 6f 72 79 20 24 73 70 |ad direc|tory $sp|
|00002300| 61 74 68 3a 5c 6e 24 21 | 5c 6e 22 3b 0a 58 09 09 |ath:\n$!|\n";.X..|
|00002310| 09 6e 65 78 74 3b 0a 58 | 09 09 7d 0a 58 09 09 77 |.next;.X|..}.X..w|
|00002320| 68 69 6c 65 20 28 20 28 | 20 24 6e 61 6d 65 20 3d |hile ( (| $name =|
|00002330| 20 72 65 61 64 64 69 72 | 28 44 49 52 29 20 29 20 | readdir|(DIR) ) |
|00002340| 6e 65 20 22 22 20 29 0a | 58 09 09 7b 0a 58 09 09 |ne "" ).|X..{.X..|
|00002350| 09 69 66 20 28 20 28 20 | 24 6e 61 6d 65 20 65 71 |.if ( ( |$name eq|
|00002360| 20 27 2e 27 20 29 20 7c | 7c 0a 58 09 09 09 20 20 | '.' ) |||.X... |
|00002370| 20 20 20 28 20 24 6e 61 | 6d 65 20 65 71 20 27 2e | ( $na|me eq '.|
|00002380| 2e 27 20 29 20 29 0a 58 | 09 09 09 7b 0a 58 09 09 |.' ) ).X|...{.X..|
|00002390| 09 09 6e 65 78 74 3b 0a | 58 09 09 09 7d 0a 58 0a |..next;.|X...}.X.|
|000023a0| 58 09 09 09 23 20 52 65 | 6d 6f 76 65 20 2e 20 66 |X...# Re|move . f|
|000023b0| 72 6f 6d 20 70 61 74 68 | 73 2e 20 20 54 68 65 79 |rom path|s. They|
|000023c0| 20 6c 6f 6f 6b 20 62 61 | 64 20 77 68 65 6e 20 74 | look ba|d when t|
|000023d0| 68 65 20 63 6f 70 79 0a | 58 09 09 09 23 20 6f 66 |he copy.|X...# of|
|000023e0| 20 72 65 67 75 6c 61 72 | 20 66 69 6c 65 73 20 61 | regular| files a|
|000023f0| 72 65 20 72 65 61 6c 6c | 79 20 73 79 6d 62 6f 6c |re reall|y symbol|
|00002400| 69 63 20 6c 69 6e 6b 73 | 2e 0a 58 09 09 09 69 66 |ic links|..X...if|
|00002410| 20 28 20 24 74 68 69 73 | 20 65 71 20 27 2e 27 20 | ( $this| eq '.' |
|00002420| 29 0a 58 09 09 09 7b 0a | 58 09 09 09 09 24 73 70 |).X...{.|X....$sp|
|00002430| 61 74 68 20 3d 20 22 24 | 73 72 63 2f 24 6e 61 6d |ath = "$|src/$nam|
|00002440| 65 22 3b 0a 58 09 09 09 | 09 24 64 70 61 74 68 20 |e";.X...|.$dpath |
|00002450| 3d 20 22 24 64 65 73 74 | 2f 24 6e 61 6d 65 22 3b |= "$dest|/$name";|
|00002460| 0a 58 09 09 09 7d 0a 58 | 09 09 09 65 6c 73 65 0a |.X...}.X|...else.|
|00002470| 58 09 09 09 7b 0a 58 09 | 09 09 09 24 73 70 61 74 |X...{.X.|...$spat|
|00002480| 68 20 3d 20 22 24 73 72 | 63 2f 24 74 68 69 73 2f |h = "$sr|c/$this/|
|00002490| 24 6e 61 6d 65 22 3b 0a | 58 09 09 09 09 24 64 70 |$name";.|X....$dp|
|000024a0| 61 74 68 20 3d 20 22 24 | 64 65 73 74 2f 24 74 68 |ath = "$|dest/$th|
|000024b0| 69 73 2f 24 6e 61 6d 65 | 22 3b 0a 58 09 09 09 7d |is/$name|";.X...}|
|000024c0| 0a 58 09 09 09 69 66 20 | 28 20 2d 64 20 24 73 70 |.X...if |( -d $sp|
|000024d0| 61 74 68 20 29 0a 58 09 | 09 09 7b 0a 58 09 09 09 |ath ).X.|..{.X...|
|000024e0| 09 23 20 53 72 63 20 69 | 73 20 61 20 64 69 72 65 |.# Src i|s a dire|
|000024f0| 63 74 6f 72 79 2c 20 61 | 64 64 20 69 74 20 74 6f |ctory, a|dd it to|
|00002500| 20 74 68 65 20 64 69 72 | 65 63 74 6f 72 79 0a 58 | the dir|ectory.X|
|00002510| 09 09 09 09 23 20 6c 69 | 73 74 20 66 6f 72 20 6c |....# li|st for l|
|00002520| 61 74 65 72 20 70 72 6f | 63 65 73 73 69 6e 67 2e |ater pro|cessing.|
|00002530| 0a 58 09 09 09 09 69 66 | 20 28 20 24 74 68 69 73 |.X....if| ( $this|
|00002540| 20 65 71 20 27 2e 27 20 | 29 0a 58 09 09 09 09 7b | eq '.' |).X....{|
|00002550| 0a 58 09 09 09 09 09 75 | 6e 73 68 69 66 74 28 40 |.X.....u|nshift(@|
|00002560| 64 69 72 73 2c 22 24 6e | 61 6d 65 22 29 3b 0a 58 |dirs,"$n|ame");.X|
|00002570| 09 09 09 09 7d 0a 58 09 | 09 09 09 65 6c 73 65 0a |....}.X.|...else.|
|00002580| 58 09 09 09 09 7b 0a 58 | 09 09 09 09 09 75 6e 73 |X....{.X|.....uns|
|00002590| 68 69 66 74 28 40 64 69 | 72 73 2c 22 24 74 68 69 |hift(@di|rs,"$thi|
|000025a0| 73 2f 24 6e 61 6d 65 22 | 29 3b 0a 58 09 09 09 09 |s/$name"|);.X....|
|000025b0| 7d 0a 58 09 09 09 7d 0a | 58 09 09 09 65 6c 73 65 |}.X...}.|X...else|
|000025c0| 0a 58 09 09 09 7b 0a 58 | 09 09 09 09 23 20 43 6f |.X...{.X|....# Co|
|000025d0| 70 79 20 61 20 72 65 67 | 75 6c 61 72 20 66 69 6c |py a reg|ular fil|
|000025e0| 65 0a 58 09 09 09 09 69 | 66 20 28 20 24 74 68 69 |e.X....i|f ( $thi|
|000025f0| 73 20 65 71 20 27 2e 27 | 20 29 0a 58 09 09 09 09 |s eq '.'| ).X....|
|00002600| 7b 0a 58 09 09 09 09 09 | 70 72 69 6e 74 20 22 5c |{.X.....|print "\|
|00002610| 74 24 6e 61 6d 65 5c 6e | 22 3b 0a 58 09 09 09 09 |t$name\n|";.X....|
|00002620| 7d 0a 58 09 09 09 09 65 | 6c 73 65 0a 58 09 09 09 |}.X....e|lse.X...|
|00002630| 09 7b 0a 58 09 09 09 09 | 09 70 72 69 6e 74 20 22 |.{.X....|.print "|
|00002640| 5c 74 24 74 68 69 73 2f | 24 6e 61 6d 65 5c 6e 22 |\t$this/|$name\n"|
|00002650| 3b 0a 58 09 09 09 09 7d | 0a 58 0a 58 09 09 09 09 |;.X....}|.X.X....|
|00002660| 23 20 46 6f 72 63 65 64 | 20 63 6f 70 79 2c 20 75 |# Forced| copy, u|
|00002670| 6e 6c 69 6e 6b 20 74 68 | 65 20 64 65 73 74 69 6e |nlink th|e destin|
|00002680| 61 74 69 6f 6e 20 66 69 | 6c 65 0a 58 09 09 09 09 |ation fi|le.X....|
|00002690| 23 20 69 66 20 69 74 20 | 61 6c 72 65 61 64 79 20 |# if it |already |
|000026a0| 65 78 69 73 74 73 2e 0a | 58 09 09 09 09 69 66 20 |exists..|X....if |
|000026b0| 28 20 28 20 2d 65 20 24 | 64 70 61 74 68 20 29 20 |( ( -e $|dpath ) |
|000026c0| 26 26 20 28 20 24 66 6f | 72 63 65 20 29 20 29 0a |&& ( $fo|rce ) ).|
|000026d0| 58 09 09 09 09 7b 0a 58 | 09 09 09 09 09 75 6e 6c |X....{.X|.....unl|
|000026e0| 69 6e 6b 28 24 64 70 61 | 74 68 29 3b 0a 58 09 09 |ink($dpa|th);.X..|
|000026f0| 09 09 7d 0a 58 0a 58 09 | 09 09 09 23 20 43 6f 70 |..}.X.X.|...# Cop|
|00002700| 79 20 74 68 65 20 66 69 | 6c 65 2c 20 69 66 20 74 |y the fi|le, if t|
|00002710| 68 65 20 64 65 73 74 20 | 64 6f 65 73 6e 27 74 20 |he dest |doesn't |
|00002720| 61 6c 72 65 61 64 79 0a | 58 09 09 09 09 23 20 65 |already.|X....# e|
|00002730| 78 69 73 74 2c 20 61 6e | 64 20 63 68 61 6e 67 65 |xist, an|d change|
|00002740| 20 6f 77 6e 65 72 73 68 | 69 70 20 69 66 20 6e 65 | ownersh|ip if ne|
|00002750| 65 64 65 64 2e 0a 58 09 | 09 09 09 69 66 20 28 20 |eded..X.|...if ( |
|00002760| 21 20 2d 65 20 24 64 70 | 61 74 68 20 29 0a 58 09 |! -e $dp|ath ).X.|
|00002770| 09 09 09 7b 0a 58 09 09 | 09 09 09 26 63 6f 70 79 |...{.X..|...©|
|00002780| 46 69 6c 65 28 24 68 6f | 77 2c 24 73 70 61 74 68 |File($ho|w,$spath|
|00002790| 2c 24 64 70 61 74 68 29 | 3b 0a 58 09 09 09 09 09 |,$dpath)|;.X.....|
|000027a0| 28 20 24 73 5f 64 65 76 | 2c 24 73 5f 69 6e 6f 2c |( $s_dev|,$s_ino,|
|000027b0| 24 73 5f 6d 6f 64 65 20 | 29 20 3d 0a 58 09 09 09 |$s_mode |) =.X...|
|000027c0| 09 09 20 20 20 20 73 74 | 61 74 28 24 64 70 61 74 |.. st|at($dpat|
|000027d0| 68 29 3b 0a 58 09 09 09 | 09 09 63 68 6d 6f 64 28 |h);.X...|..chmod(|
|000027e0| 28 24 73 5f 6d 6f 64 65 | 20 7c 20 30 32 30 30 29 |($s_mode| | 0200)|
|000027f0| 2c 24 64 70 61 74 68 29 | 3b 0a 58 09 09 09 09 09 |,$dpath)|;.X.....|
|00002800| 69 66 20 28 20 24 75 69 | 64 20 21 3d 20 24 3c 20 |if ( $ui|d != $< |
|00002810| 29 0a 58 09 09 09 09 09 | 7b 0a 58 09 09 09 09 09 |).X.....|{.X.....|
|00002820| 09 63 68 6f 77 6e 28 24 | 75 69 64 2c 24 67 69 64 |.chown($|uid,$gid|
|00002830| 2c 24 64 70 61 74 68 29 | 3b 0a 58 09 09 09 09 09 |,$dpath)|;.X.....|
|00002840| 7d 0a 58 09 09 09 09 7d | 0a 58 09 09 09 7d 0a 58 |}.X....}|.X...}.X|
|00002850| 09 09 7d 0a 58 09 09 63 | 6c 6f 73 65 64 69 72 28 |..}.X..c|losedir(|
|00002860| 44 49 52 29 3b 0a 58 09 | 7d 0a 58 0a 58 09 23 20 |DIR);.X.|}.X.X.# |
|00002870| 43 68 61 6e 67 65 20 74 | 68 65 20 6f 77 6e 65 72 |Change t|he owner|
|00002880| 73 68 69 70 20 6f 66 20 | 74 68 65 20 64 69 72 65 |ship of |the dire|
|00002890| 63 74 6f 72 79 20 6a 75 | 73 74 20 70 72 6f 63 65 |ctory ju|st proce|
|000028a0| 73 73 65 64 2e 20 20 54 | 68 69 73 20 69 73 0a 58 |ssed. T|his is.X|
|000028b0| 09 23 20 64 6f 6e 65 20 | 61 66 74 65 72 77 61 72 |.# done |afterwar|
|000028c0| 64 73 20 73 6f 20 74 68 | 61 74 20 77 65 20 68 61 |ds so th|at we ha|
|000028d0| 76 65 20 77 72 69 74 65 | 20 70 65 72 6d 69 73 73 |ve write| permiss|
|000028e0| 69 6f 6e 20 69 6e 74 6f | 20 74 68 65 20 64 69 72 |ion into| the dir|
|000028f0| 65 63 74 6f 72 79 0a 58 | 09 23 20 66 6f 72 20 6d |ectory.X|.# for m|
|00002900| 61 6b 69 6e 67 20 63 6f | 70 69 65 73 2e 0a 58 09 |aking co|pies..X.|
|00002910| 69 66 20 28 20 24 75 69 | 64 20 21 3d 20 24 3c 20 |if ( $ui|d != $< |
|00002920| 29 0a 58 09 7b 0a 58 09 | 09 63 68 6f 77 6e 28 24 |).X.{.X.|.chown($|
|00002930| 75 69 64 2c 24 67 69 64 | 2c 22 24 64 65 73 74 2f |uid,$gid|,"$dest/|
|00002940| 24 74 68 69 73 22 29 3b | 0a 58 09 7d 0a 58 7d 0a |$this");|.X.}.X}.|
|00002950| 58 0a 58 23 20 54 68 69 | 73 20 73 75 62 72 6f 75 |X.X# Thi|s subrou|
|00002960| 74 69 6e 65 20 63 6f 70 | 69 65 73 20 73 79 73 74 |tine cop|ies syst|
|00002970| 65 6d 20 66 69 6c 65 73 | 20 64 69 73 74 72 69 62 |em files| distrib|
|00002980| 75 74 65 64 20 77 69 74 | 68 20 41 2f 55 58 0a 58 |uted wit|h A/UX.X|
|00002990| 0a 58 73 75 62 20 61 70 | 70 6c 65 53 74 75 66 66 |.Xsub ap|pleStuff|
|000029a0| 0a 58 7b 0a 58 09 23 20 | 43 72 65 61 74 65 20 73 |.X{.X.# |Create s|
|000029b0| 75 62 64 69 72 65 63 74 | 6f 72 69 65 73 3b 20 63 |ubdirect|ories; c|
|000029c0| 6f 70 79 20 6f 72 20 6c | 69 6e 6b 20 66 69 6c 65 |opy or l|ink file|
|000029d0| 73 0a 58 09 70 72 69 6e | 74 20 22 53 68 61 72 65 |s.X.prin|t "Share|
|000029e0| 64 20 66 69 6c 65 73 20 | 2e 2e 2e 5c 6e 22 3b 0a |d files |...\n";.|
|000029f0| 58 09 26 63 6f 70 79 44 | 69 72 28 27 2f 62 69 6e |X.©D|ir('/bin|
|00002a00| 2f 6c 6e 20 2d 73 20 24 | 6f 6c 64 20 24 6e 65 77 |/ln -s $|old $new|
|00002a10| 27 2c 22 24 73 79 73 74 | 65 6d 64 69 72 2f 73 68 |',"$syst|emdir/sh|
|00002a20| 61 72 65 64 22 2c 24 6d | 79 64 69 72 2c 31 2c 0a |ared",$m|ydir,1,.|
|00002a30| 58 09 20 20 20 20 20 20 | 20 20 20 24 70 5f 75 69 |X. | $p_ui|
|00002a40| 64 2c 24 70 5f 67 69 64 | 29 3b 0a 58 0a 58 09 70 |d,$p_gid|);.X.X.p|
|00002a50| 72 69 6e 74 20 22 50 72 | 69 76 61 74 65 20 66 69 |rint "Pr|ivate fi|
|00002a60| 6c 65 73 20 2e 2e 2e 5c | 6e 22 3b 0a 58 09 26 63 |les ...\|n";.X.&c|
|00002a70| 6f 70 79 44 69 72 28 27 | 2f 62 69 6e 2f 63 70 20 |opyDir('|/bin/cp |
|00002a80| 24 6f 6c 64 20 24 6e 65 | 77 27 2c 22 24 73 79 73 |$old $ne|w',"$sys|
|00002a90| 74 65 6d 64 69 72 2f 70 | 72 69 76 61 74 65 22 2c |temdir/p|rivate",|
|00002aa0| 24 6d 79 64 69 72 2c 0a | 58 09 20 20 20 20 20 20 |$mydir,.|X. |
|00002ab0| 20 20 20 24 66 6f 72 63 | 65 2c 24 70 5f 75 69 64 | $forc|e,$p_uid|
|00002ac0| 2c 24 70 5f 67 69 64 29 | 3b 0a 58 0a 58 09 66 6f |,$p_gid)|;.X.X.fo|
|00002ad0| 72 65 61 63 68 20 24 66 | 69 6c 65 20 28 20 22 44 |reach $f|ile ( "D|
|00002ae0| 65 73 6b 74 6f 70 20 44 | 46 22 2c 20 22 44 65 73 |esktop D|F", "Des|
|00002af0| 6b 74 6f 70 20 44 42 22 | 2c 20 22 2e 66 73 5f 63 |ktop DB"|, ".fs_c|
|00002b00| 61 63 68 65 22 2c 20 22 | 2e 66 73 5f 64 69 72 49 |ache", "|.fs_dirI|
|00002b10| 44 73 22 20 29 0a 58 09 | 7b 0a 58 09 09 24 73 70 |Ds" ).X.|{.X..$sp|
|00002b20| 61 74 68 20 3d 20 22 24 | 73 79 73 74 65 6d 66 6f |ath = "$|systemfo|
|00002b30| 6c 64 65 72 2f 24 66 69 | 6c 65 22 3b 0a 58 09 09 |lder/$fi|le";.X..|
|00002b40| 24 64 70 61 74 68 20 3d | 20 22 24 6d 79 64 69 72 |$dpath =| "$mydir|
|00002b50| 2f 24 66 69 6c 65 22 3b | 0a 58 09 09 69 66 20 28 |/$file";|.X..if (|
|00002b60| 20 28 20 21 20 2d 66 20 | 24 64 70 61 74 68 20 29 | ( ! -f |$dpath )|
|00002b70| 20 26 26 20 28 20 2d 66 | 20 24 73 70 61 74 68 20 | && ( -f| $spath |
|00002b80| 29 20 29 0a 58 09 09 7b | 0a 58 09 09 09 26 63 6f |) ).X..{|.X...&co|
|00002b90| 70 79 46 69 6c 65 28 27 | 2f 62 69 6e 2f 63 70 20 |pyFile('|/bin/cp |
|00002ba0| 24 6f 6c 64 20 24 6e 65 | 77 27 2c 24 73 70 61 74 |$old $ne|w',$spat|
|00002bb0| 68 2c 24 64 70 61 74 68 | 29 3b 0a 58 09 09 7d 0a |h,$dpath|);.X..}.|
|00002bc0| 58 09 7d 0a 58 7d 0a 58 | 0a 58 23 20 54 68 69 73 |X.}.X}.X|.X# This|
|00002bd0| 20 73 75 62 72 6f 75 74 | 69 6e 65 20 63 6f 70 69 | subrout|ine copi|
|00002be0| 65 73 20 70 72 6f 64 75 | 63 74 73 20 69 6e 73 74 |es produ|cts inst|
|00002bf0| 61 6c 6c 65 64 20 6c 6f | 63 61 6c 6c 79 20 66 6f |alled lo|cally fo|
|00002c00| 72 20 70 72 69 76 61 74 | 65 20 73 79 73 74 65 6d |r privat|e system|
|00002c10| 20 66 69 6c 65 73 2e 0a | 58 0a 58 73 75 62 20 6c | files..|X.Xsub l|
|00002c20| 6f 63 61 6c 53 74 75 66 | 66 0a 58 7b 0a 58 09 23 |ocalStuf|f.X{.X.#|
|00002c30| 20 43 6f 70 79 20 70 72 | 6f 64 75 63 74 73 0a 58 | Copy pr|oducts.X|
|00002c40| 09 69 66 20 28 20 28 20 | 2d 64 20 24 70 72 6f 64 |.if ( ( |-d $prod|
|00002c50| 75 63 74 73 20 29 20 26 | 26 20 28 20 6f 70 65 6e |ucts ) &|& ( open|
|00002c60| 64 69 72 28 50 44 49 52 | 2c 24 70 72 6f 64 75 63 |dir(PDIR|,$produc|
|00002c70| 74 73 29 20 6e 65 20 22 | 22 20 29 20 29 0a 58 09 |ts) ne "|" ) ).X.|
|00002c80| 7b 0a 58 09 09 23 20 53 | 63 61 6e 20 65 61 63 68 |{.X..# S|can each|
|00002c90| 20 70 72 6f 64 75 63 74 | 0a 58 09 09 77 68 69 6c | product|.X..whil|
|00002ca0| 65 20 28 20 28 20 24 74 | 68 69 73 20 3d 20 72 65 |e ( ( $t|his = re|
|00002cb0| 61 64 64 69 72 28 50 44 | 49 52 29 20 29 20 6e 65 |addir(PD|IR) ) ne|
|00002cc0| 20 22 22 20 29 0a 58 09 | 09 7b 0a 58 09 09 09 23 | "" ).X.|.{.X...#|
|00002cd0| 20 53 6b 69 70 20 69 66 | 20 2e 20 6f 72 20 2e 2e | Skip if| . or ..|
|00002ce0| 0a 58 09 09 09 69 66 20 | 28 20 28 20 24 74 68 69 |.X...if |( ( $thi|
|00002cf0| 73 20 65 71 20 27 2e 27 | 20 29 20 7c 7c 20 28 20 |s eq '.'| ) || ( |
|00002d00| 24 74 68 69 73 20 65 71 | 20 27 2e 2e 27 20 29 20 |$this eq| '..' ) |
|00002d10| 29 0a 58 09 09 09 7b 0a | 58 09 09 09 09 6e 65 78 |).X...{.|X....nex|
|00002d20| 74 3b 0a 58 09 09 09 7d | 0a 58 0a 58 09 09 09 23 |t;.X...}|.X.X...#|
|00002d30| 20 43 6f 70 79 20 61 20 | 73 70 65 63 69 66 69 63 | Copy a |specific|
|00002d40| 20 70 72 6f 64 75 63 74 | 2e 20 20 46 69 72 73 74 | product|. First|
|00002d50| 20 63 72 65 61 74 65 20 | 73 79 6d 6c 69 6e 6b 73 | create |symlinks|
|00002d60| 0a 58 09 09 09 23 20 74 | 6f 20 74 68 65 20 73 68 |.X...# t|o the sh|
|00002d70| 61 72 61 62 6c 65 20 66 | 69 6c 65 73 2c 20 74 68 |arable f|iles, th|
|00002d80| 65 6e 20 63 6f 70 79 20 | 74 68 65 20 6f 6e 65 73 |en copy |the ones|
|00002d90| 20 74 68 61 74 20 6d 75 | 73 74 0a 58 09 09 09 23 | that mu|st.X...#|
|00002da0| 20 62 65 20 75 6e 69 71 | 75 65 2e 0a 58 09 09 09 | be uniq|ue..X...|
|00002db0| 70 72 69 6e 74 20 22 24 | 74 68 69 73 20 2e 2e 2e |print "$|this ...|
|00002dc0| 5c 6e 22 3b 0a 58 09 09 | 09 24 73 70 61 74 68 20 |\n";.X..|.$spath |
|00002dd0| 3d 20 22 24 70 72 6f 64 | 75 63 74 73 2f 24 74 68 |= "$prod|ucts/$th|
|00002de0| 69 73 2f 73 68 61 72 65 | 64 22 3b 0a 58 09 09 09 |is/share|d";.X...|
|00002df0| 69 66 20 28 20 2d 64 20 | 24 73 70 61 74 68 20 29 |if ( -d |$spath )|
|00002e00| 0a 58 09 09 09 7b 0a 58 | 09 09 09 09 26 63 6f 70 |.X...{.X|....&cop|
|00002e10| 79 44 69 72 28 27 2f 62 | 69 6e 2f 6c 6e 20 2d 73 |yDir('/b|in/ln -s|
|00002e20| 20 24 6f 6c 64 20 24 6e | 65 77 27 2c 24 73 70 61 | $old $n|ew',$spa|
|00002e30| 74 68 2c 0a 58 09 09 09 | 09 20 20 20 20 20 20 20 |th,.X...|. |
|00002e40| 20 20 24 6d 79 64 69 72 | 2c 31 2c 24 70 5f 75 69 | $mydir|,1,$p_ui|
|00002e50| 64 2c 24 70 5f 67 69 64 | 29 3b 0a 58 09 09 09 7d |d,$p_gid|);.X...}|
|00002e60| 0a 58 09 09 09 24 73 70 | 61 74 68 20 3d 20 22 24 |.X...$sp|ath = "$|
|00002e70| 70 72 6f 64 75 63 74 73 | 2f 24 74 68 69 73 2f 70 |products|/$this/p|
|00002e80| 72 69 76 61 74 65 22 3b | 0a 58 09 09 09 69 66 20 |rivate";|.X...if |
|00002e90| 28 20 2d 64 20 24 73 70 | 61 74 68 20 29 0a 58 09 |( -d $sp|ath ).X.|
|00002ea0| 09 09 7b 0a 58 09 09 09 | 09 26 63 6f 70 79 44 69 |..{.X...|.©Di|
|00002eb0| 72 28 27 2f 62 69 6e 2f | 63 70 20 24 6f 6c 64 20 |r('/bin/|cp $old |
|00002ec0| 24 6e 65 77 27 2c 24 73 | 70 61 74 68 2c 0a 58 09 |$new',$s|path,.X.|
|00002ed0| 09 09 09 20 20 20 20 20 | 20 20 20 20 24 6d 79 64 |... | $myd|
|00002ee0| 69 72 2c 24 66 6f 72 63 | 65 2c 24 70 5f 75 69 64 |ir,$forc|e,$p_uid|
|00002ef0| 2c 24 70 5f 67 69 64 29 | 3b 0a 58 09 09 09 7d 0a |,$p_gid)|;.X...}.|
|00002f00| 58 09 09 7d 0a 58 09 09 | 63 6c 6f 73 65 64 69 72 |X..}.X..|closedir|
|00002f10| 28 50 44 49 52 29 3b 0a | 58 09 7d 0a 58 7d 0a 58 |(PDIR);.|X.}.X}.X|
|00002f20| 0a 58 23 20 54 68 69 73 | 20 73 75 62 72 6f 75 74 |.X# This| subrout|
|00002f30| 69 6e 65 20 73 70 61 77 | 6e 73 20 61 20 63 68 69 |ine spaw|ns a chi|
|00002f40| 6c 64 20 70 72 6f 63 65 | 73 73 20 61 6e 64 20 77 |ld proce|ss and w|
|00002f50| 61 69 74 73 20 66 6f 72 | 20 69 74 20 74 6f 20 66 |aits for| it to f|
|00002f60| 69 6e 69 73 68 2e 20 20 | 54 68 65 0a 58 23 20 63 |inish. |The.X# c|
|00002f70| 6f 6d 6d 61 6e 64 20 6c | 69 6e 65 20 69 73 20 74 |ommand l|ine is t|
|00002f80| 72 65 61 74 65 64 20 69 | 6e 20 61 6e 20 38 2d 62 |reated i|n an 8-b|
|00002f90| 69 74 20 63 6c 65 61 6e | 20 66 61 73 68 69 6f 6e |it clean| fashion|
|00002fa0| 2e 0a 58 0a 58 73 75 62 | 20 73 70 61 77 6e 0a 58 |..X.Xsub| spawn.X|
|00002fb0| 7b 0a 58 09 6c 6f 63 61 | 6c 28 24 66 6f 72 6b 69 |{.X.loca|l($forki|
|00002fc0| 6e 67 29 3b 0a 58 0a 58 | 09 24 66 6f 72 6b 69 6e |ng);.X.X|.$forkin|
|00002fd0| 67 20 3d 20 31 3b 0a 58 | 09 77 68 69 6c 65 20 28 |g = 1;.X|.while (|
|00002fe0| 20 24 66 6f 72 6b 69 6e | 67 20 29 0a 58 09 7b 0a | $forkin|g ).X.{.|
|00002ff0| 58 09 09 69 66 20 28 20 | 24 70 69 64 20 3d 20 66 |X..if ( |$pid = f|
|00003000| 6f 72 6b 20 29 0a 58 09 | 09 7b 0a 58 09 09 09 77 |ork ).X.|.{.X...w|
|00003010| 61 69 74 70 69 64 28 24 | 70 69 64 2c 30 29 3b 0a |aitpid($|pid,0);.|
|00003020| 58 09 09 09 24 66 6f 72 | 6b 69 6e 67 20 3d 20 30 |X...$for|king = 0|
|00003030| 3b 0a 58 09 09 7d 0a 58 | 09 09 65 6c 73 69 66 20 |;.X..}.X|..elsif |
|00003040| 28 20 64 65 66 69 6e 65 | 64 20 24 70 69 64 20 29 |( define|d $pid )|
|00003050| 0a 58 09 09 7b 0a 58 09 | 09 09 65 78 65 63 28 40 |.X..{.X.|..exec(@|
|00003060| 5f 29 3b 0a 58 09 09 09 | 70 72 69 6e 74 20 53 54 |_);.X...|print ST|
|00003070| 44 45 52 52 20 22 46 61 | 69 6c 65 64 20 74 6f 20 |DERR "Fa|iled to |
|00003080| 65 78 65 63 20 5c 27 40 | 5f 27 5c 6e 22 3b 0a 58 |exec \'@|_'\n";.X|
|00003090| 09 09 09 64 69 65 3b 0a | 58 09 09 7d 0a 58 09 09 |...die;.|X..}.X..|
|000030a0| 65 6c 73 69 66 20 28 20 | 24 21 20 3d 7e 20 2f 4e |elsif ( |$! =~ /N|
|000030b0| 6f 20 6d 6f 72 65 20 70 | 72 6f 63 65 73 73 2f 20 |o more p|rocess/ |
|000030c0| 29 0a 58 09 09 7b 0a 58 | 09 09 09 73 6c 65 65 70 |).X..{.X|...sleep|
|000030d0| 28 35 29 3b 0a 58 09 09 | 7d 0a 58 09 09 65 6c 73 |(5);.X..|}.X..els|
|000030e0| 65 0a 58 09 09 7b 0a 58 | 09 09 09 70 72 69 6e 74 |e.X..{.X|...print|
|000030f0| 20 22 46 61 69 6c 65 64 | 20 74 6f 20 66 6f 72 6b | "Failed| to fork|
|00003100| 3a 20 20 24 21 5c 6e 22 | 3b 0a 58 09 09 09 64 69 |: $!\n"|;.X...di|
|00003110| 65 3b 0a 58 09 09 7d 0a | 58 09 7d 0a 58 7d 0a 58 |e;.X..}.|X.}.X}.X|
|00003120| 0a 58 23 20 54 68 69 73 | 20 73 75 62 72 6f 75 74 |.X# This| subrout|
|00003130| 69 6e 65 20 64 69 73 70 | 6c 61 79 73 20 61 20 75 |ine disp|lays a u|
|00003140| 73 61 67 65 20 6d 65 73 | 73 61 67 65 2e 0a 58 0a |sage mes|sage..X.|
|00003150| 58 73 75 62 20 75 73 61 | 67 65 0a 58 7b 0a 58 20 |Xsub usa|ge.X{.X |
|00003160| 20 20 20 70 72 69 6e 74 | 20 27 75 73 61 67 65 3a | print| 'usage:|
|00003170| 20 6d 6b 73 79 73 74 65 | 6d 20 5b 2d 66 5d 20 5b | mksyste|m [-f] [|
|00003180| 2d 75 20 75 73 65 72 5d | 5c 6e 27 3b 0a 58 20 20 |-u user]|\n';.X |
|00003190| 20 20 70 72 69 6e 74 20 | 27 20 20 20 20 20 20 20 | print |' |
|000031a0| 6d 6b 73 79 73 74 65 6d | 32 34 20 5b 2d 66 5d 20 |mksystem|24 [-f] |
|000031b0| 5b 2d 75 20 75 73 65 72 | 5d 5c 6e 27 3b 0a 58 20 |[-u user|]\n';.X |
|000031c0| 20 20 20 65 78 69 74 20 | 31 3b 0a 58 7d 0a 58 0a | exit |1;.X}.X.|
|000031d0| 58 23 23 23 20 45 6e 64 | 20 6f 66 20 46 69 6c 65 |X### End| of File|
|000031e0| 20 23 23 23 0a 58 0a 45 | 4e 44 5f 4f 46 5f 6d 6b | ###.X.E|ND_OF_mk|
|000031f0| 73 79 73 74 65 6d 2e 70 | 65 72 6c 0a 69 66 20 74 |system.p|erl.if t|
|00003200| 65 73 74 20 38 38 31 36 | 20 2d 6e 65 20 60 77 63 |est 8816| -ne `wc|
|00003210| 20 2d 63 20 3c 6d 6b 73 | 79 73 74 65 6d 2e 70 65 | -c <mks|ystem.pe|
|00003220| 72 6c 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |rl`; the|n. ec|
|00003230| 68 6f 20 73 68 61 72 3a | 20 5c 22 6d 6b 73 79 73 |ho shar:| \"mksys|
|00003240| 74 65 6d 2e 70 65 72 6c | 5c 22 20 75 6e 70 61 63 |tem.perl|\" unpac|
|00003250| 6b 65 64 20 77 69 74 68 | 20 77 72 6f 6e 67 20 73 |ked with| wrong s|
|00003260| 69 7a 65 21 0a 66 69 0a | 23 20 65 6e 64 20 6f 66 |ize!.fi.|# end of|
|00003270| 20 6f 76 65 72 77 72 69 | 74 69 6e 67 20 63 68 65 | overwri|ting che|
|00003280| 63 6b 0a 66 69 0a 69 66 | 20 74 65 73 74 20 2d 66 |ck.fi.if| test -f|
|00003290| 20 6d 6b 73 79 73 74 65 | 6d 2e 6d 61 6e 20 2d 61 | mksyste|m.man -a|
|000032a0| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|000032b0| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|000032c0| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 6f 76 |har: Wil|l not ov|
|000032d0| 65 72 2d 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |er-write| existin|
|000032e0| 67 20 66 69 6c 65 20 5c | 22 6d 6b 73 79 73 74 65 |g file \|"mksyste|
|000032f0| 6d 2e 6d 61 6e 5c 22 0a | 65 6c 73 65 0a 65 63 68 |m.man\".|else.ech|
|00003300| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|00003310| 6e 67 20 5c 22 6d 6b 73 | 79 73 74 65 6d 2e 6d 61 |ng \"mks|ystem.ma|
|00003320| 6e 5c 22 20 5c 28 33 33 | 31 32 20 63 68 61 72 61 |n\" \(33|12 chara|
|00003330| 63 74 65 72 73 5c 29 0a | 73 65 64 20 22 73 2f 5e |cters\).|sed "s/^|
|00003340| 58 2f 2f 22 20 3e 6d 6b | 73 79 73 74 65 6d 2e 6d |X//" >mk|system.m|
|00003350| 61 6e 20 3c 3c 27 45 4e | 44 5f 4f 46 5f 6d 6b 73 |an <<'EN|D_OF_mks|
|00003360| 79 73 74 65 6d 2e 6d 61 | 6e 27 0a 58 2e 54 48 20 |ystem.ma|n'.X.TH |
|00003370| 4d 4b 53 59 53 54 45 4d | 20 31 20 6c 6f 63 61 6c |MKSYSTEM| 1 local|
|00003380| 20 73 61 6e 64 65 72 0a | 58 2e 53 48 20 4e 41 4d | sander.|X.SH NAM|
|00003390| 45 0a 58 6d 6b 73 79 73 | 74 65 6d 20 5c 2d 20 4d |E.Xmksys|tem \- M|
|000033a0| 61 6b 65 20 6c 6f 63 61 | 6c 20 73 79 73 74 65 6d |ake loca|l system|
|000033b0| 20 66 6f 6c 64 65 72 0a | 58 2e 53 48 20 53 59 4e | folder.|X.SH SYN|
|000033c0| 4f 50 53 49 53 0a 58 2e | 4c 50 0a 58 6d 6b 73 79 |OPSIS.X.|LP.Xmksy|
|000033d0| 73 74 65 6d 20 5b 0a 58 | 2e 42 20 2d 66 0a 58 5d |stem [.X|.B -f.X]|
|000033e0| 20 5b 0a 58 2e 42 20 2d | 75 0a 58 2e 49 20 75 73 | [.X.B -|u.X.I us|
|000033f0| 65 72 0a 58 5d 0a 58 2e | 4c 50 0a 58 6d 6b 73 79 |er.X].X.|LP.Xmksy|
|00003400| 73 74 65 6d 32 34 20 5b | 0a 58 2e 42 20 2d 66 0a |stem24 [|.X.B -f.|
|00003410| 58 5d 20 5b 0a 58 2e 42 | 20 2d 75 0a 58 2e 49 20 |X] [.X.B| -u.X.I |
|00003420| 75 73 65 72 0a 58 5d 0a | 58 2e 53 48 20 44 45 53 |user.X].|X.SH DES|
|00003430| 43 52 49 50 54 49 4f 4e | 0a 58 54 68 65 0a 58 5c |CRIPTION|.XThe.X\|
|00003440| 66 42 6d 6b 73 79 73 74 | 65 6d 5c 66 52 28 31 29 |fBmksyst|em\fR(1)|
|00003450| 0a 58 73 63 72 69 70 74 | 20 64 75 70 6c 69 63 61 |.Xscript| duplica|
|00003460| 74 65 73 20 74 68 65 20 | 61 63 74 69 6f 6e 20 6f |tes the |action o|
|00003470| 66 20 74 68 65 0a 58 5c | 66 42 73 79 73 74 65 6d |f the.X\|fBsystem|
|00003480| 66 6f 6c 64 65 72 5c 66 | 52 28 31 29 0a 58 73 63 |folder\f|R(1).Xsc|
|00003490| 72 69 70 74 2c 20 65 78 | 63 65 70 74 20 74 68 61 |ript, ex|cept tha|
|000034a0| 74 0a 58 5c 66 42 6d 6b | 73 79 73 74 65 6d 5c 66 |t.X\fBmk|system\f|
|000034b0| 52 28 31 29 0a 58 61 6c | 73 6f 20 69 6e 73 74 61 |R(1).Xal|so insta|
|000034c0| 6c 6c 73 20 74 68 69 72 | 64 20 70 61 72 74 79 20 |lls thir|d party |
|000034d0| 73 6f 66 74 77 61 72 65 | 20 74 68 61 74 20 6f 72 |software| that or|
|000034e0| 64 69 6e 61 72 69 6c 79 | 20 6d 75 73 74 20 62 65 |dinarily| must be|
|000034f0| 20 69 6e 73 74 61 6c 6c | 65 64 20 62 79 0a 58 74 | install|ed by.Xt|
|00003500| 68 65 20 75 73 65 72 2e | 0a 58 2e 4c 50 0a 58 54 |he user.|.X.LP.XT|
|00003510| 68 65 20 74 68 69 72 64 | 20 70 61 72 74 79 20 73 |he third| party s|
|00003520| 6f 66 74 77 61 72 65 20 | 69 73 20 6c 6f 63 61 74 |oftware |is locat|
|00003530| 65 64 20 69 6e 20 74 68 | 65 0a 58 58 58 2d 50 52 |ed in th|e.XXX-PR|
|00003540| 4f 44 55 43 54 53 2d 58 | 58 0a 58 64 69 72 65 63 |ODUCTS-X|X.Xdirec|
|00003550| 74 6f 72 79 2e 20 20 45 | 61 63 68 20 64 69 72 65 |tory. E|ach dire|
|00003560| 63 74 6f 72 79 20 66 6f | 75 6e 64 20 74 68 65 72 |ctory fo|und ther|
|00003570| 65 20 62 65 6c 6f 6e 67 | 73 20 74 6f 20 61 20 64 |e belong|s to a d|
|00003580| 69 66 66 65 72 65 6e 74 | 20 70 72 6f 64 75 63 74 |ifferent| product|
|00003590| 2c 20 61 6e 64 0a 58 65 | 61 63 68 20 63 6f 6e 74 |, and.Xe|ach cont|
|000035a0| 61 69 6e 73 20 61 20 22 | 70 72 69 76 61 74 65 22 |ains a "|private"|
|000035b0| 20 61 6e 64 20 22 73 68 | 61 72 65 64 22 20 64 69 | and "sh|ared" di|
|000035c0| 72 65 63 74 6f 72 79 20 | 74 68 61 74 20 69 6e 20 |rectory |that in |
|000035d0| 74 75 72 6e 20 63 6f 6e | 74 61 69 6e 20 74 68 65 |turn con|tain the|
|000035e0| 0a 58 77 72 69 74 61 62 | 6c 65 20 61 6e 64 20 72 |.Xwritab|le and r|
|000035f0| 65 61 64 2d 6f 6e 6c 79 | 20 66 69 6c 65 73 2c 20 |ead-only| files, |
|00003600| 72 65 73 70 65 63 74 69 | 76 65 6c 79 2c 20 74 68 |respecti|vely, th|
|00003610| 61 74 20 6d 61 6b 65 20 | 75 70 20 74 68 65 20 70 |at make |up the p|
|00003620| 72 6f 64 75 63 74 2e 0a | 58 46 69 6c 65 73 20 63 |roduct..|XFiles c|
|00003630| 6f 6e 74 61 69 6e 65 64 | 20 69 6e 20 74 68 65 20 |ontained| in the |
|00003640| 22 70 72 69 76 61 74 65 | 22 20 64 69 72 65 63 74 |"private|" direct|
|00003650| 6f 72 79 20 61 72 65 20 | 63 6f 70 69 65 64 20 74 |ory are |copied t|
|00003660| 6f 20 74 68 65 20 75 73 | 65 72 27 73 20 70 65 72 |o the us|er's per|
|00003670| 73 6f 6e 61 6c 0a 58 53 | 79 73 74 65 6d 20 46 6f |sonal.XS|ystem Fo|
|00003680| 6c 64 65 72 2c 20 77 68 | 69 6c 65 20 66 69 6c 65 |lder, wh|ile file|
|00003690| 73 20 63 6f 6e 74 61 69 | 6e 65 64 20 69 6e 20 74 |s contai|ned in t|
|000036a0| 68 65 20 22 73 68 61 72 | 65 64 22 20 64 69 72 65 |he "shar|ed" dire|
|000036b0| 63 74 6f 72 79 20 61 70 | 70 65 61 72 20 69 6e 20 |ctory ap|pear in |
|000036c0| 74 68 65 0a 58 75 73 65 | 72 27 73 20 70 65 72 73 |the.Xuse|r's pers|
|000036d0| 6f 6e 61 6c 20 53 79 73 | 74 65 6d 20 46 6f 6c 64 |onal Sys|tem Fold|
|000036e0| 65 72 20 61 73 20 73 79 | 6d 62 6f 6c 69 63 20 6c |er as sy|mbolic l|
|000036f0| 69 6e 6b 73 2e 0a 58 2e | 53 48 20 4f 50 54 49 4f |inks..X.|SH OPTIO|
|00003700| 4e 53 0a 58 2e 54 50 20 | 31 69 0a 58 2e 42 20 2d |NS.X.TP |1i.X.B -|
|00003710| 66 0a 58 46 6f 72 63 65 | 73 20 74 68 65 20 75 70 |f.XForce|s the up|
|00003720| 64 61 74 65 20 6f 66 20 | 74 68 65 20 53 79 73 74 |date of |the Syst|
|00003730| 65 6d 20 66 69 6c 65 2e | 20 20 42 79 20 64 65 66 |em file.| By def|
|00003740| 61 75 6c 74 2c 20 74 68 | 65 20 53 79 73 74 65 6d |ault, th|e System|
|00003750| 20 66 69 6c 65 20 69 73 | 20 6e 6f 74 0a 58 75 70 | file is| not.Xup|
|00003760| 64 61 74 65 64 20 69 66 | 20 69 74 20 61 6c 72 65 |dated if| it alre|
|00003770| 61 64 79 20 65 78 69 73 | 74 73 20 69 6e 20 74 65 |ady exis|ts in te|
|00003780| 68 20 70 65 72 73 6f 6e | 61 6c 20 53 79 73 74 65 |h person|al Syste|
|00003790| 6d 20 46 6f 6c 64 65 72 | 2e 20 20 54 68 69 73 20 |m Folder|. This |
|000037a0| 63 6f 6e 76 65 6e 74 69 | 6f 6e 0a 58 70 72 65 76 |conventi|on.Xprev|
|000037b0| 65 6e 74 73 20 6f 76 65 | 72 77 72 69 74 69 6e 67 |ents ove|rwriting|
|000037c0| 20 70 65 72 73 6f 6e 61 | 6c 20 66 6f 6e 74 73 2c | persona|l fonts,|
|000037d0| 20 64 65 73 6b 20 61 63 | 63 65 73 73 6f 72 69 65 | desk ac|cessorie|
|000037e0| 73 2c 20 61 6e 64 20 73 | 6f 20 6f 6e 2e 0a 58 2e |s, and s|o on..X.|
|000037f0| 54 50 20 31 69 0a 58 5c | 66 42 2d 75 5c 66 49 75 |TP 1i.X\|fB-u\fIu|
|00003800| 73 65 72 5c 66 52 0a 58 | 43 72 65 61 74 65 73 20 |ser\fR.X|Creates |
|00003810| 61 20 70 65 72 73 6f 6e | 61 6c 20 53 79 73 74 65 |a person|al Syste|
|00003820| 6d 20 46 6f 6c 64 65 72 | 20 66 6f 72 20 74 68 65 |m Folder| for the|
|00003830| 20 75 73 65 72 20 64 65 | 73 69 67 6e 61 74 65 64 | user de|signated|
|00003840| 20 62 79 0a 58 2e 49 52 | 20 75 73 65 72 20 2e 0a | by.X.IR| user ..|
|00003850| 58 54 68 69 73 20 6f 70 | 74 69 6f 6e 20 63 61 6e |XThis op|tion can|
|00003860| 20 6f 6e 6c 79 20 62 65 | 20 75 73 65 64 20 62 79 | only be| used by|
|00003870| 20 74 68 65 20 73 79 73 | 74 65 6d 20 61 64 6d 69 | the sys|tem admi|
|00003880| 6e 69 73 74 72 61 74 6f | 72 2e 20 20 49 6e 20 74 |nistrato|r. In t|
|00003890| 68 69 73 20 63 61 73 65 | 2c 0a 58 74 68 65 20 53 |his case|,.Xthe S|
|000038a0| 79 73 74 65 6d 20 46 6f | 6c 64 65 72 20 69 73 20 |ystem Fo|lder is |
|000038b0| 63 72 65 61 74 65 64 20 | 69 6e 20 74 68 65 20 68 |created |in the h|
|000038c0| 6f 6d 65 20 64 69 72 65 | 63 74 6f 72 79 20 6f 66 |ome dire|ctory of|
|000038d0| 20 74 68 65 20 75 73 65 | 72 20 64 65 73 69 67 6e | the use|r design|
|000038e0| 61 74 65 64 0a 58 62 79 | 0a 58 2e 49 52 20 75 73 |ated.Xby|.X.IR us|
|000038f0| 65 72 20 2e 0a 58 2e 53 | 48 20 46 49 4c 45 53 0a |er ..X.S|H FILES.|
|00003900| 58 2e 54 50 20 31 69 0a | 58 24 48 4f 4d 45 2f 53 |X.TP 1i.|X$HOME/S|
|00003910| 79 73 74 65 6d 20 46 6f | 6c 64 65 72 0a 58 44 69 |ystem Fo|lder.XDi|
|00003920| 72 65 63 74 6f 72 79 20 | 63 6f 72 72 65 73 70 6f |rectory |correspo|
|00003930| 6e 64 69 6e 67 20 74 6f | 20 61 20 6e 65 77 20 53 |nding to| a new S|
|00003940| 79 73 74 65 6d 20 46 6f | 6c 64 65 72 0a 58 2e 54 |ystem Fo|lder.X.T|
|00003950| 50 20 31 69 0a 58 24 48 | 4f 4d 45 2f 53 79 73 74 |P 1i.X$H|OME/Syst|
|00003960| 65 6d 20 46 6f 6c 64 65 | 72 32 34 0a 58 44 69 72 |em Folde|r24.XDir|
|00003970| 65 63 74 6f 72 79 20 63 | 6f 72 72 65 73 70 6f 6e |ectory c|orrespon|
|00003980| 64 69 6e 67 20 74 6f 20 | 61 20 6e 65 77 20 53 79 |ding to |a new Sy|
|00003990| 73 74 65 6d 20 46 6f 6c | 64 65 72 20 66 6f 72 20 |stem Fol|der for |
|000039a0| 32 34 20 62 69 74 20 6d | 6f 64 65 0a 58 2e 54 50 |24 bit m|ode.X.TP|
|000039b0| 20 31 69 0a 58 58 58 2d | 50 52 4f 44 55 43 54 53 | 1i.XXX-|PRODUCTS|
|000039c0| 2d 58 58 2f 2a 0a 58 44 | 69 72 65 63 74 6f 72 69 |-XX/*.XD|irectori|
|000039d0| 65 73 20 63 6f 6e 74 61 | 69 6e 69 6e 67 20 74 68 |es conta|ining th|
|000039e0| 69 72 64 20 70 61 72 74 | 79 20 73 6f 66 74 77 61 |ird part|y softwa|
|000039f0| 72 65 0a 58 2e 54 50 20 | 31 69 0a 58 58 58 2d 50 |re.X.TP |1i.XXX-P|
|00003a00| 52 4f 44 55 43 54 53 2d | 58 58 2f 2a 2f 70 72 69 |RODUCTS-|XX/*/pri|
|00003a10| 76 61 74 65 2f 2a 0a 58 | 46 69 6c 65 73 20 74 68 |vate/*.X|Files th|
|00003a20| 61 74 20 61 72 65 20 63 | 6f 70 69 65 64 20 69 6e |at are c|opied in|
|00003a30| 74 6f 20 61 20 6e 65 77 | 20 53 79 73 74 65 6d 20 |to a new| System |
|00003a40| 46 6f 6c 64 65 72 0a 58 | 2e 54 50 20 31 69 0a 58 |Folder.X|.TP 1i.X|
|00003a50| 58 58 2d 50 52 4f 44 55 | 43 54 53 2d 58 58 2f 2a |XX-PRODU|CTS-XX/*|
|00003a60| 2f 73 68 61 72 65 64 2f | 2a 0a 58 46 69 6c 65 73 |/shared/|*.XFiles|
|00003a70| 20 74 68 61 74 20 62 65 | 63 6f 6d 65 20 6c 69 6e | that be|come lin|
|00003a80| 6b 73 20 69 6e 20 61 20 | 6e 65 77 20 53 79 73 74 |ks in a |new Syst|
|00003a90| 65 6d 20 46 6f 6c 64 65 | 72 0a 58 2e 53 48 20 53 |em Folde|r.X.SH S|
|00003aa0| 45 45 20 41 4c 53 4f 0a | 58 2e 4c 50 0a 58 73 74 |EE ALSO.|X.LP.Xst|
|00003ab0| 61 72 74 6d 61 63 28 31 | 4d 29 20 69 6e 0a 58 2e |artmac(1|M) in.X.|
|00003ac0| 49 20 41 2f 55 58 20 53 | 79 73 74 65 6d 20 41 64 |I A/UX S|ystem Ad|
|00003ad0| 6d 69 6e 69 73 74 72 61 | 74 6f 72 27 73 20 52 65 |ministra|tor's Re|
|00003ae0| 66 65 72 65 6e 63 65 0a | 58 2e 4c 50 0a 58 73 79 |ference.|X.LP.Xsy|
|00003af0| 73 74 65 6d 46 6f 6c 64 | 65 72 28 31 29 0a 58 2e |stemFold|er(1).X.|
|00003b00| 53 48 20 45 58 41 4d 50 | 4c 45 0a 58 2e 4c 50 0a |SH EXAMP|LE.X.LP.|
|00003b10| 58 48 65 72 65 20 69 73 | 20 61 6e 20 65 78 61 6d |XHere is| an exam|
|00003b20| 70 6c 65 20 64 69 72 65 | 63 74 6f 72 79 20 73 74 |ple dire|ctory st|
|00003b30| 72 75 63 74 75 72 65 20 | 74 68 61 74 20 69 6c 6c |ructure |that ill|
|00003b40| 75 73 74 72 61 74 65 73 | 20 74 68 65 20 69 6e 73 |ustrates| the ins|
|00003b50| 74 61 6c 6c 61 74 69 6f | 6e 20 6f 66 0a 58 66 69 |tallatio|n of.Xfi|
|00003b60| 6c 65 73 20 74 68 61 74 | 20 61 72 65 20 70 72 6f |les that| are pro|
|00003b70| 63 65 73 73 65 64 20 62 | 79 0a 58 2e 42 20 6d 6b |cessed b|y.X.B mk|
|00003b80| 73 79 73 74 65 6d 0a 58 | 69 6e 74 6f 20 70 65 72 |system.X|into per|
|00003b90| 73 6f 6e 61 6c 20 53 79 | 73 74 65 6d 20 46 6f 6c |sonal Sy|stem Fol|
|00003ba0| 64 65 72 73 2e 20 20 49 | 6e 20 74 68 69 73 20 65 |ders. I|n this e|
|00003bb0| 78 61 6d 70 6c 65 2c 20 | 41 64 6f 62 65 20 54 79 |xample, |Adobe Ty|
|00003bc0| 70 65 20 4d 61 6e 61 67 | 65 72 20 61 6e 64 20 41 |pe Manag|er and A|
|00003bd0| 64 6f 62 65 0a 58 50 6c | 75 73 20 50 61 63 6b 20 |dobe.XPl|us Pack |
|00003be0| 68 61 76 65 20 62 65 65 | 6e 20 69 6e 73 74 61 6c |have bee|n instal|
|00003bf0| 6c 65 64 2c 20 61 6e 64 | 20 61 20 53 79 73 74 65 |led, and| a Syste|
|00003c00| 6d 20 66 69 6c 65 20 68 | 61 73 20 62 65 65 6e 20 |m file h|as been |
|00003c10| 6d 6f 64 69 66 69 65 64 | 20 77 69 74 68 20 6c 6f |modified| with lo|
|00003c20| 63 61 6c 0a 58 63 68 61 | 6e 67 65 73 20 28 65 2e |cal.Xcha|nges (e.|
|00003c30| 67 2e 20 6e 65 77 20 66 | 6f 6e 74 73 20 61 6e 64 |g. new f|onts and|
|00003c40| 20 73 6f 75 6e 64 73 20 | 68 61 76 65 20 62 65 65 | sounds |have bee|
|00003c50| 6e 20 61 64 64 65 64 29 | 2e 0a 58 2e 4c 50 0a 58 |n added)|..X.LP.X|
|00003c60| 58 58 2d 50 52 4f 44 55 | 43 54 53 2d 58 58 0a 58 |XX-PRODU|CTS-XX.X|
|00003c70| 2e 52 53 20 2e 32 69 0a | 58 20 20 20 20 41 64 6f |.RS .2i.|X Ado|
|00003c80| 62 65 20 54 79 70 65 20 | 4d 61 6e 61 67 65 72 0a |be Type |Manager.|
|00003c90| 58 2e 52 53 20 2e 32 69 | 0a 58 20 20 20 20 20 20 |X.RS .2i|.X |
|00003ca0| 73 68 61 72 65 64 0a 58 | 2e 52 53 20 2e 32 69 0a |shared.X|.RS .2i.|
|00003cb0| 58 20 20 20 20 20 20 20 | 20 43 6f 75 72 69 0a 58 |X | Couri.X|
|00003cc0| 2e 62 72 0a 58 20 20 20 | 20 20 20 20 20 43 6f 75 |.br.X | Cou|
|00003cd0| 72 69 42 6f 6c 0a 58 2e | 62 72 0a 58 20 20 20 20 |riBol.X.|br.X |
|00003ce0| 20 20 20 20 43 6f 75 72 | 69 42 6f 6c 4f 62 6c 0a | Cour|iBolObl.|
|00003cf0| 58 2e 62 72 0a 58 20 20 | 20 20 20 20 20 20 43 6f |X.br.X | Co|
|00003d00| 75 72 69 4f 62 6c 0a 58 | 2e 62 72 0a 58 20 20 20 |uriObl.X|.br.X |
|00003d10| 20 20 20 20 20 48 65 6c | 76 65 0a 58 2e 62 72 0a | Hel|ve.X.br.|
|00003d20| 58 20 20 20 20 20 20 20 | 20 48 65 6c 76 65 42 6f |X | HelveBo|
|00003d30| 6c 0a 58 2e 62 72 0a 58 | 20 20 20 20 20 20 20 20 |l.X.br.X| |
|00003d40| 48 65 6c 76 65 42 6f 6c | 4f 62 6c 0a 58 2e 62 72 |HelveBol|Obl.X.br|
|00003d50| 0a 58 20 20 20 20 20 20 | 20 20 48 65 6c 76 65 4f |.X | HelveO|
|00003d60| 62 6c 0a 58 2e 62 72 0a | 58 20 20 20 20 20 20 20 |bl.X.br.|X |
|00003d70| 20 53 79 6d 62 6f 0a 58 | 2e 62 72 0a 58 20 20 20 | Symbo.X|.br.X |
|00003d80| 20 20 20 20 20 54 69 6d | 65 73 42 6f 6c 0a 58 2e | Tim|esBol.X.|
|00003d90| 62 72 0a 58 20 20 20 20 | 20 20 20 20 54 69 6d 65 |br.X | Time|
|00003da0| 73 42 6f 6c 49 74 61 0a | 58 2e 62 72 0a 58 20 20 |sBolIta.|X.br.X |
|00003db0| 20 20 20 20 20 20 54 69 | 6d 65 73 49 74 61 0a 58 | Ti|mesIta.X|
|00003dc0| 2e 62 72 0a 58 20 20 20 | 20 20 20 20 20 54 69 6d |.br.X | Tim|
|00003dd0| 65 73 52 6f 6d 0a 58 2e | 52 45 0a 58 20 20 20 20 |esRom.X.|RE.X |
|00003de0| 20 20 70 72 69 76 61 74 | 65 0a 58 2e 52 53 20 2e | privat|e.X.RS .|
|00003df0| 32 69 0a 58 20 20 20 20 | 20 20 20 20 7e 41 54 4d |2i.X | ~ATM|
|00003e00| 20 36 38 30 32 30 5f 30 | 33 30 0a 58 2e 62 72 0a | 68020_0|30.X.br.|
|00003e10| 58 20 20 20 20 20 20 20 | 20 43 6f 6e 74 72 6f 6c |X | Control|
|00003e20| 20 50 61 6e 65 6c 73 0a | 58 2e 52 53 20 2e 32 69 | Panels.|X.RS .2i|
|00003e30| 0a 58 20 20 20 20 20 20 | 20 20 20 20 7e 41 54 4d |.X | ~ATM|
|00003e40| 2a 0a 58 2e 52 45 0a 58 | 2e 52 45 0a 58 2e 52 45 |*.X.RE.X|.RE.X.RE|
|00003e50| 0a 58 20 20 20 20 41 64 | 6f 62 65 20 50 6c 75 73 |.X Ad|obe Plus|
|00003e60| 20 50 61 63 6b 0a 58 2e | 52 53 20 2e 32 69 0a 58 | Pack.X.|RS .2i.X|
|00003e70| 20 20 20 20 20 20 73 68 | 61 72 65 64 0a 58 2e 52 | sh|ared.X.R|
|00003e80| 53 20 2e 32 69 0a 58 20 | 20 20 20 20 20 20 20 41 |S .2i.X | A|
|00003e90| 76 61 6e 74 47 61 72 42 | 6f 6f 0a 58 2e 62 72 0a |vantGarB|oo.X.br.|
|00003ea0| 58 20 20 20 20 20 20 20 | 20 41 76 61 6e 74 47 61 |X | AvantGa|
|00003eb0| 72 42 6f 6f 4f 62 6c 0a | 58 2e 62 72 0a 58 20 20 |rBooObl.|X.br.X |
|00003ec0| 20 20 20 20 20 20 41 76 | 61 6e 74 47 61 72 44 65 | Av|antGarDe|
|00003ed0| 6d 0a 58 2e 62 72 0a 58 | 20 20 20 20 20 20 20 20 |m.X.br.X| |
|00003ee0| 41 76 61 6e 74 47 61 72 | 44 65 6d 4f 62 6c 0a 58 |AvantGar|DemObl.X|
|00003ef0| 2e 62 72 0a 58 20 20 20 | 20 20 20 20 20 42 6f 6f |.br.X | Boo|
|00003f00| 6b 6d 44 65 6d 0a 58 2e | 62 72 0a 58 20 20 20 20 |kmDem.X.|br.X |
|00003f10| 20 20 20 20 42 6f 6f 6b | 6d 44 65 6d 49 74 61 0a | Book|mDemIta.|
|00003f20| 58 2e 62 72 0a 58 20 20 | 20 20 20 20 20 20 42 6f |X.br.X | Bo|
|00003f30| 6f 6b 6d 4c 69 67 0a 58 | 2e 62 72 0a 58 20 20 20 |okmLig.X|.br.X |
|00003f40| 20 20 20 20 20 42 6f 6f | 6b 6d 4c 69 67 49 74 61 | Boo|kmLigIta|
|00003f50| 0a 58 2e 62 72 0a 58 20 | 20 20 20 20 20 20 20 48 |.X.br.X | H|
|00003f60| 65 6c 76 65 4e 61 72 0a | 58 2e 62 72 0a 58 20 20 |elveNar.|X.br.X |
|00003f70| 20 20 20 20 20 20 48 65 | 6c 76 65 4e 61 72 42 6f | He|lveNarBo|
|00003f80| 6c 0a 58 2e 62 72 0a 58 | 20 20 20 20 20 20 20 20 |l.X.br.X| |
|00003f90| 48 65 6c 76 65 4e 61 72 | 42 6f 6c 4f 62 6c 0a 58 |HelveNar|BolObl.X|
|00003fa0| 2e 62 72 0a 58 20 20 20 | 20 20 20 20 20 48 65 6c |.br.X | Hel|
|00003fb0| 76 65 4e 61 72 4f 62 6c | 0a 58 2e 62 72 0a 58 20 |veNarObl|.X.br.X |
|00003fc0| 20 20 20 20 20 20 20 4e | 65 77 43 65 6e 53 63 68 | N|ewCenSch|
|00003fd0| 42 6f 6c 0a 58 2e 62 72 | 0a 58 20 20 20 20 20 20 |Bol.X.br|.X |
|00003fe0| 20 20 4e 65 77 43 65 6e | 53 63 68 42 6f 6c 49 74 | NewCen|SchBolIt|
|00003ff0| 61 0a 58 2e 62 72 0a 58 | 20 20 20 20 20 20 20 20 |a.X.br.X| |
|00004000| 4e 65 77 43 65 6e 53 63 | 68 49 74 61 0a 58 2e 62 |NewCenSc|hIta.X.b|
|00004010| 72 0a 58 20 20 20 20 20 | 20 20 20 4e 65 77 43 65 |r.X | NewCe|
|00004020| 6e 53 63 68 52 6f 6d 0a | 58 2e 62 72 0a 58 20 20 |nSchRom.|X.br.X |
|00004030| 20 20 20 20 20 20 50 61 | 6c 61 74 42 6f 6c 0a 58 | Pa|latBol.X|
|00004040| 2e 62 72 0a 58 20 20 20 | 20 20 20 20 20 50 61 6c |.br.X | Pal|
|00004050| 61 74 42 6f 6c 49 74 61 | 0a 58 2e 62 72 0a 58 20 |atBolIta|.X.br.X |
|00004060| 20 20 20 20 20 20 20 50 | 61 6c 61 74 49 74 61 0a | P|alatIta.|
|00004070| 58 2e 62 72 0a 58 20 20 | 20 20 20 20 20 20 50 61 |X.br.X | Pa|
|00004080| 6c 61 74 52 6f 6d 0a 58 | 2e 62 72 0a 58 20 20 20 |latRom.X|.br.X |
|00004090| 20 20 20 20 20 5a 61 70 | 66 43 68 61 4d 65 64 49 | Zap|fChaMedI|
|000040a0| 74 61 0a 58 2e 62 72 0a | 58 20 20 20 20 20 20 20 |ta.X.br.|X |
|000040b0| 20 5a 61 70 66 44 69 6e | 0a 58 2e 52 45 0a 58 2e | ZapfDin|.X.RE.X.|
|000040c0| 52 45 0a 58 20 20 20 20 | 53 79 73 74 65 6d 0a 58 |RE.X |System.X|
|000040d0| 2e 52 53 20 2e 32 69 0a | 58 20 20 20 20 20 20 70 |.RS .2i.|X p|
|000040e0| 72 69 76 61 74 65 0a 58 | 2e 52 53 20 2e 32 69 0a |rivate.X|.RS .2i.|
|000040f0| 58 20 20 20 20 20 20 20 | 20 53 79 73 74 65 6d 0a |X | System.|
|00004100| 58 2e 52 45 0a 58 2e 52 | 45 0a 58 2e 52 45 0a 45 |X.RE.X.R|E.X.RE.E|
|00004110| 4e 44 5f 4f 46 5f 6d 6b | 73 79 73 74 65 6d 2e 6d |ND_OF_mk|system.m|
|00004120| 61 6e 0a 69 66 20 74 65 | 73 74 20 33 33 31 32 20 |an.if te|st 3312 |
|00004130| 2d 6e 65 20 60 77 63 20 | 2d 63 20 3c 6d 6b 73 79 |-ne `wc |-c <mksy|
|00004140| 73 74 65 6d 2e 6d 61 6e | 60 3b 20 74 68 65 6e 0a |stem.man|`; then.|
|00004150| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00004160| 22 6d 6b 73 79 73 74 65 | 6d 2e 6d 61 6e 5c 22 20 |"mksyste|m.man\" |
|00004170| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|00004180| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|00004190| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|000041a0| 67 20 63 68 65 63 6b 0a | 66 69 0a 65 63 68 6f 20 |g check.|fi.echo |
|000041b0| 73 68 61 72 3a 20 45 6e | 64 20 6f 66 20 73 68 65 |shar: En|d of she|
|000041c0| 6c 6c 20 61 72 63 68 69 | 76 65 2e 0a 65 78 69 74 |ll archi|ve..exit|
|000041d0| 20 30 0a 0a 2d 2d 20 0a | 50 61 75 6c 20 4d 2e 20 | 0..-- .|Paul M. |
|000041e0| 53 61 6e 64 65 72 20 20 | 28 34 30 38 29 20 33 37 |Sander |(408) 37|
|000041f0| 39 2d 37 30 30 30 20 20 | 7c 20 20 22 49 66 20 65 |9-7000 || "If e|
|00004200| 76 65 72 79 74 68 69 6e | 67 20 77 65 72 65 20 65 |verythin|g were e|
|00004210| 61 73 79 2c 20 77 68 65 | 72 65 20 77 6f 75 6c 64 |asy, whe|re would|
|00004220| 20 62 65 0a 48 61 4c 20 | 43 6f 6d 70 75 74 65 72 | be.HaL |Computer|
|00004230| 20 53 79 73 74 65 6d 73 | 2c 20 49 6e 63 2e 20 20 | Systems|, Inc. |
|00004240| 20 20 20 20 7c 20 20 20 | 74 68 65 20 63 68 61 6c | | |the chal|
|00004250| 6c 65 6e 67 65 3f 22 0a | 31 33 31 35 20 44 65 6c |lenge?".|1315 Del|
|00004260| 6c 20 41 76 65 6e 75 65 | 20 20 20 20 20 20 20 20 |l Avenue| |
|00004270| 20 20 20 20 20 20 20 20 | 7c 0a 43 61 6d 70 62 65 | ||.Campbe|
|00004280| 6c 6c 2c 20 43 41 20 20 | 39 35 30 30 38 20 20 55 |ll, CA |95008 U|
|00004290| 53 41 20 20 20 20 20 20 | 20 20 7c 0a |SA | |. |
+--------+-------------------------+-------------------------+--------+--------+