2
0
forked from Wavyzz/dolibarr

Work on debian package

This commit is contained in:
Laurent Destailleur
2011-07-27 16:45:46 +00:00
parent d18beeb3b2
commit d2f285d5d4
10 changed files with 179 additions and 164 deletions

View File

@@ -7,9 +7,16 @@ This directory contains files used by makepack-dolibarr.pl
script to build a package, ready to be distributed,
with format .DEB (for Debian, Ubuntu, ...).
# To build a debian package, you need first
# apt-get -i debhelper
# apt-get -i dpkg-source
# apt-get -i gpg
# This is standard command to work on Debian packaging:
#
# gpg --gen-key Generate a GPG key
#
# lintian --pedantic -E -I package.deb To test a package
#
# dpkg -l List all packages
@@ -20,6 +27,8 @@ with format .DEB (for Debian, Ubuntu, ...).
#
# dpkg -L packagename List content of installed package
# dpkg --purge Remove config files and interactive saved answers
#
# dpkg-buildpackage -us -uc Build a source and binary package
To submit a package to Debian:

View File

@@ -3,10 +3,9 @@ Version: __VERSION__
Architecture: all
Maintainer: Laurent Destailleur <eldy@users.sourceforge.net>
Installed-Size: 61200
Depends: debconf, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Depends: xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Section: web
Priority: optional
Recommends: firefox
Homepage: http://www.dolibarr.org
Description: Easy to use web based ERP & CRM software
Dolibarr ERP & CRM is an easy to use open source/free software for small
@@ -20,28 +19,28 @@ Description: Easy to use web based ERP & CRM software
Only features you need are visible, depending on which module were activated.
Most common used modules are:
.
Customers, Suppliers or Prospects directory
Contacts directory
Orders management
Commercial proposals management
Invoices management
Products and services catalog
Stock management
Foundations members management
Bank accounts management
Point of Sale
Payments management
Commercial actions management
Contracts management
Standing orders management
Shipping management
Donations management
Bookmarks management
Mass Emailings
Reports
Data export and import tools
LDAP connectivity
PDF exports
Customers, Suppliers or Prospects directory,
Contacts directory,
Orders management,
Commercial proposals management,
Invoices management,
Products and services catalog,
Stock management,
Foundations members management,
Bank accounts management,
Point of Sale,
Payments management,
Commercial actions management,
Contracts management,
Standing orders management,
Shipping management,
Donations management,
Bookmarks management,
Mass Emailings,
Reports,
Wizards to export and import data,
LDAP connectivity,
PDF exports,
And a lot of more modules...
.
You can also add third parties external modules or develop yours.

View File

@@ -4,14 +4,13 @@ Standards-Version: 3.9.1
Section: web
Priority: optional
Homepage: http://www.dolibarr.org
Build-Depends: debhelper
Build-Depends: debhelper, po-debconf
Package: dolibarr
Depends: ${misc:Depends}, debconf, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Depends: ${misc:Depends}, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Architecture: all
Section: web
Priority: optional
Recommends: firefox
Homepage: http://www.dolibarr.org
Description: Easy to use web based ERP & CRM software
Dolibarr ERP & CRM is an easy to use open source/free software for small
@@ -25,28 +24,28 @@ Description: Easy to use web based ERP & CRM software
Only features you need are visible, depending on which module were activated.
Most common used modules are:
.
Customers, Suppliers or Prospects directory
Contacts directory
Orders management
Commercial proposals management
Invoices management
Products and services catalog
Stock management
Foundations members management
Bank accounts management
Point of Sale
Payments management
Commercial actions management
Contracts management
Standing orders management
Shipping management
Donations management
Bookmarks management
Mass Emailings
Reports
Data export and import tools
LDAP connectivity
PDF exports
Customers, Suppliers or Prospects directory,
Contacts directory,
Orders management,
Commercial proposals management,
Invoices management,
Products and services catalog,
Stock management,
Foundations members management,
Bank accounts management,
Point of Sale,
Payments management,
Commercial actions management,
Contracts management,
Standing orders management,
Shipping management,
Donations management,
Bookmarks management,
Mass Emailings,
Reports,
Wizards to export and import data,
LDAP connectivity,
PDF exports,
And a lot of more modules...
.
You can also add third parties external modules or develop yours.

