Hi, > Am 03.03.2015 um 13:25 schrieb Andre Bernemann <andre.bernem...@gmail.com>: > > Hallo Andreas, > > Zeile 247 > > if [ ! grep -q vzlogger /etc/inittab ]; then > > wirft bei mir noch den Fehler > > [: too many arguments > > Wenn ich das abändere auf > > if ! grep -q vzlogger /etc/inittab; then
So stehts im github. Update vergessen? > > klappt es. Mein test kommt scheinbar nicht mit der obigen Syntax klar. > > Gruß > André Viele Grüße, Andreas > Andreas Goetz <cpui...@gmail.com> schrieb am Di., 3. März 2015 um 09:20 Uhr: > >> Moin Andre, >> >> aktuelle Version im git sollte jetzt durchlaufen. Wenn noch etwas fehlt >> melde Dich gerne. >> >> Viele Grüße, >> Andreas >> >> PS.: Nicht github sondern KDG hatte das Problem die Verbindung in die USA >> gekappt zu haben. Sachen gibts... >> >> >> 2015-03-02 20:14 GMT+01:00 Andreas Goetz <cpui...@gmail.com>: >>> OK, ich habe beide Fehler gefunden. Einmal in meinem Skript etwas zuviel >>> optimiert, einmal liegt der Fehler im letzten Commit bzw. den >>> Abhängigkeiten. Leider ist github down, sobald das wieder da ist korrigier >>> ichs. >>> >>> Viele Grüße, >>> Andreas >>> >>> >>> 2015-03-02 17:37 GMT+01:00 Andre Bernemann <andre.bernem...@gmail.com>: >>>> >>>> Hallo Andreas, >>>> >>>> Andreas Goetz <cpui...@gmail.com> schrieb am Mo., 2. März 2015 um 16:23 >>>> Uhr: >>>>> Hallo Andre, >>>>> >>>>>> On Mon, Mar 2, 2015 at 2:55 PM, Andre Bernemann >>>>>> <andre.bernem...@gmail.com> wrote: >>>>>> gute Idee, Danke für das Skript. Ich habe es mal getestet, und >>>>>> prinzipiell funktioniert es bis auf ein paar Kleinigkeiten: >>>>> >>>>> Das wäre ja schön, aber die Mängelliste ist ja doch etwas länger. >>>>> >>>>>> >>>>>> 1. ./install.sh libsml --> klappt einwandfrei >>>>> >>>>> Der vollständigkeit halber: was hast Du vorher gemacht? git clone? wget? >>>>> Hattest Du install.sh auch mal ohne Parameter aufgerufen? Gelten die >>>>> Ergebnisse unten für einen frischen git clone? Wann hattest Du das >>>>> getestet? >>>> >>>> Vorher hatte ich einen git reset durchgeführt. Ich habe libsml schon >>>> woanders liegen, der Installer hat es aber innerhalb des vzlogger Ordners >>>> (unter libs wie geplant) neu angelegt. Damit ist libsml ein frischer git >>>> clone, obwohl mein pi libsml grundsätzlich schon mal kompiliert hat. >>>> Dependencies sind demnach alle vorhanden. Durchgeführt habe ich es nach >>>> den letzten Änderungen im git (efd38e9). >>>> >>>> Ich habe es nun wie folgt nochmal auf 2 rPi's durchgeführt: >>>> >>>> - wget install.sh >>>> - chmod +x >>>> - ./install ohne Parameter aufgerufen: Alles wird heruntergeladen, erster >>>> Fehler tritt beim make von libjson auf (s.u.). >>>> - manuell autogen.sh in ./vzlogger/libs/json-c aufgerufen >>>> - touch INSTALL im vzlogger Verzeichnis >>>> - nochmals ./install.sh ohne Parameter aufgerufen >>>> --> läuft dann fast komplett durch, zuletzt kommt noch ein kleiner Fehler >>>> aus Z249: ./install.sh: line 247: [: too many arguments, aber das ist ja >>>> eine Kleinigkeit. >>>> >>>>>> >>>>>> 2. ./install.sh libjson: >>>>>> Ich bekomme folgenden Fehler: >>>>>> >>>>>> CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash >>>>>> /home/pi/vz/vzlogger/libs/json-c/missing aclocal-1.14 >>>>>> /home/pi/vz/vzlogger/libs/json-c/missing: line 81: aclocal-1.14: command >>>>>> not found >>>>>> WARNING: 'aclocal-1.14' is missing on your system. >>>>>> You should only need it if you modified 'acinclude.m4' or >>>>>> 'configure.ac' or m4 files included by 'configure.ac'. >>>>>> The 'aclocal' program is part of the GNU Automake package: >>>>>> <http://www.gnu.org/software/automake> >>>>>> It also requires GNU Autoconf, GNU m4 and Perl in order to run: >>>>>> <http://www.gnu.org/software/autoconf> >>>>>> <http://www.gnu.org/software/m4/> >>>>>> <http://www.perl.org/> >>>>>> Makefile:462: recipe for target 'aclocal.m4' failed >>>>>> make: *** [aclocal.m4] Error 127 >>>>>> >>>>>> Wenn ich die Skripte (autogen.sh && ...) manuell direkt im Ordner >>>>>> libs/json-c durchlaufen lasse klappt es. Möglicherweise gibt es ein >>>>>> Problem mit pushd und autogen.sh? >>>>> >>>>> Ich passe. Überhaupt keine Idee. Kann das nur nochmal vom Start weg >>>>> versuchen nachzuvollziehen. >>>>> >>>>>> 3. ./install.sh vzlogger >>>>>> Fehler: >>>>>> Install the project... >>>>>> /usr/bin/cmake -P cmake_install.cmake >>>>>> -- Install configuration: "" >>>>>> -- Installing: /usr/local/share/doc/vzlogger-0-4/README >>>>>> CMake Error at cmake_install.cmake:36 (FILE): >>>>>> file INSTALL cannot find "/home/pi/vz/vzlogger/INSTALL". >>>>>> Makefile:65: recipe for target 'install' failed >>>>>> make: *** [install] Error 1 >>>>>> >>>>>> Neben INSTALL wird auch die Datei COPYING in cmake_install.cmake >>>>>> referenziert. Lege ich die beiden Dateien an funktioniert es. >>>>> >>>>> Kommt der Fehler auch wenn Du einfach nur >>>>> >>>>> cmake . >>>>> make >>>>> sudo make install >>>>> >>>>> aufrufst? >>>> >>>> Ja. >>>> >>>>> >>>>> Bei mir gibt es COPYING, im git ist sie ebenfalls- warum existiert die >>>>> Datei bei Dir nicht standardmäßig? >>>>> >>>>> @root, @mbehr: kann es sein dass das Aufräumen der Automake Umgebung >>>>> etwas damit zu tun hat (mindestens bzgl. INSTALL)? >>>> >>>> Ok, COPYING war da, hatte ich übersehen, mein Fehler. INSTALL fehlt >>>> allerdings. >>>> >>>>>> >>>>>> Gruß >>>>>> André >>>>> >>>>> Viele Grüße, >>>>> Andreas >>>> >>>> Ich hoffe das hilft weiter. >>>> >>>> Gruß >>>> André >>>> >>>> P.S.: Komplett OT, aber ich wäre ein großer Fan des raw Kontextes in der >>>> Middleware. >>>> >>>>>> >>>>>> >>>>>> Andreas Goetz <cpui...@gmail.com> schrieb am So., 1. März 2015 um 13:49 >>>>>> Uhr: >>>>>> >>>>>>> Hallo Zusammen, >>>>>>> >>>>>>> ich hab mal versucht ein Skript zu bauen das vzlogger installiert oder- >>>>>>> sofern schon vorhanden- aktualisiert. Wäre schön wenn das jemand testen >>>>>>> könnte bevor ich es im git einstelle (@Udo: das wäre auch was für Dich >>>>>>> ;) >>>>>>> >>>>>>> Viele Grüße, >>>>>>> Andreas >>>>>>> >>>>>>> >>>>>>> #!/bin/bash >>>>>>> # >>>>>>> # Installer >>>>>>> # >>>>>>> # @copyright Copyright (c) 2015, The volkszaehler.org project >>>>>>> # @license http://www.opensource.org/licenses/gpl-license.php GNU >>>>>>> Public License >>>>>>> # @author Andreas Goetz >>>>>>> # >>>>>>> ## >>>>>>> # The installer will clone all required repositories or update them if >>>>>>> necessary. >>>>>>> # Then the modules are compiled and installed >>>>>>> # >>>>>>> # USAGE: >>>>>>> # >>>>>>> # Run install.sh from vzlogger or parent folder >>>>>>> # >>>>>>> # ./install.sh >>>>>>> # >>>>>>> # To execute specific parts of the build select which ones to run: >>>>>>> # >>>>>>> # ./install.sh <list of modules> >>>>>>> # >>>>>>> # Modules: >>>>>>> # - vzlogger (libraries must be in place already) >>>>>>> # - libjson >>>>>>> # - libsml >>>>>>> # - clean (will clean the respektive make targets, requires >>>>>>> explicitly naming the modules) >>>>>>> # >>>>>>> # To run a clean build: >>>>>>> # >>>>>>> # ./install.sh vzlogger libjson libsml clean >>>>>>> # >>>>>>> ## >>>>>>> # This file is part of volkzaehler.org >>>>>>> # >>>>>>> # volkzaehler.org is free software: you can redistribute it and/or >>>>>>> modify >>>>>>> # it under the terms of the GNU General Public License as published by >>>>>>> # the Free Software Foundation, either version 3 of the License, or >>>>>>> # any later version. >>>>>>> # >>>>>>> # volkzaehler.org is distributed in the hope that it will be useful, >>>>>>> # but WITHOUT ANY WARRANTY; without even the implied warranty of >>>>>>> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>>>>>> # GNU General Public License for more details. >>>>>>> # >>>>>>> # You should have received a copy of the GNU General Public License >>>>>>> # along with volkszaehler.org. If not, see >>>>>>> <http://www.gnu.org/licenses/>. >>>>>>> ## >>>>>>> >>>>>>> set -e >>>>>>> shopt -s nocasematch >>>>>>> >>>>>>> ############################### >>>>>>> # some defaults >>>>>>> vzlogger_dir=vzlogger >>>>>>> lib_dir=libs >>>>>>> git_config=.git/config >>>>>>> >>>>>>> ############################### >>>>>>> # functions >>>>>>> ask() { >>>>>>> question="$1" >>>>>>> default="$2" >>>>>>> read -e -p "$question [$default] " >>>>>>> REPLY="${REPLY:-$default}" >>>>>>> } >>>>>>> >>>>>>> contains() { >>>>>>> [[ $1 =~ $2 ]] && true || false >>>>>>> } >>>>>>> >>>>>>> git_is_repo() { >>>>>>> folder="$1" >>>>>>> match="${2-$folder}" >>>>>>> >>>>>>> if [ -e "$folder/$git_config" ] && grep -q "$match" >>>>>>> "$folder/$git_config"; then >>>>>>> true >>>>>>> else >>>>>>> false >>>>>>> fi >>>>>>> } >>>>>>> >>>>>>> git_update() { >>>>>>> folder="$1" >>>>>>> git_repo="$2" >>>>>>> match="${3-$folder}" >>>>>>> git_params="${4-}" >>>>>>> >>>>>>> if git_is_repo $folder $match; then >>>>>>> echo "$folder folder: $(pwd)/$folder" >>>>>>> git_dirty=$(cd $folder; git fetch; git log HEAD.. --oneline) >>>>>>> else >>>>>>> echo "$folder not found" >>>>>>> echo "cloning $folder git repository" >>>>>>> git clone $git_params "$git_repo" >>>>>>> fi >>>>>>> >>>>>>> if [ -n "$git_dirty" ]; then >>>>>>> echo "updating $folder git repository with remote changes" >>>>>>> pushd $folder >>>>>>> git pull >>>>>>> popd >>>>>>> fi >>>>>>> } >>>>>>> >>>>>>> >>>>>>> ############################### >>>>>>> # header >>>>>>> echo "vzlogger installation script" >>>>>>> >>>>>>> ############################### >>>>>>> # check prerequisites >>>>>>> echo >>>>>>> echo -n "checking prerequisites:" >>>>>>> >>>>>>> deps=( grep pidof git cmake pkg-config autoreconf ) >>>>>>> for binary in "${deps[@]}"; do >>>>>>> if binpath="$(which $binary)" ; then >>>>>>> echo -n " $binary" >>>>>>> else >>>>>>> echo >>>>>>> echo " $binary: not found. Please install to use this script >>>>>>> (e.g. sudo apt-get install $binary)." >>>>>>> exit 1 >>>>>>> fi >>>>>>> done >>>>>>> echo >>>>>>> >>>>>>> ############################### >>>>>>> echo >>>>>>> echo "vzlogger setup..." >>>>>>> if [ -n "$1" ]; then >>>>>>> echo "setup modules: $1" >>>>>>> fi >>>>>>> >>>>>>> ############################### >>>>>>> echo >>>>>>> echo "checking for vzlogger folder" >>>>>>> >>>>>>> if git_is_repo . vzlogger; then >>>>>>> # move to parent folder >>>>>>> cd .. >>>>>>> fi >>>>>>> >>>>>>> if [ -z "$1" ] || contains "$*" vzlogger; then >>>>>>> git_update "$vzlogger_dir" >>>>>>> https://github.com/volkszaehler/vzlogger.git vzlogger >>>>>>> fi >>>>>>> >>>>>>> pushd "$vzlogger_dir" >>>>>>> >>>>>>> ############################### >>>>>>> echo >>>>>>> echo "checking for libraries" >>>>>>> >>>>>>> if [ ! -d "$lib_dir" ]; then >>>>>>> echo "creating library folder $lib_dir" >>>>>>> mkdir "$lib_dir" >>>>>>> fi >>>>>>> pushd "$lib_dir" >>>>>>> >>>>>>> ############################### >>>>>>> # libjson >>>>>>> if [ -z "$1" ] || contains "$*" libjson; then >>>>>>> echo >>>>>>> echo "checking for libjson" >>>>>>> >>>>>>> git_update json-c https://github.com/json-c/json-c json-c "-b >>>>>>> json-c-0.12" >>>>>>> fi >>>>>>> >>>>>>> # libsml >>>>>>> if [ -z "$1" ] || contains "$*" libsml; then >>>>>>> echo >>>>>>> echo "checking for libsml" >>>>>>> >>>>>>> git_update libsml https://github.com/volkszaehler/libsml.git >>>>>>> fi >>>>>>> >>>>>>> >>>>>>> ############################### >>>>>>> echo >>>>>>> echo "building and installing libraries" >>>>>>> >>>>>>> # libjson >>>>>>> if [ -z "$1" ] || contains "$*" libjson; then >>>>>>> echo >>>>>>> echo "building and installing libjson" >>>>>>> pushd json-c >>>>>>> if [ ! -x ./configure ]; then >>>>>>> sh autogen.sh >>>>>>> fi >>>>>>> if [ ! -e Makefile ]; then >>>>>>> ./configure >>>>>>> else >>>>>>> if contains "$*" clean; then make clean; fi >>>>>>> fi >>>>>>> >>>>>>> make >>>>>>> sudo make install >>>>>>> popd >>>>>>> fi >>>>>>> >>>>>>> # libsml >>>>>>> if [ -z "$1" ] || contains "$*" libsml; then >>>>>>> echo >>>>>>> echo "building and installing libsml" >>>>>>> pushd libsml >>>>>>> if contains "$*" clean; then make clean; fi >>>>>>> >>>>>>> make >>>>>>> sudo cp sml/lib/libsml.* /usr/lib/ >>>>>>> sudo cp -R sml/include/* /usr/include/ >>>>>>> sudo cp sml.pc /usr/lib/pkgconfig/ >>>>>>> popd >>>>>>> fi >>>>>>> >>>>>>> popd >>>>>>> >>>>>>> ############################### >>>>>>> # vzlogger >>>>>>> if [ -z "$1" ] || contains "$*" vzlogger; then >>>>>>> echo >>>>>>> echo "building and installing vzlogger" >>>>>>> >>>>>>> if contains "$*" clean; then >>>>>>> echo "clearing cmake cache" >>>>>>> rm CMakeCache.txt >>>>>>> fi >>>>>>> >>>>>>> echo "building vzlogger" >>>>>>> cmake . >>>>>>> make >>>>>>> echo "installing vzlogger" >>>>>>> sudo make install >>>>>>> >>>>>>> if [ -n $(pidof vzlogger) ]; then >>>>>>> echo >>>>>>> echo "vzlogger is already running" >>>>>>> echo "make sure to restart vzlogger" >>>>>>> fi >>>>>>> fi >>>>>>> >>>>>>> popd >>>>>>> >>>>>>> >>> >>