# [EBUILD] Aide pour vdr-freeboxtv-0.0.2.ebuild []

## jaypeche

Je cherche à dévelloper un ebuild pour le paquetage "vdr-freeboxtv" dévellopé par Olivier. Ce plugin VDR utilise la librairie live555 pour gérer le flux rtsp... J'ai qq souçis :

D'après la procédure d'install décrite ci dessous il faut :

```
Extrait de INSTALL-fr :

Un module pour le magnétoscope numérique Video Disk Recorder (VDR).

Ajoute une source supplémentaire (FREEBOX) à VDR 

Développé par:                  Olivier DJIAN <odjosc@free.fr>

Page d'accueil du projet:       http://www.panczyk.eu/vdr

Version la plus à jour sur le site :  http://www.panczyk.eu/vdr

Voir le fichier COPYING pour des informations sur la licence.

Restrictions :

==============

Ce module a seulement été testé avec des sessions ne contenant qu'une sous-session utilisant un codec MP2T. Je ne sais pas si cela fonctionne avec plus (à essayer...).

Pré-requis :

==============

Pour utiliser ce module, la bibliothèque LIVE555 Streaming Media est indispensable. Vous pouvez vous la procurer en vous rendant sur le site :

      http://www.live555.com/

Il vous suffit alors de télécharger le code source liveMedia, compiler puis installer la bibliothèque sur votre système.

NB: à la date de rédaction de ce document, la bibliothèque liveMedia fournie directement par le paquet DEBIAN-etch (liblivemedia-dev) ne fonctionne pas avec le module freeboxtv.

La fonctionnalité EPG (guide électronique des programmes) est optionnelle. Si vous souhaitez l'activer, il vous faudra installer en plus  :

  - l'utilitaire xmltv

  - les bibliothèques suivantes (archives ET fichiers headers) :

      libxml++ (version 2.6 ou ultérieure)

      glib (version 2.6 ou ultérieure)

      glibmm (version 2.4 ou ultérieure)

Si vous utilisez la distribution DEBIAN, vous pouvez récupérer ces bibliothèques à partir des paquets correspondants (etch) :

    apt-get install libxml++2.6-2 libxml++2.6-dev

    apt-get install libglib2.0-0 libglib2.0-dev

    apt-get install libglibmm-2.4-1c2a libglibmm-2.4-dev

Installation :

==============

Ce module a été développé et seulement testé sur les versions 1.4.x de VDR. Cependant, il devrait fonctionner sur des versions plus anciennes (non garanti mais à essayer...).

1- Comme dit plus haut, la bibliothèque liveMedia est obligatoire et doit d'abord être installée correctement sur votre système. Si vous la construisez à partir du code source, faites attention à l'endroit où vous placez les différents fichiers. Le makefile fourni dans l'archive tar FreeboxTv suppose que les fichiers et répertoires d'include de la bibliothèque sont sous /usr/include (chemin par défaut si elle est installée directement par le gestionnaire de paquets de votre distribution). Si par exemple vous avez compilé puis installé la biliothèque sous /usr/local, vous devrez adapter le Makefile du module FreeboxTv en conséquence (variable INCLUDES).

2- Comme tout autre module VDR, dépliez l'archive tar dans le répertoire <VOTRE_REPERTOIRE_VDR>/PLUGINS/src. Créez ensuite un lien symbolique freeboxtv pointant sur ce répertoire.

3- Placez-vous dans le répertoire d'accueil des sources VDR :

      <VOTRE_REPERTOIRE_VDR>

  Créez ou éditez (selon le cas) le fichier Make.config puis ajoutez-y les lignes suivantes :

      LIBS += -L/usr/local/lib/liveMedia \

            -lBasicUsageEnvironment  -lgroupsock  -lliveMedia  -lUsageEnvironment

Là-encore, vous devez faire attention à l'endroit où vous avez installé les bibliothèques que vous avez construites à partir des sources. Selon le cas, vous aurez peut-être besoin de modifier la directive -L ci-dessus pour être conforme à votre configuration.

3bis - Si vous ne souhaitez pas utiliser la fonctionnalité EPG (activée par défaut), commentez dans le fichier Makefile du plugin la ligne suivante puis passez directement à l'étape 4 : 

    FREEBOXTV_EPG = 1

  Dans le cas contraire, ajoutez les déclarations suivantes à la ligne LIBS du fichier Make.config dans le  répertoire d'accueil des sources VDR (même ligne qu'à l'étape 3 ci-dessus) :

     -lglibmm-2.4 -lxml2 -lxml++-2.6

Comme précédemment et selon votre configuration, vous pouvez avoir à adapter la directive -L ou modifier les numéros de version dans les noms des bibliothèques en question.

4- Ensuite :

      make plugins

      make

  Puis installez comme d'habitude les fichiers nouvellement générés.

Configuration :

==============

C'est probablement la partie la plus délicate ;-)

Pour l'instant, les fichiers de configuration ne sont pas gérés par l'intermédiaire du menu setup de VDR. Par conséquent, vous devez le faire "à la main".

1- D'abord, vous devez ajouter les déclarations des chaînes freebox dans votre fichier channels.conf. La syntaxe correcte est décrite dans la documentation de VDR (man 5 vdr). Comme la Freebox ne récupère pas son flux DVB "par les airs", les fréquences et autres paramètres de transmission n'ont aucun sens ici. Ils sont néanmoins obligatoires pour que le parseur de fichier channels.conf de VDR  fonctionne correctement. Vous devez donc en fournir des valeurs "réalistes" bien que totalement "bidons" ;-). Pour ne pas vous compliquer la vie, je vous suggère de toujours utiliser les mêmes valeurs (sur chaque ligne) pour les champs Frequency, Parameters, Srate, Conditional access, SID, NID, RID.

Bien sûr, les champs VPID, APID et TPID (si présent) doivent avoir des valeurs valides. Obtenir de telles valeurs est probablement le plus difficile pour bâtir un fichier channels.conf correct pour ce module dans la mesure où il n'y a pour l'instant aucun moyen de les récupérer automatiquement à partir du flux entrant. Vous pouvez toutefois tenter de les obtenir avec l'aide d'un lecteur multimédia sachant lire les flux RTSP - i.e. VLC (http://www.videolan.org/) par exemple.

Le champ le plus important est TID (cf la documentation VDR) car c'est lui qui assure la correspondance avec l'autre fichier de configuration de FreeboxTv et qui est utilisé pour identifier de manière unique une chaîne (VDR channel ID). Vous pouvez choisir n'importe qu'elle valeur pour ce champ à partir du moment où  chaque chaîne en a une différente. C'est probablement une bonne idée que de choisir une valeur en rapport avec le numéro de chaîne ou tout autre partie distinctive de son URL.

2- ATTENTION : à partir de la version 0.0.2 du plugin FreeboxTv, les fichiers de configuration sont placés dans le répertoire :

      <VOTRE_REPERTOIRE_CONFIG_VDR>/plugins/freeboxtv

Par conséquent, vous devez donc créer le fichier suivant

      <VOTRE_REPERTOIRE_CONFIG_VDR>/plugins/freeboxtv/channels.conf.freebox

Chaque ligne représente un triplet NID/Identifiant XMLTV/URL pour une chaîne et a la forme :

      <NID>:<XMLTV_Channel_ID>:<URL>

A chaque valeur de NID doit correspondre UNE ET UNE SEULE ligne avec le même NID dans le fichier channels.conf.

Par exemple :

Si l'on trouve la ligne suivante dans channels.conf :

  France 2:219000:C12D0M64B8T8G32Y0:T:27500:163:1912:35:0:1:1:1201:0

Il doit y avoir une ligne comme celle-ci dans channels.conf.freebox :

  1201:C2.telepoche.com:rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=201

NB: vous remarquerez dans l'exemple précédent que j'ai utilisé la valeur 1201 comme NID. Ma stratégie personnelle de définition est la suivante :

   NID = 1000 + (identifiant du flux dans l'URL)

Ce choix est purement arbitraire et vous êtes libre d'en faire un autre. Encore une fois, notez que VPID (163), APID (1912) and TPID (35) sont des valeurs réelles et valides (ce sont celles actuellement utilisées par FREE pour le flux France2).

3- Pour obtenir le guide des programmes (EPG) sur le device FreeboxTv vous devez configurer le logiciel xmltv. Je ne décrirai pas ici son fonctionnement ni même ses principes. Je vous suggère de faire un tour sur le site http://xmltv.org/wiki/ pour plus d'information sur le sujet. Sachez simplement que j'ai fait le choix de respecter la philosophie du logiciel qui veut que l'on sépare la collecte des informations de leur interprétation. En conséquence, je n'ai pas intégré l'appel du "grabber" au code du plugin FreeboxTv. Vous avez donc le choix entre plusieurs possibilités pour la mise à jour des informations EPG :

      - Utiliser la crontab de la VDR-Box

      - Utiliser les commandes de maintenance de VDR

      - Toute autre méthode de votre choix pour lancer une commande à intervalle régulier...

Comme vous lisez ce fichier en français, je suppose que vous utiliserez le "collecteur" tv_grab_fr. Lors de son premier lancement, vous devez choisir les chaînes qui vous intéressent. Le processus de récupération pouvant être assez long, je vous conseille de ne sélectionner que les chaînes freebox (et mieux encore uniquement celles qui vous intéressent vraiment). En effet, le processus de collecte est (volontairement) assez long pour ne pas surcharger les sites qui fournissent les programmes (site telepoche.com pour le grabber français). Vous obtiendrez ainsi un fichier tv_grab_fr.conf dans votre  répertoire ~/.xmltv. L'analyse du contenu de ce fichier tv_grab_fr.conf vous permettra de déterminer l'identifiant de chacune des chaînes à inscrire dans votre fichier channels.conf.freebox. Cet identifiant est de la forme Cxxx.telepoche.com où xxx a comme valeur le numéro suivant le mot-clé "channel" dans le fichier tv_grab_fr.conf. Voici quelques exemples de correspondances pour mieux comprendre le principe :

  Entrée dans tv_grab_fr.conf               Identifiant dans channels.freebox.xmltv

    channel 2 france 2                ->          C2.telepoche.com

    channel 40 ab1                    ->          C40.telepoche.com

Le fichier channels.conf.freebox correspondant a donc l'allure suivante :

   1201:C2.telepoche.com:rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=201

   1211:C40.telepoche.com:rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=211

NB: Si vous choisissez uniquement les chaînes freebox lors de la phase de configuration de xmltv, vous constaterez que beaucoup de chaînes manquent à l'appel. En principe, il est possible d'utiliser  l'identifiant d'une chaîne TNT, SAT ou HERTZIENNE pour peu qu'elle diffuse les mêmes programmes au même moment (ce qui est le cas des chaînes nationales diffusées via ces différents supports par exemple).

Une fois le fichier channels.conf.freebox correctement configuré, vous devez faire exécuter la commande suivante à intervalles réguliers par la méthode de votre choix (cf plus haut) :

    tv_grab_fr --day 2 --slow --output <VOTRE_REPERTOIRE_CONFIG_VDR>/plugins/freeboxtv/xmltv.freebox

 

La valeur après le mot-clé --day indique pour combien de jours vous voulez récupérer les programmes. Plus cette valeur est grande, plus le processus est long. Le mot-clé --slow permet de d'obtenir plus d'informations, et en particulier les descriptions détaillées des programmes.

NB: Même si vous n'utilisez pas la fonctionnalité EPG, le second champ doit être présent. Vous pouvez par contre y mettre une valeur quelconque qui ne sera pas interprétée.

Deux modèles ainsi qu'un fichier de configuration xmltv sont fournis dans le répertoire "examples" :

  channels.conf-template qui peut être fusionné avec votre fichier channels.conf  (dans le répertoire config de VDR)

  channels.conf.freebox peut être copié tel quel dans votre répertoire <VOTRE_REPERTOIRE_CONFIG_VDR>/plugins/freeboxtv

  tv_grab_fr.conf qui peut être copié tel quel dans votre répertoire ~/.xmltv

A la date de rédaction de ce document, les deux fichiers modèles fournis sont valides pour les abonnés de FREE et sont donc utilisables tels quels, y-compris les identifiants XMLTV.

Usage :

=======

Comme d'habitude, ajoutez simplement -P freeboxtv sur votre ligne de commande vdr.

C'est tout !

```

