Descentraliza tu portage [ aka overlay's ]

Se que muchos de vosotros usais Gentoo a diario y que muchos os la conoceis como si fuera la palma de vuestra mano. Sin embargo otros no la conocen tanto o quizá son nuevos entre nosotros y aún no han tenido tiempo de aprender algunas 'cosas' de esta distro.

Hace unos meses, cuando khosu volvió de su retiro espiritual escribí un pequeño mensaje hablando de las bondades de gentoolkit. Hoy toca hablar un poco de una utilidad incluida en gentoolkit-dev: gensync.

gensync permite sincronizar repositorios no oficiales e integrarlos fácilmente en portage. Estos repositorios no oficiales son los llamados 'overlays' y hay que tener cuidado porque tienen mayor precedencia que el repositorio oficial de gentoo.

overlays, ... ¿ ein ?
Existen muchísimos overlays, los más conocidos son los de BreakMyGentoo que tienen lo últimísimo en paquetes y están hechos para muchachotes que adoran arreglar su sistema cada pocos días :P Otros overlays son los que mantienen los desarrolladores de Gentoo. Suelen ser ebuilds en pruebas o que nunca entrarían en portage. Y por último los overlays de usuarios de Gentoo desperdigados por 'la internet'.

Muy bonito... ¿y qué?
Hay algunos paquetes que nunca entrarían en portage por lo nuevos, lo 'tontos', o por su naturaleza "potentially breaker". Sin embargo usuarios y desarrolladores los usamos a diario porque los necesitamos. Hacer ebuilds y mantenerlos es algo relativamente simple pero no siempre se tiene el tiempo y ganas necesarios; los overlays permiten una integración perfecta en portage y son prácticamente transparentes para el usuario.

¿Y qué hay de la seguridad?
Este es un punto muy importante. Portage aún no integra el verificar las firmas de los Manifest aunque en un 90% estos están firmados por sus creadores. Los overlays es IMPRESCINDIBLE descargarlos desde sitios de confianza y, a ser posible, con los digests firmados. Normalmente los desarrolladores de Gentoo tenemos nuestros overlays en http://dev.gentoo.org. Sin embargo no todos son fácilmente accesibles desde gensync.

¿Y qué tiene que ver los ****nes para comer trigo?
Bien, pues una vez conocidos los overlays y sus implicaciones ya podemos decir que con gensync podremos descargar overlays desde servidores rsync. Simplemente necesitamos instalar app-portage/gentoolkit-dev y crearnos un fichero del tipo /etc/gensync/NOMBRE.syncsource de la siguiente forma:

# This id must be unique among all the ids in /etc/gensync/*.syncsource
id="gates-overlay"

# This is a human-readable description of the source
description="Bill Gates' overlay"

# The rsync url
rsync="rsync://url/to/download/it"


Luego ejecutar gensync gates-overlay y ver cómo se actualiza.

NOTA: Necesitas tener el directorio donde lo vas a descargar en tu variable PORTDIR_OVERLAY. Añadiendo algo como PORTDIR_OVERLAY="/usr/local/overlays/gates-overlay /usr/local/overlays/otro-overlay" debería funcionar perfectamente.

---------- Misc

Yo quiero dar al público mi overlay. ¿Qué hago?
Si este es tu caso, contáctame por jabber y vemos cómo lo añadimos a los repositorios de gentoo-es.org.

¿Tu mantienes un overlay?
Si; pero mi overlay público ahora mismo apenas tiene un par de paquetes (que quizá te interesen o no :P), lo tienes en http://dev.gentoo.org/~ferdy/overlay/ y en rsync://gentoo-es.org/overlay-ferdy/. He adjuntado el .gensyncsource de mi overlay.

---------- Misc 2

Quizá haya un número de personas interesadas en mantener un overlay de los usuarios de EOL. En tal caso lo comentamos y vemos de cómo coordinarnos.

---------- Standard Disclaimer

No soy responsable del mal que pueda sufrir tu cabeza después de haber aguantado todo este peñazo. Tampoco soy responsable de lo que hayas aprendido/olvidado ni de lo que rompas/arregles.

Salu2.Ferdy

Adjuntos

Jué! Muchísimas gracias! Estas explicaciones que se dan por aquí de vez en cuando, sin tener que ver con nada, porque sí, me encantan! Siempre se descubren cosas nuevas. Gentoo tiene taaaaanto que aprender... que me abruma.

En fin, dudo que un novatazo como yo pueda encontrarle la utilidad a esto... pero em ha venido muy bien saberlo. En un futuro, espero tener, saber, y poder utilizarlo.

Muchas cenkius!

Un saludo!

P.D: Hombre, el repositorio EOL estaría chulo. Pa chulos... nosotros.
Vaya, no conocía yo esto. Pero yo soy demasiado conservador como para poblar demasiado mi overlay. Tengo un puñado de ebuilds ahí, eso sí, o bien descargados (mplayer32-bin y plugins para x86-64), o bien míos (xvid-x86_64, yasm-cvs, gxmame con parche propio, 3ddesk con parche propio, torsmo con otro parche propio -tengo la sana costumbre de toquetear el código de todo lo que no me convence, bendito open source :P-). Pero descargar overlays enteros... demasiado. Yo soy de los que ante cualquier segfault temo por problemas de memoria y me pongo nervioso; con el overlay de breakmygentoo no creo que pudiese dormir XD.
Narf, ¿ para esos parches contactaste al upstream ?

Salu2.Ferdy
Ferdy escribió:Narf, ¿ para esos parches contactaste al upstream ?

¿Te refieres a antes o a después de hacerlos?

Si es a antes... no. Si algo en algún programa (sencillo) no me convence, lo primero que hago es mirar si alguna versión masked lo implementa, luego si hay alternativa parecida que sí lo haga... y luego voy al código directamente. No sólo porque acabo antes, sino porque me entretiene ;).

