Aller au contenu

Utiliser SPKSRC pour empaqueter une nouvelle version de TVheadend


inrepublica

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

 

Lien vers le commentaire
Partager sur d’autres sites

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é par clark17
Lien vers le commentaire
Partager sur d’autres sites

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é par clark17
Lien vers le commentaire
Partager sur d’autres sites

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?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.