# service rasdaemon start grep: /etc/sysconfig/rasdaemon.env: No such file or directory Про sysvinit не надо тоже забывать: 0.8.1-alt1 - Config renamed from /etc/sysconfig/rasdaemon.env to /etc/sysconfig/rasdaemon
Это неправильное решение: - ENV= - for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon.env`; do - ENV="${ENV}${LINE} " - done - export $ENV Правильное - for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon.env`; do + for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon`; do
И не "Remove grep error message for sysvinit start", а "Fixed sysvinit script for start": сейчас вообще сломано.
Спасибо за багрепорт и рецензирование исправления.
- ENV= - for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon.env`; do - ENV="${ENV}${LINE} " + for LINE in `grep -sv "^#\|^$" /etc/sysconfig/rasdaemon`; do + export "${LINE}" done - export $ENV В принципе да, но получается количество вызовов export по количеству параметров вместо одного. Вряд ли там превышение длины строки когда-то будет. Ну или можно добавить проверку на длину и этот построчный вариант каак fallback.
Надо провести тесты на сколько процентов ускорится реализация с учетом проверок и склеиваний через ENV="${ENV}${LINE} ". Плюс надо добавить проверку если $ENV пусто, то не делать вызов export иначе будет вывод всех переменных окружения в лог.
А чем не нравится собрать в строку и в одну команду? Только риском превышения лимита в bash?
(In reply to Vitaly Chikunov from comment #5) Ну как там? Пакет-то поломан для sysvinit. > Надо провести тесты на сколько процентов ускорится реализация с учетом > проверок и склеиваний через ENV="${ENV}${LINE} ". А смысл? > Плюс надо добавить проверку если $ENV пусто, Не надо: 1) когда в строку, это не имеет значения; 2) grep -v "^$" не даст пустрой строки, если нет строки с пробелами, но можно "^$" поменять на "^[[:space:]]*$" А ещё строки с пробелами в цикле for в LINE не попадают, что-то я сразу и не подумал. То есть достаточно grep -v "^#".
rasdaemon-0.8.3-alt2 -> sisyphus: Sat Apr 26 2025 Vitaly Chikunov <vt@altlinux> 0.8.3-alt2 - Fixed reading configuration for sysvinit script start action (ALT#53451). - Fixed startup crash due to overflow (pull/212).
(In reply to Sergey Y. Afonin from comment #1) > Это неправильное решение: > > - ENV= > - for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon.env`; do > - ENV="${ENV}${LINE} " > - done > - export $ENV > > Правильное > > - for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon.env`; do > + for LINE in `grep -v "^#\|^$" /etc/sysconfig/rasdaemon`; do Было ведь простое решение... # service rasdaemon restart Stopping rasdaemon service: [ DONE ] grep: /etc/sysconfig/rasdaemon.env: No such file or directory export ENV="" export HOME="/root" export HOSTNAME="gw-m15a.kraft-s.net"
(In reply to Sergey Y. Afonin from comment #9) > export HOSTNAME= Аж даже вот hostname не зачистил...
Сорри, что ошибся удаляя свои правки. [U+1F937]
rasdaemon-0.8.3-alt3 -> sisyphus: Tue May 06 2025 Sergey Y. Afonin <asy@altlinux> 0.8.3-alt3 - Again fixed reading configuration for sysvinit script start action (ALT#53451) - More accurate check for mounted debugfs in sysvinit script
(In reply to Vitaly Chikunov from comment #11) > Сорри, что ошибся удаляя свои правки. [U+1F937] Так-то бывает, но ведь именно этот баг и фиксился...