class: center, middle name: start # Packaging ### Analizziamo il DNA delle distro --- background-image: url(https://www.stickycomics.com/wp-content/uploads/update_for_your_computer.jpg) --- class: left, middle ### %whoami ### Danilo Spinella</br>_Linux Research Engineer_ @ SUSE  --- class: left, middle ## Contenuti Distribuzioni Pacchetti Formati dei pacchetti --- class: left, middle ## Cos'e' una distribuzione  --- class: left, middle ## Distribuzioni (1/2) Gestore dei pacchetti Insieme di pacchetti distribuiti Impostazioni e customizzazioni --- ## Distribuzioni (2/2)          --- class: left, middle ## Gestore dei pacchetti Installa e rimuove pacchetti Risolve le dipendenze tra pacchetti Recupera i pacchetti da una repository remota --- class: left, middle ## Pacchetto Un archivio compresso contenente: - Tutti i file necessari per una applicazione, strumento o libreria - Metadata che descrive il pacchetto e gli script per installarlo, rimuoverlo e aggiornarlo --- class: left, middle ## Formato dei pacchetti RPM PKGBUILD ebuild debian ...e altri 100 --- class: left, middle ## Distribuzioni considerate  Arch Linux  openSUSE Tumbleweed  Exherbo  Void Linux --- background-image: url(/img/packaging_analizziamo_il_dna_delle_distro/mdp_pkgbuild.png) --- background-image: url(/img/opensuse_packaging_macros/rpmspec.png) --- background-image: url(/img/opensuse_packaging_macros/exherbo.png) --- class: left, middle `mdp-1.0.15.exheres-0` --- background-image: url(/img/opensuse_packaging_macros/exherbo-makefile.png) --- background-image: url(/img/opensuse_packaging_macros/voidtemplate.png) --- background-image: url(/img/opensuse_packaging_macros/void-makefile.png) --- class: center, middle ## Riflessioni  --- class: middle, left ## Pacchetti Python  --- background-image: url(/img/opensuse_packaging_macros/arch-python-1.png) --- background-image: url(/img/opensuse_packaging_macros/arch-python-2.png) --- background-image: url(/img/opensuse_packaging_macros/opensuse-python-1.png) --- background-image: url(/img/opensuse_packaging_macros/opensuse-python-2.png) --- background-image: url(/img/opensuse_packaging_macros/exherbo-python.png) --- background-image: url(/img/opensuse_packaging_macros/void-python.png) --- class: left, middle ## Problematiche --- background-image: url(/img/opensuse_packaging_macros/opensuse-update.png) --- <!-- https://gitlab.exherbo.org/exherbo/arbor/-/blob/58ef9a71b7bd414394bf6a7ba65b4a953733a6d7/exlibs/python.exlib --> background-image: url(/img/opensuse_packaging_macros/exherbo-update.png) --- <!-- https://github.com/danyspin97/exheres/blob/a70af92f8e92f702a02aa9da7154289f6ed7e736/packages/app-admin/yadm/yadm.exlib#L32 --> background-image: url(/img/opensuse_packaging_macros/exherbo-exlib-loading.png) --- background-image: url(/img/opensuse_packaging_macros/bash-1.png) --- background-image: url(/img/opensuse_packaging_macros/bash-2.png) --- background-image: url(/img/opensuse_packaging_macros/bash-3.png) --- class: left, middle ## Altre Problematiche Numero esponenziale di macro, exlib e build-styles Creare pacchetti per il 90% delle applicazioni e' uguale tra tutte le distro --- class: left, middle ## Miglioramenti --- class: left, middle <!-- https://www.oilshell.org/blog/2021/01/why-a-new-shell.html#how-is-oil-different-than-bash-or-zsh --> background-image: url(/img/opensuse_packaging_macros/oilshell.png) Oilshell --- class: left, middle <!-- https://github.com/danyspin97/wpaperd/blob/main/install.yml --> background-image: url(/img/opensuse_packaging_macros/rinstall.png) rinstall --- class: left, middle background-image: url(/img/opensuse_packaging_macros/nix.png) NixOS  <!-- https://github.com/NixOS/nixpkgs/blob/8451d7f4ca93ae1740afa5d2d1cb451c6b9dbd5b/pkgs/applications/misc/khard/default.nix#L2 --> --- class: left, middle Distribution agnostic packaging format --- class: left, middle ## Grazie per l'attenzione # Domande  --- template: start