# [amarok] iriverh10.amarokscript

## BENJI

Bonjour,

J'ai un baladeur mp3 IriverH10 de 4Go.

Je cherche à l'utiliser avec amarok.

J'ai trouvé ce script : http://www.kde-apps.org/content/show.php?content=36054

Ce script s'appuie sur les dépendance suivante :

EasyH10 [CUI]

or

EasyPMP [POSIX] (pmplib)

J'ai fait une recherche dans l'arbre gentoo mais je n'ai rien trouvé de tel :

```
ben@ataualpa ~ $ emerge -s pmplib

Searching...

[ Results for search key : pmplib ]

[ Applications found : 0 ]

ben@ataualpa ~ $ emerge -s EasyPMP

Searching...

[ Results for search key : EasyPMP ]

[ Applications found : 0 ]

```

Mais ça n'existe pas !

Comment faire alors ?

----------

## bouriquo

Hello,

Si ca n'existe pas dans portage te reste une seule solution   :Very Happy:  compiler à la mimine .

regarde la [url="http://easyh10.sourceforge.net"]http://easyh10.sourceforge.net[/url] tu as les src de easyh10

----------

## BENJI

Comment on fait ?

Et puis j'ai trouvé ça https://bugs.gentoo.org/107383 ça a donc bien existé dans l'arbre ?

----------

## bouriquo

Tu télécharges le fichier src depuis le lien que je t'ai envoyé

et puis tu fais un classique

```
./configure && make && make install
```

Is l'ont peut etre enlever pour des raisons d'instabilités   :Confused: 

----------

## BENJI

Ouais mais si je veux tout désinstaller après pour remettre de l"ordre c'est facile ou pas ? Et puis comment amarok va savoir où trouver Easypmp ?

En dernière solution je le ferai comme tu me le dis mais pour l'instant je préfère essayer autre chose !

Par exemple un ebuild a l'air d'avoir existé j'ai pas un moyen de l'utiliser même s'il n'est pas dans l'arbre ?

```
# Copyright 1999-2005 Gentoo Foundation

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

# $Header: $

inherit eutils

DESCRIPTION="A media database tool for iRiver H10 Series MP3 Players"

HOMEPAGE="http://easyh10.sourceforge.net"

SRC_URI="mirror://sourceforge/easyh10/${P}.tar.gz"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~amd64 ~x86"

RDEPEND="media-libs/libid3tag"

pkg_postinst () {

   einfo "EasyH10 uses the .model files installed in /usr/share/easyh10 to"

   einfo "determine which player you are using (US or International, and"

   einfo "firmware version).  Choose the .model file appropriate for your"

   einfo "player and copy it to the root of your player's filesystem as"

   einfo "easyh10.model.  The -X option to easyh10 can assist with this."

   ewarn "If you are updating easyh10, you may need to update the .model"

   ewarn "file, the format of the .model files occausionally changes"

   ewarn "between versions"

}

src_install () {

   into /usr

   dobin cui/easyh10

   doman cui/easyh10.1

   dodoc AUTHORS README NEWS ChangeLog

   #Install player model definitions

   dodir /usr/share/easyh10

   insinto /usr/share/easyh10

   doins model/*

}
```

----------

## kwenspc

 *BENJI wrote:*   

> 
> 
> Par exemple un ebuild a l'air d'avoir existé j'ai pas un moyen de l'utiliser même s'il n'est pas dans l'arbre ?
> 
> 

 

rtfm  :Laughing: 

Sérieusement: installer un ebuild non-officiel est un truc bien documenté, faut passer par un overlay  :Wink: 

----------

## bouriquo

Oui effectivement c'est plus embêtant pour la désinstallation, ceci dit si le package est bien fait tu as normalement un make uninstall ^^.

Sinon si tu as un ebuild maison, j'avais vu quelque part mais je sais plus ou et comment, tu peux déposer ton ebuild dans l'arbre de portable et lui dire de l'intégrer mais sans en faire la mise à jour automatique car ce dernier n'existe pas donc qu'il faut pas que portage le supprime y a un fichier pour ca je ne me rappelle plus lequel ...

@kwenspc:

Ceci est vrai pour autant que ce dernier soit aussi dans l'overlays ^^

----------

## BENJI

 *kwenspc wrote:*   

>  *BENJI wrote:*   
> 
> Par exemple un ebuild a l'air d'avoir existé j'ai pas un moyen de l'utiliser même s'il n'est pas dans l'arbre ?
> 
>  
> ...

 

Il suffit juste de faire ça ?

http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml?part=3&chap=5#doc_chap2

 *Quote:*   

> Portage peut utiliser des ebuilds qui ne se trouvent pas dans l'arbre Portage de Gentoo. Pour cela, créez un répertoire, par exemple /usr/local/portage, dans lequel vous pourrez copier des ebuilds d'origines diverses. Vous devrez utiliser la même structure que pour l'arbre officiel. 

 

