Skip to content

Commit

Permalink
added configuration for .deb package
Browse files Browse the repository at this point in the history
  • Loading branch information
tzikis committed Aug 2, 2013
1 parent e675910 commit 04f6758
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 0 deletions.
17 changes: 17 additions & 0 deletions apache-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<VirtualHost *:80>
Alias /compiler/ "/opt/codebender/codebender-arduino-compiler/Symfony/web/"
<Directory /opt/codebender/codebender-arduino-compiler/Symfony/web/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Alias /libs/ "/opt/codebender/codebender-library-manager/Symfony/web/"
<Directory /opt/codebender/codebender-library-manager/Symfony/web/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
47 changes: 47 additions & 0 deletions packaging_config.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
$configure = array(
'packagename' => 'codebender-library-manager',
'arch' => 'all',
'version' => '1.0',
'maintainer' => 'Vasilis Georgitzikis <[email protected]>',
'description' => 'A RESTful compiler for Arduino cores',
'url' => 'htpp://github.com/codebendercc/libs',
'packagetype' => 'deb',
'depends' => array(
'apache2',
'libapache2-mod-php5',
'php-pear',
'acl'
),

'tmpdir' => '/tmp',
'templatedir' => 'scripts',
'postinst' => 'scripts/postinst.sh',
'preinst' => '',
'postrm' => 'scripts/postrm.sh',
'prerm' => '',
'debconfconfig' => '', // only for debian: config file for debconf
'debconftemplate' => '', // only for debian: template file for debconf
'configfile' => '', // mark a file as configuration file
);

/* here you can define which files or directories should go where in the target system.
* You can use placeholders defined in your $configure array
* The syntax is dest => src so you don't have to repeat dest if you have lots
* of stuff to put in the same directory
* To prevent some files or directories from ending up in the package you can exclude
* them by prepending them with '- ' (see also example).
*
* Example:
*
* $filemapping = array(
* 'var/www/@PACKAGENAME@' => array(
* 'app/',
* )
* )
*/
$filemapping = array(
'opt/codebender/@PACKAGENAME@' => array(
'*',
'- /templates',
),
);
47 changes: 47 additions & 0 deletions scripts/postinst.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/bash

sudo cp /opt/codebender/@PACKAGENAME@/apache-config /etc/apache2/sites-available/codebender
cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/codebender 00-codebender

sudo a2enmod rewrite
sudo a2enmod alias
sudo service apache2 restart

cd /opt/codebender/@PACKAGENAME@/Symfony
sudo curl -s http://getcomposer.org/installer | sudo php
sudo php composer.phar install

#find a way to edit the fstab here
#more info: https://help.ubuntu.com/community/FilePermissionsACLs
#sudo mount -o remount /
#
#sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/cache/*
#sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/logs/*
#
#sudo setfacl -R -m u:www-data:rwX -m u:ubuntu:rwX /opt/codebender/@PACKAGENAME@/Symfony/app/cache /opt/codebender/@PACKAGENAME@/Symfony/app/logs
#sudo setfacl -dR -m u:www-data:rwx -m u:ubuntu:rwx /opt/codebender/@PACKAGENAME@/Symfony/app/cache /opt/codebender/@PACKAGENAME@/Symfony/app/logs
#sudo chown -R ubuntu:www-data /opt/codebender/@PACKAGENAME@/Symfony/app/cache/ /opt/codebender/@PACKAGENAME@/Symfony/app/logs
#sudo chmod -R 775 /opt/codebender/@PACKAGENAME@/Symfony/app/cache/ /opt/codebender/@PACKAGENAME@/Symfony/app/logs

sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/cache/*
sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/logs/*

sudo dd if=/dev/zero of=/opt/codebender/@PACKAGENAME@/cache-fs bs=1024 count=0 seek=200000
sudo dd if=/dev/zero of=/opt/codebender/@PACKAGENAME@/logs-fs bs=1024 count=0 seek=200000

yes | sudo mkfs.ext4 /opt/codebender/@PACKAGENAME@/cache-fs
yes | sudo mkfs.ext4 /opt/codebender/@PACKAGENAME@/logs-fs

echo "/opt/codebender/@PACKAGENAME@/cache-fs /opt/codebender/@PACKAGENAME@/Symfony/app/cache ext4 loop,acl 0 0" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "/opt/codebender/@PACKAGENAME@/logs-fs /opt/codebender/@PACKAGENAME@/Symfony/app/logs ext4 loop,acl 0 0" | sudo tee -a /etc/fstab > /dev/null 2>&1

sudo mount /opt/codebender/@PACKAGENAME@/Symfony/app/cache/
sudo mount /opt/codebender/@PACKAGENAME@/Symfony/app/logs/

sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/cache/*
sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/logs/*

sudo setfacl -R -m u:www-data:rwX -m u:ubuntu:rwX /opt/codebender/@PACKAGENAME@/Symfony/app/cache /opt/codebender/@PACKAGENAME@/Symfony/app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:ubuntu:rwx /opt/codebender/@PACKAGENAME@/Symfony/app/cache /opt/codebender/@PACKAGENAME@/Symfony/app/logs

15 changes: 15 additions & 0 deletions scripts/postrm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
sudo rm /etc/apache2/sites-available/codebender /etc/apache2/sites-enabled/00-codebender

sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/cache/*
sudo rm -rf /opt/codebender/@PACKAGENAME@/Symfony/app/logs/*

sudo umount /opt/codebender/@PACKAGENAME@/Symfony/app/cache/
sudo umount /opt/codebender/@PACKAGENAME@/Symfony/app/logs/

sudo rm /opt/codebender/@PACKAGENAME@/cache-fs
sudo rm /opt/codebender/@PACKAGENAME@/logs-fs

sudo rm -rf /opt/codebender/@PACKAGENAME@

sed '/\/opt\/codebender\/@PACKAGENAME@\/Symfony\/app\//d' /etc/fstab | sudo tee /etc/fstab > /dev/null 2>&1

0 comments on commit 04f6758

Please sign in to comment.