perlbrew site-tailored_perl
1© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved.perlbrew lightning2014YAPC :: Russia
View Slide
2© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved.Источник(и)(и) - See Also• App::perlbrew“to automate the building andinstallation of perl in an easy way”– http://perlbrew.pl/– https://metacpan.org/pod/App::perlbrew• App::perlall“build, test and do with all perls”– https://metacpan.org/pod/App::perlall
3© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved.Цель• CI процессы (тестирование“продукта”)• Много типов поддерживаемых систем~ бинарно не совместимых• Желание иметь единую среду!– Желание иметь perl-x.y.z (e.g. 5.18.2)– Желание кое-что бандлить(~sitecustomize : биндинги к ESX API…)=> “perlembed наоборот” !
4© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved....масштаб бедствия• product.LINUX-version.OL5_UEK1_R1.x86_64.rpm• product.LINUX-version.OL5_UEK1_R2.x86_64.rpm• product.LINUX-version.OL5_UEK1_R3.x86_64.rpm• product.LINUX-version.OL5_UEK2_R2.x86_64.rpm• product.LINUX-version.OL5_UEK2_R3.x86_64.rpm• product.LINUX-version.OL5_UEK2_R4.x86_64.rpm• product.LINUX-version.OL6_UEK1_R1.x86_64.rpm• product.LINUX-version.OL6_UEK2_R2.x86_64.rpm• product.LINUX-version.OL6_UEK2_R3.x86_64.rpm• product.LINUX-version.OL6_UEK2_R4.x86_64.rpm• product.LINUX-version.RHEL5.x86_64.rpm• product.LINUX-version.RHEL6.x86_64.rpm• product.LINUX-version.SLES10SP4.x86_64.rpm• product.LINUX-version.SLES11SP2.x86_64.rpm. . .ТЕСТОВОЕ ОКРУЖЕНИЕ≈ПРОДАКШН (≠СБОРОЧНАЯ СРЕДА)
5© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved....масштаб бедствия (продолжи...)• Devel::Cover• Perl::Critic• HTML:: {Parser,Tagset,…}• YAML• XML::LibXML (libxml2)• XML::Parser:– XML::SAX, XML::SAX::Expat (expat)• LWP::Protocol::https (openssl)• VIPerlToolkit (SOAP::Lite, UUID, e2fsprogs-libs)• … Zlib (zlib – в том числе в openssl)• ... ЕЩЕ! (libssh2 и т.д.)
6© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved.Решение• Сборка желаемого perl– Предварительная сборка всех бинарныхзависимостей ...– Фиксация пути поиска библиотек:• rpath для Executable• rpath-link для Shared Libs– Сборка на тех же билд-хостах, что и продукт!– Опыт использования: Пересборка 1-2 раз вквартал• Поддержка: SSL-сертификаты, веб-доступ ...
7© Copyright 2014 EMC Corporation. All rights reserved.© Copyright 2014 EMC Corporation. All rights reserved.use App::perlbrew ? q&A& : q`carier lost`;Use of ?PATTERN? without explicit operator is deprecated at - line1.Search pattern not terminated or ternary operator parsed assearch pattern at - line 1.