# Overlay ed Ebuilds && Kodi [Risolto]

## saverik

Salve a tutti,

Ho installato un overlay ma non riesco ad installare un software presente in  quell'overlay.

Pensavo a questo punto di usare l'ebuild del programma ma non vorrei sporcare il sistema.

Come mi comporto?  :Embarassed:   :Embarassed:   :Embarassed: 

----------

## fedeliallalinea

Spiegati un po' meglio. Che overlay? Che pacchetto? Quale errore ti compare?

----------

## saverik

Sono interessato ad installare :

media-plugins/kodi-pvr-iptvsimple

presente nel repository "wavilen"

Ho configurato ed aggiunto Layman poi:

```
liteBook repos.conf # layman -a zugaina

 * Adding overlay,...

 * Repository 'zugaina' was already installed

 * CLI: Errors occurred processing action add

 * Repository 'zugaina' was already installed

EliteBook repos.conf # layman -a wavilen

 * Adding overlay,...

 * Repository 'wavilen' was already installed

 * CLI: Errors occurred processing action add

 * Repository 'wavilen' was already installed

EliteBook repos.conf # emerge --ask media-plugins/kodi-pvr-iptvsimple

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

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "media-plugins/kodi-pvr-iptvsimple".

emerge: searching for similar names...

emerge: Maybe you meant any of these: media-plugins/kodi-pvr-hts, media-plugins/vdr-iptv, media-plugins/vdr-pvrinput?

```

il mio package.use :

```

app-portage/layman git subversion bazaar cvs darcs g-sorcery gpg mercurial sqlite squashfs sync-plugin-portage
```

il mio layman.cfg:

```

[MAIN]

#-----------------------------------------------------------

# Defines the directory where overlays should be installed

storage   : /var/lib/layman

#-----------------------------------------------------------

# Remote overlay lists will be stored here

# layman will append _md5(url).xml to each filename

cache     : %(storage)s/cache

#-----------------------------------------------------------

# The list of locally installed overlays

installed: %(storage)s/installed.xml

# This has been renamed from the following

# old name  : value use it for updating to new one above

# local_list: %(storage)s/overlays.xml

# either rename the overlays.xml file to installed.xml

# or edit the value above to the current name of your

# installed overlay(s) file.

#-----------------------------------------------------------

# Path to the make.conf file that should be modified by

# layman

make_conf : %(storage)s/make.conf

#-----------------------------------------------------------

# URLs of the remote lists of overlays (one per line) or

# local overlay definitions

#

#overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml

#            http://dev.gentoo.org/~wrobel/layman/global-overlays.xml

#            http://mydomain.org/my-layman-list.xml

#            file:///var/lib/layman/my-list.xml

overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml

#-----------------------------------------------------------

# The directory to scan for xml overlay definition files to include

# in the list of available overlays.  They are automatically added to the

# "overlays" parameter above.  Use either method, but do not add the same

# definition in both.

#

#overlay_defs : /etc/layman/overlays

#-----------------------------------------------------------

# Proxy support

# If unset, layman will use the http_proxy environment variable.

#

#proxy  : http://[user:pass@]www.my-proxy.org:3128

#-----------------------------------------------------------

# Strict checking of overlay definitions

#

# The nocheck option is a bit confusing, for historical reasons.

# Hopefully this description eases the double negation trouble:

#

# nocheck : yes

# - Accepts complete overlay entries without warnings

# - Lists overlays of type foo (say Git) even with no foo installed

#

# nocheck : no

# - Checks overlay entries for missing description or contact

#     information and issue warnings as needed

# - Hides overlays of type foo (say Git) if foo not not installed

#

nocheck  : yes

#-----------------------------------------------------------

# Umask settings

#

# layman should usually work with a umask of 0022. You should

# only change this setting if you are absolutely certain that

# you know what you are doing.

#

#umask  : 0022

#-----------------------------------------------------------

# News reporting settings

#

# This is for when layman is adding/syncing overlays.

# It is required  for GLEP 42.

# Currently there are 3 possible values:

#   portage, pkgcore, custom

#

# portage:  uses portage to report news only from overlay(s) in

#           versions >=2.2.0_alpha72 or >=2.1.10.32

#           or all repositories (including gentoo) for older portage versions.

# pkgcore:  does not yet support glep 42, no news is reported

# custom:   requires that you provide a suitable python function

#           to 'custom_news_func' using the api's config.set_option()

#           or define the python package to import it from in custom_news_pkg

news_reporter: portage

#-----------------------------------------------------------

# News reporting custom function setting

#

# the pkg name that contains the layman_news_function()

# for it to import and use.  It must be found in PYTHONPATH

#custom_news_pkg :

#-----------------------------------------------------------

# Command overrides

#

# You can have commands point to either a binary at a different

# location, e.g.

#

#   /home/you/local/bin/git

#

# or just the command, e.g.

#

#   git

#

# to use PATH-based resolution of the binary to call.

#

#bzr_command        : /usr/bin/bzr

#cvs_command        : /usr/bin/cvs

#darcs_command      : /usr/bin/darcs

#git_command        : /usr/bin/git

#mercurial_command  : /usr/bin/hg

#rsync_command      : /usr/bin/rsync

#svn_command        : /usr/bin/svn

#tar_command        : /bin/tar

#g-common_command   : /usr/bin/g-common

#-----------------------------------------------------------

# Command additional options

#

# These commnad options will be added to the above commands

# when the overlay is added or synced.

#

#    note: there are some options hardcoded in the backend

#          scripts already.  All VCS types listed here are

#          for general consistency.  Options may not be available

#          or recommended for all VCS types and/or add/sync operations.

#          Any options defined here are deemed:

#                "Use at your own risk"

#          and are not supported.

#

#  eg:

#     svn_addopts : --config-option=config:miscellany:use-commit-times=yes

#

#bzr_addopts :

#bzr_syncopts :

#cvs_addopts :

#cvs_syncopts :

#darcs_addopts :

#darcs_syncopts :

#git_addopts :

#git_syncopts :

#mercurial_addopts :

#mercurial_syncopts :

#rsync_syncopts :

#svn_addopts :

#svn_syncopts :

#g-common_generateopts :

#g-common_syncopts :

#-----------------------------------------------------------

# Per VCS Post Sync/Add hooks

#

#  The listed commands will be run after every add/sync operation.

#  All on one line  If the repo path is needed, use a %cwd= in

#  where you want the path substituted in.  It will be detected

#  and replaced with the correct path.

#

#  eg: git_postsync : git-set-file-times

#  eg: git_postsync : git-set-file-times %cwd=

#  eg: git_postsync : git-set-file-times path=%cwd=

#

#bzr_postsync :

#cvs_postsync :

#darcs_postsync :

#git_postsync :

#mercurial_postsync :

#rsync_postsync :

#svn_postsync :

#tar_postsync :

#g-common_postsync :

#-----------------------------------------------------------

# Layman user info

#

#  The user name and email to use when adding new repos

#

#git_user  : layman# Repository config types used by layman

# (repos.conf, make.conf)

conf_type : repos.conf

#git_email : layman@localhost

```

