slitaz-modular view initramfs/usr/bin/local-mirror @ rev 97

Now just add lines for crond if the website in question is used. Made sure the command is also run before being added. Ex. tazpkg-web cooking needs to be run for pkgs.slitaz.org to work locally.
author Christopher Rogers <slaxemulator@gmail.com>
date Wed May 11 13:33:29 2011 +0000 (2011-05-11)
parents 61dc9ba0c3a6
children 036e0267ec00
line source
1 #!/bin/sh
3 source /usr/lib/slitaz/libtaz
4 source_lib commons
5 check_root
6 . /etc/slitaz/slitaz.conf
8 . /etc/local-mirror.conf
10 VERSION="0.1"
11 COMMAND="$1"
13 usage() {
14 echo "$0 $VERSION"
15 echo "$0 [on|off|update-repos|tank-only|mirror-only]"
16 exit 1
17 }
19 COOKORDER="$(find /mnt/live/mnt/* -name "cookorder.list" -maxdepth 1)"
20 CUR_PWD="$PWD"
22 [ -d $SLITAZ_DIR ] || mkdir -p $SLITAZ_DIR
23 if [ "$(cat /proc/cmdline | grep 'home=')" ]; then
24 [ -d $SLITAZ_DIR/repos ] || cp -a $REPOS_DIR $SLITAZ_DIR/repos
25 rm -rf $REPOS_DIR
26 else
27 [ -d $SLITAZ_DIR/repos ] || ln -sf $REPOS_DIR $SLITAZ_DIR/repos
28 fi
30 [ -d $SLITAZ_DIR/repos ] && REPOS_DIR="$SLITAZ_DIR/repos"
32 #repos folders for website
33 PEOPLE_WWW_DIR="$REPOS_DIR/slitaz-forge/people"
34 DOC_WWW_DIR="$REPOS_DIR/slitaz-forge/doc"
35 PIZZA_WWW_DIR="$REPOS_DIR/slitaz-pizza/php"
36 BOOT_WWW_DIR="$REPOS_DIR/slitaz-forge/boot"
37 TANK_WWW_DIR="$REPOS_DIR/slitaz-forge/tank/web"
39 if [ -d $REPOS_DIR/my-wok ]; then
40 REPO_WOK=$REPOS_DIR/my-wok
41 if [ -x /usr/bin/hg ]; then
42 cd $REPO_WOK
43 if [ ! "$(hg branch)" = "cooking" ]; then
44 hg update cooking
45 fi
46 cd $CUR_PWD
47 fi
48 elif [ -d $REPOS_DIR/wok ]; then
49 REPO_WOK=$REPOS_DIR/wok
50 fi
52 if [ "$COMMAND" = "tank-only" ]; then
53 WWW="${WWW/mirror/}"
54 ADDRESS="${ADDRESS/mirror.slitaz.org/}"
55 VHOST_FILE="$VHOST_TANK_FILE"
56 fi
58 if [ "$COMMAND" = "mirror-only" ]; then
59 WWW="${WWW/tank/}"
60 ADDRESS="mirror.slitaz.org"
61 VHOST_FILE="$VHOST_MIRROR_FILE"
62 fi
64 [ -d $REPOS_DIR ] || continue
65 [ -d $MAIN_WWW_DIR ] || mkdir -p $MAIN_WWW_DIR
66 [ -L /var/www/vhosts ] || ln -sf $MAIN_WWW_DIR /var/www/vhosts
68 INCOMING_REPOSITORY="$LOCAL_REPOSITORY/packages-incoming"
69 CRON_FILE="/var/spool/cron/crontabs/root"
71 [ -d $(dirname $CRON_FILE) ] || mkdir -p $(dirname $CRON_FILE)
72 [ -f $CRON_FILE ] || touch $CRON_FILE
74 www() {
75 b=$1
76 case "$b" in
77 website)
78 [ -d $REPOS_DIR/$b ] && ln -s $REPOS_DIR/$b $MAIN_WWW_DIR
79 if [ -f $MAIN_WWW_DIR/$b/libs/get-latest.sh ]; then
80 # run it here on first run
81 $MAIN_WWW_DIR/$b/libs/get-latest.sh
82 if [ ! $(grep -l "$MAIN_WWW_DIR/$b/libs/get-latest.sh" $CRON_FILE) ]; then
83 echo "#Update SliTaz stuff" >> $CRON_FILE
84 echo "*/20 * * * * $MAIN_WWW_DIR/$b/libs/get-latest.sh" >> $CRON_FILE
85 fi
86 fi
87 ;;
88 people)
89 [ -d $REPOS_DIR/slitaz-forge/people ] && ln -s $REPOS_DIR/slitaz-forge/people $MAIN_WWW_DIR/people
90 ;;
91 doc)
92 [ -d $DOC_WWW_DIR ] && cp -a $DOC_WWW_DIR $MAIN_WWW_DIR/doc
93 [ -d /var/www/dokuwiki ] && cp -a /var/www/dokuwiki/* $MAIN_WWW_DIR/doc
94 VAR="index meta media pages"
95 for i in $VAR; do
96 [ -d $REPOS_DIR/slitaz-doc-wiki-data ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/$i $MAIN_WWW_DIR/doc/data
97 done
98 [ -d $REPOS_DIR/slitaz-doc-wiki-data/plugins ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/plugins $MAIN_WWW_DIR/doc/lib
99 chown root.root -R $MAIN_WWW_DIR/doc
100 chmod 777 -R $MAIN_WWW_DIR/doc
101 ;;
102 bugs)
103 [ -d $SLITAZ_DIR/bugs ] || mkdir -p $SLITAZ_DIR/bugs
104 [ -d $MAIN_WWW_DIR/bugs ] || mkdir -p $MAIN_WWW_DIR/bugs
105 [ -d $REPOS_DIR/slitaz-forge/bugs ] && cp -a $REPOS_DIR/slitaz-forge/bugs/roundup.wsgi $SLITAZ_DIR/bugs/roundup.wsgi
106 [ -d $REPOS_DIR/slitaz-forge/bugs ] && cp -a $REPOS_DIR/slitaz-forge/bugs/server.ini $SLITAZ_DIR/bugs/server.ini
107 [ -d $REPOS_DIR/slitaz-forge/bugs/templates/slitaz ] && cp -a $REPOS_DIR/slitaz-forge/bugs/templates/slitaz/* $SLITAZ_DIR/bugs
108 [ -f /usr/share/roundup/cgi-bin/roundup.cgi ] && ln -sf /usr/share/roundup/cgi-bin/roundup.cgi $MAIN_WWW_DIR/bugs/roundup.cgi
109 ;;
110 pizza)
111 [ -d $PIZZA_WWW_DIR ] && ln -sf $PIZZA_WWW_DIR $MAIN_WWW_DIR/pizza
112 ;;
113 bb)
114 [ -d /usr/share/slitaz/web-bb ] && cp -a /usr/share/slitaz/web-bb $MAIN_WWW_DIR/bb
115 #[ -d /usr/share/slitaz/web ] && cp -a /usr/share/slitaz/web $MAIN_WWW_DIR/bb/web
116 [ -d $REPOS_DIR/website/images ] && ln -sf $REPOS_DIR/website/images $MAIN_WWW_DIR/bb/images
117 [ -d $INCOMING_REPOSITORY ] || mkdir -p $INCOMING_REPOSITORY
118 [ -f $INCOMING_REPOSITORY/packages.desc ] || touch $INCOMING_REPOSITORY/packages.desc
119 [ -f $INCOMING_REPOSITORY/packages.equiv ] || touch $INCOMING_REPOSITORY/packages.equiv
120 [ -f $INCOMING_REPOSITORY/packages.list ] || touch $INCOMING_REPOSITORY/packages.list
121 [ -f $INCOMING_REPOSITORY/packages.md5 ] || touch $INCOMING_REPOSITORY/packages.md5
122 [ -f $INCOMING_REPOSITORY/packages.txt ] || touch $INCOMING_REPOSITORY/packages.txt
123 if [ "$CUSTOM_WOK" = "yes" ]; then
124 tazwok gen-wok-db --WOK=$REPO_WOK
125 if [ -f $COOKORDER ]; then
126 [ -d $COOKING/wok ] || mkdir -p $COOKING/wok
127 [ -d $COOKING/clean-wok ] || mkdir -p $COOKING/clean-wok
128 cat $COOKORDER | while read pkg; do
129 rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
130 for i in $rwanted; do
131 [ -f $COOKING/clean-wok/$i/receipt ] || cp -a $REPO_WOK/$i $COOKING/clean-wok/$i
132 [ -f $COOKING/wok/$i/receipt ] || cp -a $REPO_WOK/$i $COOKING/wok/$i
133 done
134 [ -f $COOKING/clean-wok/$pkg/receipt ] || cp -a $REPO_WOK/$pkg $COOKING/clean-wok/$pkg
135 [ -f $COOKING/wok/$pkg/receipt ] || cp -a $REPO_WOK/$pkg $COOKING/wok/$pkg
136 done
137 unset i
138 tazwok gen-wok-db --WOK=$COOKING/clean-wok
139 fi
140 else
141 [ -d $COOKING/clean-wok ] || ln -sf $REPO_WOK $COOKING/clean-wok
142 [ -d $COOKING/wok ] || ln -sf $REPO_WOK $COOKING/wok
143 fi
144 [ -d $STABLE/clean-wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
145 [ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/wok
146 [ -f $SRCDIR/sources.list ] || tazwok gen-src $SRCDIR --WOK=$REPO_WOK
147 [ -d $REPOS_DIR/slitaz-modular ] && ln -sf $REPOS_DIR/slitaz-modular $COOKING/slitaz-modular
148 echo -e "$MAIN_WWW_DIR/bb" | tazwok webserver on
149 ;;
150 pkgs)
151 [ -d $MAIN_WWW_DIR/pkgs ] || mkdir -p $MAIN_WWW_DIR/pkgs
153 #[ -d /var/lib/tazpkg-web/style ] && cp -a /var/lib/tazpkg-web/style/* $MAIN_WWW_DIR/pkgs
154 #[ -f /var/lib/tazpkg-web/search.cgi ] && cp -a /var/lib/tazpkg-web/search.cgi $MAIN_WWW_DIR/pkgs
155 [ -d $REPOS_DIR/slitaz-dev-tools/tazpkg-web/style ] && cp -a $REPOS_DIR/slitaz-dev-tools/tazpkg-web/style/* $MAIN_WWW_DIR/pkgs
156 [ -f $REPOS_DIR/slitaz-dev-tools/tazpkg-web/search.cgi ] && cp -a $REPOS_DIR/slitaz-dev-tools/tazpkg-web/search.cgi $MAIN_WWW_DIR/pkgs
157 [ -d $COOKING ] || mkdir -p $COOKING
158 [ -d $STABLE ] || mkdir -p $STABLE
159 [ -d $REPOS_DIR/flavors ] && ln -sf $REPOS_DIR/flavors $COOKING/flavors
160 [ -d $REPOS_DIR/flavors-stable ] && ln -sf $REPOS_DIR/flavors-stable $STABLE/flavors
161 #[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
162 [ -d $STABLE/clean-wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
163 [ -d $PKGDIR ] && ln -sf $PKGDIR $LOCAL_REPOSITORY/packages
164 [ -d $SRCDIR ] && ln -sf $SRCDIR $LOCAL_REPOSITORY/src
166 if [ -f "/usr/bin/tazpkg-web" ]; then
167 tazpkg-web cooking
168 if [ ! $(grep -l "/usr/bin/tazpkg-web cooking" $CRON_FILE) ]; then
169 echo "# Update pkgs.slitaz.org pages" >> $CRON_FILE
170 echo "20 02 * * * /usr/bin/tazpkg-web cooking" >> $CRON_FILE
171 fi
172 fi
173 ;;
174 mirror)
175 [ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info $MAIN_WWW_DIR
176 [ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz $MAIN_WWW_DIR
177 [ -d $MAIN_WWW_DIR/slitaz/mirror/packages ] || mkdir -p $MAIN_WWW_DIR/slitaz/mirror/packages
178 [ -d $PKGDIR ] && ln -sf $PKGDIR $MAIN_WWW_DIR/slitaz/mirror/packages/$(cat /etc/slitaz-release)
179 if [ -d $SRCDIR ]; then
180 for i in $(ls $SRCDIR); do
181 [ -d $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1} ] || mkdir -p $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}
182 [ -f $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i ] || ln -s $SRCDIR/$i $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i
183 done
184 unset i
185 fi
186 [ -d /var/www/slitaz ] || ln -sf $MAIN_WWW_DIR/slitaz /var/www/slitaz
187 ;;
188 boot)
189 [ -d $BOOT_WWW_DIR ] && cp -a $BOOT_WWW_DIR $MAIN_WWW_DIR/$b
190 #[ -d $REPOS_DIR/website/pics ] && ln -sf $REPOS_DIR/website/images $MAIN_WWW_DIR/$b/images
191 ;;
192 tank)
193 [ -d $TANK_WWW_DIR ] && ln -sf $TANK_WWW_DIR $MAIN_WWW_DIR/$b
194 [ -f /usr/share/awstats/extras/update ] && ln -sf /usr/share/awstats/extras/update /usr/sbin/awsupdate_all
195 [ -d $REPOS_DIR/slitaz-forge/$b/files/etc/awstats ] && cp -a $REPOS_DIR/slitaz-forge/$b/files/etc/awstats/* /etc/awstats
196 for i in $ADDRESS; do
197 if [ -f /etc/awstats/awstats.$i.conf ]; then
198 dirlog=$(grep ^DirData= /etc/awstats/awstats.$i.conf | cut -d "=" -f2 | sed -e 's/"//g')
199 mkdir -p $dirlog
200 fi
201 done
202 if [ -f /usr/share/awstats/extras/update ]; then
203 if [ ! $(grep -l "/usr/share/awstats/extras/update" $CRON_FILE) ]; then
204 echo "# Update Web stats" >> $CRON_FILE
205 echo "*/5 * * * * /usr/share/awstats/extras/update" >> $CRON_FILE
206 fi
207 fi
208 if [ -f $MAIN_WWW_DIR/tank/bin/makegraphs ]; then
209 if [ ! $(grep -l "$MAIN_WWW_DIR/tank/bin/makegraphs" $CRON_FILE) ]; then
210 echo "# Update system load graphics" >> $CRON_FILE
211 echo "*/5 * * * * $MAIN_WWW_DIR/tank/bin/makegraphs" >> $CRON_FILE
212 fi
213 fi
214 ;;
215 hg)
216 [ -d $MAIN_WWW_DIR/hg ] || mkdir -p $MAIN_WWW_DIR/hg
217 [ -f /usr/share/examples/mercurial/hgwebdir.cgi ] && cp -a /usr/share/examples/mercurial/hgwebdir.cgi $MAIN_WWW_DIR/hg
218 [ -f $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config ] && cp -a $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config /etc/mercurial/hgweb.config
219 #[ -f /etc/mercurial/hgweb.conf ] && sed -i 's|style = slitaz|style = gitweb|g' /etc/mercurial/hgweb.config
220 ;;
221 lfs)
222 [ -d $MAIN_WWW_DIR/lfs ] || ln -sf /usr/share/doc/lfs-book $MAIN_WWW_DIR/lfs
223 ;;
224 esac
225 }
227 repos() {
228 for repo in $REPOS; do
229 [ -d $REPOS_DIR/$repo ] || continue
230 if [ -d $REPOS_DIR/$repo/.hg ]; then
231 mkdir -p $REPOS_WEB_DIR/$repo
232 [ -d $REPOS_WEB_DIR/$repo/.hg ] || ln -s $REPOS_DIR/$repo/.hg $REPOS_WEB_DIR/$repo/.hg
233 if [ ! $(grep -l "$REPOS_WEB_DIR" /etc/mercurial/hgweb.config) ]; then
234 [ -f /etc/mercurial/hgweb.config ] && sed -i "s|$REPOS_DIR|$REPOS_WEB_DIR|g" /etc/mercurial/hgweb.config
235 fi
236 fi
237 if [ ! -f $REPOS_DIR/$repo/.hg/hgrc-web ]; then
238 touch $REPOS_DIR/$repo/.hg/hgrc-web
239 cat "$REPOS_DIR/$repo/.hg/hgrc" >> $REPOS_DIR/$repo/.hg/hgrc-web
240 echo "[web]" >> $REPOS_DIR/$repo/.hg/hgrc-web
241 #[ -d $REPOS_DIR/$repo/.hg ] && echo "style = slitaz" >> $REPOS_DIR/$repo/.hg/hgrc-web
242 echo "staticurl = http://hg.slitaz.org/static/" >> $REPOS_DIR/$repo/.hg/hgrc-web
243 echo "push_ssl = false" >> $REPOS_DIR/$repo/.hg/hgrc-web
244 echo "allow_push = *" >> $REPOS_DIR/$repo/.hg/hgrc-web
245 #[ ! -f $REPOS_DIR/$repo/.hg/hgrc-pull ] && mv $REPOS_DIR/$repo/.hg/hgrc $REPOS_DIR/$repo/.hg/hgrc-pull
246 cp -a $REPOS_DIR/$repo/.hg/hgrc-web $REPOS_DIR/$repo/.hg/hgrc
247 fi
249 if [ ! $(grep -l 'name = ' $REPOS_DIR/$repo/.hg/hgrc ) ]; then
250 echo "name = $repo" >> $REPOS_DIR/$repo/.hg/hgrc
251 fi
253 if [ ! $(grep -l 'contact = ' $REPOS_DIR/$repo/.hg/hgrc ) ]; then
254 [ "$repo" = "cookutils" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
255 [ "$repo" = "flavors" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
256 [ "$repo" = "flavors-stable" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
257 [ "$repo" = "my-wok" ] && echo "contact = Christopher Rogers" >> $REPOS_DIR/$repo/.hg/hgrc
258 [ "$repo" = "slitaz-base-files" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
259 [ "$repo" = "slitaz-boot-scripts" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
260 [ "$repo" = "slitaz-configs" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
261 [ "$repo" = "slitaz-dev-tools" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
262 [ "$repo" = "slitaz-doc" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
263 [ "$repo" = "slitaz-doc-wiki-data" ] && echo "contact = Christopher Rogers" >> $REPOS_DIR/$repo/.hg/hgrc
264 [ "$repo" = "slitaz-forge" ] && echo "contact = Eric Joseph-Alexandre" >> $REPOS_DIR/$repo/.hg/hgrc
265 [ "$repo" = "slitaz-modular" ] && echo "contact = Christopher Rogers" >> $REPOS_DIR/$repo/.hg/hgrc
266 [ "$repo" = "slitaz-pizza" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
267 [ "$repo" = "slitaz-tools" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
268 [ "$repo" = "slitaz-vz" ] && echo "contact = Eric Joseph-Alexandre" >> $REPOS_DIR/$repo/.hg/hgrc
269 [ "$repo" = "tazlito" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
270 [ "$repo" = "tazpanel" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
271 [ "$repo" = "tazpkg" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
272 [ "$repo" = "tazusb" ] && echo "contact = Eric Joseph-Alexandre" >> $REPOS_DIR/$repo/.hg/hgrc
273 [ "$repo" = "tazwok" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
274 [ "$repo" = "website" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
275 [ "$repo" = "wok" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
276 [ "$repo" = "wok-stable" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
277 [ "$repo" = "wok-tiny" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
278 [ "$repo" = "wok-undigest" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
279 fi
281 if [ ! $(grep -l 'description = ' $REPOS_DIR/$repo/.hg/hgrc) ]; then
282 [ "$repo" = "cookutils" ] && echo "description = Utils to cook SliTaz packages" >> $REPOS_DIR/$repo/.hg/hgrc
283 [ "$repo" = "flavors" ] && echo "description = SliTaz Cooking flavors" >> $REPOS_DIR/$repo/.hg/hgrc
284 [ "$repo" = "flavors-stable" ] && echo "description = SliTaz Stable flavors" >> $REPOS_DIR/$repo/.hg/hgrc
285 [ "$repo" = "slitaz-base-files" ] && echo "description = SliTaz base files" >> $REPOS_DIR/$repo/.hg/hgrc
286 [ "$repo" = "slitaz-boot-scripts" ] && echo "description = SliTaz boot scripts" >> $REPOS_DIR/$repo/.hg/hgrc
287 [ "$repo" = "slitaz-configs" ] && echo "description = SliTaz configuration files" >> $REPOS_DIR/$repo/.hg/hgrc
288 [ "$repo" = "slitaz-dev-tools" ] && echo "description = SliTaz Developers Tools" >> $REPOS_DIR/$repo/.hg/hgrc
289 [ "$repo" = "slitaz-doc" ] && echo "description = SliTaz system doc" >> $REPOS_DIR/$repo/.hg/hgrc
290 [ "$repo" = "slitaz-doc-wiki-data" ] && echo "description = SliTaz documentation wiki content" >> $REPOS_DIR/$repo/.hg/hgrc
291 [ "$repo" = "slitaz-forge" ] && echo "description = SliTaz Forge Config" >> $REPOS_DIR/$repo/.hg/hgrc
292 [ "$repo" = "slitaz-modular" ] && echo "description = Scripts to make SliTaz Modular" >> $REPOS_DIR/$repo/.hg/hgrc
293 [ "$repo" = "slitaz-pizza" ] && echo "description = SliTaz Online flavor builder" >> $REPOS_DIR/$repo/.hg/hgrc
294 [ "$repo" = "slitaz-tools" ] && echo "description = SliTaz Tools and Tinyutils" >> $REPOS_DIR/$repo/.hg/hgrc
295 [ "$repo" = "slitaz-vz" ] && echo "description = SliTaz OpenVZ integration" >> $REPOS_DIR/$repo/.hg/hgrc
296 [ "$repo" = "tazlito" ] && echo "description = SliTaz Live Tool" >> $REPOS_DIR/$repo/.hg/hgrc
297 [ "$repo" = "tazpanel" ] && echo "description = Slitaz Administration Panel" >> $REPOS_DIR/$repo/.hg/hgrc
298 [ "$repo" = "tazpkg" ] && echo "description = SliTaz Packages manager" >> $REPOS_DIR/$repo/.hg/hgrc
299 [ "$repo" = "tazusb" ] && echo "description = SliTaz LiveUSB utility" >> $REPOS_DIR/$repo/.hg/hgrc
300 [ "$repo" = "tazwok" ] && echo "description = SliTaz Packages builder" >> $REPOS_DIR/$repo/.hg/hgrc
301 [ "$repo" = "website" ] && echo "description = SliTaz Website" >> $REPOS_DIR/$repo/.hg/hgrc
302 [ "$repo" = "wok" ] && echo "description = SliTaz Cooking wok" >> $REPOS_DIR/$repo/.hg/hgrc
303 [ "$repo" = "wok-stable" ] && echo "description = SliTaz Stable wok" >> $REPOS_DIR/$repo/.hg/hgrc
304 [ "$repo" = "wok-tiny" ] && echo "description = Tiny SliTaz wok" >> $REPOS_DIR/$repo/.hg/hgrc
305 [ "$repo" = "wok-undigest" ] && echo "description = SliTaz Undigest wok" >> $REPOS_DIR/$repo/.hg/hgrc
306 fi
307 done
308 }
310 case "$COMMAND" in
311 start|on|tank-only|mirror-only)
312 [ -d $MAIN_WWW_DIR/mirror-info ] && WWW="${WWW/mirror /}"
313 for c in $WWW; do
314 if [ ! -d $MAIN_WWW_DIR/$c ]; then
315 www $c
316 [ "$c" = "hg" ] && repos
317 fi
318 done
319 echo "127.0.0.1 localhost $(cat /etc/hostname)" > /etc/hosts
320 [ "$IP_ADDR" == "127.0.0.1" ] && echo "127.0.0.1 tazpanel tazpanel.slitaz.org" >> /etc/hosts
321 for hostname in $ADDRESS; do
322 if [ "$hostname" = "www.slitaz.org" ]; then
323 echo "$IP_ADDR $hostname slitaz.org" >> /etc/hosts
324 else
325 echo "$IP_ADDR $hostname" >> /etc/hosts
326 fi
327 done
328 if [ "$IP_ADDR" != "127.0.0.1" ]; then
329 if [ ! $(grep -l "dhcp-option=option:router,$ROUTER_IP" /etc/dnsmasq.conf) ]; then
330 echo "$IP_ADDR tazpanel tazpanel.slitaz.org" >> /etc/hosts
331 echo "dhcp-option=option:router,$ROUTER_IP" >> /etc/dnsmasq.conf
332 fi
333 fi
334 echo "$PKGDIR" > $LOCALSTATE/mirror
335 if [ "$COMMAND" = "tank-only" ]; then
336 [ -f $VHOST_TANK_FILE ] && ln -sf $VHOST_TANK_FILE /etc/lighttpd/vhosts.conf
337 elif [ "$COMMAND" = "mirror-only" ]; then
338 [ -f $VHOST_MIRROR_FILE ] && ln -sf $VHOST_MIRROR_FILE /etc/lighttpd/vhosts.conf
339 else
340 [ -f $VHOST_FILE ] && ln -sf $VHOST_FILE /etc/lighttpd/vhosts.conf
341 fi
342 chown -R www.www $SLITAZ_DIR/www
343 [ -x /etc/init.d/lighttpd ] && /etc/init.d/lighttpd start
344 [ -x /etc/init.d/crond ] && /etc/init.d/crond start
345 ;;
346 update-repos)
347 for i in $(ls $REPOS_DIR); do
348 if [ -d $REPOS_DIR/$i/.hg ]; then
349 cd $REPOS_DIR/$i
350 echo "Updaing $i repo..."
351 hg pull -u
352 fi
353 done
354 ;;
355 up-src-links)
356 if [ -d $SRCDIR ]; then
357 [ -d $MAIN_WWW_DIR/slitaz/mirror/sources/packages ] && rm -rf $MAIN_WWW_DIR/slitaz/mirror/sources/packages
358 for i in $(ls $SRCDIR); do
359 [ -d $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1} ] || mkdir -p $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}
360 [ -f $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i ] || ln -sf $SRCDIR/$i $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i
361 done
362 unset i
363 fi
364 ;;
365 off)
366 [ -x /etc/init.d/lighttpd ] && /etc/init.d/lighttpd stop
367 [ -x /etc/init.d/crond ] && /etc/init.d/crond stop
368 echo "127.0.0.1 localhost $(cat /etc/hostname) tazpanel" > /etc/hosts
369 exit 1
370 ;;
371 *)
372 usage
373 ;;
374 esac