SPK-Repo 1.0

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
So, wie sieht es denn hier nun aus. Wollen wir das SPK-Repo um die Funktion für Public Keys und das automatische importieren dessen in die DS erweitern ? Sind die Leute hier noch aktiv ?
 
Tu dir keinen Zwang an ;)
Das Problem ist das wir hier nur das SPK gemacht haben, spkrepo selbst stammt von einem anderen.
Ich habe leider nicht das nötige Wissen, das entsprechend zu erweitern :(
 
Hab nur ein php File erweitert, damit die Eingabe des Keys für den Upload funktioniert (Eingabefeld hat gefehlt!)


Aber egal, habe gesucht und konnte das mit dem Key lösen :)


Füge am Anfang der volume1/web/spkrepo/apps/spkrepo/views/home/packages.json.php (vor dem php Teil) deinen Key ein, also zB.

Rich (BBCode):
{    "keyrings":[
    "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: BCPG C# v1.6.1.0\n\nabcdefghijklmnopqrstuvwxyz1234567890\n=OmL9\n-----END PGP PUBLIC KEY BLOCK-----"
    ]
}

dann noch ein

Rich (BBCode):
chmod 700 volume1/web/spkrepo/apps/spkrepo/views/home/packages.json.php

und

Rich (BBCode):
chown http:http volume1/web/spkrepo/apps/spkrepo/views/home/packages.json.php


und schon wird dein Zertifikat beim Hinzufügen der Quelle eingefügt :)
 
Zuletzt bearbeitet:
Wollte mir das auch noch ansehen. Ich hätte gern ein Eingabefeld für den key und der soll in die Datenbank. Mit PHP kennst dich ja scheinbar aus. Wir sollten uns zusammen tun.
 
Da bin ich dann aber überfragt.
Mir gefällt die Lösung so gut, der Key ist nicht sichtbar über den Browser, was will man mehr ;)

Ehrlich gesagt NEIN!!!
Hab die entsprechende php gefunden die das json simuliert und dort einfach herumprobiert.
Sagen wir so, ich kann Scripte etwas lesen und verstehe manchmal was sie so machen - selbst was schreiben ist aber eine andere Liga!
 
Musste leider grad feststellen, dass das Paketzentrum jetzt die Packages nicht mehr anzeigt :(
War also doch nicht die Lösung...
 
Zuletzt bearbeitet:
Hallo zusammen,

erst einmal herzlichen Dank für die Arbeit ! :-)

Hab das SPK-Center auch installiert und dabei sind mir zwei Dinge aufgefallen:

1. Wie bekomme ich ein Icon für ein hochgeladenes Paket angelegt ? Ich sehe keine Uploadmöglichkeit für eine Bilddatei.
2. Wie kann man ein geladenes Paket wieder aus dem Paketcenter löschen ... nur hart auf der Datenbank ?
 
Beides ist wohl aktuell so. Ich brauche wen der sich mit PHP auskennt, anders bekommen wir das nicht angepasst. Meine Kenntnisse langen leider auch nicht.
 
Habe früher mal etwas PHP auf niedrigem Niveau herumprogrammiert. Ich glaube momentan nicht dass ich mit dem Coding klarkomme. Aber wenn etwas Zeit ist versuche ich mich etwas einzulesen ... man weiß ja nie. Manchmal findet auch ein blindes Huhn ein Korn.
 
Grob umrissen müssen wir eigentlich nur die Datenbank um eine weitere Tabelle erweitern, da in eine Spalte nen Wert rein und diesen in einer php Datei wiederum in einen json string einbauen.
 
Naja es gibt pro geschriebenen Datensatz bereits ein Feld "icon", aber man kann es nicht GUI gestützt setzen und die Anzeige einer über phpmyadmin eingefügten Bilddatei (als blob) klappt auch nicht. Aber wie gesagt, alles ist bei mir schon sehr lange her und ich muß mir jedes Detail wieder erarbeiten.
 