dove sto sbagliando?

----------

## fturco

Prova a postare l'output dei seguenti comandi:

```
layman -l
```

Se hai eix prova con:

```
eix-update

eix kodi-pvr-iptvsimple
```

Ad ogni modo tutti gli ebuild per questo pacchetto sono mascherati e occorre aggiungere la seguente riga a package.accept_keywords:

```
media-plugins/kodi-pvr-iptvsimple **
```

----------

## fedeliallalinea

La cartella /etc/portage/repos.conf/ esiste?

E anche la cartella /var/lib/layman/wavilen/media-plugins/kodi-pvr-iptvsimple esiste?

EDIT: penso che il problema sia che tu hai configurato layman con conf_type : repos.conf ma non hai la cartella /etc/portage/repos.conf/

----------

## saverik

1) La cartella /etc/portage/repos.conf/ esiste? 

saverik@EliteBook /etc/portage/repos.conf $ cat gentoo.conf

[DEFAULT]

main-repo = gentoo

[gentoo]

location = /usr/portage

sync-type = rsync

sync-uri = rsync://rsync.gentoo.org/gentoo-portage

auto-sync = yessaverik@EliteBook /etc/portage/repos.conf $ 

[/code]

2) E anche la cartella /var/lib/layman/wavilen/media-plugins/kodi-pvr-iptvsimple esiste? 

  si esiste ,pero all'interno della cartella ho trovato solo solo la versione 15 e 16 del kodi-pvr-iptvsimple.

 Mentre  kodi da me installato è la versione 14 .

Penso  che questo sia il problema...

----------

## fedeliallalinea

Che versione di layman hai installato?

----------

## saverik

la versione 2

----------

## fturco

Non basta dire versione 2, dato che tutti gli ebuild per app-portage/layman hanno una versione del tipo 2.x.y. Puoi essere più specifico?

----------

## sabayonino

ho la versione 16.0 (gentoo)

plugin installato dall'overlay wavilen:

```
+# required by =media-plugins/kodi-pvr-iptvsimple-16.999 (argument)

+=media-plugins/kodi-pvr-iptvsimple-16.999 **

+# required by media-plugins/kodi-pvr-iptvsimple-16.999::wavilen

+# required by =media-plugins/kodi-pvr-iptvsimple-16.999 (argument)

+=media-libs/kodi-platform-16_p20150805 ~amd64

```

potresti provare con la versione 9999

```
# emerge =media-plugins/kodi-pvr-iptvsimple-9999 --autounmask-write || etc-update
```

aggiorna i file di configurazione richiesti con "-5" (controlla cosa modifica)

e riesegui

```
# emerge =media-plugins/kodi-pvr-iptvsimple-9999
```

