Software Packaging in 2012

Software Packaging in 2012

Software Packaging in 2012 International PHP Conference 2012 | October, 15th | Arne Blankerts Your Goal? » Share your code » Distribute a library or framework » Release an application » Deploy to a production or stage server » Deploy identically to many servers » ...? sharing experience Share your code » You do not need a packaging system » Use a version control system » Get a github.com account !" sharing experience Distribute a library or framework » #ear » http://pear.php.net » #yrus aka Pear& » http://pear2.php.net » Composer » http://getcomposer.org sharing experience Release an ap lication » #ear » #(# )rchive *#()R" » +S Level Packages » R#- » D./ » ... sharing experience De loy to a production or stage server » #ear » +S Level Packages » 01 sharing experience The choice is yours. And depends on your goal. PE%R » The Legacy Installer » #ackages come as tar.gz file » Package.xml for meta information » Limited Dependency management » 'an install depended #.)R packages » Informs on version / extension mismatches » #ackages are organized in 'hannels sharing experience PE%R - Pirum » ) #.AR Channel Server » http://pirum.sensiolabs.org% » http://github.com/fabpot/Pirum » 0nstalled via #.AR » pear channel-discover pear.pirum-project.org » pear installes pirum/Pirum sharing experience 'reating a pear package » Create a package.3ml » /uild package$ » pear package » )dd to prium$ » pirum add package.tgz sharing experience Pyrus / PEAR 2 » Rewritten #.AR Installer » Same package.3ml » Comes as phar » Seems to be pretty much a dead project sharing experience 'omposer » .asy to install » curl 5s https://getcomposer.org/installer | php » Comes as phar » -akes heavy use of git » )nd github.com » #ackages listed on packagist.org » Limited dependency management sharing experience 'reating a Com oser Package » Create a composer.json » )dd it to your git project » et a github.com account » #ush your code » Register with packagist.org » 1echnically7 composer does not exactly create packages sharing experience GIT » Not e3actly a package either » Can be used for deployment » 'reate empty repository » 'hange configuration to a have working directory » Push to ”empty“ repository » Very limited dependency managament » 01 Submodules sharing experience OS Level Packages » Distribution specific format and handling » Yum on <edora/Redhat%'entOS and derivatives » )pt on Debian/Ubuntu and derivatives » Complete dependency management » )s long as they are available as distro package sharing experience 'reating RPM packages » Create an application.spec file » /uild package$ » rpmbuild -bb application.spec » )dd to repository » createrepo directory » 0nstall » yum install package sharing experience PHAR » )llows for all5in5one packages » Different file formats possible » 8ative » Basically a tar5alike format » ZIP 'ontainer » No dependency management » )ll Dependencies should be bundled sharing experience 'reating a PHAR » .nable #HAR write mode » phar.readonly = ? » For a library » phpab -p -o library.phar src » For an application » phpab --all -p -o application.phar 5t app.php src sharing experience ,anually creating a P-AR package » Use phar cli application » Use =0# » Simply rename the .zip to .phar » )dd a stub as needed sharing experience %nything else? Other ackaging options » Simple tar.gz / tar.bz2 / ... » Windows 0nstaller » =end Server Deployment » +ther proprietary formats sharing experience 'ontact » @eb http://theP(#.cc/ » Mail arne@the#(#.cc team@the#(#.cc » 1witter Aarneblankerts Athe#(#cc sharing experience.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    24 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us