Eigener Syno spk Package Server - php Skripte

  • 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.
Mal schauen, ob darauf eine Antwort kommt:)
 
Ok, mein Fehler!
Bin irgendwie beim ursprünglichen Entwickler dieses Servers gelandet - dieser gab mir diese negative Antwort. :)
Frag jetzt nochmals direkt bei zebulon nach, der diesen wohl als Grundlage genommen und etwas angepasst hat...
 
Hab jetzt über Google noch eine Paketquelle gefunden, welche auch Zebulon's spk server package verwendet: http://synology.mdevries.org/spkrepo/packages

Dieser hat beim Upload ein Feld für den Key?!


EDIT:

Theoretisch sollte es lt. seinem Seitenquelltext also reichen, wenn man

im File apps/spkrepo/views/home/uploadForm.html.php

nach dem changelog Teil

Rich (BBCode):
<label for="publishingKey">key</label>
<input type="password" name="publishingKey" id="publishingKey" /> <br />

einfügt und das Ganze speichert!


Sofern es jemand probieren will? Ich komme leider erst Ende der Woche dazu...
 
Zuletzt bearbeitet:
Das funktioniert.

Siehe: http://spk.naefmarco.ch

EDIT: Aber das hochladen geht noch nicht. Da kommt wieder ein Fehler.
Aber ich muss jetzt auch weg.
 
:cool: Cool!

Dann wäre nur noch interessant ob der Upload nun klappt und ob das Paketzentrum auch was downloaden lässt von dem Server...
 
Konnte es nun gestern doch noch Testen - funktioniert bei mir :)
Jetzt bräuchte ich nur noch eigene SPK's :D
 
Kannst du mir mal dein Script schicken (geht auch per PN)?
Kannst ja den Key und die MySQL Einstellungnen rausnehmen.
Bei mir gehts nähmlich nicht.
 
Was kommt denn für ein Fehler bzw. wie sehen deine 3 Dateien aus?

recess-conf.php
spkrepo-conf.php
uploadForm.html.php


Würds dir gerne schicken wenn ichs noch hätte - habs getestet und wieder entfernt (brauch ihn momentan ja noch nicht!)
 
recess-conf.php

Rich (BBCode):
<?php if(isset($bootstrapped)) unset($bootstrapped); else exit;
/*
 * Welcome to the Recess PHP Framework. Let's have some fun!
 * 
 * For tutorials, documentation, bug reports, feature suggestions:
 * http://www.recessframework.org/
 * 
 * Join the Recess developer community:
 * 		+ IRC: irc.freenode.net #recess
 * 		+ Mailing List: http://groups.google.com/group/recess-framework
 * 		+ Github: http://github.com/recess/recess/
 * 		+ Forum: http://www.recessframework.org/
 * 		+ Twitter: http://twitter.com/RecessFramework
 * 
 * Enjoy! -Kris (http://twitter.com/KrisJordan)
 */

// RecessConf::DEVELOPMENT or RecessConf::PRODUCTION
RecessConf::$mode = RecessConf::DEVELOPMENT; 

RecessConf::$applications 
	= array(//'recess.apps.tools.RecessToolsApplication',
		'spkrepo.SpkrepoApplication',
		);

RecessConf::$defaultTimeZone = 'America/New_York';

RecessConf::$defaultDatabase
	= array(//'sqlite:' . $_ENV['dir.bootstrap'] . 'data/sqlite/default.db'
		'mysql:host=localhost;dbname=spk', 'root', 'Passwort'
		);

RecessConf::$namedDatabases
	= array(// 'nameFoo' => array('sqlite:' . $_ENV['dir.bootstrap'] . 'data/sqlite/default.db')
		// 'nameBar' => array('mysql:host=localhost;dbname=recess', 'username', 'password')
		);

// Paths to the recess, plugins, and apps directories
RecessConf::$recessDir = $_ENV['dir.bootstrap'] . 'recess/';
RecessConf::$pluginsDir = $_ENV['dir.bootstrap'] . 'plugins/';
RecessConf::$appsDir = $_ENV['dir.bootstrap'] . 'apps/';
RecessConf::$dataDir = $_ENV['dir.bootstrap'] . 'data/';


// Cache providers are only enabled during DEPLOYMENT mode.
//  Always use at least the Sqlite cache.
RecessConf::$cacheProviders 
	= array(// 'Apc',
		// 'Memcache',
		'Sqlite',
		);
?>

spkrepo-conf.php

