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 klappt es. Mein test kommt scheinbar nicht mit der obigen Syntax klar. Gruß André 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/volkszaehle >>>>>> r/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 >>>>>> >>>>>> >>>>>> >> >