NEWS
[SOLVED] Instal.auf FreeBSD funktioniert nicht.
-
Ok. Wird gemacht. Ich installiere schon mal die Pakete wie oben beschrieben.
-
Ok, neue Version ist zum Testen online. Bis sie gemerged ist, kannst du diese per
curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
installieren.
-
@AlCalzone Super! Danke. Ich melde mich sobald ich soweit bin. Aktuell hänge ich bei Paket 4/38 ... dauert also noch ... (vielleicht 30 min.?)
-
@mrMuppet Prima, kein Stress...
-
@AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
@mrMuppet Prima, kein Stress...
Das war es noch nicht ganz:
root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash - ========================================================================== Welcome to the ioBroker installer! Installer version: 2019-05-21 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/4) ========================================================================== Installed sudo Installed unzip Installed avahi-libdns Installed nss_mdns Installed gcc dbus_enable: -> YES avahi_daemon_enable: -> YES Starting dbus. Starting avahi-daemon. ========================================================================== Creating ioBroker user and directory (2/4) ========================================================================== tty:*:4 Directory /opt/iobroker created ========================================================================== Installing ioBroker (3/4) ========================================================================== ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function] inline void SetNonBlock(int fd) { ^ ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function] inline void SetCloExec(int fd) { ^ 2 warnings generated. ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 8 warnings generated. ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized] data->baudRate = outbaud; ^~~~~~~ ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning int outbaud; ^ = 0 1 warning generated. ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations] obj->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 1 warning generated. ========================================================================== Finalizing installation (4/4) ========================================================================== Enabling autostart... iobroker_enable: -> YES platform: Undefined variable. Autostart enabled! root@iobroker_v2:~ # iobroker start Starting iobroker controller daemon... iobroker controller daemon failed to start: Failed to write pidfile (EACCES) Error: Failed to write pidfile (EACCES)
-
@mrMuppet Ok gib mir ein paar Minuten
-
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
EACCES
Was sagt
ls -la /opt/iobroker/node_modules/iobroker.js-controller/lib
? -
Kann es sein, dass ioBroker nach der Installation bereits läuft?
-
@AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
ls -la /opt/iobroker/node_modules/iobroker.js-controller/lib
Läuft noch nicht.root@iobroker_v2:~ # ls -la /opt/iobroker/node_modules/iobroker.js-controller/lib total 382 drwxr-xr-x 9 root wheel 28 May 21 18:05 . drwxr-xr-x 6 root wheel 17 May 21 18:06 .. -rw-r--r-- 1 root wheel 225379 Oct 26 1985 adapter.js -rw-r--r-- 1 root wheel 2012 Oct 26 1985 dbdump.js -rw-r--r-- 1 root wheel 1828 Oct 26 1985 defaultObjs.js drwxr-xr-x 2 root wheel 3 May 21 18:05 img -rw-r--r-- 1 root wheel 9114 Oct 26 1985 letsencrypt.js -rw-r--r-- 1 root wheel 26624 Oct 26 1985 letsencryptStore.js -rw-r--r-- 1 root wheel 11236 Oct 26 1985 logger.js -rw-r--r-- 1 root wheel 7177 Oct 26 1985 multihostClient.js -rw-r--r-- 1 root wheel 9174 Oct 26 1985 multihostServer.js drwxr-xr-x 2 root wheel 5 May 21 18:05 objects -rw-r--r-- 1 root wheel 531 Oct 26 1985 objects.js -rw-r--r-- 1 root wheel 2644 Oct 26 1985 password.js -rw-r--r-- 1 root wheel 4544 Oct 26 1985 preinstall_check.js -rw-r--r-- 1 root wheel 1755 Oct 26 1985 renewal.conf.tpl -rw-r--r-- 1 root wheel 6026 Oct 26 1985 restart.js drwxr-xr-x 2 root wheel 3 May 21 18:05 scripts -rw-r--r-- 1 root wheel 1809 Oct 26 1985 session.js drwxr-xr-x 2 root wheel 14 May 21 18:05 setup -rw-r--r-- 1 root wheel 154618 Oct 26 1985 setup.js drwxr-xr-x 2 root wheel 5 May 21 18:05 states -rw-r--r-- 1 root wheel 523 Oct 26 1985 states.js -rw-r--r-- 1 root wheel 47344 Oct 26 1985 tools.js -rw-r--r-- 1 root wheel 3808 Oct 26 1985 uploadFiles.js drwxr-xr-x 2 root wheel 3 May 21 18:05 vis drwxr-xr-x 3 root wheel 3 May 21 18:05 www -rw-r--r-- 1 root wheel 13190 Oct 26 1985 zipFiles.js
-
Hmm, da werden die Berechtigungen nicht richtig gesetzt... Evtl hat das mit der Meldung oben zu tun "unknown variable platform". Ich hab mal den Debug-Mode aktiviert, um (hoffentlich) zu sehen was los ist, bitte nochmal installieren (ohne System neu aufsetzen):
rm -rf /opt/iobroker curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
-
@AlCalzone sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
rm -rf /opt/iobroker
curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash - + INSTALLER_VERSION=2019-05-21 + [[ 0 -eq 0 ]] + IS_ROOT=true + ROOT_GROUP=root ++ uname + unamestr=FreeBSD + '[' FreeBSD = Linux ']' + '[' FreeBSD = Darwin ']' + '[' FreeBSD = FreeBSD ']' + platform=freebsd + ROOT_GROUP=wheel + IOB_DIR=/opt/iobroker + '[' freebsd = osx ']' + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt + INSTALL_TARGET=iobroker + IOB_USER=iobroker + '[' freebsd = osx ']' + test -t 1 ++ which tput ++ tput colors + ncolors=94 + test -n 94 + test 94 -ge 8 ++ tput cols + termcols=94 ++ tput bold + bold= ++ tput smul + underline= ++ tput smso + standout= ++ tput sgr0 + normal= ++ tput setaf 0 + black='' ++ tput setaf 1 + red='' ++ tput setaf 2 + green='' ++ tput setaf 3 + yellow='' ++ tput setaf 4 + blue='' ++ tput setaf 5 + magenta='' ++ tput setaf 6 + cyan='' ++ tput setaf 7 + white='' + HLINE=========================================================================== + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.' + title='Welcome to the ioBroker installer!' + echo + echo ========================================================================== ========================================================================== + echo + echo ' Welcome to the ioBroker installer!' Welcome to the ioBroker installer! + for text in "${@:2}" + echo ' Installer version: 2019-05-21' Installer version: 2019-05-21 + for text in "${@:2}" + echo ' ' + for text in "${@:2}" + echo ' You might need to enter your password a couple of times.' You might need to enter your password a couple of times. + echo + echo ========================================================================== ========================================================================== + echo + export AUTOMATED_INSTALLER=true + AUTOMATED_INSTALLER=true + NUM_STEPS=4 + print_step 'Installing prerequisites' 1 4 + stepname='Installing prerequisites' + stepnr=1 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing prerequisites (1/4)' Installing prerequisites (1/4) + echo ========================================================================== ========================================================================== + echo + case "$platform" in + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python") + declare -a packages + for pkg in "${packages[@]}" + install_package_freebsd sudo + package=sudo + pkg info sudo + for pkg in "${packages[@]}" + install_package_freebsd git + package=git + pkg info git + for pkg in "${packages[@]}" + install_package_freebsd curl + package=curl + pkg info curl + for pkg in "${packages[@]}" + install_package_freebsd bash + package=bash + pkg info bash + for pkg in "${packages[@]}" + install_package_freebsd unzip + package=unzip + pkg info unzip + for pkg in "${packages[@]}" + install_package_freebsd avahi-libdns + package=avahi-libdns + pkg info avahi-libdns + for pkg in "${packages[@]}" + install_package_freebsd dbus + package=dbus + pkg info dbus + for pkg in "${packages[@]}" + install_package_freebsd nss_mdns + package=nss_mdns + pkg info nss_mdns + for pkg in "${packages[@]}" + install_package_freebsd gcc + package=gcc + pkg info gcc + for pkg in "${packages[@]}" + install_package_freebsd python + package=python + pkg info python + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h ln: /usr/include/dns_sd.h: File exists + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf + sysrc -f /etc/rc.conf dbus_enable=YES dbus_enable: YES -> YES + sysrc -f /etc/rc.conf avahi_daemon_enable=YES avahi_daemon_enable: YES -> YES + service dbus start dbus already running? (pid=55380). + service avahi-daemon start avahi_daemon already running? (pid=55387). + print_step 'Creating ioBroker user and directory' 2 4 + stepname='Creating ioBroker user and directory' + stepnr=2 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Creating ioBroker user and directory (2/4)' Creating ioBroker user and directory (2/4) + echo ========================================================================== ========================================================================== + echo + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + create_user_freebsd iobroker + username=iobroker + id iobroker + '[' 0 -ne 0 ']' + groups=(audio bluetooth dialout gpio i2c redis tty) + declare -a groups + for grp in "${groups[@]}" + '[' true = true ']' + getent group audio + for grp in "${groups[@]}" + '[' true = true ']' + getent group bluetooth + for grp in "${groups[@]}" + '[' true = true ']' + getent group dialout + for grp in "${groups[@]}" + '[' true = true ']' + getent group gpio + for grp in "${groups[@]}" + '[' true = true ']' + getent group i2c + for grp in "${groups[@]}" + '[' true = true ']' + getent group redis + for grp in "${groups[@]}" + '[' true = true ']' + getent group tty tty:*:4:iobroker + pw group mod tty -m iobroker + '[' true = true ']' + mkdir -p /opt/iobroker + cd /opt/iobroker + echo 'Directory /opt/iobroker created' Directory /opt/iobroker created + touch /opt/iobroker/INSTALLER_INFO.txt + chmod 777 /opt/iobroker/INSTALLER_INFO.txt + echo 'Installer version: 2019-05-21' ++ date +%F + echo 'Installation date 2019-05-21' + echo 'Platform: freebsd' + print_step 'Installing ioBroker' 3 4 + stepname='Installing ioBroker' + stepnr=3 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing ioBroker (3/4)' Installing ioBroker (3/4) + echo ========================================================================== ========================================================================== + echo + '[' true = true ']' + echo 'Installed as root' + npm i iobroker --loglevel error --unsafe-perm + npm i --production --loglevel error --unsafe-perm ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function] inline void SetNonBlock(int fd) { ^ ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function] inline void SetCloExec(int fd) { ^ 2 warnings generated. ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 8 warnings generated. ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized] data->baudRate = outbaud; ^~~~~~~ ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning int outbaud; ^ = 0 1 warning generated. ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations] obj->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 1 warning generated. + print_step 'Finalizing installation' 4 4 + stepname='Finalizing installation' + stepnr=4 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Finalizing installation (4/4)' Finalizing installation (4/4) + echo ========================================================================== ========================================================================== + echo + INITSYSTEM=unknown + [[ freebsd = \f\r\e\e\b\s\d ]] + [[ -d /usr/local/etc/rc.d ]] + INITSYSTEM=rc.d + [[ -n '' ]] + echo 'init system: rc.d' + IOB_NODE_CMDLINE=node ++ which bash + BASH_CMDLINE=/usr/local/bin/bash + '[' iobroker '!=' root ']' + IOB_NODE_CMDLINE='sudo -H -u iobroker node' + '[' rc.d = systemd ']' + '[' rc.d = launchctl ']' ++ cat + IOB_EXECUTABLE='#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + IOB_BIN_PATH=/usr/local/bin + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob + echo '#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + make_executable /opt/iobroker/iobroker + file=/opt/iobroker/iobroker + '[' true = true ']' + chmod 755 /opt/iobroker/iobroker + [[ rc.d = \i\n\i\t\.\d ]] + '[' rc.d = systemd ']' + '[' rc.d = rc.d ']' + echo 'Enabling autostart...' Enabling autostart... ++ cat + RCD_FILE='#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + echo '#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + set_root_permissions /usr/local/etc/rc.d/iobroker + file=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + chown root:wheel /usr/local/etc/rc.d/iobroker + chmod 755 /usr/local/etc/rc.d/iobroker + sysrc iobroker_enable=YES iobroker_enable: YES -> YES + service iobroker start Before fixing dir permissions... platform: Undefined variable. + echo 'Autostart enabled!' Autostart enabled! + echo 'Autostart: rc.d'
-
@mrMuppet Danke, schau ich mir später an
-
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
platform=freebsd
Und später
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
platform: Undefined variable.
-
@Homoran Genau das verwirrt mich. Da scheint FreeBSD etwas anders zu machen als alle anderen Betriebssysteme. Muss ich morgen mal lesen. Heute Abend musste ich erst mal Blues Brothers schauen
-
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
- service iobroker start
Before fixing dir permissions...
platform: Undefined variable. - echo 'Autostart enabled!'
Autostart enabled! - echo 'Autostart: rc.d'
Und auch das läuft in einer Reihenfolge ab, die eigentlich nicht sein kann
- service iobroker start
-
@mrMuppet Ich habe nochmal einen Versuch gestartet. Probierst du bitte nochmal:
rm -rf /opt/iobroker curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash -
-
@AlCalzone komme gerade nur über's Smartphone dran, aber versucht hab ichs trotzdem Mal:
root@iobroker_v2:~ # rm -rf /opt/iobroker root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash - + INSTALLER_VERSION=2019-05-21 + [[ 0 -eq 0 ]] + IS_ROOT=true + ROOT_GROUP=root ++ get_platform +++ uname ++ unamestr=FreeBSD ++ local platform= ++ '[' FreeBSD = Linux ']' ++ '[' FreeBSD = Darwin ']' ++ '[' FreeBSD = FreeBSD ']' ++ platform=freebsd ++ ROOT_GROUP=wheel ++ echo freebsd + platform=freebsd + '[' freebsd = '' ']' + IOB_DIR=/opt/iobroker + '[' freebsd = osx ']' + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt + INSTALL_TARGET=iobroker + IOB_USER=iobroker + '[' freebsd = osx ']' + test -t 1 ++ which tput ++ tput colors + ncolors=83 + test -n 83 + test 83 -ge 8 ++ tput cols + termcols=83 ++ tput bold + bold= ++ tput smul + underline= ++ tput smso + standout= ++ tput sgr0 + normal= ++ tput setaf 0 + black='' ++ tput setaf 1 + red='' ++ tput setaf 2 + green='' ++ tput setaf 3 + yellow='' ++ tput setaf 4 + blue='' ++ tput setaf 5 + magenta='' ++ tput setaf 6 + cyan='' ++ tput setaf 7 + white='' + HLINE=========================================================================== + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.' + title='Welcome to the ioBroker installer!' + echo + echo ========================================================================== ========================================================================== + echo + echo ' Welcome to the ioBroker installer!' Welcome to the ioBroker installer! + for text in "${@:2}" + echo ' Installer version: 2019-05-21' Installer version: 2019-05-21 + for text in "${@:2}" + echo ' ' + for text in "${@:2}" + echo ' You might need to enter your password a couple of times.' You might need to enter your password a couple of times. + echo + echo ========================================================================== ========================================================================== + echo + export AUTOMATED_INSTALLER=true + AUTOMATED_INSTALLER=true + NUM_STEPS=4 + print_step 'Installing prerequisites' 1 4 + stepname='Installing prerequisites' + stepnr=1 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing prerequisites (1/4)' Installing prerequisites (1/4) + echo ========================================================================== ========================================================================== + echo + case "$platform" in + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python") + declare -a packages + for pkg in "${packages[@]}" + install_package_freebsd sudo + package=sudo + pkg info sudo + for pkg in "${packages[@]}" + install_package_freebsd git + package=git + pkg info git + for pkg in "${packages[@]}" + install_package_freebsd curl + package=curl + pkg info curl + for pkg in "${packages[@]}" + install_package_freebsd bash + package=bash + pkg info bash + for pkg in "${packages[@]}" + install_package_freebsd unzip + package=unzip + pkg info unzip + for pkg in "${packages[@]}" + install_package_freebsd avahi-libdns + package=avahi-libdns + pkg info avahi-libdns + for pkg in "${packages[@]}" + install_package_freebsd dbus + package=dbus + pkg info dbus + for pkg in "${packages[@]}" + install_package_freebsd nss_mdns + package=nss_mdns + pkg info nss_mdns + for pkg in "${packages[@]}" + install_package_freebsd gcc + package=gcc + pkg info gcc + for pkg in "${packages[@]}" + install_package_freebsd python + package=python + pkg info python + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h ln: /usr/include/dns_sd.h: File exists + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf + sysrc -f /etc/rc.conf dbus_enable=YES dbus_enable: YES -> YES + sysrc -f /etc/rc.conf avahi_daemon_enable=YES avahi_daemon_enable: YES -> YES + service dbus start Starting dbus. + service avahi-daemon start Starting avahi-daemon. + print_step 'Creating ioBroker user and directory' 2 4 + stepname='Creating ioBroker user and directory' + stepnr=2 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Creating ioBroker user and directory (2/4)' Creating ioBroker user and directory (2/4) + echo ========================================================================== ========================================================================== + echo + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + create_user_freebsd iobroker + username=iobroker + id iobroker + '[' 0 -ne 0 ']' + groups=(audio bluetooth dialout gpio i2c redis tty) + declare -a groups + for grp in "${groups[@]}" + '[' true = true ']' + getent group audio + for grp in "${groups[@]}" + '[' true = true ']' + getent group bluetooth + for grp in "${groups[@]}" + '[' true = true ']' + getent group dialout + for grp in "${groups[@]}" + '[' true = true ']' + getent group gpio + for grp in "${groups[@]}" + '[' true = true ']' + getent group i2c + for grp in "${groups[@]}" + '[' true = true ']' + getent group redis + for grp in "${groups[@]}" + '[' true = true ']' + getent group tty tty:*:4:iobroker + pw group mod tty -m iobroker + '[' true = true ']' + mkdir -p /opt/iobroker + cd /opt/iobroker + echo 'Directory /opt/iobroker created' Directory /opt/iobroker created + touch /opt/iobroker/INSTALLER_INFO.txt + chmod 777 /opt/iobroker/INSTALLER_INFO.txt + echo 'Installer version: 2019-05-21' ++ date +%F + echo 'Installation date 2019-05-22' + echo 'Platform: freebsd' + print_step 'Installing ioBroker' 3 4 + stepname='Installing ioBroker' + stepnr=3 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing ioBroker (3/4)' Installing ioBroker (3/4) + echo ========================================================================== ========================================================================== + echo + '[' true = true ']' + echo 'Installed as root' + npm i iobroker --loglevel error --unsafe-perm + npm i --production --loglevel error --unsafe-perm ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function] inline void SetNonBlock(int fd) { ^ ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function] inline void SetCloExec(int fd) { ^ 2 warnings generated. ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 8 warnings generated. ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized] data->baudRate = outbaud; ^~~~~~~ ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning int outbaud; ^ = 0 1 warning generated. ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations] obj->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 1 warning generated. + print_step 'Finalizing installation' 4 4 + stepname='Finalizing installation' + stepnr=4 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Finalizing installation (4/4)' Finalizing installation (4/4) + echo ========================================================================== ========================================================================== + echo + INITSYSTEM=unknown + [[ freebsd = \f\r\e\e\b\s\d ]] + [[ -d /usr/local/etc/rc.d ]] + INITSYSTEM=rc.d + [[ -n '' ]] + echo 'init system: rc.d' + IOB_NODE_CMDLINE=node ++ which bash + BASH_CMDLINE=/usr/local/bin/bash + '[' iobroker '!=' root ']' + IOB_NODE_CMDLINE='sudo -H -u iobroker node' + '[' rc.d = systemd ']' + '[' rc.d = launchctl ']' ++ cat + IOB_EXECUTABLE='#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + IOB_BIN_PATH=/usr/local/bin + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob + echo '#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + make_executable /opt/iobroker/iobroker + file=/opt/iobroker/iobroker + '[' true = true ']' + chmod 755 /opt/iobroker/iobroker + [[ rc.d = \i\n\i\t\.\d ]] + '[' rc.d = systemd ']' + '[' rc.d = rc.d ']' + echo 'Enabling autostart...' Enabling autostart... ++ cat + RCD_FILE='#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + echo '#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + set_root_permissions /usr/local/etc/rc.d/iobroker + file=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + chown root:root /usr/local/etc/rc.d/iobroker chown: root: illegal group name + chmod 755 /usr/local/etc/rc.d/iobroker + sysrc iobroker_enable=YES iobroker_enable: YES -> YES + service iobroker start Illegal variable name. + echo 'Autostart enabled!' Autostart enabled! + echo 'Autostart: rc.d' root@iobroker_v2:~ #
Edit:
root@iobroker_v2:~ # iobroker start Starting iobroker controller daemon... iobroker controller daemon failed to start: Failed to write pidfile (EACCES) Error: Failed to write pidfile (EACCES)
-
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
Illegal variable name.
Das ist was neues - ich schaue später nochmal rein.
-
@mrMuppet sagte in Neue Installation auf FreeBSD/FreeNAS 11.2 funktioniert nicht.:
Illegal variable name.
Ich habe nochmal was geändert. Magst du bitte nochmal testen?
-
@AlCalzone Hier der nächste Versuch:
root@iobroker_v2:~ # rm -rf /opt/iobroker root@iobroker_v2:~ # curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/freebsd-fix/installer.sh | bash - + INSTALLER_VERSION=2019-05-21 + [[ 0 -eq 0 ]] + IS_ROOT=true + ROOT_GROUP=root ++ uname + unamestr=FreeBSD + '[' FreeBSD = Linux ']' + '[' FreeBSD = Darwin ']' + '[' FreeBSD = FreeBSD ']' + HOST_PLATFORM=freebsd + ROOT_GROUP=wheel + IOB_DIR=/opt/iobroker + '[' freebsd = osx ']' + CONTROLLER_DIR=/opt/iobroker/node_modules/iobroker.js-controller + INSTALLER_INFO_FILE=/opt/iobroker/INSTALLER_INFO.txt + INSTALL_TARGET=iobroker + IOB_USER=iobroker + '[' freebsd = osx ']' + test -t 1 ++ which tput ++ tput colors + ncolors=80 + test -n 80 + test 80 -ge 8 ++ tput cols + termcols=80 ++ tput bold + bold= ++ tput smul + underline= ++ tput smso + standout= ++ tput sgr0 + normal= ++ tput setaf 0 + black='' ++ tput setaf 1 + red='' ++ tput setaf 2 + green='' ++ tput setaf 3 + yellow='' ++ tput setaf 4 + blue='' ++ tput setaf 5 + magenta='' ++ tput setaf 6 + cyan='' ++ tput setaf 7 + white='' + HLINE=========================================================================== + print_bold 'Welcome to the ioBroker installer!' 'Installer version: 2019-05-21' '' 'You might need to enter your password a couple of times.' + title='Welcome to the ioBroker installer!' + echo + echo ========================================================================== ========================================================================== + echo + echo ' Welcome to the ioBroker installer!' Welcome to the ioBroker installer! + for text in "${@:2}" + echo ' Installer version: 2019-05-21' Installer version: 2019-05-21 + for text in "${@:2}" + echo ' ' + for text in "${@:2}" + echo ' You might need to enter your password a couple of times.' You might need to enter your password a couple of times. + echo + echo ========================================================================== ========================================================================== + echo + export AUTOMATED_INSTALLER=true + AUTOMATED_INSTALLER=true + NUM_STEPS=4 + print_step 'Installing prerequisites' 1 4 + stepname='Installing prerequisites' + stepnr=1 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing prerequisites (1/4)' Installing prerequisites (1/4) + echo ========================================================================== ========================================================================== + echo + case "$HOST_PLATFORM" in + packages=("sudo" "git" "curl" "bash" "unzip" "avahi-libdns" "dbus" "nss_mdns" "gcc" "python") + declare -a packages + for pkg in "${packages[@]}" + install_package_freebsd sudo + package=sudo + pkg info sudo + for pkg in "${packages[@]}" + install_package_freebsd git + package=git + pkg info git + for pkg in "${packages[@]}" + install_package_freebsd curl + package=curl + pkg info curl + for pkg in "${packages[@]}" + install_package_freebsd bash + package=bash + pkg info bash + for pkg in "${packages[@]}" + install_package_freebsd unzip + package=unzip + pkg info unzip + for pkg in "${packages[@]}" + install_package_freebsd avahi-libdns + package=avahi-libdns + pkg info avahi-libdns + for pkg in "${packages[@]}" + install_package_freebsd dbus + package=dbus + pkg info dbus + for pkg in "${packages[@]}" + install_package_freebsd nss_mdns + package=nss_mdns + pkg info nss_mdns + for pkg in "${packages[@]}" + install_package_freebsd gcc + package=gcc + pkg info gcc + for pkg in "${packages[@]}" + install_package_freebsd python + package=python + pkg info python + ln -s /usr/local/include/avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h ln: /usr/include/dns_sd.h: File exists + sed -i -e s/#enable-dbus/enable-dbus/ /usr/local/etc/avahi/avahi-daemon.conf + sed -i -e 's/hosts: file dns/hosts: file dns mdns/' /etc/nsswitch.conf + sysrc -f /etc/rc.conf dbus_enable=YES dbus_enable: YES -> YES + sysrc -f /etc/rc.conf avahi_daemon_enable=YES avahi_daemon_enable: YES -> YES + service dbus start dbus already running? (pid=66501). + service avahi-daemon start avahi_daemon already running? (pid=66508). + print_step 'Creating ioBroker user and directory' 2 4 + stepname='Creating ioBroker user and directory' + stepnr=2 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Creating ioBroker user and directory (2/4)' Creating ioBroker user and directory (2/4) + echo ========================================================================== ========================================================================== + echo + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + create_user_freebsd iobroker + username=iobroker + id iobroker + '[' 0 -ne 0 ']' + groups=(audio bluetooth dialout gpio i2c redis tty) + declare -a groups + for grp in "${groups[@]}" + '[' true = true ']' + getent group audio + for grp in "${groups[@]}" + '[' true = true ']' + getent group bluetooth + for grp in "${groups[@]}" + '[' true = true ']' + getent group dialout + for grp in "${groups[@]}" + '[' true = true ']' + getent group gpio + for grp in "${groups[@]}" + '[' true = true ']' + getent group i2c + for grp in "${groups[@]}" + '[' true = true ']' + getent group redis + for grp in "${groups[@]}" + '[' true = true ']' + getent group tty tty:*:4:iobroker + pw group mod tty -m iobroker + '[' true = true ']' + mkdir -p /opt/iobroker + cd /opt/iobroker + echo 'Directory /opt/iobroker created' Directory /opt/iobroker created + touch /opt/iobroker/INSTALLER_INFO.txt + chmod 777 /opt/iobroker/INSTALLER_INFO.txt + echo 'Installer version: 2019-05-21' ++ date +%F + echo 'Installation date 2019-05-23' + echo 'Platform: freebsd' + print_step 'Installing ioBroker' 3 4 + stepname='Installing ioBroker' + stepnr=3 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Installing ioBroker (3/4)' Installing ioBroker (3/4) + echo ========================================================================== ========================================================================== + echo + '[' true = true ']' + echo 'Installed as root' + npm i iobroker --loglevel error --unsafe-perm + npm i --production --loglevel error --unsafe-perm ../src/unix_dgram.cc:53:13: warning: unused function 'SetNonBlock' [-Wunused-function] inline void SetNonBlock(int fd) { ^ ../src/unix_dgram.cc:65:13: warning: unused function 'SetCloExec' [-Wunused-function] inline void SetCloExec(int fd) { ^ 2 warnings generated. ../src/serialport.cpp:95:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:150:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:188:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:231:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:285:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:336:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:383:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ ../src/serialport.cpp:424:18: warning: 'Call' is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 8 warnings generated. ../src/serialport_unix.cpp:384:20: warning: variable 'outbaud' is uninitialized when used here [-Wuninitialized] data->baudRate = outbaud; ^~~~~~~ ../src/serialport_unix.cpp:369:14: note: initialize the variable 'outbaud' to silence this warning int outbaud; ^ = 0 1 warning generated. ../src/poller.cpp:69:17: warning: 'Call' is deprecated [-Wdeprecated-declarations] obj->callback.Call(2, argv); ^ ../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here NAN_DEPRECATED inline v8::Local<v8::Value> ^ ../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED' # define NAN_DEPRECATED __attribute__((deprecated)) ^ 1 warning generated. + print_step 'Finalizing installation' 4 4 + stepname='Finalizing installation' + stepnr=4 + steptotal=4 + echo + echo ========================================================================== ========================================================================== + echo ' Finalizing installation (4/4)' Finalizing installation (4/4) + echo ========================================================================== ========================================================================== + echo + INITSYSTEM=unknown + [[ freebsd = \f\r\e\e\b\s\d ]] + [[ -d /usr/local/etc/rc.d ]] + INITSYSTEM=rc.d + [[ -n '' ]] + echo 'init system: rc.d' + IOB_NODE_CMDLINE=node ++ which bash + BASH_CMDLINE=/usr/local/bin/bash + '[' iobroker '!=' root ']' + IOB_NODE_CMDLINE='sudo -H -u iobroker node' + '[' rc.d = systemd ']' + '[' rc.d = launchctl ']' ++ cat + IOB_EXECUTABLE='#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + '[' freebsd = linux ']' + '[' freebsd = freebsd ']' + IOB_BIN_PATH=/usr/local/bin + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iobroker + ln -sfn /opt/iobroker/iobroker /usr/local/bin/iob + '[' true = true ']' + ln -sfn /opt/iobroker/iobroker /opt/iobroker/iob + echo '#!/usr/local/bin/bash sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $@' + make_executable /opt/iobroker/iobroker + file=/opt/iobroker/iobroker + '[' true = true ']' + chmod 755 /opt/iobroker/iobroker + [[ rc.d = \i\n\i\t\.\d ]] + '[' rc.d = systemd ']' + '[' rc.d = rc.d ']' + echo 'Enabling autostart...' Enabling autostart... ++ cat + RCD_FILE='#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + SERVICE_FILENAME=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + echo '#!/bin/sh # # PROVIDE: iobroker # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name="iobroker" rcvar="iobroker_enable" load_rc_config $name iobroker_enable=${iobroker_enable-"NO"} iobroker_pidfile=${iobroker_pidfile-"/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid"} PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=$(which node) iobroker_start () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start" } iobroker_stop () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js stop" } iobroker_status () { su -m iobroker -s "/usr/local/bin/bash" -c "${NODECMD} /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js status" } PATH="${PATH}:/usr/local/bin" pidfile="${iobroker_pidfile}" start_cmd=iobroker_start stop_cmd=iobroker_stop status_cmd=iobroker_status run_rc_command "$1"' + set_root_permissions /usr/local/etc/rc.d/iobroker + file=/usr/local/etc/rc.d/iobroker + '[' true = true ']' + chown root:wheel /usr/local/etc/rc.d/iobroker + chmod 755 /usr/local/etc/rc.d/iobroker + sysrc iobroker_enable=YES iobroker_enable: YES -> YES + service iobroker start Before fixing dir permissions... HOST_PLATFORM: Undefined variable. + echo 'Autostart enabled!' Autostart enabled! + echo 'Autostart: rc.d' root@iobroker_v2:~ # iobroker start Starting iobroker controller daemon... iobroker controller daemon failed to start: Failed to write pidfile (EACCES) Error: Failed to write pidfile (EACCES) root@iobroker_v2:~ #