Top Banner
Creando ports en FreeBSD Fernando Apesteguía. Project Manager @ OpenSistemas
14

Cómo crear ports en FreeBSD #PicnicCode2015

Jul 18, 2015

Download

Software

OpenSistemas
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cómo crear ports en FreeBSD #PicnicCode2015

Creando ports en FreeBSD

Fernando Apesteguía. Project Manager @ OpenSistemas

Page 2: Cómo crear ports en FreeBSD #PicnicCode2015

FreeBSD ports. ¿Qué es? (I)

● Es una forma de instalar software de terceros

● Es la base para crear repositorios de paquetes binarios

● Si has usado Gentoo, es como el portage

Page 3: Cómo crear ports en FreeBSD #PicnicCode2015

FreeBSD ports. ¿Qué es? (II)

● Colección clasificada de directorios bajo /usr/ports/

● Sólo se compone de un esqueleto que indica cómo descargarse, compilar e instalar el software

● Basado en Makefiles (ouch!)

Page 4: Cómo crear ports en FreeBSD #PicnicCode2015

Ejemplo ls /usr/portsCHANGES Tools/ dns/ mbone/ sysutils/CONTRIBUTING.md UIDs editors/ misc/ textproc/COPYRIGHT UPDATING emulators/ multimedia/ ukrainian/GIDs accessibility/ finance/ net/ vietnamese/INDEX-10 arabic/ french/ net-im/ www/INDEX-10.db archivers/ ftp/ net-mgmt/ x11/INDEX-6 astro/ games/ net-p2p/ x11-clocks/INDEX-7 audio/ german/ news/ x11-drivers/INDEX-8 benchmarks/ graphics/ packages/ x11-fm/INDEX-9 biology/ hebrew/ palm/ x11-fonts/INDEX-9.db cad/ hungarian/ polish/ x11-servers/Keywords/ chinese/ irc/ ports-mgmt/ x11-themes/LEGAL comms/ japanese/ portuguese/ x11-toolkits/MOVED converters/ java/ print/ x11-wm/Makefile databases/ korean/ russian/Mk/ deskutils/ lang/ science/README devel/ mail/ security/Templates/ distfiles/ math/ shells/

Page 5: Cómo crear ports en FreeBSD #PicnicCode2015

¿Cómo se usa?$ cd /usr/ports/editors/libreoffice$ sudo make install

o también

portinstall libreoffice

Page 6: Cómo crear ports en FreeBSD #PicnicCode2015

Behind the scenes (I)1. Descargar software

2. Comprobar checksum

3. Descomprimir paquete

4. Aplicar parches

Page 7: Cómo crear ports en FreeBSD #PicnicCode2015

Behind the scenes (II)

5. Compilar el software

6. Crear el paquete

7. Instalar el paquete

Page 8: Cómo crear ports en FreeBSD #PicnicCode2015

¿De qué se compone un port?

● Makefile → Donde están las reglas que guían el proceso

● distinfo → Checksum de la distribución (autogenerado)

● files/ → Directorio con parches (puede no existir)

● pkg-descr → Descripción del paquete

● pkg-plist → Ficheros que se instalarán (autogenerado)

Page 9: Cómo crear ports en FreeBSD #PicnicCode2015

Makefile

● Conjunto de variables● Conjunto de targets: fetch, extract, patch,

install…● Algo de lógica (if, for…)

Page 10: Cómo crear ports en FreeBSD #PicnicCode2015
Page 11: Cómo crear ports en FreeBSD #PicnicCode2015

Ha sido sencillo ¿no?

● Casuística infinita● Muchos linuxismos.● Software no pensado para ser portable● Dependencias (build, run)● Tiene que ser aceptado por algún committer.● Ciclo send-review-change.

Page 12: Cómo crear ports en FreeBSD #PicnicCode2015

Buenas prácticas

● Utilizar poudriere / tinderbox / redports.org● Intentar testear con todas las opciones

disponibles.● Enviar parches upstream

Page 14: Cómo crear ports en FreeBSD #PicnicCode2015

¡Gracias!