wdalmut / php-deb-packager
A simple debian packager for PHP applications
Installs: 78 410
Dependents: 6
Suggesters: 0
Security: 0
Stars: 54
Watchers: 4
Forks: 6
Open Issues: 1
Requires
- php: >=5.3.3
Requires (Dev)
- mikey179/vfsstream: 1.4.*
- phpunit/phpunit: ~4
This package is not auto-updated.
Last update: 2024-11-07 07:15:50 UTC
README
A simple debian packager for PHP applications
Get composer:
curl -sS http://getcomposer.org/installer | php
Install dependencies and autoloader
php composer.phar install
Use it:
<?php require_once __DIR__ . '/vendor/autoload.php'; $control = new \wdm\debian\control\StandardFile(); $control ->setPackageName("my-package-name") ->setVersion("0.1.1") ->setDepends(array("php5", "php5-cli", "php5-xsl")) ->setInstalledSize(4096) ->setMaintainer("Walter Dal Mut", "walter.dalmut@corley.it") ->setProvides("my-package-name") ->setDescription("My software description"); ; $packager = new \wdm\debian\Packager(); $packager->setOutputPath("/path/to/out"); $packager->setControl($control); $packager->mount("/path/to/source-conf", "/etc/my-sw"); $packager->mount("/path/to/exec", "/usr/bin/my-sw"); $packager->mount("/path/to/docs", "/usr/share/docs"); //Creates folders using mount points $packager->run(); //Get the Debian package command echo $packager->build();
Create the Package
$(php pack.php)
Pre-Post scripts
Optianally you can add script for different hooks
- pre-install
- Run pre install
- post-install
- Run post install
- pre-remove
- Run pre package remove
- post-remove
- Run post package remove
Adding scripts
$packager->setPreInstallScript(__DIR__ . '/my-pre-install-script.sh'); $packager->setPostInstallScript(__DIR__ . '/my-post-install-script.sh'); $packager->setPreRemoveScript(__DIR__ . '/my-pre-remove-script.sh'); $packager->setPostRemoveScript(__DIR__ . '/my-post-remove-script.sh');
See a script example
#!/bin/sh #postinst script for upcloo set -e echo "Goodbye Cruel World" exit 0
Use Yaml files instead the library directly
Just take a look to wdalmut/php-deb-describe