Amsonia Posté(e) le 24 mai 2012 Posté(e) le 24 mai 2012 Hacker vaillant rien d'impossible, oui mais un petit coup de pouce serait le bienvenue Il y a bien les quelques pages du wiki mais elles s'adressent à des personnes déjà familières avec l'outil de cross-compilation, avec UNIX et GNU/Linux et surtout elles s'adressent plus aux développeurs voulant contribuer au projet SPKSRC en lui-même et n'expliquent pas comment utiliser l'outil. Étant un total n00b en la matière, je pourrais éventuellement contribuer à la rédaction de tutoriaux façon pas-à-pas ; on oublie moins de choses quand on ne connaît rien ou presque ;-) Mais encore faudrait-il que je parvienne à utiliser l'outil et là, j'ai besoin de votre aide. Pour info, voici mon état d'avancement : - Debian 32 bits installée dans une VM (VMware) - Git installé (et système et paquets pré-installés à jour) - git clone de SPKSRC dans la home de mon utilisateur - téléchargement de source d'un premier logiciel (darkstat en l'occurence) Voilà, en gros j'ai préparé le terrain. Maintenant il faut me montrer la voie Et j'ai déjà une question pratique : j'ai cloné SPKSRC et téléchargé les sources de darkstat dans la home de mon utilisateur lequel est admin. Aurais-je du mettre tout cela dans /root ? L'utilisation de spksrc doit-elle se faire en tant que root ou admin ? Merci d'avance à tous ceux qui ont les compétences ! 0 Citer
Diaoul Posté(e) le 24 mai 2012 Posté(e) le 24 mai 2012 As tu lu le README ? https://github.com/SynoCommunity/spksrc/blob/develop/README.md Certes ce n'est pas grand chose mais c'est déjà ça. Je prévois de documenter un peu plus prochainement, c'est sur ma TODO avec environ 15 autres choses 0 Citer
Amsonia Posté(e) le 24 mai 2012 Auteur Posté(e) le 24 mai 2012 (modifié) Oui je l'ai lu mais pas vraiment tout compris Actuellement j'ai : /amsonia/spksrc/[tout le contenu cloné] /amsonia/spksrc/sources/darkstat Si je veux compiler darkstat pour tout le monde je suis censé faire ça ? Ce serait vraiment juste ça et il s'occupe de tout ??? o_O cd amsonia/spksrc make all-archs /sources/darkstat Modifié le 24 mai 2012 par Amsonia 0 Citer
Amsonia Posté(e) le 24 mai 2012 Auteur Posté(e) le 24 mai 2012 Je continue mon bout de chemin… Les outils de dev n'étaient pas installés. On m'a conseillé de faire un sudo apt-get install build-essential Ensuite, je vois que le contenu de chaque dossier de spk est déjà bien travaillé. Il y a une icône, un fichier de conf, etc. J'imagine donc qu'il ne suffit pas de télécharger les sources de ce que l'on compiler mais d'abord créer ces fichiers -ce que je ne sais faire- et ensuite les donner à manger à spksrc. 0 Citer
Diaoul Posté(e) le 24 mai 2012 Posté(e) le 24 mai 2012 Sinon, rapidement les points à savoir : Dans cross/ chaque sous dossier contient le nécessaire à la cross compilation de la librairie ou du programme. A savoir : Un Makefile qui indique les informations de cette lib/bin : Nom Version URL pour le téléchargement Extension du fichier téléchargé Dépendences vers d'autres libs s'il y en a Arguments supplémentaires au script de "configure" s'il y en a [*]Un PLIST qui contient la liste des fichiers binaires créés comme les programmes ou le .so. Une PLIST est automatiquement générée par spksrc dans les répertoires de travail (work*), il suffit alors de la compléter et de la mettre ici [*]Un digests qui contient les hashs md5 et sha1 du fichier téléchargé afin de vérifier que ce soit le bon. Ce fichier est optionel, s'il n'est pas présent, les digests ne sont pas vérifiés Pour commencer à cross compiler un programme ou une librairie il faut : Crééer un dossier dans le répertoire cross/ portant le nom de ce package en minuscule Copier un Makefile d'exemple dans ce dossier depuis un autre afin de s'épargner un peu de recopiage, au hasard cross/umurmur/Makefile Le modifier en changeant les variables, renseigner DEPENDS à vide pour l'instant Dans un terminal, aller dans cross/{package} et taper "make ARCH=88f6281" (par exemple). Tout le reste se fait automatiquement Selon les erreurs dans le configure (dépendances), ajouter les librairies dans DEPENDS (cross/zlib par exemple). Si la dépendance n'existe pas encore, l'ajouter en recommençant de l'étape 1. Selon les erreurs dans le configure (hors dépendances), les corriger en changeant les arguments du configure avec la variable "CONFIGURE_ARGS" Selon les erreurs de cross compilation, déposer des patchs dans le répertoire "patches", ils seront automatiquement appliqués En vrac, depuis cross/{package} : Pour nettoyer la cross compilation : "make ARCH=88f6281 clean" Pour ne nettoyer que le package actuel sans les dépendances : "make ARCH=88f6281 smart-clean" On verra plus tard pour les SPKs, quand tu auras un binaire tout fait 0 Citer
Amsonia Posté(e) le 24 mai 2012 Auteur Posté(e) le 24 mai 2012 ah oui ! il ya du boulot ^^ mais du boulot positif je testerai tout ça dans la soirée/nuit… Merci bcp en tout cas ! 0 Citer
Amsonia Posté(e) le 25 mai 2012 Auteur Posté(e) le 25 mai 2012 Diaoul, mes binaires sont prêts. Tu nous donnes la suite de la doc ? 0 Citer
Diaoul Posté(e) le 25 mai 2012 Posté(e) le 25 mai 2012 Un SPK c'est jamais que : Le programme que tu as cross compilé avec succès Un script de start-stop-status Un script d'installation / update Une icone (Optionnel) Une interface web intégrée à DSM ou un raccourcis vers l'interface web du binaire Ca se passe dans spk/ et il y a un dossier par SPK. Je pense qu'un bon exemple est uMurmur, tu copies spk/umurmur vers spk/{package} et tu modifies en conséquence. Tu remarqueras que les scripts sont assez standardisés, tu devrais pouvoir trouver des bouts de code dans les SPKs existants. 0 Citer
Slub Dev Posté(e) le 22 août 2013 Posté(e) le 22 août 2013 Bonjour, Je déterre ce sujet comment tu as installé git ? ça marche pas chez moi 0 Citer
jbesclapez Posté(e) le 8 octobre 2013 Posté(e) le 8 octobre 2013 (modifié) Sinon, rapidement les points à savoir : Dans cross/ chaque sous dossier contient le nécessaire à la cross compilation de la librairie ou du programme. A savoir : Un Makefile qui indique les informations de cette lib/bin : Nom Version URL pour le téléchargement Extension du fichier téléchargé Dépendences vers d'autres libs s'il y en a Arguments supplémentaires au script de "configure" s'il y en a Un PLIST qui contient la liste des fichiers binaires créés comme les programmes ou le .so. Une PLIST est automatiquement générée par spksrc dans les répertoires de travail (work*), il suffit alors de la compléter et de la mettre ici Un digests qui contient les hashs md5 et sha1 du fichier téléchargé afin de vérifier que ce soit le bon. Ce fichier est optionel, s'il n'est pas présent, les digests ne sont pas vérifiés Pour commencer à cross compiler un programme ou une librairie il faut : Crééer un dossier dans le répertoire cross/ portant le nom de ce package en minuscule Copier un Makefile d'exemple dans ce dossier depuis un autre afin de s'épargner un peu de recopiage, au hasard cross/umurmur/Makefile Le modifier en changeant les variables, renseigner DEPENDS à vide pour l'instant Dans un terminal, aller dans cross/{package} et taper "make ARCH=88f6281" (par exemple). Tout le reste se fait automatiquement Selon les erreurs dans le configure (dépendances), ajouter les librairies dans DEPENDS (cross/zlib par exemple). Si la dépendance n'existe pas encore, l'ajouter en recommençant de l'étape 1. Selon les erreurs dans le configure (hors dépendances), les corriger en changeant les arguments du configure avec la variable "CONFIGURE_ARGS" Selon les erreurs de cross compilation, déposer des patchs dans le répertoire "patches", ils seront automatiquement appliqués En vrac, depuis cross/{package} : Pour nettoyer la cross compilation : "make ARCH=88f6281 clean" Pour ne nettoyer que le package actuel sans les dépendances : "make ARCH=88f6281 smart-clean" On verra plus tard pour les SPKs, quand tu auras un binaire tout fait Salut a tous ! Je sais... je deterre ce post zombi car j ai besoin d une info. Je viens de faire et reussir le make dans le dossier spksrc/cross/package Par contre comment je fais le spk? Que dois je faire de ce binarie ?? J ai bien recopié un spk/transmission vers spk/monpackage, j ai fait qq changement mais comment le MAKE va savoir qu il faut prendre le binarie qui est dans spksrc/cross/monpackage ?? Ca m echappe ca... Modifié le 8 octobre 2013 par jbesclapez 0 Citer
jbesclapez Posté(e) le 9 octobre 2013 Posté(e) le 9 octobre 2013 Salut a tous ! Je sais... je deterre ce post zombi car j ai besoin d une info. Je viens de faire et reussir le make dans le dossier spksrc/cross/package Par contre comment je fais le spk? Que dois je faire de ce binarie ?? J ai bien recopié un spk/transmission vers spk/monpackage, j ai fait qq changement mais comment le MAKE va savoir qu il faut prendre le binarie qui est dans spksrc/cross/monpackage ?? Ca m echappe ca... Bon, ca m echappe toujours comment le MAKE fait pour savoir que le package est dans le dossier CROS... mais je me suis fait une raison car la compil fonctionne bien. J ai juste un probleme avec le patch car le terminal me demande quel fichier patcher... et plusieurs fois il me demande... alors que dans les posts au dessus on dit que c est sensé etre automatique... etrange. 0 Citer
DigitalBox Posté(e) le 28 mai 2018 Posté(e) le 28 mai 2018 Salut, si les admins du site me permettent de donner un lien vers mon article sur le sujet, j’ai créé un tuto dédié à SPKSRC en français l’outil est vraiment bien fait par rapport à son outil synology homologue :) 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.