Arador | empeiza la segunda conferencia |
---|---|
Arador | sobre gentoo |
Arador | Es Nicolas Jones |
Arador | el corrdinador del Proyecto Linux |
Arador | y va a presetnar portage |
Arador | el sistema de paquetes |
Arador | carpaski: todo tuyo ;) |
Arador | correcion: carpaski mantiene portage |
Arador | Gentoo, como todos habreis oido, es una meta distribucion de ports de linux |
Arador | Una distribucion derivada efectivamente de scripts |
Arador | el conferenciante ahora es Nicholas |
Arador | Por meta distribucion quiero decir que el sistema entero esta derivado efectivamente de srcipts. Los scripts y las aplicaciones que ejecutan son conocidos como portage |
Arador | Cada script (conocido ocmo ebuild) provee datos descriptivos, informacion sobre dependencias, y codigo para compialr un solo paquete |
Arador | Los datos escriptivos contien informacion como licencias, una descripcion, pagians web, y localizaciones de bolas tar. muy similar a lo que encontrarias en una especificacion rpm o en los makefiles y pkg-* de freebsd |
Arador | Portage provee la capacidad de buscar descripciones y titulos de los paquetes instalardos en un sistema con solo emerge -s paquete o emerge -S paquete |
Arador | esto por supuesto provee a los administradoresuna manera muy facil de conservar a usu usuarios con las aplicaciones que necesitan para ser productivos |
Arador | La buscqueda por descripcion es lenta en los meta-datos combinados y los datos de construccion asique portage lo acomoda ysando un cache de meta-datos que contiene datos pre-parseados de ebuilds |
Arador | La maneera de llevar las dependenicas es el punto fuerte del sistema portage de gentoo |
Arador | las banderas USE proveen un conjunto de estados muy bien definidos que describenlos componentese principales |
Arador | hay 120 estados que definen a los componentes como soporte Arts y XMMS, tipos de bases de datos, librerias graficas, y soporte de X-window |
Arador | portage intenta mezvclar la facilidad de manutencion con la configuracion avanzada para dar al administrador el sistema mas util y potente que puedan tener |
Arador | portage tambien intenta tener en cuenta paquetes que has añadido usando las banderas USE en tu sistema |
Arador | introducir jre cousa que se añada "java" a tus banderas USE |
Arador | Por supuesto, puedes forzar la eliminacion de todas las banderas automaticas desactivandolas de make.conf Si desesas tener un paquete disponible, pero no permitir a otros paquetes ser dependientes de el |
Arador | Virtuals es un sistema por el cual portage puede asociar multiples paquetes que hacen una misma funcion |
Arador | los JDKs y JREs son un buen ejemplo de eso |
Arador | cada arquitectura tiene un perfil en el que se basa |
Arador | en cada perfil hay definiciones de el uso automatico de las banderas SET requeridas para paquetes del sistema, y un listado por defecto de virtuals |
Arador | Los scripts (ebuilds) que usa portage para su compilacion son simples scripts de bash |
Arador | definen una serie de operaciones que compilan un paquete |
Arador | Estos pasos son exactametne los mismos que berias si compilaras el paquete a mano |
Arador | portage y sus archivos de soporte proveen muchas funciones adicionales para acelerar los procesos a la hora de enfrentarse com múltiples arquitecturas y opciones |
Arador | los paquetes pueden heredar eclasses que proveen funciones para manejar tareas comunes como filtros de banderas, intervenir ocn el CVS, o incluso un automatizado copmleto del proceso de construccion declarando unas pocas variables |
Arador | en el proceso de construccion el sistema poretage utiliza una caracteristica llamada sandboxing |
horacio | Sandboxin bloquea la compilaciónde paquetes en un conjunto limitado de directorios para asegurar que la modificacion de ficheros pueda seguirse |
horacio | Asi la compilacion de paquetes se sigue de cerca |
horacio | Portage emplea una caracteristica llamada "Config Protection" (Proteccion de Configuracion) para asegurar que los ficheros importantes no se sobreescriban |
horacio | por defecto, esto se aplica a la mayoria en /etc, pero otros directorios pueden agregarse facilmente a traves de la variable de entorno CONFIG_PROTEC |
horacio | Esto es bastante similar al enfoque de FreeBSD a la actualizacion de ficheros de configuracion. El proceso usa vimdiff para dar una comparación lado-a-lado |
horacio | de la configuración actual y la nueva |
horacio | Portage también mantiene una lista de configuraciones fundidas para que al refundir un paquete no cause que un fichero de actualizacion se liste para actualizar |
horacio | Cuando se funden paquetes portage mantiene una lista de todos los paquetes que fueron explicitamente fundidos en un fichero llamado 'world'. |
horacio | Este fichero es usado cuando realizas actualizaciones para que entonces solo los paquetes que necesitas o quieras sean usados para crear el arbol de paquetes para tu sistema. |
horacio | 'emerge gnome' compilará todo lo que necesites para usar gnome, y agregará gnoem a tu fichero 'world'. |
horacio | Actualizar Gentoo es bastante facil. Solo haz un 'emerge sync' para obtener el último arbol, luego 'emerge --update world' |
horacio | que actualiza todo lo que explicitamente se necesita y lo requerido para satisfacer el proceso. |
horacio | También puedes decirle a portage que vaya mas hondo, actualizando absolutamente todo |
horacio | 'emerge --update --deep world' |
horacio | Pueden ver ejemplos en http://gentoo.twobit.net/portage_shots/ |
horacio | Postage provee algunos metodos para determinar la estabilidad de los paquetes. |
horacio | El arbol unificado que usamos para portege permite a cualquiera empezar con un sistema completamente estable y sacarlo completo con una simple edición de algunos ficheros de configuracion |
horacio | Usar mascaras provee a gentoo de una forma fácil de distribuir paquetes para su prueba, mientras se mantiene estabes a los usuarios estables |
horacio | Algunas nuevas caracteristicas que vienen con portage ayudarán mucho a los usuarios. |
horacio | Stiky Flags permitirá a los usuarios mezclar y emparejar paquetes estables e inestables sin tener que elegir uno |
horacio | o otro |
horacio | Fakeroot y usuarios privilegiados combinados remueven al root del proceso de compilación para agregar seguridad |
horacio | Presently previene que los usuarios puedan adquirir talballs maliciosos de los mirrors, como ha pasado recientement. |
horacio | Los usuarios Gentoo han hecho los primeros reportes. |
horacio | Reverse Dependencies debería aparecer en el futuro cercano también. Informando a los usuarios como alterar sus configuraciones |
horacio | y que efecto tiene en sus sistemas el quitar paquetes. |
horacio | Junto con Reverse Dependencies, portage tendrá la abilidad de reconstruir paquetes si usas los flags de cambio |
horacio | La dependencia en paquetes como QT puede removerse de todos los paquetes enlazados y tu sistema funcionará sin intervención extra. |
horacio | Otras características que se estan considerando son alternativas a los árboles rsync. |
horacio | Lo que le permitiria a portage ser empleado en paquetes no-gentoo y otros arboles con un esfuerzo mínimo. |
horacio | <Lovechild> Nicholas:¿Que hay acerca del soporte para cosas como parchear fuentes con diffs en lugar de obtener el tarball completo, y soporte de bajada paralelo? |
horacio | El parcheado de fuentes es un problema justamente difícil. |
horacio | Se está considerando, pero transcurrirá un poco de tiempo antes de que se haga algo al respecto. |
horacio | (A menos que alguien se anime con el reto.) |
horacio | Soporte de bajada paralelo posiblemente se de a mediados del año entrante. |
horacio | ¿Alguna otra pregunta? |
horacio | Mezcla paralela deberia funcionar en portege también. |
horacio | <garoeda> Nicholas: ¿Que tan dificil es desarrollar extensiones para portage? |
horacio | Depende de a que tipo de extensiones te refieras. |
horacio | <garoeda> como implementar ebuilds paralelos. |
horacio | Paralelos como correr dos emerges, no deberían ser tan difíciles. |
horacio | Necesitas asegurarte de que la lista de paquetes no se solape en ninguna forma, y que se bloqueen los db writes. |
horacio | ebuilds paralelos, como en hilado, es mucho mas problema ya que portage necesita |
horacio | algo de reescritura para remover generalidades. |
horacio | El objetivo maximo sería hacer portage listo para usar. Permitiendote usar el metodo que quieras. |
horacio | Cosas como mensajes de syslog son opuestas a los mensajes de consola. |
horacio | Como la bd es almacenada . . . |
horacio | <Lovechild>seria posible crear listas CFLAGS para compilar algunas cosas con -03 y algunas opciones locas, y el resto con flags mas conservadores . .. |
horacio | Si. Eso es lo que intenta sticky. |
horacio | stickies=["KEYWORDS_ACCEPT","USE","CFLAGS","MAKEOPTS,"EXTRA_ECONF","EXTRA_EMAKE"] |
horacio | Estas son las flags que se mantienen cuando sticky se activa en portage. |
horacio | Cualquiera de estas variables especificadas en tu entorno se mantendrán cuando hagas un 'emerge -u world' o un 'emerge -e world' |
horacio | EXTRA_ECONF y EXTRA_EMAKE están sin documentar, pero permiten al usuario especificar flags especificos, para configure y make... Acompañados de stiky, estos permiten un control mejor de las opciones de los paquetes. |
horacio | <Lovechild> gente como yo tiene un talento especial para romper Gentoo, sería posible realizar un FEATURE flag para debug, que bloquee todo lo que sea dañino para debugging- así podremos proveer buenos feedback a los desarrolladores ? |
horacio | Esa es una buena idea.... ¿Quieres postear el bug por mi? ;) |
horacio | Hmmmm |
horacio | Bien....¿Alguien mas tiene preguntas o comentarios? |
horacio | <mattam> portage tiene ya un flag para strip/nostrip IIRC |
horacio | FEATURES=nostrip ---- Así lo creo. |
horacio | Puede ser una restricción.... Debo hechar una mirada. |
horacio | <mattam> Nicholas: un pedido : agregar licensia para small desc |
horacio | Eso se puede hacer. |
horacio | ¿Algo mas? |
horacio | <Lovechild> Nicholas: http://bugs.gentoo.org/show_bug.cgi?id=12272 ha sido rellenado como pediste |
horacio | <mattam> eh tener que rehacer el ebuld solo una parte del proceso, no recomenzando desde el principio cada vez |
horacio | FEATURES=noauto <--- Debería estar listado en make.conf |
horacio | Usando ebuild. |
horacio | Creo que eso es todo. |
horacio | <Lovechild> Nicholas: ¿por que no escribir una copia de worldlist y borrar las lineas mientras se mezclan, y luego solo comprober las restantes lineas para hacer emerge despues, si fallamos por alguna razón? |
horacio | <Lovechild> no es que pase cada vez que hago un emerge -eu world |
horacio | Lovechild: Hmmm interesante..... |