Rich (BBCode):
<?php
abstract class SpkRepo {
	public static $spkDir = 'SPK';
	public static $baseUrl = 'http://spk.naefmarco.ch/';
	public static $deploymentName = "SPK";
	public static $publishingKey = "Passwort";
}
?>

uploadForm.html.php

Rich (BBCode):
<?php 
Layout::extend('layouts/master');
$title = 'SPK Upload';
?>
<form method="POST" enctype="multipart/form-data" action="<?php echo Url::action('SpkrepoHomeController::uploadPost')?>">
		<label for="spk">SPK (Max: <?php echo ini_get('upload_max_filesize'); ?>):</label>
		<input type="file" name="spk" id="spk" /><br />
		<label for="spk">INFO:</label>
		<input type="file" name="info" id="info" /><br />
		<input type="checkbox" name="beta" id="beta" />
		<label for="beta">beta</label><br />
		<label for="changelog">changelog</label>
		<textarea id="changelog" name="changelog"></textarea>
<br />
<label for="publishingKey">key</label>
<input type="password" name="publishingKey" id="publishingKey" /> 

<br />
		<input type="submit" name="upload" value="OK" />
</form>

Und die Fehlermeldung:
Unbenannt.jpg
 
Die Files passen!!!

Er braucht aber zum Eintragen in die DB den dname
Zebulon hat diesen in seinen Packages im File /scripts/installer mit dem Namen des Packages gesetzt

Rich (BBCode):
# Package specific variables
PACKAGE="couchpotato"
DNAME="Couch Potato"

Viell. kannst du den im spk selbst noch setzen?!

Bzw. versuch mal ein Package von Zebulon hochzuladen, ich wette mit dir das das geht!!!
 
Zuletzt bearbeitet:
Tatsächlich, hat funktioniert.
 
Ja...und auch der Download klappt :)

Ich denke einfach das das Uploadscript an eine bestimmte Struktur angepasst wurde und die muss dann das SPK auch einhalten.
Hab gesehen, dass in dem init3rdParty spk keine installer Datei vorhanden ist :( Die kommt auch im Wiki nicht vor....

Viell. kannst du es aber auch in einem der anderen Scripte setzen?!
 
Was kann ich in einem der anderen Scripte setzen?

Und wie löscht man dann eigentlich ein Paket?
 
Na den dname, damit der Upload klappt ;)

Rich (BBCode):
# Package specific variables
DNAME="Init 3rdParty"

Eine Funktion fürs Löschen habe ich nicht gefunden...
Am besten löscht du alle DB Einträge zum Paket und entfernst es im SPK Ordner!!!


EDIT:
Du kannst dir natürlich auch mal die php Files des spkrepo's ansehen und das INSERT für den dname Eintrag einfach abdrehen...geht bestimmt irgendwie!

Oder noch besser - du editierst das Feld dname in der DB so, dass es auch NULL Werte akzeptiert.

Natürlich alles ohne Gewähr das das spkrepo dann noch funktioniert...
 
Zuletzt bearbeitet:
Das überlasse ich anderen, hab null Plan wie ich ein spk mache...
Kenne die Grundstruktur und das wars, keine Ahnung wie ich während der Installation key oder URL abfrage bzw. die MySQL DB anlege.
Und das wären sicher nicht die einzigen Probleme...


-------------------------------------------------------------------------------------------------------------------------------
Hier nochmal zusammenfassend (zum ursprünglichen Thread) die Schritte für die Installation des Zebulon spk Repository Servers:

*Downloaden: https://github.com/zebulon501/spkrepo
*In den Web Ordner entpacken (ohne dem störenden Hauptordner!)
*eine MySQL DB anlegen
*den (Unter-)Ordner SPK anlegen
*die 2 conf Files umbenennen (template vom Dateinamen entfernen) & anpassen
(spkrepo-conf: In der Zeile zu mysql die // entfernen und die zuvor angelegte DB, User & Passwort für den DB Zugriff eintragen / recess-conf: die URL und den Key angeben)
*die Datei apps/spkrepo/views/home/uploadForm.html.php des package Servers um das key Feld erweitern (nach dem changelog Teil einfügen)
Rich (BBCode):
<label for="publishingKey">key</label>
<input type="password" name="publishingKey" id="publishingKey" /> <br />

Der Server ist dann über den Browser erreichbar - auf der Home Seite steht die Adresse für das Paketzentrum!!!
 
Zuletzt bearbeitet:
Ja, das macht es selbst. Du musst nur die Datenbank erstellen.
 
Was, willst du jetzt ein SPK machen?
Find ich gut;)
 
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