rlm@29
|
1 #!/usr/bin/perl
|
rlm@29
|
2 use Cwd;
|
rlm@17
|
3
|
rlm@17
|
4
|
rlm@17
|
5 sub create_install_dir{
|
rlm@17
|
6 @install_cmd =
|
rlm@17
|
7 ("install", "-d", "-m",
|
rlm@17
|
8 "775", "-o", "root", "-g",
|
rlm@17
|
9 "install", $_[0]);
|
rlm@17
|
10 print "@install_cmd\n";
|
rlm@17
|
11 system(@install_cmd) and die $!;}
|
rlm@17
|
12
|
rlm@17
|
13 @install_dirs = qw(
|
rlm@17
|
14 /usr/bin
|
rlm@17
|
15 /usr/sbin
|
rlm@17
|
16 /usr/include
|
rlm@17
|
17 /usr/lib
|
rlm@17
|
18 /usr/man/man1
|
rlm@17
|
19 /usr/man/man2
|
rlm@17
|
20 /usr/man/man3
|
rlm@17
|
21 /usr/man/man4
|
rlm@17
|
22 /usr/man/man5
|
rlm@17
|
23 /usr/man/man6
|
rlm@17
|
24 /usr/man/man7
|
rlm@17
|
25 /usr/man/man8
|
rlm@17
|
26 /usr/doc
|
rlm@17
|
27 /usr/info
|
rlm@17
|
28 /usr/share
|
rlm@17
|
29 /usr/share/dict
|
rlm@17
|
30 /usr/share/doc
|
rlm@17
|
31 /usr/share/info
|
rlm@17
|
32 /usr/share/locale
|
rlm@17
|
33 /usr/share/man/man1
|
rlm@17
|
34 /usr/share/man/man2
|
rlm@17
|
35 /usr/share/man/man3
|
rlm@17
|
36 /usr/share/man/man4
|
rlm@17
|
37 /usr/share/man/man5
|
rlm@17
|
38 /usr/share/man/man6
|
rlm@17
|
39 /usr/share/man/man7
|
rlm@17
|
40 /usr/share/man/man8
|
rlm@17
|
41 /usr/share/nls
|
rlm@17
|
42 /usr/share/misc
|
rlm@17
|
43 /usr/share/terminfo
|
rlm@17
|
44 /usr/share/zoneinfo
|
rlm@17
|
45 /usr/share/i18n
|
rlm@17
|
46 /usr/share/aclocal
|
rlm@17
|
47 /opt
|
rlm@17
|
48 /opt/doc
|
rlm@17
|
49 /opt/info
|
rlm@17
|
50 /opt/bin
|
rlm@17
|
51 /opt/include
|
rlm@17
|
52 /opt/lib
|
rlm@17
|
53 /opt/man/man1
|
rlm@17
|
54 /opt/man/man2
|
rlm@17
|
55 /opt/man/man3
|
rlm@17
|
56 /opt/man/man4
|
rlm@17
|
57 /opt/man/man5
|
rlm@17
|
58 /opt/man/man6
|
rlm@17
|
59 /opt/man/man7
|
rlm@17
|
60 /opt/man/man8
|
rlm@33
|
61 /var
|
rlm@17
|
62 /var/lib
|
rlm@17
|
63 /var/opt
|
rlm@17
|
64 /etc
|
rlm@17
|
65 /etc/opt
|
rlm@31
|
66 );
|
rlm@17
|
67
|
rlm@19
|
68
|
rlm@19
|
69 sub execute{
|
rlm@19
|
70 print "\t$_[0]\n";
|
rlm@19
|
71 `$_[0]`;
|
rlm@19
|
72 if ($?){die $!;}
|
rlm@19
|
73 }
|
rlm@19
|
74
|
rlm@19
|
75 execute("groupadd --force install");
|
rlm@19
|
76
|
rlm@17
|
77 foreach $install_dir(@install_dirs){
|
rlm@17
|
78 create_install_dir($install_dir);}
|
rlm@17
|
79
|
rlm@19
|
80
|
rlm@31
|
81 execute("find /.hg -type d -print0 | xargs -0 chmod 2770");
|
rlm@31
|
82 execute("find /.hg -type f -print0 | xargs -0 chmod 660");
|
rlm@19
|
83
|
rlm@26
|
84 execute("install -d -o root -g root -m 755 /pkg/skel");
|
rlm@19
|
85
|
rlm@25
|
86 execute("chown -Rv root:root /.hg");
|
rlm@19
|
87
|
rlm@29
|
88 $pwd = cwd();
|
rlm@26
|
89 execute("ln -sf $pwd/profile /pkg/skel/.profile");
|
rlm@26
|
90 execute("ln -sf $pwd/hg-wrapper /pkg/skel/");
|
rlm@26
|
91 execute("ln -sf $pwd/save-acls /pkg/skel/");
|
rlm@26
|
92 execute("ln -sf `which hg` /pkg/skel/");
|
rlm@22
|
93
|
rlm@25
|
94 execute("install -o root -g root -m 660 $pwd/hgignore /.hgignore");
|
rlm@25
|
95 execute("install -o root -g root -m 660 $pwd/hgrc /.hg/");
|
rlm@19
|
96
|
rlm@19
|
97
|
rlm@19
|
98
|
rlm@31
|
99
|
rlm@31
|
100
|
rlm@31
|
101 ## other install dirs
|
rlm@31
|
102 # /usr/local/man/man1
|
rlm@31
|
103 # /usr/local/man/man2
|
rlm@31
|
104 # /usr/local/man/man3
|
rlm@31
|
105 # /usr/local/man/man4
|
rlm@31
|
106 # /usr/local/man/man5
|
rlm@31
|
107 # /usr/local/man/man6
|
rlm@31
|
108 # /usr/local/man/man7
|
rlm@31
|
109 # /usr/local/man/man8
|
rlm@31
|
110 # /usr/local/doc
|
rlm@31
|
111 # /usr/local/info
|
rlm@31
|
112 # /usr/local/bin
|
rlm@31
|
113 # /usr/local/etc
|
rlm@31
|
114 # /usr/local/include
|
rlm@31
|
115 # /usr/local/lib
|
rlm@31
|
116 # /usr/local/sbin
|
rlm@31
|
117 # /usr/local/share
|
rlm@31
|
118 # /usr/local/share/dict
|
rlm@31
|
119 # /usr/local/share/doc
|
rlm@31
|
120 # /usr/local/share/info
|
rlm@31
|
121 # /usr/local/share/locale
|
rlm@31
|
122 # /usr/local/share/man/man1
|
rlm@31
|
123 # /usr/local/share/man/man2
|
rlm@31
|
124 # /usr/local/share/man/man3
|
rlm@31
|
125 # /usr/local/share/man/man4
|
rlm@31
|
126 # /usr/local/share/man/man5
|
rlm@31
|
127 # /usr/local/share/man/man6
|
rlm@31
|
128 # /usr/local/share/man/man7
|
rlm@31
|
129 # /usr/local/share/man/man8
|
rlm@31
|
130 # /usr/local/share/nls
|
rlm@31
|
131 # /usr/local/share/misc
|
rlm@31
|
132 # /usr/local/share/terminfo
|
rlm@31
|
133 # /usr/local/share/zoneinfo
|
rlm@31
|
134 # /sbin
|
rlm@31
|
135 # /bin
|
rlm@31
|
136 # /lib
|