Gab es da nicht auch "data:" ? Da muss ein PNG in base64 encoded rein. Aber ich war schon einen Schritt weiter, weil ich das Ding erweitern will. Vielleicht schaust dir den Code ja mal an und evtl. können wir was zusammen machen.
 
Du musst den Wert package_icon mit einem Base64 String ins INFO File einfügen, dann wirds beim Hochladen des SPK's in die Datenbank geschrieben (ins BLOB Feld)! ;)
Oder du legst den Base64 String in ein *.bin File und ladest es direkt hoch über phpmyadmin.

Was auch ein kleines Problem ist:
Steht im Feld arch in der DB zB.: "x86 avoton bromolow" wird es nur bei x86 Synos im Paketzentrum angezeigt, bei meiner avoton nicht.
Umgehen kann man das nur mit noarch, dann sieht man aber alle und bekommt erst beim Installieren den Fehler das es nicht kompatibel ist. :(

spkrepo hat ein paar Kinderkrankheiten das stimmt, superzebulon hat das aber auch seit 4 Jahren nicht weiterentwickelt!!!
 
Zuletzt bearbeitet:
Die größte Hürde beim Signieren von Paketen ist eigentlich nicht die Verteilung des Schlüssels, sondern das Signieren der Pakete selbst. Das geht gemäß Synology nämlich nur mit den Toolchains und ist relativ aufwändig. Da jeder Schlüssel einzeln in das Paketzentrum geladen wird, ist es außerdem ratsam einen einzigen public key zu verwenden. Sonst explodiert irgendwann die Liste im Paketzentrum und die Anwender werden sauer.

MfG Matthieu
 
Was auch ein kleines Problem ist:
Steht im Feld arch in der DB zB.: "x86 avoton bromolow" wird es nur bei x86 Synos im Paketzentrum angezeigt, bei meiner avoton nicht.
Umgehen kann man das nur mit noarch, dann sieht man aber alle und bekommt erst beim Installieren den Fehler das es nicht kompatibel ist. :(
Das Problem ist, dass die DS seine Architektur zum Server schickt und der Server dann nur mit kompatiblen SPKs antworten sollte. Demnach muss spkrepo damit umgehen können wenn mehrere Archs hinterlegt sind - scheint es aber nicht. Ich kann zwar ganz gut mit PHP, lasse aber die Finger von bootstrap, weil das für mich Neuland ist und mir dafür dann auch die Zeit fehlt.

MfG Matthieu
 
Hi DKeppi,
danke für den Hinweis. Habs gleich ausprobiert und nun ist auch das Icon da. :)
Dann habe ich mal versucht das auch von mir intensiv genutzte phpVirtualbox in das private spkrepo hochzuladen.
Das klappt aber nicht wegen einem falsch eingegebenen Schlüssel (aus config.php) . Ich glaube man bräuchte in dem Fall den Schlüssel mit dem das Paket signiert ist, oder ?
Kenne mich leider garnicht mit den internen Mechanismen der Paketverwaltung aus.

Für mich sollte spkrepo auch nur eine Verwaltungsstelle für Pakete darstellen, welche ich bisher nur als Download von den Anbieterseiten gefunden habe und bei mir dann in diversen Verzeichnissen rumliegen, z.B. FHEM, Baikal, Carddav for Mailstation, ....
Das ich jemals selbst Pakete entwickeln werde halte ich eher für unwahrscheinlich, dafür fehlen mir zu viele Grundlagen bzw. weiß garnicht wo und wie ich einen Einstieg in diese Materie bewältigen könnte.
Wobei es natürlich interessant wäre, z.B. setze ich seeddms ein was sich sich bestimmt gut für ein Paket eignen würde.
Aber das nur nebenbei .... wollte nicht vom Thema abkommen ....
 
Sehr gut :)

Du musst ja beim Hochladen eines Packages über die Weboberfläche einen Key eingeben, damit du sozusagen berechtigt bist hochzuladen.
Dieser Key ist im /volume1/web/spkrepo/config.php gesetzt ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat