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