Projekt-Store, Repository, App-/Programmsammlung

  • Hier im Forum gibt es schon einige gute Projekte, Programme, Scripte, Ideen. Doch leider sind diese Apps/Scripte nicht für jeden so leicht zu installieren wie sich die Macher das manchmal denken.


    Das zweite Problem welches ich momentan sehe ist die Fehleranalyse bzw. die dazu gehörende Problembehandlung im Umgang mit dem Pi. Viele User wissen einfach nicht wo man nach Fehlern schauen kann und nach was Sie suchen müssen.


    Ich habe also die Idee ein eigenes Repository zu schaffen indem jeder User/Projektersteller seine eigenen Projekte hochladen kann und auch jeder Sie ganz einfach per apt-get installieren kann. So ist auch für jeden Neuling gewährleistet einfach Scripte und oder Programme für den Pi z.B. hier aus dem Forum zu installieren.
    So würde gleichzeitig ein eigener Store entstehen auf den jeder zugreifen kann.


    Weiterhin würde ich in diesem Repository eigene Tools ausliefern die es dem einfachen User ermöglichen Probleme zu analysieren Logs auszuwerten und ggf sogar automatisch in Foren, etc zu posten.


    Ob die Idee gut oder hirnrissig ist dürft Ihr gerne selber entscheiden :)

  • Also ich bin prinzipiell für eine solche Idee, aber
    - Jemand muss das ganze administrieren
    - Jemand müsste eine Art "Qualitätskontrolle" machen, um sicher zu stellen, ob die Pakete auch funktionieren und korrekt gepackt sind. Daher stört mich das Wort "jeder" ein wenig. Zwar haben wir hier weniger das Problem qualitativ schlechter Softwareprojekte, aber sowas sollte dann vorweg geklärt werden.
    -Außerdem müsste eine Art "Infrastruktur" ermöglicht werden, über die dann Projekte veröffentlicht werden können. Vielleicht so was ähnliches wie die ppa's bei Ubuntu? Außerdem muss der Entwickler die Möglichkeit haben, Updates in ein Repo zu "deployen".
    - Ich würde empfehlen, das vom Umfang her nur für das Forum zu machen, sonst hast du Ruck zuck "unnötige" Softwarebestände drin.


    Im Allgemeinen solltest du aber erst mal abschätzen, wie viele Softwareprojekte sich dafür gewinnen lassen. Für ein paar Projekte braucht man kein Repository ;).


    Gruß
    Fury

  • Deine Ansätze sind mir da auch schon durch den Kopf gegangen wobei ich dir auch in den meisten Punkten zustimme.
    Eine Qualitätskontrolle muss her (nur wie die aussehen soll ist schwer zu sagen...denn wer sagt welches Script oder welche APP gut und qualitativ ist und welche nicht?) und ein Struktur der Projekte muss auch her um das ganze auch richtig organisieren zu können.


    Das ganze sollte aber so einfach wie möglich gehalten werden. Sprich Upload der Projekte über ein Webformular...den Rest erledigt dann das Webinterface meines Servers. Das gleiche würde dann für Updates gelten. Evtl. wäre auch eine Schnittstelle für Entwickler angedacht.


    Das ganze wird dann als normales Repository in rasbian einzubinden sein um die größten Hürden zu nehmen und dem einfachen Nutzer zu ermöglichen auch hier alles mit apt-get zu installieren. Alleine ich verwalte hier im Forum ja schon 5 - 10 Projekte die ich online stellen könnte inkl. der Analyse Tools die ich noch schreiben würde.


    Aber die Koorperation mit dem Forum wäre auch eine interssante Idee um das ganze auch seriös und sicher zu halten.

    Edited once, last by MrBecks ().


  • Ich meine mit Qualitätskontrolle vor allem, dass man von einem "Hallo-Welt" Programm, das in 5 min gemacht war, im Repository absieht.


    was hast du denn gegen ein gutes hallo welt projekt? :)

  • Ich stimmt dir zu, dass eine "Hallo Welt"-Anwendung ziemlich sinnlos ist, aber die Frage bleibt "Was hast du gegen eine Hallo Welt Anwendung, schadet sie jemandem?"


    Wenn man soetwas machen möchte denke ich, dann wäre rubygems.org ein gutes Vorbild, da gibt es keine Qualitätssicherung. Natürlich müsste Schadsoftware entfernt werden, aber ansonsten werden schlechte Inhalte halt nicht genutzt, das wird sich von selbst regeln.


    Einzige Sicherung die ich für nötig erachten würde ist, dass der Quellcode offen liegt, am besten nur Quellcode ausgeliefert wird (mit optionaler automatischer Installation), damit man erkennen kann, ob es sich um Schadsoftware handelt. (Auch das ist, so glaube ich, nach rubygems Vorbild, zumindest kenne ich dort nichts anderes als Quellcode, Ruby ist sowieso Code, und native Extensions werden bei Installation compiliert...)


    Das Problem der Administration bestünde natürlich weiterhin... das ist Aufwand. Und die Plattform selbst muss entwickelt werden, ich befürchte den Code von Rubygems kann man nicht nutzen, da es ruby-only ist.


    Christian

  • Ich glaube ihr versucht gerade das Fahrrad neu zu erfinden. GitHub gibts doch schon... . Es muß halt nur genutzt werden;).

    waren das Zeiten, als Ordner noch Verzeichnisse waren

  • Ähm... Code-Hosting != Anwendungs-Repository... Hierbei geht es mehr um das automatisierte Installieren etc als um das Hosten von Code. Das ich das ganze als Quellcode-Variante haben will ist lediglich ein Sicherheitsaspekt, einfacher wäre das gleich in Binaries zu liefern, dann würde ein deb-repo reichen. Dafür gibt es dann übrigend SourceForge/Launchpad/... Aber ich will eigentlich nicht jedem Fremden Binary vertrauen... gerade wenn es im Netz hängt und Daueran ist wie es ein RPI hier und da mal tut...

  • Ja.


    Schöner und einfacher wäre aber vielleicht ein Programm, dass github(und ähnliches)-Projekte automatisch auscheckt und nach der im Repo hinterlegten Anweisung auf dem Rechner baut. Man müsste nur eine Liste an verfügbaren Projekten als Links verwalten und ein Script bauen das diese Liste ausliest oder ein git cclone macht und eine spezielle Datei im ausgecheckten Repo ausführt.
    Das sollte sich innerhalb von wenigen Stunden komplett und stabil auf die Beine stellen lassen...


    Irgendwelche Bedenken/Einwände/Ideen/Verbesserungen?

  • Ganz grob:
    Es MUSS eine Datei namens rpi-install im Stammverzeichnis des repos liegen


    Script macht dann soetwas (Pseudocode!):

    Code
    if befehl == "install"
      cd $HOMEDIR
      git clone link[programmname] programmname
      cd programmname
      chmod +x rpi-install
      ./rpi-install


    eine rpi-install sieht dann z.B, so aus:


    Bash
    #!/bin/bash
    
    
    ./configure
    make
    echo "Tolles-Tool wurde erfolgreich gebaut und lässt sich mit './tolles-tool' im Programmordner ausführen"


    oder so:

    Bash
    #!/bin/bash
    
    
    ./configure
    make
    echo "Tolles-Tool braucht jetzt das sudo-passwort um ein make-install auszuführen"
    sudo make install
    echo "Tolles-Tool wurde erfolgreich installiert und lässt sich jetzt mit 'tolles-tool' starten"


    oder für ruby:

    Bash
    #!/bin/bash
    
    
    gem install 'minitest'
    ruby test_all
    echo "Tolles-Ruby_tool braucht jetzt das sudo-Passwort um sich in /usr/bin zu installieren"
    sudo cp tolles-ruby-tool.rb tolles-ruby-tool
    echo "Tolles-Ruby_tool wurde erfolgreich installiert und lässt sich mit 'tolles-ruby-tool' starten"