View File

@@ -4,19 +4,19 @@
// This file must be present into htdocs/install directory
// during install process to be used.
//
// $Id: install.forced.php.install,v 1.9 2011/07/30 14:56:12 eldy Exp $
// $Id: install.forced.php.install,v 1.8 2011/07/27 16:45:47 eldy Exp $
//
$force_install_noedit=2;
$force_install_noedit=1;
$force_install_message='KeepDefaultValuesDeb';
#$force_install_main_data_root='/usr/share/dolibarr/documents';
$force_install_main_data_root='/var/lib/dolibarr/documents';
$force_install_type='mysqli';
$force_install_dbserver='localhost';
$force_install_port='3306';
$force_install_database='dolibarrdebian';
$force_install_database='dolibarr';
$force_install_createdatabase='1';
$force_install_databaselogin='dolibarrdebian';
$force_install_databaselogin='dolibarrmysql';
$force_install_databasepass='';
$force_install_createuser='1';
$force_install_databaserootlogin='__SUPERUSERLOGIN__';

View File

@@ -13,36 +13,30 @@
#
msgid ""
msgstr ""
"Project-Id: dolibarr\n"
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-27 19:49+0200\n"
"POT-Creation-Date: 2011-07-29 04:31+0100\n"
"PO-Revision-Date: 2011-07-29 22:45+0100\n"
"Last-Translator: Laurent Destailleur <eldy@users.sourceforge.net>\n"
"Language-Team: Laurent Destailleur <eldy@users.sourceforge.net>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Project-Id: dolibarr\n"
#
#. Type: boolean
#. Description
#: ../templates:1001
#, fuzzy
msgid "Delete database and uploaded files ?"
msgstr "Effacer la base de donnée et les fichiers uploadés ?"
#
#. Type: boolean
#. Description
#: ../templates:1001
#, fuzzy
#: ../templates:dolibarr/postrm
msgid ""
"Answer if you want to removed the Dolibarr MySQL database and all other "
"datas (datas related to this question are the Dolibarr DBMS account, all "
"Dolibarr tables, and all uploaded files)."
"Delete database and uploaded files ?"
msgstr ""
"Indiquez si vous voulez supprimer la base Dolibarr et toutes ces données "
"(les données en question ici sont les comptes de la base, les tables et tous "
"les fichiers téléchargés)."
"Effacer la base de donnée et les fichiers uploadés ?"
#
#. Description
#: ../templates:dolibarr/postrm
msgid ""
"Answer if you want to removed the Dolibarr MySQL database and all other datas (datas related to this question are the Dolibarr DBMS account, all Dolibarr tables, and all uploaded files)."
msgstr ""
"Indiquez si vous voulez supprimer la base Dolibarr et toutes ces données (les données en question ici sont les comptes de la base, les tables et tous les fichiers téléchargés)."

BIN
build/deb/po/messages.mo Executable file

Binary file not shown.

View File

