# [FAQ] Ebuild scaricati o fatti da me, come usarli?

## idum

Salve a tutti.

Avendo ora un sistema perfettamente funzionante, ho deciso di complicarmi la vita intraprendendo la strada degli ebuilds non ufficiali e in seguito fatti da me.

Vi chiedo pero' di chiarirmi una cosa.

Supponiamo per esempio di voler installare il pacchetto NetBeans che ho scaricato dal sito.

Mi scarico la versione xxxx.bin e la metto in /usr/portage/distfiles

Poi prendo un ebuild che ho trovato in bugs.gentoo.org e lo metto ad esempio in /usr/portage/java-apps/netbeans3.6/

E poi?

voglio dire: il portage trova da solo la posizione dell'ebuild andando a scandire tutto l'albero delle directories, oppure devo fare una qualche sorta di operazione di indicizzazione?

Grazie per l'aiuto  :Smile: 

----------

## fedeliallalinea

https://forums.gentoo.org/viewtopic.php?t=157994

----------

## randomaze

 *idum wrote:*   

> Poi prendo un ebuild che ho trovato in bugs.gentoo.org e lo metto ad esempio in /usr/portage/java-apps/netbeans3.6/
> 
> 

 

http://www.gentoo.org/doc/it/handbook/handbook.xml?part=2&chap=4#doc_chap3

 *Quote:*   

> voglio dire: il portage trova da solo la posizione dell'ebuild andando a scandire tutto l'albero delle directories

 

Si

----------

## idum

Allora, seguendo le indicazioni ho modificato il file /etc/make.conf aggiungendo la riga:

```
 PORTDIR_OVERLAY=/usr/local/portage 
```

Ho dunque creato il percorso /usr/local/portage/java-apps/Netbeans3.6 e ci ho copiato il file scaricato da internet netbeans-3_6-linux.bin (messo anche in /usr/portage/packages ) e l'ebuild netbeans-3_6-linux.ebuild di cui riporto il testo:

```

# Copyright 1999-2004 Gentoo Technologies, Inc.

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

# $Header: /home/cvsroot/gentoo-x86/dev-util/netbeans/netbeans-3.5.1.ebuild,v 1.5 2004/04/15 16:29:17 kugelfang Exp $

IUSE="kde gnome"

MY_P=netbeans-${PV/./_}

S=${WORKDIR}/${PN}

DESCRIPTION="NetBeans ${PV} IDE for Java"

SRC_URI="http://www.netbeans.org/download/release${PV//.}/promoted/FCS/${MY_P}.tar.bz2"

HOMEPAGE="http://www.netbeans.org"

SLOT="0"

LICENSE="GPL-2 Apache-1.1 sun-bcla-j2ee JPython SPL"

KEYWORDS="x86 sparc ~alpha ~ppc ~amd64"

#still need to add JPython, Sun Public and DynamicJava licenses

#sun-j2ee actually contains Sun Binary Code license

#will have to be renamed and containing it ebuilds updated at spome point..

RESTRICT="nomirror"

DEPEND=">=virtual/jdk-1.3

   >=sys-apps/sed-4"

src_unpack() {

   unpack ${A}

   # fix jdkhome references

   cd ${S}/bin

   # runide.sh

   sed -i -e 's:^jdkhome="":jdkhome="`java-config --jdk-home`":' \

        runide.sh

}

src_install() {

   # remove non-x86 Linux binaries

   rm -f ${S}/bin/runide*.exe ${S}/bin/rmid_wrapper.exe

   rm -f ${S}/bin/runide_exe_defaults

   rm -f ${S}/bin/runide*.com

   rm -f ${S}/bin/runideos2.cmd

   rm -f ${S}/bin/fastjavac/fastjavac.exe

   rm -f ${S}/bin/fastjavac/fastjavac.sun

   rm -f ${S}/bin/fastjavac/fastjavac.sun.intel

   rm -f ${S}/bin/unsupported/*.bat

   # Remove MacOS X Binaries?  This doesn't necessarily make

   # sense because MacOS X could live happily beside Gentoo.

   rm -f ${S}/bin/macosx_launcher.dmg

   dodir /opt/${P}

   dodoc build_info

   dohtml CHANGES.html CREDITS.html README.html netbeans.css

   # note: docs/ are docs used internally by the IDE

   cp -Rdp beans bin \

      docs lib \

      modules sources \

      system tomcat406 \

      update_tracking ${D}/opt/${P}

   keepdir /opt/${P}/lib/patches \

      /opt/${P}/modules \

      /opt/netbeans-3.6/tomcat406/server/classes \

      /opt/netbeans-3.6/tomcat406/classes \

      /opt/netbeans-3.6/modules/ext/locale

   dodir /usr/bin

   dosym /opt/${P}/bin/runide.sh /usr/bin/netbeans

   # If either Gnome or KDE are installed, then install the icons.

   if [ "`use gnome || use kde`" ] ; then

      echo "Adding icons...."

      insinto /usr/share/pixmaps

      doins ${FILESDIR}/netbeans.png

   fi

   # If Gnome is installed, then copy in the desktop entry.

   if [ "`use gnome`" ] ; then

      einfo "Adding Gnome support...."

      insinto /usr/share/gnome/apps/Development

      doins ${FILESDIR}/netbeans.desktop

      echo "Exec=/opt/${P}/bin/runide.sh" >> ${D}/usr/share/gnome/apps/Development/netbeans.desktop

      echo >> ${D}/usr/share/gnome/apps/Development/netbeans.desktop

   fi

   # If KDE is installed, the copy in the menu entry to the

   # "Development" menu.

   # Unfortunately, the file doesn't contain any internationalized

   # text at the moment.

   if [ "`use kde`" ] ; then

      einfo "Adding KDE support...."

      DESKTOP_FILE=netbeans-KDE.desktop

      DESKTOP_DIR=${KDEDIR}/share/applnk/Development

      DESKTOP=${DESKTOP_DIR}/${DESKTOP_FILE}

      insinto ${DESKTOP_DIR}

      doins ${FILESDIR}/${DESKTOP_FILE}

      echo "Name=NetBeans ${PV}" >> ${D}/${DESKTOP}

      echo "Exec=/usr/bin/netbeans" >> ${D}/${DESKTOP}

      echo "Icon=/usr/share/pixmaps/netbeans.png" >> ${D}/${DESKTOP}

      echo >> ${D}/${DESKTOP}

   fi

}

```

