Work on packages

This commit is contained in:
Laurent Destailleur 2011-07-22 14:15:36 +00:00
parent b9153ac078
commit d0b8abcc0a
16 changed files with 382 additions and 333 deletions

View File

@ -7,16 +7,9 @@ This directory contains files used by makepack-dolibarr.pl
script to build a package, ready to be distributed, script to build a package, ready to be distributed,
with format .DEB (for Debian, Ubuntu, ...). 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: # 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 # lintian --pedantic -E -I package.deb To test a package
# #
# dpkg -l List all packages # dpkg -l List all packages
@ -27,8 +20,6 @@ with format .DEB (for Debian, Ubuntu, ...).
# #
# dpkg -L packagename List content of installed package # dpkg -L packagename List content of installed package
# dpkg --purge Remove config files and interactive saved answers # 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: To submit a package to Debian:
@ -45,7 +36,3 @@ For first ITP submission of Dolibarr, bug id was 634783.
- Add a line for upstream into file changelog with bug number - Add a line for upstream into file changelog with bug number
- Call for a mentor on ML debian-mentors to upload packages - Call for a mentor on ML debian-mentors to upload packages
- Once package is uploaded, following URL are available:
http://packages.qa.debian.org/package
http://bugs.debian.org/package

48
build/deb/control Normal file
View File

@ -0,0 +1,48 @@
Package: dolibarr
Version: __VERSION__
Architecture: all
Maintainer: Laurent Destailleur <eldy@users.sourceforge.net>
Installed-Size: 61200
Depends: debconf, 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
and medium companies, foundations or freelances. It includes different
features for Enterprise Resource Planning (ERP) and Customer Relationship
Management (CRM) but also for different other activities.
It's a web software you can install as a standalone program or on any web
hosting provider to use it from anywhere with any web browser.
Dolibarr was designed to provide only features you need and be easy to use.
.
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
And a lot of more modules...
.
You can also add third parties external modules or develop yours.

View File

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

View File

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

View File

@ -1,4 +1,5 @@
etc/dolibarr/apache.conf etc/dolibarr/apache.conf
etc/dolibarr/lighttpd.conf
usr/share/applications/dolibarr.desktop usr/share/applications/dolibarr.desktop
usr/share/doc/dolibarr usr/share/doc/dolibarr
usr/share/dolibarr usr/share/dolibarr

View File

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

View File

@ -13,30 +13,52 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id: dolibarr\n"
"Project-Id-Version: 1.0\n" "Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-29 04:31+0100\n" "POT-Creation-Date: 2011-08-01 18:17+0200\n"
"PO-Revision-Date: 2011-07-29 22:45+0100\n" "PO-Revision-Date: 2011-07-29 22:45+0100\n"
"Last-Translator: Laurent Destailleur <eldy@users.sourceforge.net>\n" "Last-Translator: Laurent Destailleur <eldy@users.sourceforge.net>\n"
"Language-Team: Laurent Destailleur <eldy@users.sourceforge.net>\n" "Language-Team: Laurent Destailleur <eldy@users.sourceforge.net>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Project-Id: dolibarr\n"
#. Type: multiselect
#. Description
#: ../templates:1001
msgid "Web server to reconfigure automatically:"
msgstr "Seveur web à reconfigurer automatiquement:"
#. Type: multiselect
#. Description
#: ../templates:1001
msgid ""
"Please choose the web server that should be automatically configured to run "
"dolibarr."
msgstr ""
"Selectionnez le serveur web à configurer automatiquement pour utiliser "
"dolibarr."
# #
#. Type: boolean
#. Description #. Description
#: ../templates:dolibarr/postrm #: ../templates:2001
msgid "" #, fuzzy
"Delete database and uploaded files ?" msgid "Delete database and uploaded files ?"
msgstr "" msgstr "Effacer la base de donnée et les fichiers uploadés ?"
"Effacer la base de donnée et les fichiers uploadés ?"
# #
#. Type: boolean
#. Description #. Description
#: ../templates:dolibarr/postrm #: ../templates:2001
#, fuzzy
msgid "" 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)." "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 "" 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)." "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)."