@@ -24,31 +24,17 @@ db_version 2.0
echo Run the dolibarr postinst script
# Define vars
docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents'
apachefileorig="/usr/share/dolibarr/build/deb/apache.conf"
apacheconfig="/etc/dolibarr/apache.conf"
installfileorig="/usr/share/dolibarr/build/deb/install.forced.php.install"
installconfig="/etc/dolibarr/install.forced.php"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="/etc/dolibarr/conf.php"
case "$1" in
configure)
# Create document directory for uploaded data files
mkdir -p $docdir
chown -R www-data:www-data $docdir
chmod -R 775 $docdir
chmod -R g+s $docdir
# Copy apache.conf file into target directory
#mkdir -p /etc/dolibarr
#cp -p $apachefileorig $apacheconfig
# Copy install config file (with matching Debian) values into target directory
# Edit install.forced.php to match Debian values
fileorig="/usr/share/dolibarr/build/deb/install.forced.php.install"
config="/usr/share/dolibarr/htdocs/install/install.forced.php"
superuserlogin=''
superuserpassword=''
if [ -f /etc/mysql/debian.cnf ] ; then
@@ -58,24 +44,29 @@ case "$1" in
fi
echo Mysql superuser found to use is $superuserlogin
if [ -z "$superuserlogin" ] ; then
cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig
cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $config
else
cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig
cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $config
fi
chown -R root:www-data $installconfig
chmod -R 660 $installconfig
# Create document directory for uploaded data files
mkdir -p $docdir
chown -R www-data:www-data $docdir
chmod -R 775 $docdir
chmod -R g+s $docdir
# Create an empty conf.php with permission to web server
if [ ! -f $config ]
if [ ! -f /usr/share/dolibarr/htdocs/conf/conf.php ]
then
echo Create empty file $config
touch $config
chown -R root:www-data $config
chmod -R 660 $config
echo Create empty file /usr/share/dolibarr/htdocs/conf/conf.php
touch /usr/share/dolibarr/htdocs/conf/conf.php
chown -R root:www-data /usr/share/dolibarr/htdocs/conf/conf.php
chmod -R 660 /usr/share/dolibarr/htdocs/conf/conf.php
fi
# Get the web server type (use db_get for interactive mode).
#db_reset "dolibarr/webserver"
# Get the web server type (use db_get for interactive mode).
#db_get "dolibarr/webserver" # Read value for webserver.
#webserver="$RET"
@@ -105,7 +96,7 @@ case "$1" in
# Set permissions to web server
chown -R $webuser:$webgroup /usr/share/dolibarr
chown -R root:$webgroup $config
chown -R root:$webgroup /usr/share/dolibarr/htdocs/conf/conf.php
# Add link to config file
echo Setup web server $server to add dolibarr config file
@@ -113,6 +104,26 @@ case "$1" in
done
#echo "Install menu entry"
# This one is for Gnome ubuntu
#fileorig="/usr/share/dolibarr/build/deb/dolibarr.desktop"
#target="/usr/share/applications/"
#cp -f $fileorig $target
# Not sure this is usefull
#if test -x /usr/bin/update-menus; then
# echo "update-menus"
# update-menus;
#fi
# TODO Create the file to force parameters in Web installer
#if grep DBHOST /usr/share/dolibarr/htdocs/conf/conf.php > /dev/null
#then
# perl -pi -e "s/DBHOST/$dbserver/" /usr/share/dolibarr/htdocs/conf/conf.php
# perl -pi -e "s/DBNAME/$dbname/" /usr/share/dolibarr/htdocs/conf/conf.php
# perl -pi -e "s/DBUSER/$dbuser/" /usr/share/dolibarr/htdocs/conf/conf.php
# perl -pi -e "s/DBPASS/$dbpass/" /usr/share/dolibarr/htdocs/conf/conf.php
#fi
# Restart servers
servers="apache2-ssl apache2 mysql"
# Another way to restart

View File

