# portage y sus paquetes (solucionado)

## natxoblogg

Hola a todos, desde hace ya mucho tiempo que envié el firefox y el seamonley muy lejos de mi vida, y con opera y chromium vivo de lo más bien, el problema me surge ahora que quiero actualizar el gnome-light, este me pide que instale una nueva versión del xulrunner, después de estar indagando xulrunner solo es requerido por firefox o por seamonkey, navegadores que ya no tengo instalados, asi que me gustaría saber como puedo quitarlo de la lista de los world, o como hacer para que no me salga cuando hago "emerge -avu gnome-light". En otro caso hubiera dicho, bueno pues si necesito el xulrunner actualizado, pues nada, lo actualizo y punto, el problema es:

1-  que me casca en la compilación.

2-  no me sirven otras versiones que no sean 1.9.0.10. 

3-  para que quiero algo que no voy a utilizar

Cuando hice un "emerge --deepclean world" este no podía, puesto que tengo la siguiente dependencia:

```
 *   net-libs/xulrunner:1.9 pulled in by:

 *     gnome-extra/yelp-2.24.0-r10
```

Estuve mirando y indagando y "yelp", es el módulo de ayuda del gnome, y necesita xulrunner para la ayuda en linia, para llamar al firefox o seamonkey y abra esta ayuda, vamos que nada, que me requiere el xulrunner por si acaso tengo el firefox. Puesto que creo que estoy en lo cierto y xulrunner no me sirve de nada y podria finiquitarlo frescamente, pregunto:

¿como puedo quitar de que me diga que tiene que instalar el xulrunner cuando actualizo gnome-light?

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

Calculating dependencies... done!

[ebuild  NS   ] net-libs/xulrunner-1.9.0.10 [1.8.1.19] USE="-custom-optimization 

 -dbus -gnome -java -startup-notification" 0 kB

[ebuild     U ] gnome-extra/yelp-2.26.0 [2.24.0-r10] USE="-beagle -debug -lzma"  

0 kB

[ebuild     U ] gnome-base/gnome-light-2.26.3 [2.24.1] 0 kB

Total: 3 packages (2 upgrades, 1 in new slot), Size of downloads: 0 kB
```

Grácias por adelantado.

----------

## Txema

Creo que solo puedes hacer una cosa, eliminar la línea

```
net-libs/xulrunner:1.9
```

del archivo /usr/portage/gnome-extra/yelp/yelp-2.26.0.ebuild

Pero para eso tendrás que hacerte un overlay local, es muy sencillo, pero tendrás que mantener el paquete a mano, es decir, que al actualizarse tendrás que copiar el nuevo ebuild y volver a realizar este proceso.

Hay guías sobre overlays en la ayuda de Gentoo, si tienes alguna duda o problema dinoslo  :Wink: 

Saludos.

----------

## natxoblogg

He leido la documentación y ya tengo instalado layman, el problema es, que ¿cómo hago lo que me dices txema?, ¿cómo me hago un overlay local?

----------

## gringo

en la documentación oficial viene tb. en algún lao, pero aqui tb. lo explican, sección "Creating a local overlay" :

http://en.gentoo-wiki.com/wiki/Overlay

en el overlay que hayas creado copias el ebuild que te dice Txema eliminando la línea en cuestión y luego simplemente haces un ebuild yelp-2.26.0.ebuild manifest para que portage lo lea.

Otra idea es simplemente inyectar temporalmente xulrunner o editar las dependencias de gnome-light para que no incluya yelp, aunque lo suyo es que arregles el problema de compilación de xulrunner.

saluetes

----------

## natxoblogg

Hola a todos, perdon por no contestar antes (por fin me han echo tio!!) y gracias por los cometarios me han servido de mucha ayuda.

he echo lo que Gringo y Txema me han cometado respecto a los overlays, y ahora ya no me pide el xulrunner para actualizar, el problema es este:

```
ganyan ~ # emerge -avu gnome-light

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

Calculating dependencies... done!