ho poi lanciato 

```
 emerge -f /usr/local/portage/java-apps/NetBeans3.6/netbeans-3_6-linux.ebuild 
```

ma non e' riuscito a fare il fetch, dandomi questo errore:

 *Quote:*   

> 
> 
> !!! Problem with determining the name/location of an ebuild.
> 
> !!! Please report this on IRC and bugs if you are not causing it.
> ...

 

Immagino che lo script sia stato fatto/ricavato da quello per il portage tree principale, e forse per questo non funziona. 

Dove secondo voi e' il problema?

Ovvero, come posso modificare lo script per adattarlo alla mia configurazione?

Saluti

EDIT:

Ho riletto con calma e ho visto che, mancandomi i sorgenti [s]foirse[/s] non devo fare il fetch.

Ho allora lanciato il digest:

```
 ebuild netbeans-3_6-linux.ebuild digest 
```

ma anche qui mi ha dato l'errore: 

 *Quote:*   

> 
> 
> !!! Error: PF is null 'netbeans-3_6-linux'; exiting. 

 Last edited by idum on Fri May 14, 2004 2:30 pm; edited 1 time in total

----------

## MyZelF

perchè non usi l'ebuild già presente nel portage tree, ma ancora masked per installare netbeans 3.6?   :Rolling Eyes: 

```
emerge -va /usr/portage/dev-util/netbeans/netbeans-3.6.ebuild
```

----------

## randomaze

 *idum wrote:*   

> Ho dunque creato il percorso /usr/local/portage/java-apps/Netbeans3.6
> 
> 

 

A giudicare da messaggi di errore il problema é la directory, non il digest!

Prova ad usare: /usr/local/portage/java-apps/netbeans

----------

## idum

 *MyZelF wrote:*   

> perchè non usi l'ebuild già presente nel portage tree, ma ancora masked per installare netbeans 3.6?  
> 
> ```
> emerge -va /usr/portage/dev-util/netbeans/netbeans-3.6.ebuild
> ```
> ...

 

Piu' che altro mi serve per capire come fare a far girare un ebuild che ho trovato in giro e ho fatto io. Del netbeans in se non e' che mi interessa più di tanto  :Smile: 

----------

## idum

 *randomaze wrote:*   

>  *idum wrote:*   Ho dunque creato il percorso /usr/local/portage/java-apps/Netbeans3.6
> 
>  
> 
> A giudicare da messaggi di errore il problema é la directory, non il digest!
> ...

 

non funge, ne usando la directory netbeans ne usando la directory netbeans-3_6-linux

----------

## MyZelF

Prova usando:

```
<...>/netbeans/netbeans-3.6.ebuild
```

(rinomina anche l'ebuild, oltre alla directory)

----------

## idum

 *MyZelF wrote:*   

> Prova usando:
> 
> ```
> <...>/netbeans/netbeans-3.6.ebuild
> ```
> ...

 

Bingo.

Ora i digest e il fetch funzionano.

Pero' non mi emerge il pacchetto.

Lanciando infatti:

```
 emerge /usr/local/portage/java-apps/netbeans/netbeans-3.6.ebuild 
```

(anche emerge -k da lo stesso risultato)

mi da come errore:

 *Quote:*   

> >>> emerge (1 of 1) java-apps/netbeans-3.6 to /
> 
> >>> md5 src_uri  netbeans-3_6.tar.bz2
> 
> >>> Unpacking source...
> ...

 

Il che e' giustificato dato che il pacchetto netbeans-3_6.tar.bz2 non ce l'ho, visto che il file scaricato è netbeans-3_6-linux .bin

In questo caso, come dovrei fare?

----------

## MyZelF

Credo che del .bin questa ebuild se ne faccia ben poco. Devi scaricare il .bz2 (copiandolo a mano in /usr/portage/distfiles o lasciando che se ne occupi l'ebuild) ed eventualmente rifarne il digest.

Se è effettivamente presente un .bz2 corrotto o incompleto in /usr/portage/distfiles, rimuovilo o fanne il resume.

----------

## idum

Right.

Ho scaricato il giusto file ora e tutto dovrebbe andar bene  :Smile: 

grazie. 

Altro topic altro giro  :Very Happy: 

----------