Si es a después... generalmente no [ayay]. Sé que debería, pero no suelo dejarlo muy... "limpio", que digamos, y en algunos casos destrozo funcionalidades que no me interesan para lograr la que sí quiero. Por ejemplo, tengo un parche propio para el kernel (para powernow-k8.c, en concreto) para poner "a mano" los valores de voltaje del micro, en lugar de leerlos de la tabla de la bios como hace powernow-k8. Así tengo el micro a 1.4V en lugar de 1.5V, y puedo poner el ventilador al mínimo y disfrutar de algo de silencio. Pero ese parche es una chapuza como una catedral XD, que cablea el voltaje en el código. Parches como ése los dejo para mí, o los posteo en algun foro como mucho (en el caso del de powernow lo hice en el de am64 de gentoo y en el de linux de forospc).

En cambio, el último que he hecho (este mismo mediodía), para el torsmo, para que sea capaz de comprobar varios maildirs en lugar de uno solo, sí se lo voy a enviar. Creo que es interesante, y es... "visible" :P.

Un saludo.
Excelente post de esos que no te esperas.

Yo sólo había usado el overlay para cosas concretas, pero nunca ni remotamente tan a fondo como todo lo que se puede llegar a hacer con lo que comentas. Tendré que mirar todo a fondo para ver posibilidades interesantes.

Como decía alguien hace pocos días: "da gusto tener a un devel por casa".

Saludos.
bpeople escribió:
Como decía alguien hace pocos días: "da gusto tener a un devel por casa".

Saludos.


[beer] [beer] Opino como Narf, lo dijo quelcom me parece! xD

Yo estoy como Narf, si ya me da miedo meter "~x86", como pa probar ebuilds recién creados!, Sin duda alguna creo que este método ayudará a depurar más los programas ^_^!

Salu2 ;)
Sobre todo porque no todos los ebuilds pueden ir al portage así como así y de esta forma a un overlay puede ir cualquier cosa :P

Es muy similar a los repositorios APT, una cosa que siempre eché de menos en Gentoo. Si te fias de la fuente y necesitas uno de los paquetes que allí tienen, funcionan de lujo :P

Yo personalmente mantengo dos o tres overlays aunque solo uno público el otro es de desarrollo; y facilitan mucho las cosas.

Salu2.Ferdy
Yo hecho un falta un overlay con paquetes pesados ya compilados, sobre todo, para conseguir el OpenOffice en español.
Es cuestión de ponerse y montarlo; en gentoo-es hay espacio y ancho de banda. ¿voluntarios para llevarlo?

Salu2.Ferdy
Yo siempre me he preguntado dónde quedó ese overlay de gentoo-es porque sé que sí que hay gente que subía los paquetes compilados. A mí desde luego no me importaría subir los que yo compile, ni tampoco me importaría llevar el asunto dentro de gentoo-es, el problema es que, como sabéis no tengo ni **** idea de gentoo ni de linux en general XD. Pero bueno, cualquier mano que pueda echar ó cosa que pueda hacer, sin dudarlo, colaboro.

Ferdy, podrías explicar un poco qué cosas habría que hacer exactamente? Lo digo para que la gente se haga una idea...
La propuesta es muy interesante.

Un saludo!
Bueno, en principio en gentoo-es nunca hubo un overlay de paquetes compilados; había gente que subía sus paquetes para dejarselos a las personas que los quisieran.

Para un overlay con paquetes binarios, estos deberían ser parecidos a los mozilla-firefox-bin y a openoffice-bin

Salu2.Ferdy
¡La virgen, me levanto tarde y me veo esto! Oooh

Ferdy tio, estás hecho un monstruo, no sabes como se agradecen tus posts [oki]

Pues mira, otra cosa que no sabía de Gentoo, y que seguramente me vendrá muy bien si hay overlays para AMD64 porque, admitamoslo, todavía hay demasiados paquetes masked en esta arquitectura (y otros tantos que directamente no están).

¡Saludos! ;)
Eso es lo que me preguntaba: Recuerdo que en gentoo-es habían paquetes compilados para amd y pentium 4, pero eso no sabía si ya era overlay o no.
El problema es que empezó bien, pero si no se actualizan pierden utilidad.

Referente a lo de voluntarios pues contad con mi CPU (si, parece ESDLA :P ).
Ese es el mayor problema, por eso nunca llegó a ser un overlay si no que el que quería allí los subía y ya está.

Si hay ganas de hacer un overlay, en gentoo-es hay infraestructura y ancho de banda suficiente. Solo hace falta que alguien se encargue de mantenerlo y de gente que haga los ebuilds :P

khosu, es que si no recuerdo mal se estropeó el amd64 de desarrollo que teníamos, y los arch-maintainers no dan a basto sin ayuda. En el bugzilla de gentoo hay bugs en los que se incluye amd64@gentoo.org en el CC; esos suelen ser para estabilizar paquetes y tal. Os recomiendo que os paseis y por lo menos reportar si compilan o no; es la mejor forma de que las cosas vayan a estable :P

Salu2.Ferdy
14 respuestas