inrepublica Posté(e) le 25 septembre 2015 Posté(e) le 25 septembre 2015 Bonjour à tous, J'essaye d'utiliser l'outil spksrc afin de compiler moi même une nouvelle version de tvheadend. J'ai suivi le tuto disponible sur le wiki de spksrc tout se passe bien. Maintenant j'essaye de compiler tvheadend v4.0.5 de la même façon. Je vais donc dans cross tvheadend, j’efface le plist et le digest, puis je modifie le makefile comme ceci: PKG_NAME = tvheadend PKG_VERS = 4.0.5 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = cross/openssl HOMEPAGE = https://www.lonelycoder.com/tvheadend/ COMMENT = Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources LICENSE = GNU_CONFIGURE = 1 CONFIGURE_ARGS = INSTALL_TARGET = myInstall include ../../mk/spksrc.cross-cc.mk .PHONY: myInstall myInstall: $(RUN) make install DESTDIR=$(INSTALL_DIR) Je lance make arch-88f6281, cool ça compile sans erreur. Maintenant toujours en suivant le tuto, je dois générer un fichier PLIST et un fichier digests. Pour le digests j'imagine qu'il s'agit d'un fichier pour vérifier le checksum, mais comment le créer? Ensuite pour le fichier PLIST je suis perdu, si on regarde les autres packages on voit qu'ils sont différents de ceux contenu dans les sous répertoires work. Comment le générer? Merci de votre aide. 0 Citer
gaetan.cambier Posté(e) le 25 septembre 2015 Posté(e) le 25 septembre 2015 digests file : il contient le md5 le sha1 et sha256 du fichier alors soit tu me fait à la main, et tu aura 9 chance sur 10 de faire une erreur en faisant les copier coller et autre ou : tu va dans le dossier spksrc/distrib tu crée un fichier nommé par exemple checksum.sh et tu met ceci dedans : echo `basename $1` SHA1 `sha1sum $1 | cut -f 1 -d " "` echo `basename $1` SHA256 `sha256sum $1 | cut -f 1 -d " "` echo `basename $1` MD5 `md5sum $1 | cut -f 1 -d " "` tu fait un chmod + x du fichier pour le rendre executable ensuite c simple : ./checksum nomdufichier t'affichiera le contenu à mettre dans le fichier et tu peux rediriger la sortie de la commande directement vers le fichier digest à l'endroit adéquat ;) exemple : ./checksum.sh openssl-1.0.2d.tar.gz > ../cross/openssl/digest c qd meme bien + simple ;) pour le fichier PLIST, tu aurait du p-e garder l'ancien pour voir mais si je me trompe pas dans ton dossier work tu trouvera les fichier à l'extention ".plist.tmp" faut se basé sur eux pour la liste des fichiers pas oublier de supprimer ce qui est inutile ;) 0 Citer
loli71 Posté(e) le 25 septembre 2015 Posté(e) le 25 septembre 2015 Pour le PLIST: https://github.com/SynoCommunity/spksrc/wiki/PLIST-files 0 Citer
gaetan.cambier Posté(e) le 25 septembre 2015 Posté(e) le 25 septembre 2015 ben au moin ca sera + claire ;) 0 Citer
inrepublica Posté(e) le 25 septembre 2015 Auteur Posté(e) le 25 septembre 2015 (modifié) Le 9/25/2015 à 2:31 PM, gaetan.cambier a dit : digests file : il contient le md5 le sha1 et sha256 du fichier alors soit tu me fait à la main, et tu aura 9 chance sur 10 de faire une erreur en faisant les copier coller et autre ou : tu va dans le dossier spksrc/distrib tu crée un fichier nommé par exemple checksum.sh et tu met ceci dedans : echo `basename $1` SHA1 `sha1sum $1 | cut -f 1 -d " "` echo `basename $1` SHA256 `sha256sum $1 | cut -f 1 -d " "` echo `basename $1` MD5 `md5sum $1 | cut -f 1 -d " "` tu fait un chmod + x du fichier pour le rendre executable ensuite c simple : ./checksum nomdufichier t'affichiera le contenu à mettre dans le fichier et tu peux rediriger la sortie de la commande directement vers le fichier digest à l'endroit adéquat ;) exemple : ./checksum.sh openssl-1.0.2d.tar.gz > ../cross/openssl/digest Ok j'ai créer le checksum.sh, le problème c'est que je ne trouve pas le tar.gz contenant les sources de tvheadend. Je suppose qu'il est extrait lors du make. Du coup tu fais comment pour créer le checksum sans possèder le tar.gz d'origine? EDIT: Je suis trop bête il est dans distrib justement... Modifié le 25 septembre 2015 par clark17 0 Citer
inrepublica Posté(e) le 25 septembre 2015 Auteur Posté(e) le 25 septembre 2015 (modifié) Bon, le digests c'est bon. Merci gaetan. Maintenant je m'attaque au fichier PLIST. Si je regarde dans mon répertoire work j'ai un fichier tvheadend.plist qui contient ceci. Si je suis bien le résonnement je peux simplifier comme ceci: bin:bin/tvheadend rsc:share/tvheadend J'ai bon? Modifié le 25 septembre 2015 par clark17 0 Citer
gaetan.cambier Posté(e) le 25 septembre 2015 Posté(e) le 25 septembre 2015 https://github.com/SynoCommunity/spksrc/blob/master/cross/tvheadend/PLIST souvent, le mieux c'est de ne pas supprimer ce fichier ;) 0 Citer
inrepublica Posté(e) le 28 septembre 2015 Auteur Posté(e) le 28 septembre 2015 Lol, effectivement ;-) Bon du coup j'ai essayé de compiler sur plusieurs architectures et cela semble fonctionner correctement, sans erreur. Par contre pour tester sur mon nas il faudrait que je compile pour un DSM 5.2, or actuellement il compile pour du 5.1. Comment changer la version du dsm a utiliser? 0 Citer
gaetan.cambier Posté(e) le 28 septembre 2015 Posté(e) le 28 septembre 2015 En fait, si tu compile en 5.1, ça fonctionnera parfaitement sur ton n'as sauf si tu as une arch alpine4k Perso pour compiler, comme je suis assez limiter en place, j'utilise un script qui lance un à un les make pour chaque arch puis je fais un make clean pour des question d'espace disque 0 Citer
gaetan.cambier Posté(e) le 28 septembre 2015 Posté(e) le 28 septembre 2015 bon, de retour sur mon pc, voila comment je procède : les fichier suivant sont à la racine de spksrc ;) make.sh #!/bin/bash architecture=$2 cd $1 echo ${architecture} make arch-${architecture} &> compile-${architecture}.log rm -Rf work-${architecture} make-all.sh #!/bin/bash allarch="88f6281-5.1 alpine-5.1 armada370-5.1 armada375-5.1 armadaxp-5.1 comcerto2k-5.1 evansport-5.1 ppc853x-5.1 qoriq-5.1 x64-5.1" for architecture in ${allarch} do ./make.sh $1 ${architecture} done pour moi, l'avantage, c'est la suppression des fichiers à la fin de chaque compil et un log généré par compil --> si des spk sont pas généré, tu sais savoir le pourquoi ;) je crois que tu trouvera comment ajouter ou modifier pour que ca fonctionne en 5.2 ;) pour l'utilisation : ./make-all.sh spk/squidguard/ par exemple pour compiler le paquet squidguard autrement, je sais que le spksrc fournis des commande pour compiler tout d'un coup aussi mais bon, avoir un log pour une dizaine d'arch, et que la compil s'arete entièrement si une arch a une erreur de compil, c pas forcement le + pratique je trouve 0 Citer
inrepublica Posté(e) le 28 septembre 2015 Auteur Posté(e) le 28 septembre 2015 (modifié) Super, merci beaucoup pour ces précisions ;-) Modifié le 28 septembre 2015 par clark17 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.