* Dirk Koopman (d...@tobit.co.uk) [110421 08:08]: > On 20/04/11 23:17, Peter Edwards wrote: > >Imagine you're supporting a 3 year old code base that needs specific > >versions of DBIx::Class, Catalyst, Moose and Class::MOP to make it run, and > >when you do a upgrade via yum or apt-get or cpan random things break in your > >regression tests and you don't have the budget to go fix all of them. (No, > >that's not where I work now but it is a real world situation.) > > Which is a pretty serious indictment of CPAN and the attitudes of > the people that "maintain" software there.
CPAN was never made to maintain software. It is made to distribute software. When you upload something to it, there is no warning that you will become responsible for its future. In my experience, any upgrade will cause some headeach. Not only upgrades of Perl modules. Gladly there are regression tests to warn you at an early stage. > How can anyone expect businesses to use perl and CPAN when stuff is > likely to break (sometimes big time) when one upgrades the > toolchain? One of the weak points of CPAN is that you can only install the latest version of a module. One of the reasons for that is the 02packages list which is used to figure-out which distribution (tar.gz) is needed for a certain module (pm). There can only be one dist per pm. So, you need to set-up your own local archive using cpanmini or cpansite with the versions you prefer on your systems. Or: fix the versions of the yum/apt packages you get installed by collecting those yourself... Open Source tends to say "last is best", where serious system administrators say: everywhere the same is best. > Why does stuff on CPAN so frequently not maintain > backward compatibility? You do not only have to take care about your own code, but also about Perl and about the code of all dependencies. Cpantesters helps a lot, but only after you have uploaded a broken version. As demonstration of cpan6, I have created a full backpan archive, where you can get the 02packages of any day in history. So you can then say "install DBIx::Simple with the knowledge of 2001-02-12 as yum" Large parts of the code is ready... still needs a few days work. -- Regards, MarkOv ------------------------------------------------------------------------ Mark Overmeer MSc MARKOV Solutions m...@overmeer.net soluti...@overmeer.net http://Mark.Overmeer.net http://solutions.overmeer.net