et c'est tout ?

D'ailleurs c'est pas très clair on peut mettre les ebuild sous /usr/local/portage ou sous /usr/local/portage il faut recréer la structure de portage ? Et dans mon cas easyH10 va où dans cette structure ?

----------

## bouriquo

Je ne sais pas trop je peux pas vraiment te dire, mais après lecture du handbook et un rapide parcourt du portage original,

moi j'aurais procédé ici :

 *Quote:*   

>  1 - créer un dossier dans lequel mettre tous les ebuild non supportés ex : /usr/local/portage
> 
>  2 - créer un répertoire pour le ebuild en question et eventuellement un sous-répertoire ex : /usr/local/portage/easyh10 ou /usr/local/portage/media-libs/easyh10
> 
>  3 - emerge du ebuild

 

----------

## BENJI

 :Evil or Very Mad: 

Qu'est-ce que j'ai loupé là ?

J'ai créé /usr/local/portage/media-libs/easyh10/easyh10-1.5.ebuild

j'ai ajouté à mon make.conf : PORTDIR_OVERLAY="/usr/portage/local"

Voici le contenu de l'ebuild est :

```
# Copyright 1999-2005 Gentoo Foundation

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

# $Header: $

inherit eutils

DESCRIPTION="A media database tool for iRiver H10 Series MP3 Players"

HOMEPAGE="http://easyh10.sourceforge.net"

SRC_URI="mirror://sourceforge/easyh10/${P}.tar.gz"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~amd64 ~x86"

RDEPEND="media-libs/libid3tag"

pkg_postinst () {

    einfo "EasyH10 uses the .model files installed in /usr/share/easyh10 to"

    einfo "determine which player you are using (US or International, and"

    einfo "firmware version).  Choose the .model file appropriate for your"

    einfo "player and copy it to the root of your player's filesystem as"

    einfo "easyh10.model.  The -X option to easyh10 can assist with this."

    ewarn "If you are updating easyh10, you may need to update the .model"

    ewarn "file, the format of the .model files occausionally changes"

    ewarn "between versions"

}

src_install () {

    into /usr

    dobin cui/easyh10

    doman cui/easyh10.1

    dodoc AUTHORS README NEWS ChangeLog

    #Install player model definitions

    dodir /usr/share/easyh10

    insinto /usr/share/easyh10

    doins model/*

}

```

Mais rien à faire ça passe pas !

```
ben@ataualpa /usr/local/portage/media-libs/easyh10 $ sudo emerge easyh10-1.5.ebuild

*** emerging by path is broken and may not always work!!!

Calculating dependencies |

!!! easyh10-1.5.ebuild is not in a valid portage tree hierarchy or does not exist

ben@ataualpa /usr/local/portage/media-libs/easyh10 $ emerge -s easyh10

Searching...

[ Results for search key : easyh10 ]

[ Applications found : 0 ]
```

----------

## bouriquo

 *Quote:*   

> j'ai ajouté à mon make.conf : PORTDIR_OVERLAY="/usr/portage/local" 

 

J'imagine que c'est une coquille ? car au dessus tu as mis /usr/local/portage

Ensuite j'aurais fait un emerge easyh10 tout simple ou éventuellement emerge =media-libs/easyh10-1.5

++

----------

## BENJI

 *bouriquo wrote:*   

>  *Quote:*   j'ai ajouté à mon make.conf : PORTDIR_OVERLAY="/usr/portage/local"  
> 
> J'imagine que c'est une coquille ? car au dessus tu as mis /usr/local/portage

 

Bien vu c'est ça le problème mais comme toujours t'en corrige un viens le suivant :

```
ben@ataualpa /usr/local/portage/media-libs/easyh10 $ sudo emerge easyh10

Calculating dependencies / * Manifest not found for '/usr/local/portage/media-libs/easyh10/easyh10-1.5.ebuild'                             ... done!

!!! All ebuilds that could satisfy "media-libs/easyh10" have been masked.

!!! One of the following masked packages is required to complete your request:

- media-libs/easyh10-1.5 (masked by: corruption)

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

```

----------

## bouriquo

Oui en effet car si tu regardes l'arbre de portage tu as un fichier Manifest et un fichier metadata.xml ^^

Par contre la syntaxe je ne l'a connais pas

----------

## ghoti

 *BENJI wrote:*   

> Calculating dependencies / * Manifest not found for '/usr/local/portage/media-libs/easyh10/easyh10-1.5.ebuild'

 

Lance d'abord la commande :

```
ebuild /usr/local/portage/media-libs/easyh10/easyh10-1.5.ebuild digest
```

 pour générer le manifest.

Ensuite seulement, fais ton emerge  :Wink: 

----------

## BENJI

voilà c'est fait il y a du mieux mais ça marche toujours pas !