[ebuild     U ] gnome-extra/yelp-2.26.0 [2.24.0-r10] USE="-beagle -debug -lzma" 0 kB [0=>1]

[ebuild     U ] gnome-base/gnome-light-2.26.3 [2.24.1] 0 kB [0]

Total: 2 packages (2 upgrades), Size of downloads: 0 kB

Portage tree and overlays:

 [0] /usr/portage

 [1] /usr/local/portage

Would you like to merge these packages? [Yes/No] 

>>> Verifying ebuild manifests

>>> Starting parallel fetch

>>> Emerging (1 of 2) gnome-extra/yelp-2.26.0 from unknown repo

 * yelp-2.26.0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                         [ ok ]

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

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

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

>>> Unpacking source...

>>> Unpacking yelp-2.26.0.tar.bz2 to /var/tmp/portage/gnome-extra/yelp-2.26.0/work

 * Fixing OMF Makefiles ...                                                                                                                                                     [ ok ]

 * Running elibtoolize in: yelp-2.26.0

 *   Applying portage-1.5.10.patch ...

 *   Applying sed-1.5.6.patch ...

 *   Applying as-needed-1.5.26.patch ...

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 * 

 *   /usr/local/portage/gnome-extra/yelp/files/yelp-2.26.0-automagic-lzma.patch

 *   ( yelp-2.26.0-automagic-lzma.patch )

 * 

 * ERROR: gnome-extra/yelp-2.26.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_unpack

 *             environment, line 2966:  Called epatch '/usr/local/portage/gnome-extra/yelp/files/yelp-2.26.0-automagic-lzma.patch'

 *             environment, line 1526:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 *  The die message:

 *   Cannot find $EPATCH_SOURCE!

 * 

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

 * A complete build log is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/portage/'

 * 

>>> Failed to emerge gnome-extra/yelp-2.26.0, Log file:

>>>  '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/build.log'

 * Messages for package gnome-extra/yelp-2.26.0:

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 * 

 *   /usr/local/portage/gnome-extra/yelp/files/yelp-2.26.0-automagic-lzma.patch

 *   ( yelp-2.26.0-automagic-lzma.patch )

 * 

 * ERROR: gnome-extra/yelp-2.26.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_unpack

 *             environment, line 2966:  Called epatch '/usr/local/portage/gnome-extra/yelp/files/yelp-2.26.0-automagic-lzma.patch'

 *             environment, line 1526:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 *  The die message:

 *   Cannot find $EPATCH_SOURCE!

 * 

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

 * A complete build log is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/portage/'

 * 
```

Vamos que no tengo ni idea, de lo que es la variable "$EPATCH_SOURCE", ¿¿que hago??

Gracias.

----------

## gringo

además del ebuild tienes que copiar el directorio files que es donde están los parches que busca EPATCH_SOURCE ( entre otras cosas).

perdón por no haberlo aclarado ya desde el principio.

saluetes

----------

## natxoblogg

Gracias Gringo, ya sale todo bien, menos por un incombeniente. Me peta la compilación!!  :Sad: 

he estado mirando el "/var/tmp/portage/gnome-extra/yelp-2.26.0/work/yelp-2.26.0/config.log" para ver si en verdad xulrunner tienes una dependencia con yelp, pero no he encontrado nada.

No creo que esto sea para colgarlo en bugzilla ya que es algo que he tocado mio, de todas maneras este es su log, por si quereis echarle un vistazo:

```
>>> Unpacking source...

>>> Unpacking yelp-2.26.0.tar.bz2 to /var/tmp/portage/gnome-extra/yelp-2.26.0/work

 * Fixing OMF Makefiles ...                                                                                                                                                     [ ok ]

 * Running elibtoolize in: yelp-2.26.0

 *   Applying portage-1.5.10.patch ...

 *   Applying sed-1.5.6.patch ...

 *   Applying as-needed-1.5.26.patch ...

 * Applying yelp-2.26.0-automagic-lzma.patch ...                                                                                                                                [ ok ]

 * Running eautoreconf in '/var/tmp/portage/gnome-extra/yelp-2.26.0/work/yelp-2.26.0' ...

 * Running aclocal -I m4 ...                                                                                                                                                    [ ok ]

 * Running libtoolize --copy --force --install --automake ...                                                                                                                   [ ok ]

 * Running aclocal -I m4 ...                                                                                                                                                    [ ok ]

 * Running autoconf ...                                                                                                                                                         [ ok ]

 * Running autoheader ...                                                                                                                                                       [ ok ]

 * Running automake --add-missing --copy ...                                                                                                                                    [ ok ]

