(решено) W95transmission небольшой баг.

Цитата: Developer_MZRIP от 03/07/2018, 12:23Прочитал пост, вспомнил про один старый баг, тянется уже давно. Раньше не писал, т.к. не критично да и глобальная переделка USB наступала.
Итак проблема в файле /user/init.d/W95transmission в цикле ожидания монтирования USB носителя.
1) Переменная $public переехала из /etc/profile в global.sh.
2) Если исправить первый пункт, появится вторая проблема. Если пользователь подключит USB носитель во время 100 сек ожидания, то transmission сначала запустится логикой скрипта automount.sh, а потом ещё раз из W95transmission, или наоборот (кто быстрее успеет - это наверное называется "гонкой").
У себя решил по простому:
--- ./wive-ng-wive-ng-mt/user/init.d/W95transmission-wive 2018-04-02 08:33:55.589257878 +0300 +++ ./wive-ng-wive-ng-mt/user/init.d/W95transmission 2018-04-02 08:36:08.895878716 +0300 @@ -39,19 +39,9 @@ # if need kill transmission-daemon wait_for_close - # 10*10=100 seconds check media mount and exit - count=0 - while [ "$public" = "" ]; do - count="$(($count+1))" - if [ "$count" != "10" ]; then - $LOG "Disc not mounted... Please check USB connection. Wait 10sec and recheck. $count" - sleep 10 - # recheck public set - . /etc/profile - else - exit 0 - fi - done + if [ "$public" = "" ]; then + exit 0 + fi $LOG "Start transmission daemon." mkdir -p $TRANSMISSION_HOME @@ -68,9 +58,6 @@ get_param() { eval `nvram_buf_get 2860 TransmissionEnabled TransRPCPort TransAuthor TransInPort TransLogin TransPass` - #include profile variables - . /etc/profile - # autorisation mode if [ "$TransAuthor" = "1" ]; then authory="-t -u $TransLogin -v $TransPass"
Прочитал пост, вспомнил про один старый баг, тянется уже давно. Раньше не писал, т.к. не критично да и глобальная переделка USB наступала.
Итак проблема в файле /user/init.d/W95transmission в цикле ожидания монтирования USB носителя.
1) Переменная $public переехала из /etc/profile в global.sh.
2) Если исправить первый пункт, появится вторая проблема. Если пользователь подключит USB носитель во время 100 сек ожидания, то transmission сначала запустится логикой скрипта automount.sh, а потом ещё раз из W95transmission, или наоборот (кто быстрее успеет - это наверное называется "гонкой").
У себя решил по простому:
--- ./wive-ng-wive-ng-mt/user/init.d/W95transmission-wive 2018-04-02 08:33:55.589257878 +0300 +++ ./wive-ng-wive-ng-mt/user/init.d/W95transmission 2018-04-02 08:36:08.895878716 +0300 @@ -39,19 +39,9 @@ # if need kill transmission-daemon wait_for_close - # 10*10=100 seconds check media mount and exit - count=0 - while [ "$public" = "" ]; do - count="$(($count+1))" - if [ "$count" != "10" ]; then - $LOG "Disc not mounted... Please check USB connection. Wait 10sec and recheck. $count" - sleep 10 - # recheck public set - . /etc/profile - else - exit 0 - fi - done + if [ "$public" = "" ]; then + exit 0 + fi $LOG "Start transmission daemon." mkdir -p $TRANSMISSION_HOME @@ -68,9 +58,6 @@ get_param() { eval `nvram_buf_get 2860 TransmissionEnabled TransRPCPort TransAuthor TransInPort TransLogin TransPass` - #include profile variables - . /etc/profile - # autorisation mode if [ "$TransAuthor" = "1" ]; then authory="-t -u $TransLogin -v $TransPass"

Цитата: sfstudio от 04/07/2018, 10:53Ок, принято. Просьба патчи просто файлом прикреплять.
Правда у нас трансмишн давно отключен во всех сборках. Т.к.:
- есть в ентвари
- в своё время авторы оного начали косячить без остановки плодя дыры (собсно тогда и вырубил)
Т.е. прежде чем использовать его надо таки обновить. Сейчас пока некогда заниматься, тем более см п1.
Ок, принято. Просьба патчи просто файлом прикреплять.
Правда у нас трансмишн давно отключен во всех сборках. Т.к.:
- есть в ентвари
- в своё время авторы оного начали косячить без остановки плодя дыры (собсно тогда и вырубил)
Т.е. прежде чем использовать его надо таки обновить. Сейчас пока некогда заниматься, тем более см п1.