## Cooking OpenBSD -stable packages Solene Rapenne BitreichCON 2020 ## About me + Old school Sysadmin since 2011 + Member of OpenBSD project since 2018 + Presenting on Bitreich since 2018 + I solve problems. (like Winston Wolfe) ## OPENBSD PROBLEM + One release every 6 months + Binary package generated at release + Few but critical updates to the ports tree + No official package built for those updates + No easy tool for building the outdated packages ## Numbers + 6.5 release: 10602 packages - 232 stable + 6.6 release: 10736 packages - 301 stable + Numbers don't take account of multiple updates ## Process to get it done + Everyone wanted it to happen but no volunteer + Experimentating at home unofficially + Contact the right people for making it official + Get hardware: amd64 - i386 - arm64 - sparc64 + Write automation ## Simple automation + Identify steps of the process + Write one script per step + Link steps within one script + Use cron for daily run + Independant machines ## Steps 1. Update repository 2. Create an update list 3. Clean the system 4. Build packages 5. Copy packages waiting for signature 6. Notify people about building 7. MANUAL STEP: signing and publishing ## Human organisation + Working in pair + Backup person is actually working too + Signing people ## Result + Total lines of code = 138 lines + Packages built twice a day + Critical updates on mirror in less than 24 hours ## THANKS + Theo De Raadt for the hardware + Stuart Henderson, Marc Espie and many others for reviewing the process details + Everyone who supported me during the experimental phase