Voiçi mon ebuild, le souçi, c'est que je ne sais comment modifier celui-ci pour prendre en compte la librairie. Je cherche quelqu'un qui serait en mesure de faire avancer le "schmilblick". Je dois avouer que je ne maitrise pas assez Gentoo pour cela.

Fichier : vdr-freeboxtv-0.0.2.ebuild

```
# Copyright 1999-2007 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header : vdr-freeboxtv-0.0.2.ebuild, v0.0.2 2007/07/17 17:21:46 Release by Argghh !

inherit vdr-plugin

DESCRIPTION="VDR Plugin: FreeBoxTV @free.fr"

HOMEPAGE="http://www.panczyk.eu/"

SRC_URI="http://www.panczyk.eu/vdr/${P}.tar.bz2"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~x86 ~amd64"

IUSE="softcam"

DEPEND=">=media-video/vdr-1.4.6

        media-plugins/live

        softcam? ( media-plugin/vdr-sc )"

src_unpack() {

    vdr-plugin_src_unpack

    sed -i Makefile \

        -e "s:^LIBDIR.*$:LIBDIR = ${S}:"

    sed -i Makefile \

        -e "s:/include/vdr/config.h:/config.h:" \

        -e "s:-march=\$(CPUOPT)::" \

        -e "s:\$(CSAFLAGS):\$(CXXFLAGS):" \

}

```

 Voiçi le résultat de la compilation :

