• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/APP-IPK/SmartSync-ipk/opt/etc/init.d/
1#! /bin/sh
2
3CHECK_WEBDAV=`ls /usr/sbin | grep webdav_client`
4if [ -n "$CHECK_WEBDAV" ]; then
5	exit 1
6fi
7
8CHECK_ASUSWEBSTORAGE=`ls /usr/sbin | grep asuswebstorage`
9if [ -n "$CHECK_ASUSWEBSTORAGE" ]; then
10	exit 1
11fi
12
13CHECK_FTP=`ls /usr/sbin | grep ftpclient`
14if [ -n "$CHECK_FTP" ]; then
15	exit 1
16fi
17
18CHECK_DROPBOX=`ls /usr/sbin | grep dropbox_client`
19if [ -n "$CHECK_DROPBOX" ]; then
20	exit 1
21fi
22
23PATH=/sbin:/usr/sbin:/bin:/usr/bin:/opt/bin
24
25APP_UCLIBC_VERSION=0.9.28
26APPS_MOUNTED_PATH=`nvram get apps_mounted_path`
27APPS_INSTALL_FOLDER=`nvram get apps_install_folder`
28APPS_INSTALL_PATH=$APPS_MOUNTED_PATH/$APPS_INSTALL_FOLDER
29ENABLE_CLOUDSYNC=`nvram get enable_cloudsync`
30APPS_DEV=`nvram get apps_dev`
31CLOUD_SYNC=`nvram get cloud_sync`
32
33chmod -R 777 $APPS_INSTALL_PATH/bin/
34chmod -R 777 $APPS_INSTALL_PATH/etc
35
36case "$1" in
37  start|restart)
38	cp -rf /opt/etc/apps_asus_script/smartsync_rm /tmp/smartsync_rm
39	
40	if [ -z "$APPS_MOUNTED_PATH" ]; then
41		nvram set apps_state_error=2
42		exit 1
43	fi
44
45	if [ "$ENABLE_CLOUDSYNC" == "0" ]; then
46		if [ "$1" == "restart" ]; then
47			killall -SIGTERM webdav_client &
48			killall -SIGTERM asuswebstorage &
49			killall -SIGTERM dropbox_client &
50			killall -SIGTERM ftpclient &
51			killall -SIGTERM inotify &
52		fi
53		exit 0
54	fi
55	
56#	if [ "$1" == "restart" ]; then
57#		echo "restart"
58		killall -SIGTERM webdav_client &
59		killall -SIGTERM asuswebstorage &
60		killall -SIGTERM dropbox_client &
61		killall -SIGTERM ftpclient &
62		killall -SIGTERM inotify &
63		sleep 6
64		killall -9 webdav_client
65		killall -9 asuswebstorage
66		killall -9 dropbox_client
67		killall -9 ftpclient
68		killall -9 inotify
69		sleep 2
70		#echo "killall finish"
71#	fi
72	if [ -z "$CLOUD_SYNC" ]; then
73		exit 1
74	fi
75
76	#inotifynum=`ps | grep "inotify" | grep -v "$0" | grep -v "grep" | wc -l`
77	#echo "inotifynum="$inotifynum
78	#if [ "$inotifynum" == "0" ]; then
79		$APPS_INSTALL_PATH/bin/inotify &
80		sleep 1
81	#fi
82
83	APP_BIN=$APPS_INSTALL_PATH/bin
84	APP_LIB=$APPS_INSTALL_PATH/lib
85
86	APP_LINK_DIR=/tmp/opt
87	APP_LINK_BIN=$APP_LINK_DIR/bin
88	APP_LINK_LIB=$APP_LINK_DIR/lib
89
90	APPS_MOUNTED_TYPE=`mount |grep "/dev/$APPS_DEV on " |awk '{print $5}'`
91#ntfs
92	if [ "$APPS_MOUNTED_TYPE" != "vfat" ]; then
93		#echo "ntfs"
94		if [ ! -L "$APP_LINK_DIR" ]; then
95			rm -rf $APP_LINK_DIR
96			ln -sf $APPS_INSTALL_PATH $APP_LINK_DIR
97        fi
98
99	#start webdav
100		#webdavclientnum=`ps | grep "webdav_client" | grep -v "$0" | grep -v "grep" | wc -l`
101		#echo "webdavclientnum="$webdavclientnum
102		#if [ "$webdavclientnum" == "0" ]; then
103			ln -sf $APP_LIB/libneon.so.27.2.6 $APP_LINK_LIB/libneon.so.27
104			ln -sf $APP_LIB/libneon.so.27.2.6 $APP_LINK_LIB/libneon.so
105			$APPS_INSTALL_PATH/bin/webdav_client &
106		#fi
107
108	#start asuswebstorage
109		log_path="/tmp/smartsync/.logs"
110		log_fullname=$log_path"/asuswebstorage"
111		if [ ! -d "$log_path" ];then
112			mkdir -p $log_path
113		fi
114		if [ ! -f "$log_fullname" ];then
115			touch $log_fullname
116		fi
117		echo "STATUS:70" >$log_fullname
118		echo "TOTAL_SPACE:0" >>$log_fullname
119		echo "USED_SPACE:0"  >>$log_fullname
120
121		#asuswebstoragenum=`ps | grep "asuswebstorage" | grep -v "$0" | grep -v "grep" | wc -l`
122		#echo "asuswebstoragenum="$asuswebstoragenum		
123		#if [ "$asuswebstoragenum" == "0" ]; then
124			$APPS_INSTALL_PATH/bin/asuswebstorage &
125		#fi
126
127	#start dropbox
128		#dropboxclientnum=`ps | grep "dropbox_client" | grep -v "$0" | grep -v "grep" | wc -l`
129		#echo "dropboxclientnum="$dropboxclientnum
130		ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so.4
131		ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so
132		ln -sf $APP_LIB/libcrypto.so.1.0.0 $APP_LINK_LIB/libcrypto.so.1
133		ln -sf $APP_LIB/libcrypto.so.1.0.0 $APP_LINK_LIB/libcrypto.so
134		ln -sf $APP_LIB/libssl.so.1.0.0 $APP_LINK_LIB/libssl.so.1
135		ln -sf $APP_LIB/libssl.so.1.0.0 $APP_LINK_LIB/libssl.so	
136		#if [ "$dropboxclientnum" == "0" ]; then
137			$APPS_INSTALL_PATH/bin/dropbox_client &
138		#fi
139
140	#start ftp
141		#ftpclientnum=`ps | grep "ftpclient" | grep -v "$0" | grep -v "grep" | wc -l`
142		#echo "ftpclientnum="$ftpclientnum
143		ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so.4
144		ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so
145		# libiconv-1.14
146		ln -sf $APP_LIB/libiconv.so.2.5.1 $APP_LINK_LIB/libiconv.so.2
147		ln -sf $APP_LIB/libiconv.so.2.5.1 $APP_LINK_LIB/libiconv.so
148		#if [ "$ftpclientnum" == "0" ]; then
149			$APPS_INSTALL_PATH/bin/ftpclient &
150		#fi
151		exit 0
152	fi
153	
154#fat
155	#echo "fat"
156	# Others files or directories
157	objs=`ls -a $APPS_INSTALL_PATH |grep -v ^\.__*`
158	for obj in $objs; do
159		if [ "$obj" == "." ] || [ "$obj" == ".." ]; then
160			continue
161		fi
162
163		if [ "$obj" != "bin" ] && [ "$obj" != "lib" ]; then
164			ln -sf $APPS_INSTALL_PATH/$obj $APP_LINK_DIR/$obj 
165		fi
166	done
167
168	# BIN
169	objs=`ls -a $APP_BIN`
170	# ipkg-opt
171	ln -sf $APP_BIN/ipkg $APP_LINK_BIN/ipkg-opt
172
173	# ncurses
174	ln -sf $APP_BIN/tic $APP_LINK_BIN/captoinfo
175	ln -sf $APP_BIN/tic $APP_LINK_BIN/infotocap
176	ln -sf $APP_BIN/tset $APP_LINK_BIN/reset
177
178	for obj in $objs; do
179		if [ "$obj" == "." ] || [ "$obj" == ".." ]; then
180			continue
181		fi
182
183		ln -sf $APP_BIN/$obj $APP_LINK_BIN/$obj 
184	done
185
186
187	# LIB
188	objs=`ls -a $APP_LIB`
189	# first find the other objs and then do uclibc.
190	for obj in $objs; do
191		if [ "$obj" == "." ] || [ "$obj" == ".." ]; then
192			continue
193		fi
194
195		ln -sf $APP_LIB/$obj $APP_LINK_LIB/$obj 
196	done
197
198	# ipkg-opt
199	ln -sf $APP_LIB/libipkg.so.0.0.0 $APP_LINK_LIB/libipkg.so.0
200	ln -sf $APP_LIB/libipkg.so.0.0.0 $APP_LINK_LIB/libipkg.so
201
202	# openssl
203	ln -sf $APP_LIB/libcrypto.so.0.9.7 $APP_LINK_LIB/libcrypto.so.0
204	ln -sf $APP_LIB/libcrypto.so.0.9.7 $APP_LINK_LIB/libcrypto.so
205	ln -sf $APP_LIB/libssl.so.0.9.7 $APP_LINK_LIB/libssl.so.0
206	ln -sf $APP_LIB/libssl.so.0.9.7 $APP_LINK_LIB/libssl.so
207
208	# zlib
209	ln -sf $APP_LIB/libz.so.1.2.5 $APP_LINK_LIB/libz.so.1
210	ln -sf $APP_LIB/libz.so.1.2.5 $APP_LINK_LIB/libz.so
211
212	# libxml2
213	ln -sf $APP_LIB/libxml2.so.2.7.8 $APP_LINK_LIB/libxml2.so.2
214	ln -sf $APP_LIB/libxml2.so.2.7.8 $APP_LINK_LIB/libxml2.so
215
216	# libneon
217	ln -sf $APP_LIB/libneon.so.27.2.6 $APP_LINK_LIB/libneon.so.27
218	ln -sf $APP_LIB/libneon.so.27.2.6 $APP_LINK_LIB/libneon.so
219
220	# libcurl
221	ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so.4
222	ln -sf $APP_LIB/libcurl.so.4.2.0 $APP_LINK_LIB/libcurl.so
223
224	# libiconv-1.14
225	ln -sf $APP_LIB/libiconv.so.2.5.1 $APP_LINK_LIB/libiconv.so.2
226	ln -sf $APP_LIB/libiconv.so.2.5.1 $APP_LINK_LIB/libiconv.so
227
228	# libuClibc++
229	ln -sf $APP_LIB/libuClibc++-0.2.3.so $APP_LINK_LIB/libuClibc++.so.0
230	ln -sf $APP_LIB/libuClibc++-0.2.3.so $APP_LINK_LIB/libuClibc++.so
231	
232	
233	#start webdav
234	#webdavclientnum=`ps | grep "webdav_client" | grep -v "$0" | grep -v "grep" | wc -l`
235	#echo "webdavclientnum="$webdavclientnum
236	#if [ "$webdavclientnum" == "0" ]; then
237		$APPS_INSTALL_PATH/bin/webdav_client &
238	#fi
239
240	#start dropbox
241	#dropboxclientnum=`ps | grep "dropbox_client" | grep -v "$0" | grep -v "grep" | wc -l`
242	#echo "dropboxclientnum="$dropboxclientnum
243	#if [ "$dropboxclientnum" == "0" ]; then
244		$APPS_INSTALL_PATH/bin/dropbox_client &
245	#fi
246
247	#start ftp
248	#ftpclientnum=`ps | grep "ftpclient" | grep -v "$0" | grep -v "grep" | wc -l`
249	#echo "ftpclientnum="$ftpclientnum
250	#if [ "$ftpclientnum" == "0" ]; then
251		$APPS_INSTALL_PATH/bin/ftpclient &
252	#fi
253
254	#start asuswebstorage
255	#asuswebstoragenum=`ps | grep "asuswebstorage" | grep -v "$0" | grep -v "grep" | wc -l`
256	#echo "asuswebstoragenum="$asuswebstoragenum
257	#if [ "$asuswebstoragenum" == "0" ]; then
258		$APPS_INSTALL_PATH/bin/asuswebstorage &
259	#fi
260
261    ;;
262  stop)
263    killall -SIGTERM webdav_client &
264	killall -SIGTERM asuswebstorage &
265	killall -SIGTERM dropbox_client &
266	killall -SIGTERM ftpclient &
267	killall -SIGTERM inotify &
268    ;;
269  
270  *)
271    exit 1
272    ;;
273esac
274