@@ -26,11 +26,6 @@ echo Run the dolibarr postrm script
docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents'
apachefileorig="/usr/share/dolibarr/build/deb/apache.conf"
apacheconfig="/etc/dolibarr/apache.conf"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="/etc/dolibarr/conf.php"
lockfile="/usr/share/dolibarr/install.lock"
export webserver=""
@@ -41,38 +36,13 @@ case $webserver in
Both) webservers="apache2 apache2-ssl" ;;
*) webservers="apache2 apache2-ssl" ;;
esac
export includefile=/etc/dolibarr/apache.conf
case "$1" in
# Call when we upgrade
upgrade)
;;
# Call when we uninstall
remove)
rm -f $lockfile
# Remove include files
export restart=""
for server in $webservers ; do
export conffile="/etc/$server/conf.d/dolibarr.conf"
if [ -f $conffile ] ;
then
echo Delete link $conffile
rm -f $conffile
status=purge
fi
if [ "x$status" = "xpurge" ] ;
then restart="$restart $server"
fi
done
;;
# Call when we uninstall and purge
purge)
echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig"
echo "postrm purge webservers=$webservers includefile=$includefile"
# Ask if we must delete database
echo "postrm db_input dolibarr/postrm"
@@ -89,8 +59,7 @@ case "$1" in
echo postrm Mysql database deletion
# Get database configuration
dbserver="localhost"
dbuser="dolibarrdebian"
dbname="dolibarrdebian"
dbname="dolibarrmysql"
#db_get "dolibarr/db/name"
#dbname="$RET"
superuserlogin=''
@@ -151,31 +120,23 @@ case "$1" in
fi
mysqlcmd="mysql $hostopt $passopt -u $dbadmin"
# Now run the drop user
if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'localhost';\"" ; then
echo Database login $dbuser removed
else
error="Unable to run $mysqlcmd -f -e \"DROP USER '$dbuser'@'localhost';\""
echo $error
fi
# Now run the drop commands
if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then
log="${log}Droping database $dbname."
if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then
if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then
error="Database $dbname NOT successfully droped. You have to do it manually."
echo $error
else
status=drop
fi
else
error="Unable to run the drop database script."
echo $error
fi
log="${log}Droping database $dbname."
if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then
if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then
error="Database $dbname NOT successfully droped. You have to do it manually."
echo $error
else
status=drop
fi
else
error="Unable to run the drop database script."
echo $error
fi
else
status=nothing
log="${log}Database $dbname already not exists."
status=nothing
log="${log}Database $dbname already not exists."
fi
echo "Remove directory $docdir"
@@ -217,6 +178,18 @@ case "$1" in
set -e
done
# Remove file and conf file
for dir in /usr/share/dolibarr; do
if [ -d $dir ] ; then
# We disable blocking errors
set +e
echo "Remove directory $dir"
rm -rf $dir ;
# We restore blocking errors
set -e
fi
done
# We clean variable (we ignore errors because db_reset can fails if var was never set)
set +e
db_reset "dolibarr/postrm"
@@ -225,6 +198,34 @@ case "$1" in
#db_purge
;;
# Call when we uninstall
remove)
echo "postrm Force remove of /usr/share/dolibarr/htdocs/install"
rm -fr /usr/share/dolibarr/htdocs/install
echo "postrm Force remove of /usr/share/dolibarr/htdocs/conf"
rm -fr /usr/share/dolibarr/htdocs/conf
# Remove include files
export restart=""
for server in $webservers ; do
export conffile="/etc/$server/conf.d/dolibarr.conf"
if [ -f $conffile ] ;
then
echo Delete file $conffile
rm -f $conffile
status=purge
fi
if [ "x$status" = "xpurge" ] ;
then restart="$restart $server"
fi
done
;;
upgrade)
;;
failed-upgrade|abort-install|abort-upgrade|disappear)
;;

View File

@@ -1,8 +1,10 @@
#!/usr/bin/make -f
# This is the debhelper compatability version to use.
#export DH_COMPAT=7 # Now defined into compat file
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
export DH_OPTIONS=-v
#export DH_COMPAT=7 # This is the debhelper compatability version to use, now defined into compat file
%:
dh $@
dh $@

View File

@@ -1,7 +1,7 @@
Template: dolibarr/postrm
Type: boolean
Default: true
Description: Delete database ?
Description: Delete database and uploaded files ?
Answer if you want to removed the Dolibarr MySQL database and all
its datas (datas related to this quetion are the Dolibarr DBMS account
and all Dolibarr tables).
other datas (datas related to this question are the Dolibarr DBMS
account, all Dolibarr tables, and all uploaded files).