Upgrade to Pro — share decks privately, control downloads, hide ads and more …

perlbrew - embedded perl наоборот‎

perlbrew - embedded perl наоборот‎

perlbrew site-tailored_perl

Viktor Sapunkov

June 14, 2014
Tweet

Other Decks in Programming

Transcript

  1. 1
    © Copyright 2014 EMC Corporation. All rights reserved.
    © Copyright 2014 EMC Corporation. All rights reserved.
    perlbrew lightning
    2014
    YAPC :: Russia

    View Slide

  2. 2
    © Copyright 2014 EMC Corporation. All rights reserved.
    © Copyright 2014 EMC Corporation. All rights reserved.
    Источник(и)
    (и) - See Also
    • App::perlbrew
    “to automate the building and
    installation 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

    View Slide

  3. 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 наоборот” !

    View Slide

  4. 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
    . . .
    ТЕСТОВОЕ ОКРУЖЕНИЕ≈ПРОДАКШН (≠СБОРОЧНАЯ СРЕДА)

    View Slide

  5. 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 и т.д.)

    View Slide

  6. 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-сертификаты, веб-доступ ...

    View Slide

  7. 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 - line
    1.
    Search pattern not terminated or ternary operator parsed as
    search pattern at - line 1.

    View Slide