Binary file not shown.

View File

@ -1,30 +1,47 @@
# Dolibarr po templates # SOME DESCRIPTIVE TITLE.
# Copyright (C) 2011 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# Laurent Destailleur <eldy@users.sourceforge.net>, 2011. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: isc-dhcp@packages.debian.org\n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-07-07 18:58-0700\n" "POT-Creation-Date: 2011-08-01 18:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
# #. Type: multiselect
#. Description #. Description
#: ../templates:dolibarr/postrm #: ../templates:1001
msgid "" msgid "Web server to reconfigure automatically:"
"Delete database and uploaded files ?"
msgstr "" msgstr ""
# #. Type: multiselect
#. Description #. Description
#: ../templates:dolibarr/postrm #: ../templates:1001
msgid "" 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)." "Please choose the web server that should be automatically configured to run "
"dolibarr."
msgstr ""
#. Type: boolean
#. Description
#: ../templates:2001
msgid "Delete database and uploaded files ?"
msgstr ""
#. Type: boolean
#. Description
#: ../templates:2001
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 "" msgstr ""

View File

@ -1,7 +1,5 @@
#!/bin/sh #!/bin/sh
# postinst script for dolibarr # postinst script for dolibarr
#
# see: dh_installdeb(1)
set -e set -e
@ -16,6 +14,31 @@ set -e
# for details, see /usr/share/doc/packaging-manual/ # for details, see /usr/share/doc/packaging-manual/
lighttpd_install() {
if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
if which lighty-enable-mod >/dev/null 2>&1 ; then
echo "Add link for Lighttpd config file"
ln -fs /etc/dolibarr/lighttpd.conf /etc/lighttpd/conf-available/50-dolibarr.conf
# We enabled it
lighty-enable-mod dolibarr fastcgi-php
else
echo "Lighttpd not installed, skipping"
fi
fi
}
apache_install() {
webserver=$1
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Add link for Apache config file"
ln -fs /etc/dolibarr/apache.conf /etc/$webserver/conf.d/dolibarr.conf
fi
}
. /usr/share/debconf/confmodule . /usr/share/debconf/confmodule
db_version 2.0 db_version 2.0
@ -24,17 +47,25 @@ db_version 2.0
echo Run the dolibarr postinst script echo Run the dolibarr postinst script
# Define vars
docdir='/var/lib/dolibarr/documents' docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents' #docdir='/usr/share/dolibarr/documents'
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 case "$1" in
configure) configure)
# Edit install.forced.php to match Debian values # Create document directory for uploaded data files
fileorig="/usr/share/dolibarr/build/deb/install.forced.php.install" mkdir -p $docdir
config="/usr/share/dolibarr/htdocs/install/install.forced.php" chown -R www-data:www-data $docdir
chmod -R 775 $docdir
chmod -R g+s $docdir
# Copy install config file (with matching Debian) values into target directory
superuserlogin='' superuserlogin=''
superuserpassword='' superuserpassword=''
if [ -f /etc/mysql/debian.cnf ] ; then if [ -f /etc/mysql/debian.cnf ] ; then
@ -44,42 +75,31 @@ case "$1" in
fi fi
echo Mysql superuser found to use is $superuserlogin echo Mysql superuser found to use is $superuserlogin
if [ -z "$superuserlogin" ] ; then if [ -z "$superuserlogin" ] ; then
cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $config cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig
else else
cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $config cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig
fi fi
chown -R root:www-data $installconfig
# Create document directory for uploaded data files chmod -R 660 $installconfig
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 # Create an empty conf.php with permission to web server
if [ ! -f /usr/share/dolibarr/htdocs/conf/conf.php ] if [ ! -f $config ]
then then
echo Create empty file /usr/share/dolibarr/htdocs/conf/conf.php echo Create empty file $config
touch /usr/share/dolibarr/htdocs/conf/conf.php touch $config
chown -R root:www-data /usr/share/dolibarr/htdocs/conf/conf.php chown -R root:www-data $config
chmod -R 660 /usr/share/dolibarr/htdocs/conf/conf.php chmod -R 660 $config
fi fi
#db_reset "dolibarr/webserver"
db_get dolibarr/reconfigure-webserver
# Get the web server type (use db_get for interactive mode).
#db_get "dolibarr/webserver" # Read value for webserver. webservers="$RET"
#webserver="$RET"
case $webserver in
Apache) webservers="apache2" ;;
Apache-SSL) webservers="apache2-ssl" ;;
Both) webservers="apache2 apache2-ssl" ;;
*) webservers="apache2 apache2-ssl" ;;
esac
# Set up web server. # Set up web server.
for server in $webservers ; do for webserver in $webservers ; do
echo Complete config of server $server webserver=${webserver%,}
echo Complete config of server $webserver
# Detect webuser and webgroup # Detect webuser and webgroup
webuser= webuser=
@ -96,47 +116,32 @@ case "$1" in
# Set permissions to web server # Set permissions to web server
chown -R $webuser:$webgroup /usr/share/dolibarr chown -R $webuser:$webgroup /usr/share/dolibarr
chown -R root:$webgroup /usr/share/dolibarr/htdocs/conf/conf.php chown -R root:$webgroup $config
# Add link to config file
echo Setup web server $server to add dolibarr config file
ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf
done done
#echo "Install menu entry" # Restart web server.
# This one is for Gnome ubuntu for webserver in $webservers; do
#fileorig="/usr/share/dolibarr/build/deb/dolibarr.desktop" webserver=${webserver%,}
#target="/usr/share/applications/" if [ "$webserver" = "lighttpd" ] ; then
#cp -f $fileorig $target lighttpd_install
# Not sure this is usefull else
#if test -x /usr/bin/update-menus; then apache_install $webserver
# echo "update-menus" fi
# update-menus; # Reload webserver in any case, configuration might have changed
#fi # Redirection of 3 is needed because Debconf uses it and it might
# be inherited by webserver. See bug #446324.
# TODO Create the file to force parameters in Web installer if [ -f /etc/init.d/$webserver ] ; then
#if grep DBHOST /usr/share/dolibarr/htdocs/conf/conf.php > /dev/null if [ -x /usr/sbin/invoke-rc.d ]; then
#then echo Restart web server $server using invoke-rc.d
# perl -pi -e "s/DBHOST/$dbserver/" /usr/share/dolibarr/htdocs/conf/conf.php # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...)
# perl -pi -e "s/DBNAME/$dbname/" /usr/share/dolibarr/htdocs/conf/conf.php invoke-rc.d $webserver reload 3>/dev/null || true
# perl -pi -e "s/DBUSER/$dbuser/" /usr/share/dolibarr/htdocs/conf/conf.php else
# perl -pi -e "s/DBPASS/$dbpass/" /usr/share/dolibarr/htdocs/conf/conf.php echo Restart web server $server using $server reload
#fi /etc/init.d/$webserver reload 3>/dev/null || true
fi
# Restart servers fi
servers="apache2-ssl apache2 mysql"
# Another way to restart
for server in $servers ; do
if [ -x /usr/sbin/invoke-rc.d ]; then
echo Restart web server $server using invoke-rc.d
# This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...)
invoke-rc.d $server reload || true
else
echo Restart web server $server using $server reload
/etc/init.d/$server reload || true
fi
done done
echo ---------- echo ----------
echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr."
@ -147,13 +152,13 @@ case "$1" in
;; ;;
*) *)
echo "postinst called with unknown argument \`$1'" >&2 echo "postinst called with unknown argument $1" >&2
exit 0 exit 0
;; ;;
esac esac
db_stop
#DEBHELPER# #DEBHELPER#
db_stop
exit 0 exit 0

