Вы видели формат переменных в ms-dos/windows?
Это то же самое. Как в ср@ной винде.
Под тридцать правок в одном шелл-скрипте, это уже явный перебор.
Вообще-то это явный задел для чего-то вроде sed и подставновки в момент сборки. И этот файл надо просто удалить из пакета на самом деле, он не нужен. init-скрипт должен находиться в другом месте, и он там и находится.
Кстати, вот тут есть пример, правда про другие файлы: https://packages.altlinux.org/en/sisyphus/specfiles/lm_sensors3
sed -i "s|\@WRAPPER_DIR\@|%_libexecdir/%name|" lm_sensors.service
sed -i "s|\@WRAPPER_DIR\@|%_libexecdir/%name|" sensord.service
Спасибо, asy.
Сам пакет lm_sensors3-utils однозначно заточен только под systemd. Все *.service-файлы там где и должны быть.
Но шелл-скрипты в пакете всё таки есть:
# rpm -qvl lm_sensors3-utils | grep init
-rwxr-xr-x 1 root root 1471 кві 6 2019 /usr/share/lm_sensors3/fancontrol.init
-rwxr-xr-x 1 root root 4318 кві 6 2019 /usr/share/lm_sensors3/sensord.init
И что ещё интереснее, скрипт /usr/share/lm_sensors3/fancontrol.init (в отличие от sensord.init) написан по всем правилам синтаксиса, все символы шелл-кода в пределах 128-ми байт ascii и скрипт даже не требует установки exec бита. fancontrol.init можно просто скопировать в /etc/init.d, убрав расширение init.
У меня подозрение, что sensord.init писался в польской раскладке. В комментариях скрипта, можно писать хоть на китайском, но шелл-код должен быть только в пределах 128-ми байт таблицы ASCII. И в довесок ко всему, шелл-код sensord.init сломан байтом b4 - прямой (правый) апостроф, которого нет в ascii 0-127. Что противоречит правилам написания скриптов. И плохо представляю, как такой шелл-код был оттестирован в RH7.2, о чём утверждает сам скрипт.
Это конечно моё личное мнение, которое ни на что большее не претендует, но шелл-скрипт sensord.init, даже как заготовка не годится.
Почему это замечено только сейчас:
В своё время, по веской причине (с моей точки зрения) перешёл с AMD на Intel. У интела, при превышении лимита температуры процессора, срабатывает аварийный poweroff. К тому же все настройки выкручивались аппаратно и в этом пакете не было необходимости. Но столкнулся с этим в связи с темой, случайно заглянув в lm_sensors3-utils.