```
pingwho vdr-freeboxtv # ACCEPT_KEYWORDS="~x86" emerge -pv vdr-freeboxtv

These are the packages that would be merged, in order:

Calculating dependencies /

[ebuild  N    ] media-plugins/live-2007.02.20  433 kB

[ebuild  N    ] media-plugins/vdr-freeboxtv-0.0.2  USE="-softcam" 0 kB

Total: 2 packages (2 new), Size of downloads: 433 kB

>>> Merging media-plugins/live-2007.02.20 to /

--- /usr/

--- /usr/lib/

>>> /usr/lib/libUsageEnvironment.a

>>> /usr/lib/libUsageEnvironment.so

>>> /usr/lib/libliveMedia.a

>>> /usr/lib/libliveMedia.so

>>> /usr/lib/libBasicUsageEnvironment.a

>>> /usr/lib/libBasicUsageEnvironment.so

>>> /usr/lib/libgroupsock.a

>>> /usr/lib/libgroupsock.so

--- /usr/include/

>>> /usr/include/UsageEnvironment/

>>> /usr/include/UsageEnvironment/Boolean.hh

>>> /usr/include/UsageEnvironment/HashTable.hh

>>> /usr/include/UsageEnvironment/UsageEnvironment.hh

>>> /usr/include/UsageEnvironment/UsageEnvironment_version.hh

>>> /usr/include/UsageEnvironment/strDup.hh

>>> /usr/include/liveMedia/

>>> /usr/include/liveMedia/AC3AudioRTPSink.hh

>>> /usr/include/liveMedia/AC3AudioRTPSource.hh

>>> /usr/include/liveMedia/AC3AudioStreamFramer.hh

>>> /usr/include/liveMedia/ADTSAudioFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/ADTSAudioFileSource.hh

>>> /usr/include/liveMedia/AMRAudioFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/AMRAudioFileSink.hh

>>> /usr/include/liveMedia/AMRAudioFileSource.hh

>>> /usr/include/liveMedia/AMRAudioRTPSink.hh

>>> /usr/include/liveMedia/AMRAudioRTPSource.hh

>>> /usr/include/liveMedia/AMRAudioSource.hh

>>> /usr/include/liveMedia/AVIFileSink.hh

>>> /usr/include/liveMedia/AudioInputDevice.hh

>>> /usr/include/liveMedia/AudioRTPSink.hh

>>> /usr/include/liveMedia/Base64.hh

>>> /usr/include/liveMedia/BasicUDPSink.hh

>>> /usr/include/liveMedia/BasicUDPSource.hh

>>> /usr/include/liveMedia/ByteStreamFileSource.hh

>>> /usr/include/liveMedia/ByteStreamMultiFileSource.hh

>>> /usr/include/liveMedia/DarwinInjector.hh

>>> /usr/include/liveMedia/DeviceSource.hh

>>> /usr/include/liveMedia/DigestAuthentication.hh

>>> /usr/include/liveMedia/FileServerMediaSubsession.hh

>>> /usr/include/liveMedia/FileSink.hh

>>> /usr/include/liveMedia/FramedFileSource.hh

>>> /usr/include/liveMedia/FramedFilter.hh

>>> /usr/include/liveMedia/FramedSource.hh

>>> /usr/include/liveMedia/GSMAudioRTPSink.hh

>>> /usr/include/liveMedia/H261VideoRTPSource.hh

>>> /usr/include/liveMedia/H263plusVideoFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/H263plusVideoRTPSink.hh

>>> /usr/include/liveMedia/H263plusVideoRTPSource.hh

>>> /usr/include/liveMedia/H263plusVideoStreamFramer.hh

>>> /usr/include/liveMedia/H264VideoFileSink.hh

>>> /usr/include/liveMedia/H264VideoRTPSink.hh

>>> /usr/include/liveMedia/H264VideoRTPSource.hh

>>> /usr/include/liveMedia/H264VideoStreamFramer.hh

>>> /usr/include/liveMedia/HTTPSink.hh

>>> /usr/include/liveMedia/InputFile.hh

>>> /usr/include/liveMedia/JPEGVideoRTPSink.hh

>>> /usr/include/liveMedia/JPEGVideoRTPSource.hh

>>> /usr/include/liveMedia/JPEGVideoSource.hh

>>> /usr/include/liveMedia/MP3ADU.hh

>>> /usr/include/liveMedia/MP3ADURTPSink.hh

>>> /usr/include/liveMedia/MP3ADURTPSource.hh

>>> /usr/include/liveMedia/MP3ADUTranscoder.hh

>>> /usr/include/liveMedia/MP3ADUinterleaving.hh

>>> /usr/include/liveMedia/MP3AudioFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/MP3FileSource.hh

>>> /usr/include/liveMedia/MP3HTTPSource.hh

>>> /usr/include/liveMedia/MP3Transcoder.hh

>>> /usr/include/liveMedia/MPEG1or2AudioRTPSink.hh

>>> /usr/include/liveMedia/MPEG1or2AudioRTPSource.hh

>>> /usr/include/liveMedia/MPEG1or2AudioStreamFramer.hh

>>> /usr/include/liveMedia/MPEG1or2Demux.hh

>>> /usr/include/liveMedia/MPEG1or2DemuxedElementaryStream.hh

>>> /usr/include/liveMedia/MPEG1or2DemuxedServerMediaSubsession.hh

>>> /usr/include/liveMedia/MPEG1or2FileServerDemux.hh

>>> /usr/include/liveMedia/MPEG1or2VideoFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/MPEG1or2VideoHTTPSink.hh

>>> /usr/include/liveMedia/MPEG1or2VideoRTPSink.hh

>>> /usr/include/liveMedia/MPEG1or2VideoRTPSource.hh

>>> /usr/include/liveMedia/MPEG1or2VideoStreamDiscreteFramer.hh

>>> /usr/include/liveMedia/MPEG1or2VideoStreamFramer.hh

>>> /usr/include/liveMedia/MPEG2IndexFromTransportStream.hh

>>> /usr/include/liveMedia/MPEG2TransportFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamFramer.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamFromESSource.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamFromPESSource.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamIndexFile.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamMultiplexor.hh

>>> /usr/include/liveMedia/MPEG2TransportStreamTrickModeFilter.hh

>>> /usr/include/liveMedia/MPEG4ESVideoRTPSink.hh

>>> /usr/include/liveMedia/MPEG4ESVideoRTPSource.hh

>>> /usr/include/liveMedia/MPEG4GenericRTPSink.hh

>>> /usr/include/liveMedia/MPEG4GenericRTPSource.hh

>>> /usr/include/liveMedia/MPEG4LATMAudioRTPSink.hh

>>> /usr/include/liveMedia/MPEG4LATMAudioRTPSource.hh

>>> /usr/include/liveMedia/MPEG4VideoFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/MPEG4VideoStreamDiscreteFramer.hh

>>> /usr/include/liveMedia/MPEG4VideoStreamFramer.hh

>>> /usr/include/liveMedia/MPEGVideoStreamFramer.hh

>>> /usr/include/liveMedia/Media.hh

>>> /usr/include/liveMedia/MediaSession.hh

>>> /usr/include/liveMedia/MediaSink.hh

>>> /usr/include/liveMedia/MediaSource.hh

>>> /usr/include/liveMedia/MultiFramedRTPSink.hh

>>> /usr/include/liveMedia/MultiFramedRTPSource.hh

>>> /usr/include/liveMedia/OnDemandServerMediaSubsession.hh

>>> /usr/include/liveMedia/OutputFile.hh

>>> /usr/include/liveMedia/PassiveServerMediaSubsession.hh

>>> /usr/include/liveMedia/QCELPAudioRTPSource.hh

>>> /usr/include/liveMedia/QuickTimeFileSink.hh

>>> /usr/include/liveMedia/QuickTimeGenericRTPSource.hh

>>> /usr/include/liveMedia/RTCP.hh

>>> /usr/include/liveMedia/RTPInterface.hh

>>> /usr/include/liveMedia/RTPSink.hh

>>> /usr/include/liveMedia/RTPSource.hh

>>> /usr/include/liveMedia/RTSPClient.hh

>>> /usr/include/liveMedia/RTSPCommon.hh

>>> /usr/include/liveMedia/RTSPServer.hh

>>> /usr/include/liveMedia/SIPClient.hh

>>> /usr/include/liveMedia/ServerMediaSession.hh

>>> /usr/include/liveMedia/SimpleRTPSink.hh

>>> /usr/include/liveMedia/SimpleRTPSource.hh

>>> /usr/include/liveMedia/VideoRTPSink.hh

>>> /usr/include/liveMedia/WAVAudioFileServerMediaSubsession.hh

>>> /usr/include/liveMedia/WAVAudioFileSource.hh

>>> /usr/include/liveMedia/liveMedia.hh

>>> /usr/include/liveMedia/liveMedia_version.hh

>>> /usr/include/liveMedia/uLawAudioFilter.hh

>>> /usr/include/BasicUsageEnvironment/

>>> /usr/include/BasicUsageEnvironment/BasicHashTable.hh

>>> /usr/include/BasicUsageEnvironment/BasicUsageEnvironment.hh

>>> /usr/include/BasicUsageEnvironment/BasicUsageEnvironment0.hh

>>> /usr/include/BasicUsageEnvironment/BasicUsageEnvironment_version.hh

>>> /usr/include/BasicUsageEnvironment/DelayQueue.hh

>>> /usr/include/BasicUsageEnvironment/HandlerSet.hh

>>> /usr/include/groupsock/

>>> /usr/include/groupsock/GroupEId.hh

>>> /usr/include/groupsock/Groupsock.hh

>>> /usr/include/groupsock/GroupsockHelper.hh

>>> /usr/include/groupsock/IOHandlers.hh

>>> /usr/include/groupsock/NetAddress.hh

>>> /usr/include/groupsock/NetCommon.h

>>> /usr/include/groupsock/NetInterface.hh

>>> /usr/include/groupsock/TunnelEncaps.hh

>>> /usr/include/groupsock/groupsock_version.hh

--- /usr/bin/

>>> /usr/bin/testMP3Streamer

>>> /usr/bin/testMPEG1or2VideoStreamer

>>> /usr/bin/testMPEG1or2AudioVideoStreamer

>>> /usr/bin/testMPEG2TransportStreamer

>>> /usr/bin/testMPEG4VideoStreamer

>>> /usr/bin/testWAVAudioStreamer

>>> /usr/bin/testAMRAudioStreamer

>>> /usr/bin/vobStreamer

>>> /usr/bin/testMP3Receiver

>>> /usr/bin/testMPEG1or2VideoReceiver

>>> /usr/bin/sapWatch

>>> /usr/bin/testRelay

>>> /usr/bin/testOnDemandRTSPServer

>>> /usr/bin/testMPEG1or2AudioVideoToDarwin

>>> /usr/bin/testMPEG4VideoToDarwin

>>> /usr/bin/openRTSP

>>> /usr/bin/playSIP

>>> /usr/bin/testMPEG1or2Splitter

>>> /usr/bin/testMPEG1or2ProgramToTransportStream

>>> /usr/bin/MPEG2TransportStreamIndexer

>>> /usr/bin/testMPEG2TransportStreamTrickPlay

>>> /usr/bin/live555MediaServer

--- /usr/share/

--- /usr/share/doc/

>>> /usr/share/doc/live-2007.02.20/

>>> /usr/share/doc/live-2007.02.20/README.bz2

>>> Regenerating /etc/ld.so.cache...

>>> media-plugins/live-2007.02.20 merged.

>>> No packages selected for removal by clean

>>> Emerging (2 of 2) media-plugins/vdr-freeboxtv-0.0.2 to /

 * vdr-freeboxtv-0.0.2.tar.bz2 MD5 ;-) ...                                [ ok ]

 * vdr-freeboxtv-0.0.2.tar.bz2 RMD160 ;-) ...                             [ ok ]

 * vdr-freeboxtv-0.0.2.tar.bz2 SHA1 ;-) ...                               [ ok ]

 * vdr-freeboxtv-0.0.2.tar.bz2 SHA256 ;-) ...                             [ ok ]

 * vdr-freeboxtv-0.0.2.tar.bz2 size ;-) ...                               [ ok ]

 * checking ebuild checksums ;-) ...                                      [ ok ]

 * checking auxfile checksums ;-) ...                                     [ ok ]

 * checking miscfile checksums ;-) ...                                    [ ok ]

 * checking vdr-freeboxtv-0.0.2.tar.bz2 ;-) ...                           [ ok ]

 * Building vdr-freeboxtv-0.0.2 against vdr-1.4.6

 * APIVERSION: 1.4.5

>>> Unpacking source...

>>> Unpacking vdr-freeboxtv-0.0.2.tar.bz2 to /var/tmp/portage/media-plugins/vdr-freeboxtv-0.0.2/work

 * Patching Makefile

 *   Setting Pathes ...                                                   [ ok ]

 *   Converting to APIVERSION ...                                         [ ok ]

 *   Correcting Compile-Flags ...                                         [ ok ]

 *   Disabling file stripping ...                                         [ ok ]

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/media-plugins/vdr-freeboxtv-0.0.2/work/freeboxtv-0.0.2 ...

make: *** No rule to make target `liveMedia.hh', needed by `freeboxtv.o'.  Stop.