View File

@ -17,7 +17,36 @@ set -e
# for details, see /usr/share/doc/packaging-manual/ # for details, see /usr/share/doc/packaging-manual/
. /usr/share/debconf/confmodule
lighttpd_remove() {
if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
echo "Remove link for Lighttpd config file"
rm -f /etc/lighttpd/conf-available/50-dolibarr.conf
if which lighty-enable-mod >/dev/null 2>&1 ; then
lighty-disable-mod dolibarr
else
echo "Lighttpd not installed, skipping"
fi
# See bug #448682
if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then
echo 'Manually deleting lighttpd/dolibarr configuration link'
rm /etc/lighttpd/conf-enabled/50-dolibarr.conf
fi
fi
}
apache_remove() {
if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Remove link for Apache config file"
rm -f /etc/$webserver/conf.d/dolibarr.conf
fi
}
if [ -f /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
fi
db_version 2.0 db_version 2.0
@ -26,40 +55,70 @@ echo Run the dolibarr postrm script
docdir='/var/lib/dolibarr/documents' docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents' #docdir='/usr/share/dolibarr/documents'
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="/etc/dolibarr/conf.php"
lockfile="/usr/share/dolibarr/install.lock"
export webserver=""
# Allows us to loop and substitute in one pass
case $webserver in
Apache) webservers="apache2" ;;
Apache-SSL) webservers="apache2-ssl" ;;
Both) webservers="apache2 apache2-ssl" ;;
*) webservers="apache2 apache2-ssl" ;;
esac
export includefile=/etc/dolibarr/apache.conf
case "$1" in case "$1" in
# Call when we upgrade
upgrade)
echo "postrm upgrade"
;;
# Call when we uninstall
remove)
echo "postrm remove"
rm -f $lockfile
# Reconfigure web server
db_get dolibarr/reconfigure-webserver
webservers="$RET"
# Restart web servers
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "lighttpd" ] ; then
lighttpd_remove
else
apache_remove $webserver
fi
# Redirection of 3 is needed because Debconf uses it and it might
# be inherited by webserver. See bug #446324.
if [ -f /etc/init.d/$webserver ] ; then
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $webserver reload 3>/dev/null || true
else
/etc/init.d/$webserver reload 3>/dev/null || true
fi
fi
done
;;
# Call when we uninstall and purge # Call when we uninstall and purge
purge) purge)
echo "postrm purge webservers=$webservers includefile=$includefile" echo "postrm purge"
# Ask if we must delete database # Ask if we must delete database
echo "postrm db_input dolibarr/postrm" echo "postrm db_input dolibarr/postrm"
db_input critical "dolibarr/postrm" || true db_input critical dolibarr/postrm || true
db_go || true db_go || true
echo "postrm db_get dolibarr/postrm" echo "postrm db_get dolibarr/postrm"
# We disable set -e to avoid premature end of script if error # We disable set -e to avoid premature end of script if error
set +e set +e
db_get "dolibarr/postrm" db_get dolibarr/postrm
set -e set -e
if [ "$RET" = "true" ] ; then if [ "$RET" = "true" ] ; then
echo postrm Mysql database deletion echo postrm Mysql database deletion
# Get database configuration # Get database configuration
dbserver="localhost" dbserver="localhost"
dbname="dolibarrmysql" dbuser="dolibarrdebian"
dbname="dolibarrdebian"
#db_get "dolibarr/db/name" #db_get "dolibarr/db/name"
#dbname="$RET" #dbname="$RET"
superuserlogin='' superuserlogin=''
@ -120,23 +179,31 @@ case "$1" in
fi fi
mysqlcmd="mysql $hostopt $passopt -u $dbadmin" mysqlcmd="mysql $hostopt $passopt -u $dbadmin"
# Now run the drop commands # Now run the drop user
if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'localhost';\"" ; then
log="${log}Droping database $dbname." echo Database login $dbuser removed
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 else
error="Unable to run the drop database script." error="Unable to run $mysqlcmd -f -e \"DROP USER '$dbuser'@'localhost';\""
echo $error echo $error
fi 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
else else
status=nothing status=nothing
log="${log}Database $dbname already not exists." log="${log}Database $dbname already not exists."
fi fi
echo "Remove directory $docdir" echo "Remove directory $docdir"
@ -146,91 +213,22 @@ case "$1" in
echo "postrm Delete of dolibarr database and uploaded files not wanted" echo "postrm Delete of dolibarr database and uploaded files not wanted"
fi fi
# 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
rm -rf /etc/dolibarr rm -rf /etc/dolibarr
# Restart servers
for server in $restart ; do
# We disable blocking errors
set +e
echo "Restart server $server if exists"
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $server reload || true
else
/etc/init.d/$server reload || true
fi
# We restore blocking errors
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) # We clean variable (we ignore errors because db_reset can fails if var was never set)
set +e set +e
db_reset "dolibarr/postrm" db_reset dolibarr/reconfigure-webserver
db_reset dolibarr/postrm
set -e set -e
#db_purge #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) failed-upgrade|abort-install|abort-upgrade|disappear)
;; ;;
*) *)
echo "postrm called with unknown argument \`$1'" >&2 echo "postrm called with unknown argument $1" >&2
exit 0 exit 0
;; ;;
esac esac

