Dependency management and deployment strategies for perl5
Dependency management and deployment strategies for perl5
By Matt S Trout (mst) from northwestengland.pm, dahut.pm, drinkers.pm, lgbt.pm
Date: Monday, 3 August 2009 16:40
Duration: 20 minutes
Target audience: Corporate Perl
Language:
Tags: deployment perl perl5 systems
Perl has CPAN. CPAN is wonderful. But. CPAN is a source build system, and
primarily designed for "install the latest production release".
On a development server when your project's split into separate packages that
doesn't work.
When you're trying to test RC releases of major projects you depend upon,
that doesn't work.
When you want to deploy to dozens of systems which are already using their
CPU for something more important, that doesn't work.
There are many projects on CPAN that help with different parts of this
problem, integrating CPAN mirrors and local packages, building vendor
packages from perl distributions, and bundling dependencies along with
applications.
In this talk, Matt will attempt to cover as much of the state of the art as
possible and how these fit into the different strategies available, and
discuss how the varied requirements of Shadowcat's clients, in-house
development, and open source contributions have led us to the desire for
a unified system - and what that unified system does, how and why it does
it, and some fascinating perl5 arcana uncovered along the way.
Attended by: Peter Makholm (brother), Nicholas Clark, cjbradford, Pedro Frazão, Leon Brocard (acme), Steffen Schwigon (renormalist), Martin Schipany (ElCondor), Maroš Kollár (maros), Piers Cawley (pdcawley), Laurent Dami (dami), Lars Dɪᴇᴄᴋᴏᴡ (daxim), Renee Bäcker (reneeb), Luís Mendes (big), Alex Muntada (alexm), Thomas Klausner (domm), Panu Ervamaa (pnu), Florian Ragwitz (rafl), osfameron, Diego Kuperman (diegok), Tobias Henoeckl (hoeni), stigo, Marcos Garcia (gulden), Pedro Melo (melo), Clinton Gormley (DrTech), James Laver (jjl), Michele Beltrame (arthas), Maciej Czekay (Bruno), Andrew Ford, oleber, Markus Wichmann (telemorphix), Oliver Thieke (o-thieke), Marcel Grünauer (Marcel), Jozef Kutej (jozef), Thierry Douez (tdz), Luis Motta Campos (LMC), Olivier Mengué (dolmen), Bálint Szilakszi (szbalint), Roberto Henríquez, JJ Allen, Salve J. Nilsen (sjn), Alex Kapranoff (kappa), Jose L. Hernandez, Sérgio Bernardino (smpb), Rosellyne Worrall (rozallin), João Carreira, Elizabeth Mattijsen (liz), Salvador Fandiño (salva), Michael Langner, David Fernández, Petru Ratiu (rpetre), Henrik Tougaard (htoug), Michael Kröll (pepl), Leo Lapworth (ranguard), Wendy Van Dijk (woolfy), Enrique Nell (e-nell), Stan Sawa, Jorge Bras, Franck Cuny, Aristotle, Dirk De Nijs (ddn123456), Chisel Wright, Carl Mäsak (masak), Elizabeth Cholet (zrusilla), Alexandru Nedelcu, jani, Damon Davison (allolex), Lars Thegler (tagg), Frederico Martins, Farley Balasuriya (Questorian), Bartosz Jakubski (migo), Bogdan Lucaciu (zamolxes), Wieland Gmeiner, Sergio Arias, Adrian Arnautu, Henrik Hald Nørgaard, Ricardo Marques (ricmarques), Drew Taylor (drewbie), Ulrich Wisser (wisser), Lars Holgaard, Adam Reeks, Jacinta Richardson (jarich), Casiano Rodriguez-Leon (casiano), Jan Henning Thorsen (batman), Darius Jokilehto, Manuel Gomes (wagemage), Cosmin Budrica (cosmincx), Tom Hukins, Cláudio Valente, Mário Barbosa, Yusuke Kawasaki (kawanet), Rui Patinha (rfp), Gianni Ceccarelli (dakkar), Braceta, Francisco Lourenço (fml), Troels Liebe Bentsen (tlbdk), Carlos Pires (acmpires), Lutz Gehlen, Thomas Netousek, Sebastian Willert, Enrique J Hernandez Blasco (sixstone), Lech Baczyński (lechu), Tobias Kremer (soulchild), David Leadbeater (dg), Herbert Breunung (lichtkind),