!!! ERROR: media-plugins/vdr-freeboxtv-0.0.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

  ebuild.sh, line 972:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called vdr-plugin_src_compile

  vdr-plugin.eclass, line 298:   Called vdr-plugin_src_compile 'prepare' 'compile'

  vdr-plugin.eclass, line 317:   Called die

!!! emake failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/log/portage/media-plugins:vdr-freeboxtv-0.0.2:20070720-072721.log'.
```

Merçi pour votre aide ...!

Gentoo Portage Overlay : /pub/gentoo/ftp/portage/overlay/media-plugins/vdr-freeboxtv/

----------

## truc

là comme ça, vite fait sachant que je n'y connais pas grand chose, ça semblerai être un problème dans le Makefile, en plus jsute au dessus on voit qu'il a été patché, doc faudrait regarder de ce coté là je pense :S

----------

## Untux

Mon dernier et unique ebuild remonte à loin... je vais donc peut-être dire une bétise, mais il me semble qu'il manque un petit 

```

src_compile() {

   econf || die "econf failed"

   emake || die

}

src_install() {

   emake DESTDIR=${D} install || die

}

```

à insérer après le bloc « src_unpack »... non ? Sans ça, point de « ./configure » (exécuté grâce à econf), ce qui pourrait être à l'origine de ton erreur ?Last edited by Untux on Fri Jul 20, 2007 1:25 pm; edited 2 times in total

----------

## Untux

D'autre part, après avoir survolé très brièvement ton extrait de « INSTALL-fr » il me semble que tu devrais également ajouter « make plugins » au bloc src_compile :

```

src_compile() {

   econf || die "econf failed"

   emake plugins || die

   emake || die

}
```

----------

## Untux

Ah oui oui mais en fait non : Faudra revoir les étapes ! Parce qu'en fait, comme indiqué au point 3* du INSTALL-fr, tu dois d'abord décompresser les sources de media-video/vdr puis y intégrer les sources de ton freeboxtv dans le sous-répertoire PLUGIN du répertoire de travail media-video/vdr... Du coup, tu pourrais repartir sur la base de l'ebuild de media-video/vdr en y intégrant les étapes supplémentaires pour freeboxtv.

Les deux liens suivants te seront utiles si tu ne les connais pas encore : Gentoo development guide et bien sûr Guide pour les ebuilds

* Correction : point 2 de la section Installation du INSTALL-fr

----------

## dragOon

https://forums.gentoo.org/viewtopic-t-694596.html  :Razz: 

----------

