Probar puertos antes de realizar cambios es costoso. Entonces, está construyendo la superposición de algunos puertos con opciones no predeterminadas.
/head
es un objetivo de movimiento rápido, ports -u
menudo hace que muchos estén desactualizados4 * 2 = 8
combinaciones de plataformaNO_ARCH
, NO_OSREL
, NO_OPSYS
todavíaAfortunadamente, pkg.freebsd.org ya proporciona paquetes listos para usar. ¿Por qué no aprovechar? Advertencia: solo es útil cuando el árbol de puertos local y la instantánea remota en ese momento no divergen mucho.
Sí, esta es una característica deseada. Lo he llamado "siembra de paquetes". El script de compilación pkg.freebsd.org realmente lo hace por sí mismo para que podamos construir en diferentes sistemas entre cada compilación. Ha estado en TODOLIST desde siempre, pero aún no se ha implementado en Poudriere.
También recientemente comenzó a usar activamente poudriere para construir paquetes por sí mismos y quisiera una función similar para -f pkg-list.txt
si es parte de un paquete con las opciones cambiadas, luego compílelas localmente, y con las opciones predeterminadas, busque el repositorio ascendente.
Si esto ya está implementado en una rama, me gustaría ayudar a probarlo.
Aún no está implementado en Poudriere, pero estoy programado para después del próximo lanzamiento.
Hola, @bdrewery ,
Siento haber estado bastante ocupado últimamente. Intentaré buscar en las próximas semanas.
¿Alguna información nueva? ¡Gracias!
Esta sería una característica muy buena. Acabo de actualizar a 3.3.99.20190311, pero no vi una opción para la siembra de paquetes. ¿Hay novedades sobre esta función?
Mientras tanto, estoy usando una forma pirateada de hacer esto: https://github.com/lwhsu/freebsd-ports-libreoffice/blob/master/porttest.sh
Bueno, intente poudriere testport
que necesita tanto GCC 9.xy Clang 8.0 para compilarse ...
Tomó alrededor de un día la última vez que necesitaba probar eso.
@bdrewery ¿ alguna esperanza de ver esta función lo suficientemente pronto?
No es probable ya que mi enfoque está en otra parte, como construir menos en la construcción incremental y el soporte distribuido.
¿Se viene alguna actualización para este problema? ¿Hay algo que podamos hacer para ayudar?
Perdón por otro "yo también". Me gusta construir algunos puertos que estoy usando, ya que he seleccionado banderas especiales en ellos. Cosas como Mesa et al. Sin embargo, necesito una versión LLVM específica y, bueno, realmente no quiero ni necesito construirla yo mismo. Por lo tanto, sería genial si pudiera decirle a poudriere para algunos puertos seleccionados que nunca los compilen, sino que los busque en su lugar.
De lo contrario, mi carrera termina así:
[freebsd:12:x86:64-default] [2020-06-22_09h45m06s] [parallel_build:] Queued: 1616 Built: 97 Failed: 0 Skipped: 0 Ignored: 0 Tobuild: 1519 Time: 02:21:47
[01]: devel/llvm80 | llvm80-8.0.1_3 build (01:50:32 / 01:51:56)
[02]: devel/llvm90 | llvm90-9.0.1_1 build (01:50:59 / 01:52:03)
[03]: lang/gcc9 | gcc9-9.3.0_1 build (01:51:28 / 01:51:54)
Me gustaría evitar esa rotación inútil. ¡Gracias!
@uqs te escucho. También creo que hay otra forma de resolver ese problema en particular, que es hacer que los paquetes oficiales se compilen con las banderas que desee. ¿Podrías compartir detalles sobre las banderas que cambias?
Otro yo también aquí. Es decir, necesito el puerto dns / unbound con python, pero no necesito tener todas las dependencias subyacentes construidas.
+1
+1
¡Esta característica o alguna documentación sobre cómo usar los ganchos para lograr lo mismo sería genial!
Comentario más útil
Aún no está implementado en Poudriere, pero estoy programado para después del próximo lanzamiento.