probabilmente dovrebbe andr bene anche per la versione 14 (da provare)

```
# eix -Ic layman

[I] app-portage/layman (2.0.0-r3@05/29/2016): Tool to manage Gentoo overlays
```

ma dovresti risolvere prima :

```
* CLI: Errors occurred processing action add

 * Repository 'wavilen' was already installed 
```

hai problemi con GIT ?

----------

## fedeliallalinea

Se hai la versione <=2.0.0-rX non puoi configurare layman con conf_type : repos.conf.

----------

## saverik

per rispondere a fturco (scusandomi per il ritardo della risposta )

Versione layman

```

app-portage/layman-2.0.0-r3  USE="bazaar* cvs* darcs* mercurial* subversion*" 

```

package.use  layman

```

app-portage/layman git subversion bazaar cvs darcs g-sorcery gpg mercurial sqlite squashfs sync-plugin-portage

```

```

EliteBook saverik # layman -l

 * anders-larsson            [Git       ] (https://github.com/anders-larsson/gentoo-overlay.git              )

 * cg                        [Git       ] (https://github.com/brothermechanic/cg.git                         )

 * wavilen                   [Git       ] (https://github.com/wavilen/wavilen-overlay.git                    )

 * zugaina                   [Rsync     ] (rsync://gentoo.zugaina.org/zugaina-portage  

```

----------

## fedeliallalinea

Ok con quella versione di layman non puoi avere la configurazione attuale. 

Dal tuo layman.cfg commenta la linea conf_type : repos.conf e poi esegui questo comando (per maggiori info leggere qui):

```
#echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
```

Fatto questo prova a fare l'emerge del programma che a questo punto dovrebbe trovartelo

----------

## saverik

ok....

Domandona:

ma se invece provassimo a mettere il layman con versione successiva?

In questo modo sarei gia avanti   :Very Happy:   :Very Happy: 

----------

## fedeliallalinea

 *saverik wrote:*   

> ma se invece provassimo a mettere il layman con versione successiva?
> 
> In questo modo sarei gia avanti   

 

Si anche questa e' una soluzione, pero' elimina tutti gli overlay prima visto che poi quando li aggiungi con il metodo repos.conf ti crea in automatico il file layman.conf .

Esempio:

```
$ cat /etc/portage/repos.conf/layman.conf 

[seden]

priority = 50

location = /var/lib/layman/seden

layman-type = git

sync-type = laymansync

sync-uri = git://anongit.gentoo.org/user/seden.git

auto-sync = Yes

[kde]

priority = 50

location = /var/lib/layman/kde

layman-type = git

sync-type = laymansync                                                                                                                              

sync-uri = git://anongit.gentoo.org/proj/kde.git
```

EDIT: non e' vero che devi eliminarli puoi anche lanciare il comando layman-updater -R

----------

## saverik

con rm -r /etc/layman/ non risolvo?

e poi quale versione di layman dovrei installare secondo te?

----------

## saverik

quindi forse e' meglio portare anche kodi alla versione 16 (la mia è 14,1)visto che sabayonino ha la 16 e mi sembra di capire che vada bene...

Quindi da dove comincio????  :Laughing:   :Laughing:   :Laughing:   :Laughing: 

----------

## fedeliallalinea

 *saverik wrote:*   

> con rm -r /etc/layman/ non risolvo?

 

Prima ti ho detto qualcosa di sbagliato rigurdo ad eliminare gli overlay vecchi (vedi edit mio post precedente). Non eliminare niente, comunque in /etc/layman ci sono solo i file di configurazione gli overlay vengono messi in /var/lib/layman.

 *saverik wrote:*   

> e poi quale versione di layman dovrei installare secondo te?

 

Prova con l'ultima disponibile io attualmente ho la 2.3.0-r1.

----------

## saverik

allora

 *Quote:*   

> rm -r /var/lib/layman/

   :Laughing: 

----------

## saverik

Risolto!!!

Ho seguito questa procedura  https://forums.gentoo.org/viewtopic-t-1013084-start-0.html che tradotta in termini molto semplici (sopratutto per me ) si riassume di seguito:

```

1.scaricare dal sito

 https://github.com/dvblogic/xbmc-pvr-addons/archive/helix.zip 

2. unzip helix.zip 

3. aprire un terminale e portarsi nella cartella dove  abbiamo estratto i file 

 cd xbmc-pvr-addons-helix 

4. come root nel terminale digitare " ./bootstrap ", di seguito  " ./configure --enable-addons-with-dependencies" e poi " make -j2 zip "

5. nella subcartella addons della cartella in cui state lavorando troverete tutti i plugins in formato zip che poi farete installare da kodi

```

Per la cronaca dopo avere installato layman 2.3.0-r1 , la versione di kodi 16 non mi si compilava.

Ho dovuto downgradare ed ho seguito la procedura su indicata.

Ringrazio tutti quelli che mi hanno aiutato e spero che questo post possa aiutare qualcun altro.

Buona serata

----------

