Wie aktualisiere ich meine Middleware?

  • Ich komme leider nicht mehr weiter.
    Die Seite http://wiki.volkszaehler.org/howto/git kenne ich bald auswendig. (ist die nicht mehr aktuell?)
    Probleme macht nur das Abhängigkeiten aktualisieren mit dem composer.
    sudo composer install --no-dev


    Hier der Verlauf:
    pi@PI3:~ $ cd /var/www
    pi@PI3:/var/www $ sudo cp -r volkszaehler.org vz.org.bak
    pi@PI3:/var/www $ cd volkszaehler.org
    pi@PI3:/var/www/volkszaehler.org $ sudo git pull
    remote: Counting objects: 234, done.
    remote: Compressing objects: 100% (16/16), done.
    remote: Total 234 (delta 114), reused 107 (delta 107), pack-reused 111
    Receiving objects: 100% (234/234), 107.69 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (168/168), completed with 47 local objects.
    From https://github.com/volkszaehler/volkszaehler.org
    38d91a1..283cf03 master -> origin/master
    Updating 38d91a1..283cf03
    Fast-forward
    .travis.yml | 33 +++--
    composer.json | 16 ++-
    etc/volkszaehler.conf.template.php | 8 ++
    htdocs/frontend/javascripts/entities.js | 136 +++++-------------
    htdocs/frontend/javascripts/entity.js | 125 +++++++---------
    htdocs/frontend/javascripts/functions.js | 82 +++++------
    htdocs/frontend/javascripts/init.js | 2 +-
    htdocs/frontend/javascripts/options.js | 6 +-
    htdocs/frontend/javascripts/wui.js | 67 ++++++---
    htdocs/frontend/vendor/flot/flot.min.js | 6 +-
    htdocs/frontend/vendor/flot/jquery.flot.js | 10 +-
    lib/Controller/CapabilitiesController.php | 56 ++++++--
    lib/Controller/DataController.php | 8 ++
    lib/Controller/EntityController.php | 43 +++---
    lib/Definition/EntityDefinition.json | 19 ++-
    lib/Definition/PropertyDefinition.json | 1 -
    lib/Definition/PropertyDefinition.php | 9 +-
    lib/Model/Entity.php | 6 +-
    lib/Model/Property.php | 5 -
    lib/Router.php | 42 +++---
    lib/Server/HttpReceiver.php | 118 +++++++++++++++
    lib/Server/{PushHub.php => MiddlewareAdapter.php} | 161 +++++++++------------
    lib/Server/PushTransportInterface.php | 34 +++++
    lib/Server/WampClientAdapter.php | 109 ++++++++++++++
    lib/Server/WsClientAdapter.php | 73 ++++++++++
    lib/Util/Debug.php | 4 +-
    lib/View/JSON.php | 43 ++----
    misc/tools/install.sh | 2 +-
    misc/tools/push-server.md | 167 ++++++++++++++++++++++
    misc/tools/push-server.php | 149 +++++++++----------
    test/EntityTest.php | 36 ++++-
    test/ProtocolTest.php | 32 ++++-
    32 files changed, 1071 insertions(+), 537 deletions(-)
    create mode 100644 lib/Server/HttpReceiver.php
    rename lib/Server/{PushHub.php => MiddlewareAdapter.php} (54%)
    create mode 100644 lib/Server/PushTransportInterface.php
    create mode 100644 lib/Server/WampClientAdapter.php
    create mode 100644 lib/Server/WsClientAdapter.php
    create mode 100644 misc/tools/push-server.md


    pi@PI3:/var/www/volkszaehler.org $ sudo composer install --no-dev
    sudo: composer: command not found


    pi@PI3:/var/www/volkszaehler.org $ sudo php composer.phar install
    Warning: This development build of composer is over 60 days old. It is recommend
    to update it by running "composer.phar self-update" to get the latest version.

    [RuntimeException]
    The lock file does not contain require-dev information, run install with the --no-dev option or run update to install those packages.


    pi@PI3:/var/www/volkszaehler.org $ sudo php composer.phar self-update
    Updating to version 75074382de9d7b61c041e494aee123477ae01853.
    Downloading: 100%
    Use composer self-update --rollback to return to version dfd61a53d02cf76c4ab5135846424d8543da0028


    pi@PI3:/var/www/volkszaehler.org $ sudo php composer install --no-dev
    Could not open input file: composer


    pi@PI3:/var/www/volkszaehler.org $ sudo php composer.phar install
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    [RuntimeException]
    The lock file does not contain require-dev information, run install with the --no-dev option or run update to install those packages.


    pi@PI3:/var/www/volkszaehler.org $ php composer.phar install
    [RuntimeException]
    The lock file does not contain require-dev information, run install with the --no-dev option or run update to install those packages.


    pi@PI3:/var/www/volkszaehler.org $ php composer.phar install --no-dev
    Loading composer repositories with package information
    Installing dependencies from lock file
    Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
    Nothing to install or update
    [ErrorException]
    file_put_contents(/var/www/volkszaehler.org/vendor/composer/installed.json): failed to open stream: Permission denied


    pi@PI3:/var/www/volkszaehler.org $ php composer.phar install
    [RuntimeException]
    The lock file does not contain require-dev information, run install with the --no-dev option or run update to install those packages.


    pi@PI3:/var/www/volkszaehler.org $ php composer.phar install --no-dev
    Loading composer repositories with package information
    Installing dependencies from lock file
    Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
    Nothing to install or update
    [ErrorException]
    file_put_contents(/var/www/volkszaehler.org/vendor/composer/installed.json): failed to open stream: Permission denied


    pi@PI3:/var/www/volkszaehler.org $ sudo su
    root@PI3:/var/www/volkszaehler.org# php composer.phar install --no-dev
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Loading composer repositories with package information
    Installing dependencies from lock file

    Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
    Nothing to install or update
    Package guzzle/common is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/stream is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/parser is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/http is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Generating autoload files
    > php -r "@copy('vendor/andig/dbcopy/dbcopy.php', 'misc/tools/dbcopy.php');"


    --------------------
    Hier traue ich mich nicht mehr weiter. Ich weiß nicht wie man den Composer richtig aufrufen muss.
    Diese [RuntimeException]. und Warning werde ich ohne Hilfe nicht los.


    Jemand müsste bitte die Anleitung aktualisieren, damit Laien wie ich mit dem aktuellen Image klar kommen.
    Vielleicht ist ja auch ein Volkszähleraktualisierungsscript der bessere Weg.
    Vielen :danke: im Vorraus!

  • Abend,


    Zitat von Saftwerk

    pi@PI3:/var/www/volkszaehler.org $ sudo php composer.phar install
    Warning: This development build of composer is over 60 days old. It is recommend
    to update it by running "composer.phar self-update" to get the latest version.


    Das solltest du vielleicht mal als erstes machen.

    Code
    sudo /usr/local/bin/composer self-update


    Desweiteren ist ein install eigentlich nicht mehr nötig. Ich mach nur

    Code
    cd /var/www/volkszaehler.org
    sudo composer update



    mfg JAU

    No Shift - No Service

  • Das ist ja mein Problem:


    Code
    pi@PI3:/var/www $ cd /var/www/volkszaehler.org
    pi@PI3:/var/www/volkszaehler.org $ sudo composer update
    sudo: composer: command not found
    pi@PI3:/var/www/volkszaehler.org $ ls
    composer.json COPYING htdocs misc README.md
    composer.lock etc INSTALL package.json test
    composer.phar gulpfile.js lib phpunit.xml vendor


    Ich habe den Verdacht, dass der composer nicht im latest image enthalten ist. *1)
    Muss der composer erst installiert werden, damit man ein Update machen kann?
    Wenn ja, dann nach dieser Anleitung?
    https://www.digitalocean.com/c…-composer-on-ubuntu-14-04



    *1) Ist im rar vom Mai eventuell ein altes Image vom Februar drin?
    volkszaehler_latest.rar vom 2016-05-23 enthält das 2016-02-22-raspbian-jessie-lite_vz.img

  • Zitat von Saftwerk

    Muss der composer erst installiert werden, damit man ein Update machen kann?


    Der sollte eigentlich da sein. Die MW wurde ja mal installiert, wenn composer noch nie gelaufen wäre würde die nicht funktionieren.


    Zitat von Saftwerk

    Wenn ja, dann nach dieser Anleitung?


    Grundsätzlich schon. Der Volkszähler basiert auf Debian, nicht Ubuntu - das solltest du berücksichtigen, kann im Detail nämlich Probleme machen.


    Steht aber auch in unserem Wiki: http://wiki.volkszaehler.org/s…ion#manuelle_installation

    Code
    cd /tmp
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
    sudo chmod +x /usr/local/bin/composer


    Zitat von Saftwerk

    *1) Ist im rar vom Mai eventuell ein altes Image vom Februar drin?


    Das kann schon sein.
    Die latest ist nur ein Platzhalter damit man nach einem Update des Images nicht jedes mal den Link im Wiki ändern muss.



    mfg JAU

    No Shift - No Service

  • :arrow: Teil 1: Composer Installation:

    Code
    pi@PI3:~ $ cd /tmp
    pi@PI3:/tmp $ curl -sS https://getcomposer.org/installer | php
    All settings correct for using Composer
    Downloading 1.1.3...
    Composer successfully installed to: /tmp/composer.phar
    Use it: php composer.phar
    pi@PI3:/tmp $ sudo mv composer.phar /usr/local/bin/composer
    pi@PI3:/tmp $ sudo chmod +x /usr/local/bin/composer

    :danke: die Installation hat geklappt


    :arrow: Teil 2: Middleware update:

    Die [RuntimeException] ist verschwunden.


    :arrow: Kann man die lock file is not up to date Warnung ignorieren oder wie startet man dieses Update hierzu?

  • Ist erstmal nicht weiter tragisch. Es bedeutet dass die Prüfsumme die in der lock-Datei hinterlegt ist nicht zu der von composer.json passt weil die zwischenzeitlich mal verändert wurde.


    Wurde weitergereicht.



    mfg JAU

    No Shift - No Service

  • Zitat von andig2

    Ein einfaches sudo composer update sollte reichen.


    Zu Begin des Threads war das genau das Problemun ging nicht..
    (Man muss erst einmal Composer installieren - siehe oben).


    Startet man sudo composer update zum ersten Mal, kommt das:


    Discard changes [y,n,v,d,s,?]? sollte man dann mit y beantworten, dann geht's weiter:

    Code
    Checking out ee047ba22395e37ad763d4ef6251ae65f30beed1
    Package guzzle/common is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/stream is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/parser is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Package guzzle/http is abandoned, you should avoid using it. Use guzzle/guzzle instead.
    Writing lock file
    Generating autoload files


    Wenn man sudo composer update nochmal startet und eine Änderung gefunden wird, dann sieht es so aus:


    Nach dem Update muss man einen Neustart sudo reboot now durchführen, ansonsten kommt das:



    Hiermit bedanke ich mich herzlich für eure Hilfe! :danke:
    (Meine Aufzeichnungen dürfen gerne weiterverwendet werden z.B: zur Erweiterung der Doku , deshalb habe ich etwas ausführlicher gemacht)

  • Dann ist dein Image (vom Ursprung) her recht alt. Deswegen fehlte auch der Composer.


    Ich hefte das mal unter Sonderfall ab. Ich selber arbeite zwar auch noch mit einem Debian Woody, normal ist das aber sicher nicht. Immerhin ist der composer seit bestimmt über einem Jahr Pflicht.


    Zitat

    Nach dem Update muss man einen Neustart sudo reboot now durchführen, ansonsten kommt das:


    Ein Neustart des Webservers hätte vermutlich genügt. Ist im Wiki schon entsprechend dokumentiert.



    mfg JAU

    No Shift - No Service

  • Zitat

    Zu Begin des Threads war das genau das Problemun ging nicht..
    (Man muss erst einmal Composer installieren - siehe oben).


    Das ist wenig verwunderlich- benötigte Programme müssen halt da sein.


    Deine verschiednen Composer Outputs bergen keine neue Information. Nur zwei Hinweise:


    1) die Discard Meldung liegt daran dass installierte Dateien von Hand verändert wurden- da muss Composer dann eben nachfragen ob überschrieben werden darf.


    2) ein Reboot ist definitiv nicht nötig, auch kein Restart des Webservers. Rätseln kann ich nicht aber die konkrete Ursache der Fehlermeldung hätte sich im Apache Error Log gefunden...


    vg
    Andreas