View File

@ -1,10 +1,8 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# Uncomment this to turn on verbose mode. # This is the debhelper compatability version to use.
export DH_VERBOSE=1 #export DH_COMPAT=7 # Now defined into compat file
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

@ -2,7 +2,7 @@
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# \file build/makepack-dolibarr.pl # \file build/makepack-dolibarr.pl
# \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps) # \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps)
# \version $Id: makepack-dolibarr.pl,v 1.117 2011/07/26 23:25:59 eldy Exp $ # \version $Id: makepack-dolibarr.pl,v 1.112 2011/07/21 22:11:30 eldy Exp $
# \author (c)2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> # \author (c)2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -34,7 +34,7 @@ $FILENAMESNAPSHOT="$PROJECT-snapshot";
$FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; $FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD"; $FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; $FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION";
$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${BUILD}"; $FILENAMEDEB="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app"; $FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app";
$FILENAMEEXEDOLIWAMP="$PROJECT-$MAJOR.$MINOR.$BUILD"; $FILENAMEEXEDOLIWAMP="$PROJECT-$MAJOR.$MINOR.$BUILD";
if (-d "/usr/src/redhat") { if (-d "/usr/src/redhat") {
@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") {
use vars qw/ $REVISION $VERSION /; use vars qw/ $REVISION $VERSION /;
$REVISION='$Revision: 1.117 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $REVISION='$Revision: 1.112 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$VERSION="1.0 (build $REVISION)"; $VERSION="1.0 (build $REVISION)";
@ -458,8 +458,8 @@ if ($nboftargetok) {
# now newbuild is 0-1 or 0-4 for example # now newbuild is 0-1 or 0-4 for example
print "Version is $MAJOR.$MINOR.$newbuild\n"; print "Version is $MAJOR.$MINOR.$newbuild\n";
print "Remove target ${FILENAMEDEB}_all.deb...\n"; print "Remove target $FILENAMEDEB.deb...\n";
unlink("$DESTI/${FILENAMEDEB}_all.deb"); unlink("$DESTI/$FILENAMEDEB.deb");
#rmdir "$BUILDROOT/$PROJECT.tmp"; #rmdir "$BUILDROOT/$PROJECT.tmp";
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`;
@ -468,33 +468,21 @@ if ($nboftargetok) {
print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\n"; print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\n";
$cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\""; $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\"";
$ret=`$cmd`; $ret=`$cmd`;
# Create DEBIAN directory
print "Create directory $BUILDROOT/$PROJECT.tmp/DEBIAN\n"; print "Create directory $BUILDROOT/$PROJECT.tmp/DEBIAN\n";
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
print "Copy $SOURCE/build/deb/xxx to $BUILDROOT/$PROJECT.tmp/DEBIAN\n"; print "Copy $SOURCE/build/deb/* to $BUILDROOT/$PROJECT.tmp/DEBIAN\n";
$ret=`cp -f "$SOURCE/build/deb/config" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; $ret=`cp -r "$SOURCE/build/deb/config" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
$ret=`cp -f "$SOURCE/build/deb/postinst" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; $ret=`cp -r "$SOURCE/build/deb/control" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
$ret=`cp -f "$SOURCE/build/deb/postrm" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; $ret=`cp -r "$SOURCE/build/deb/postinst" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
$ret=`cp -f "$SOURCE/build/deb/templates" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; $ret=`cp -r "$SOURCE/build/deb/postrm" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
print "Edit version in file $BUILDROOT/$PROJECT.tmp/DEBIAN/control\n"; $ret=`cp -r "$SOURCE/build/deb/templates" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
open (SPECFROM,"<$SOURCE/build/deb/control.DEBIAN") || die "Error";
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error";
while (<SPECFROM>) {
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/;
print SPECTO $_;
}
close SPECFROM;
close SPECTO;
print "Version set to $MAJOR.$MINOR.$newbuild\n";
print "Remove other files\n"; print "Remove other files\n";
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/aps`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/aps`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/config`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/config`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/control.*`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/control`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postinst`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postinst`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postrm`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postrm`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/rules`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/perl`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/dmg`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/dmg`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/dbmodel`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/dbmodel`;
@ -525,6 +513,17 @@ if ($nboftargetok) {
# To remove once stable # To remove once stable
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`;
print "Edit version in file $BUILDROOT/$PROJECT.tmp/DEBIAN/control\n";
open (SPECFROM,"<$SOURCE/build/deb/control") || die "Error";
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error";
while (<SPECFROM>) {
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/;
print SPECTO $_;
}
close SPECFROM;
close SPECTO;
print "Version set to $MAJOR.$MINOR.$newbuild\n";
# dolibarr.desktop # dolibarr.desktop
print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n";
$ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/applications"`; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/applications"`;
@ -582,48 +581,21 @@ if ($nboftargetok) {
$olddir=getcwd(); $olddir=getcwd();
chdir("$BUILDROOT"); chdir("$BUILDROOT");
# Creation of binary package $cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}.deb";
$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb";
print "Launch DEB build ($cmd)\n"; print "Launch DEB build ($cmd)\n";
$ret=`$cmd`; $ret=`$cmd`;
print $ret."\n"; print $ret."\n";
# Creation of source package
print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n";
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`;
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian/source"`;
$ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/DEBIAN"`;
print "Copy $SOURCE/build/deb/xxx to $BUILDROOT/$PROJECT.tmp/debian\n";
$ret=`cp -f "$SOURCE/build/deb/changelog" "$BUILDROOT/$PROJECT.tmp/debian/changelog"`;
$ret=`cp -f "$SOURCE/build/deb/control.debian" "$BUILDROOT/$PROJECT.tmp/debian/control"`;
$ret=`cp -f "$SOURCE/build/deb/rules" "$BUILDROOT/$PROJECT.tmp/debian/rules"`;
$ret=`cp -f "$SOURCE/build/deb/copyright" "$BUILDROOT/$PROJECT.tmp/debian/copyright"`;
$ret=`cp -f "$SOURCE/build/deb/compat" "$BUILDROOT/$PROJECT.tmp/debian/compat"`;
$ret=`cp -f "$SOURCE/build/deb/format" "$BUILDROOT/$PROJECT.tmp/debian/source/format"`;
#$ret=`cp -f "$SOURCE/build/deb/postinst" "$BUILDROOT/$PROJECT.tmp/debian"`;
#$ret=`cp -f "$SOURCE/build/deb/postrm" "$BUILDROOT/$PROJECT.tmp/debian"`;
#$ret=`cp -f "$SOURCE/build/deb/templates" "$BUILDROOT/$PROJECT.tmp/debian"`;
$build = $newbuild;
$build =~ s/-.*$//g;
$cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build";
$ret=`$cmd`;
$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build";
print "Launch DEB src build ($cmd)\n";
$ret=`$cmd`;
print $ret."\n";
chdir("$olddir"); chdir("$olddir");
if ($OS =~ /windows/i) if ($OS =~ /windows/i)
{ {
print "Move ${FILENAMEDEB}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; print "Move ${FILENAMEDEB}.deb to $DESTI/${FILENAMEDEB}.deb\n";
$ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.deb"`; $ret=`mv "$BUILDROOT/${FILENAMEDEB}.deb" "$DESTI/${FILENAMEDEB}.deb"`;
} }
else else
{ {
print "Move ${FILENAMEDEB}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; print "Move ${FILENAMEDEB}.deb to $DESTI/${FILENAMEDEB}.deb\n";
$ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.deb"`; $ret=`mv "$BUILDROOT/${FILENAMEDEB}.deb" "$DESTI/${FILENAMEDEB}.deb"`;
} }
next; next;
} }

View File

@ -14,15 +14,14 @@
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program. If not, see <http://www.gnu.org/licenses/>.
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/** /**
* \file htdocs/compta/bank/rappro.php * \file htdocs/compta/bank/rappro.php
* \ingroup banque * \ingroup banque
* \brief Page to reconciliate bank transactions * \brief Page to reconciliate bank transactions
* \version $Id: rappro.php,v 1.67 2011/07/26 23:16:47 eldy Exp $ * \version $Id: rappro.php,v 1.68 2011/07/31 22:23:16 eldy Exp $
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
@ -403,5 +402,5 @@ else
$db->close(); $db->close();
llxFooter('$Date: 2011/07/26 23:16:47 $ - $Revision: 1.67 $'); llxFooter('$Date: 2011/07/31 22:23:16 $ - $Revision: 1.68 $');
?> ?>

View File

@ -109,8 +109,8 @@ PHPServerOffsetWithGreenwich=Offset amb Greenwich (segons)
ClientOffsetWithGreenwich=Offset client/navegador amb Greenwich (segons) ClientOffsetWithGreenwich=Offset client/navegador amb Greenwich (segons)
DaylingSavingTime=Horari d'estiu (usuari) DaylingSavingTime=Horari d'estiu (usuari)
CurrentHour=Hora PHP (servidor) CurrentHour=Hora PHP (servidor)
CompanyTZ=Zona Horària empresa (seu central) CompanyTZ=Zona Horària empresa (casa mare)
CompanyHour=Hora empresa (seu central) CompanyHour=Hora empresa (casa mare)
CurrentSessionTimeOut=Time out sessió actual CurrentSessionTimeOut=Time out sessió actual
OSEnv=Entorn SO OSEnv=Entorn SO
Box=Panell Box=Panell

View File

@ -109,8 +109,8 @@ PHPServerOffsetWithGreenwich=Offset servidor con Greenwich (segundos)
ClientOffsetWithGreenwich=Offset cliente/navegador con Greenwich (segundos) ClientOffsetWithGreenwich=Offset cliente/navegador con Greenwich (segundos)
DaylingSavingTime=Horario de verano (usuario) DaylingSavingTime=Horario de verano (usuario)
CurrentHour=Hora PHP (servidor) CurrentHour=Hora PHP (servidor)
CompanyTZ=Zona Horaria empresa (sede central) CompanyTZ=Zona Horaria empresa (casa madre)
CompanyHour=Hora empresa (sede central) CompanyHour=Hora empresa (casa madre)
CurrentSessionTimeOut=Time out sesión actual CurrentSessionTimeOut=Time out sesión actual
OSEnv=Entorno SO OSEnv=Entorno SO
Box=Panel Box=Panel