>>> Source unpacked in /var/tmp/portage/gnome-extra/yelp-2.26.0/work

>>> Compiling source in /var/tmp/portage/gnome-extra/yelp-2.26.0/work/yelp-2.26.0 ...

 * econf: updating yelp-2.26.0/config.guess with /usr/share/gnuconfig/config.guess

 * econf: updating yelp-2.26.0/config.sub with /usr/share/gnuconfig/config.sub

./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-gecko=libxul-embedding --disable-lzma --with-search=basic

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether to enable maintainer-specific portions of Makefiles... no

checking whether NLS is requested... yes

checking for style of include used by make... GNU

checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables... 

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether i686-pc-linux-gnu-gcc accepts -g... yes

checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed

checking dependency style of i686-pc-linux-gnu-gcc... gcc3

checking for intltool >= 0.35.0... 0.40.5 found

checking for intltool-update... /usr/bin/intltool-update

checking for intltool-merge... /usr/bin/intltool-merge

checking for intltool-extract... /usr/bin/intltool-extract

checking for xgettext... /usr/bin/xgettext

checking for msgmerge... /usr/bin/msgmerge

checking for msgfmt... /usr/bin/msgfmt

checking for gmsgfmt... /usr/bin/gmsgfmt

checking for perl... /usr/bin/perl

checking for XML::Parser... ok

checking for gconftool-2... /usr/bin/gconftool-2

Using config source xml:merged:/etc/gconf/gconf.xml.defaults for schema installation

Using $(sysconfdir)/gconf/schemas as install directory for schema files

checking whether ln -s works... yes

checking for i686-pc-linux-gnu-gcc... (cached) i686-pc-linux-gnu-gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether i686-pc-linux-gnu-gcc accepts -g... (cached) yes

checking for i686-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed

checking dependency style of i686-pc-linux-gnu-gcc... (cached) gcc3

checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++

checking whether we are using the GNU C++ compiler... yes

checking whether i686-pc-linux-gnu-g++ accepts -g... yes

checking dependency style of i686-pc-linux-gnu-g++... gcc3

checking for i686-pc-linux-gnu-gcc... (cached) i686-pc-linux-gnu-gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether i686-pc-linux-gnu-gcc accepts -g... (cached) yes

checking for i686-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed

checking dependency style of i686-pc-linux-gnu-gcc... (cached) gcc3

checking for library containing strerror... none required

checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking for a sed that does not truncate output... /bin/sed

checking for fgrep... /bin/grep -F

checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking the maximum length of command line arguments... 1572864

checking whether the shell understands some XSI constructs... yes

checking whether the shell understands "+="... yes

checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r

checking for i686-pc-linux-gnu-objdump... i686-pc-linux-gnu-objdump

checking how to recognize dependent libraries... pass_all

checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar

checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip

checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib

checking command to parse /usr/bin/nm -B output from i686-pc-linux-gnu-gcc object... ok

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking for dlfcn.h... yes

checking whether we are using the GNU C++ compiler... (cached) yes

checking whether i686-pc-linux-gnu-g++ accepts -g... (cached) yes

checking dependency style of i686-pc-linux-gnu-g++... (cached) gcc3

checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E

checking for objdir... .libs

checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no

checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC

checking if i686-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes

checking if i686-pc-linux-gnu-gcc static flag -static works... yes

checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes

checking if i686-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes

checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking for ld used by i686-pc-linux-gnu-g++... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC -DPIC

checking if i686-pc-linux-gnu-g++ PIC flag -fPIC -DPIC works... yes

checking if i686-pc-linux-gnu-g++ static flag -static works... yes

checking if i686-pc-linux-gnu-g++ supports -c -o file.o... yes

checking if i686-pc-linux-gnu-g++ supports -c -o file.o... (cached) yes

checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking for i686-pc-linux-gnu-pkg-config... no

checking for pkg-config... /usr/bin/pkg-config

checking pkg-config is at least version 0.16... yes

checking for GLIB - version >= 2.0.0... yes (version 2.20.5)

checking whether i686-pc-linux-gnu-gcc and cc understand -c and -o together... yes

checking whether gcc understands -Wno-sign-compare... yes

checking what warning flags to pass to the C compiler... -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare

checking what language compliance flags to pass to the C compiler... 

checking what warning flags to pass to the C++ compiler... -Wall -Wno-unused

checking what language compliance flags to pass to the C++ compiler... 

checking locale.h usability... yes

checking locale.h presence... yes

checking for locale.h... yes

checking for LC_MESSAGES... yes

checking libintl.h usability... yes

checking libintl.h presence... yes

checking for libintl.h... yes

checking for ngettext in libc... yes

checking for dgettext in libc... yes

checking for bind_textdomain_codeset... yes

checking for msgfmt... (cached) /usr/bin/msgfmt

checking for dcgettext... yes

checking if msgfmt accepts -c... yes

checking for gmsgfmt... (cached) /usr/bin/gmsgfmt

checking for xgettext... (cached) /usr/bin/xgettext

checking for YELP... yes

checking for gsed... (cached) /bin/sed

checking for X... libraries , headers 

checking for gethostbyname... yes

checking for connect... yes

checking for remove... yes

checking for shmat... yes

checking for IceConnectionNumber in -lICE... yes

checking for gzopen in -lz... yes

checking for bzread in -lbz2... no

checking for BZ2_bzread in -lbz2... yes

checking for gawk... (cached) gawk

checking which gecko to use... libxul-embedding

checking manual gecko home set... Package libxul-embedding was not found in the pkg-config search path.

Perhaps you should add the directory containing `libxul-embedding.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libxul-embedding' found

Package libxul-embedding-unstable was not found in the pkg-config search path.

Perhaps you should add the directory containing `libxul-embedding-unstable.pc'

to the PKG_CONFIG_PATH environment variable

No package 'libxul-embedding-unstable' found

checking for compiler -fshort-wchar option... yes

checking whether to enable C++ RTTI... no

checking whether we have a gtk 2 gecko build... configure: error: This program needs a gtk 2 gecko build

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/gnome-extra/yelp-2.26.0/work/yelp-2.26.0/config.log

 * 

 * ERROR: gnome-extra/yelp-2.26.0 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2973:  Called gnome2_src_compile

 *             environment, line 2335:  Called gnome2_src_configure

 *             environment, line 2349:  Called econf '--with-gecko=libxul-embedding' '--disable-lzma' '--with-search=basic'

 *               ebuild.sh, line  534:  Called die

 * The specific snippet of code:

 *            die "econf failed"

 *  The die message:

 *   econf failed

 * 

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

 * A complete build log is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/gnome-extra/yelp-2.26.0/temp/environment'.

 * This ebuild is from an overlay: '/usr/local/portage/'
```

¿se puede hacer algo?, ¿alguna idea?

Gracias por adelantado.

----------

## gringo

 *Quote:*   

> Me peta la compilación!!

 

peta por algo obvio : yelp depende estrictamente de esa versión de xulrunner para funcionar. No encuentra esa dependencia instalada y por tanto peta.

Por eso te comentaba arriba que si quieres pasar de yelp, lo mejor es que comentes esa dependencia en el metapaquete gnome-light.

saluetes

----------

## natxoblogg

ok ya está, muchas gracias Gringo y Txema por vuestra paciencia.

----------