```
ben@ataualpa /usr/local/portage/media-libs/easyh10 $ sudo ebuild /usr/local/portage/media-libs/easyh10/easyh10-1.5.ebuild digest

Password:

>>> Downloading 'ftp://gentoo.imj.fr/pub/gentoo/distfiles/easyh10-1.5.tar.gz'

--2009-02-18 15:10:02--  ftp://gentoo.imj.fr/pub/gentoo/distfiles/easyh10-1.5.tar.gz

           => `/usr/portage/distfiles/easyh10-1.5.tar.gz'

Resolving gentoo.imj.fr... 87.98.216.67

Connecting to gentoo.imj.fr|87.98.216.67|:21... connected.

Logging in as anonymous ... Logged in!

==> SYST ... done.    ==> PWD ... done.

==> TYPE I ... done.  ==> CWD /pub/gentoo/distfiles ... done.

==> SIZE easyh10-1.5.tar.gz ... done.

==> PASV ... done.    ==> RETR easyh10-1.5.tar.gz ...

No such file `easyh10-1.5.tar.gz'.

>>> Downloading 'http://gentoo.modulix.net/gentoo/distfiles/easyh10-1.5.tar.gz'

--2009-02-18 15:10:03--  http://gentoo.modulix.net/gentoo/distfiles/easyh10-1.5.tar.gz

Resolving gentoo.modulix.net... 88.191.53.13

Connecting to gentoo.modulix.net|88.191.53.13|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2009-02-18 15:10:03 ERROR 404: Not Found.

>>> Downloading 'http://ovh.dl.sourceforge.net/sourceforge/easyh10/easyh10-1.5.tar.gz'

--2009-02-18 15:10:03--  http://ovh.dl.sourceforge.net/sourceforge/easyh10/easyh10-1.5.tar.gz

Resolving ovh.dl.sourceforge.net... 213.186.33.91

Connecting to ovh.dl.sourceforge.net|213.186.33.91|:80... connected.

HTTP request sent, awaiting response... 302 Found

Location: http://prdownloads.sourceforge.net/easyh10/easyh10-1.5.tar.gz?download&failedmirror=ovh.dl.sourceforge.net [following]

--2009-02-18 15:10:12--  http://prdownloads.sourceforge.net/easyh10/easyh10-1.5.tar.gz?download&failedmirror=ovh.dl.sourceforge.net

Resolving prdownloads.sourceforge.net... 216.34.181.60

Connecting to prdownloads.sourceforge.net|216.34.181.60|:80... connected.

HTTP request sent, awaiting response... 302 Found

Location: http://superb-west.dl.sourceforge.net/sourceforge/easyh10/easyh10-1.5.tar.gz [following]

--2009-02-18 15:10:12--  http://superb-west.dl.sourceforge.net/sourceforge/easyh10/easyh10-1.5.tar.gz

Resolving superb-west.dl.sourceforge.net... 209.160.59.253

Connecting to superb-west.dl.sourceforge.net|209.160.59.253|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 406548 (397K) [application/x-gzip]

Saving to: `/usr/portage/distfiles/easyh10-1.5.tar.gz'

100%[===================================================================================================>] 406,548      198K/s   in 2.0s

2009-02-18 15:10:15 (198 KB/s) - `/usr/portage/distfiles/easyh10-1.5.tar.gz' saved [406548/406548]

>>> Creating Manifest for /usr/local/portage/media-libs/easyh10

ben@ataualpa /usr/local/portage/media-libs/easyh10 $ sudo emerge easyh10

Calculating dependencies... done!

!!! All ebuilds that could satisfy "media-libs/easyh10" have been masked.

!!! One of the following masked packages is required to complete your request:

- media-libs/easyh10-1.5 (masked by: ~x86 keyword)

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.
```

  :Evil or Very Mad: 

----------

## bouriquo

C'est normal si tu regardes l'ebuild tu remarqueras que l'ebuild est hardmasker tu es dans quel branche x86 ou ~x86 ??

----------

## ghoti

 *bouriquo wrote:*   

> l'ebuild est hardmasker

 

Ici, c'est plutôt "softmasqué"  :Wink: 

Quelqu'un ici avait inventé le vocable "tildarché" qui est peut-être plus évocateur puisque le "tilde" indique que l'ebuild est marqué comme instable pour l'architecture.

Cela se règle en faisant :

```
echo "media-libs/easyh10" >> /etc/portage/package.keywords
```

----------

## bouriquo

Oui je sais j'ai déjà poster sur le sujet ^^ et j'ai encore un peu de mal avec les dénominations   :Laughing:   :Laughing: 

----------

## BENJI

La compilation a tourné merci !

Il mereste encore des choses à faire avant que mon iriver fonctionne avec amarok.

Au moins ça m'a permis de comprendre comment était fait un ebuild.

Merci à tous pour votre aide.

Je laisse le post ouvert... on sait jamais ça pourrait resservir à quelqu'un et en plus je n'ai pas fini.

----------

