From 32dfb9340fc6ec1c109c35b2d5b4512b091fdf68 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Wed, 21 Oct 2009 22:09:44 +0000
Subject: [PATCH] Update package for debian

---
 build/deb/apache.conf                       |  24 +--
 build/deb/config                            |  73 ++++++++
 build/deb/control                           |   3 +-
 build/deb/{dolibarr.docs => docs}           |   0
 build/deb/dolibarr.config                   | 119 -------------
 build/deb/dolibarr.postinst                 | 182 --------------------
 build/deb/{dolibarr.files => files}         |   0
 build/deb/postinst                          | 122 +++++++++++++
 build/deb/{dolibarr.postrm => postrm}       |  15 +-
 build/deb/rules                             |  15 +-
 build/deb/{dolibarr.templates => templates} |  16 +-
 build/deb/wash                              |   0
 build/makepack-dolibarr.pl                  |  51 +++++-
 13 files changed, 271 insertions(+), 349 deletions(-)
 create mode 100644 build/deb/config
 rename build/deb/{dolibarr.docs => docs} (100%)
 delete mode 100644 build/deb/dolibarr.config
 delete mode 100644 build/deb/dolibarr.postinst
 rename build/deb/{dolibarr.files => files} (100%)
 create mode 100644 build/deb/postinst
 rename build/deb/{dolibarr.postrm => postrm} (85%)
 rename build/deb/{dolibarr.templates => templates} (88%)
 create mode 100644 build/deb/wash

diff --git a/build/deb/apache.conf b/build/deb/apache.conf
index 2957644a8cd..9d75dcc2945 100644
--- a/build/deb/apache.conf
+++ b/build/deb/apache.conf
@@ -1,31 +1,25 @@
-Alias /dolibarr /usr/share/dolibarr
+Alias /dolibarr /usr/share/dolibarr/htdocs
 
-<DirectoryMatch /usr/share/dolibarr/>
+<DirectoryMatch /usr/share/dolibarr/htdocs>
   Options +FollowSymLinks +Indexes
 
-  ErrorDocument 401 /public/error-401.html
+  ErrorDocument 401 /public/error-401.php
+  ErrorDocument 404 /public/error-404.php
 
   <IfModule mod_php4.c>
     php_flag magic_quotes_gpc Off
-    php_flag track_vars On
-    php_flag register_globals On
+    php_flag register_globals Off
   </IfModule>
 
 </DirectoryMatch>
 
-<DirectoryMatch /usr/share/dolibarr/public/>
+<DirectoryMatch /usr/share/dolibarr/htdocs/public/>
     AllowOverride All
     Order deny,allow
     Allow from all
 </DirectoryMatch>
 
-<DirectoryMatch /usr/share/dolibarr/theme/>
-    AllowOverride All
-    Order deny,allow
-    Allow from all
-</DirectoryMatch>
-
-#<DirectoryMatch /usr/share/dolibarr/public/adherents/priv_*>
+#<DirectoryMatch /usr/share/dolibarr/htdocs/public/adherents/priv_*>
 #    Options Indexes FollowSymLinks
 #    AllowOverride All
 #    Order deny,allow
@@ -42,6 +36,4 @@ Alias /dolibarr /usr/share/dolibarr
 #
 #    require valid-user
 #    satisfy any
-#</DirectoryMatch>
-#
-
+#</DirectoryMatch>
\ No newline at end of file
diff --git a/build/deb/config b/build/deb/config
new file mode 100644
index 00000000000..afa173f772b
--- /dev/null
+++ b/build/deb/config
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Debian install package run: config, preinst, prerm, postinst, postrm
+#
+# dpkg -b is to build package
+# dpkg -c package.deb list content of package
+# dpkg -I package.deb give informations on package
+# dpkg -i package.deb install a package
+#
+# dpkg -L packagename list content of installed package 
+# dpkg --purge remove interactive saved answers
+#
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+db_version 2.0
+
+
+echo Run the configuration script
+
+# Rotate old configuration
+if [ "$1" = "reconfigure" ] ; then
+	config="/etc/dolibarr/apache.conf"
+	for i in $(seq 8 -1 0) ; do
+		if [ -f ${config}.$i ]
+			then mv ${config}.$i ${config}.$(($i +1))
+		fi
+	done
+	mv ${config} ${config}.0
+fi
+
+
+
+db_capb backup
+
+
+# Ask for web server type.
+db_input critical "dolibarr/webserver" || true
+
+db_title "dolibarr" || true
+if db_go ; then
+    okcancel="1"
+else
+	okcancel="0"
+fi
+
+
+# Ask on wich host the DBMS is installed.
+#db_input critical "dolibarr/db/host" || true
+
+# Get the database administrator name and password.
+#db_beginblock
+#	db_input critical "dolibarr/db/admin/name" || true
+#	db_input critical "dolibarr/db/admin/password" || true
+#db_endblock
+
+# Ask for DB name.
+#db_input critical "dolibarr/db/name" || true
+
+# Get the DBMS account username
+#db_input critical "dolibarr/db/user/name" || true
+
+# Get the DBMS account password
+#db_input critical "dolibarr/db/user/password" || true
+
+# Ask for deleting all the database on package purge.
+#db_input medium "dolibarr/postrm" || true
+#onsuccess='finished="true"'
+
+
+db_stop
+exit 0
diff --git a/build/deb/control b/build/deb/control
index 74dad19c62a..beb8600d65c 100644
--- a/build/deb/control
+++ b/build/deb/control
@@ -7,9 +7,10 @@ Package: dolibarr
 Section: web
 Architecture: all
 Essential: no
-Depends: apache2, httpd, libapache2-mod-php5, libapache-mod-php5, php5, php5-cgi, libapache2-mod-php4, libapache-mod-php4, php4-cgi, php4, perl
+Depends: wwwconfig-common, apache2, httpd, libapache2-mod-php5, php5, php5-cgi, php5-curl, php5-gd, php5-imagick, php5-ldap, php5-mcrypt, php5-mysql, perl
 Recommends: mozilla | netscape
 Installed-Size: 30000000
+Homepage: http://www.dolibarr.org
 Description: Company or foundation management software.
  Dolibarr is a small and simple Web interface with ERP and CRM
  capabilities. It is designed for small companies freelancers, or
diff --git a/build/deb/dolibarr.docs b/build/deb/docs
similarity index 100%
rename from build/deb/dolibarr.docs
rename to build/deb/docs
diff --git a/build/deb/dolibarr.config b/build/deb/dolibarr.config
deleted file mode 100644
index 48af0da316b..00000000000
--- a/build/deb/dolibarr.config
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/sh -e
-
-. /usr/share/debconf/confmodule
-
-db_version 2.0
-
-if [ "$1" = "reconfigure" ] ; then
-	# Rotate old configuration
-	config="/etc/dolibarr/apache.conf"
-	for i in $(seq 8 -1 0) ; do
-		if [ -f ${config}.$i ]
-			then mv ${config}.$i ${config}.$(($i +1))
-		fi
-	done
-	mv ${config} ${config}.0
-fi
-step=0
-finished="false"
-
-db_capb backup
-while ! $finished ; do
-	skip="false"
-	forward=1
-	backward=1
-	password=""
-	confirm=""
-	case $step in
-		0)	# Prompt user for notes.
-			db_beginblock
-				db_input low "dolibarr/configuration/note" || true
-			db_endblock
-			backward=0
-		;;
-		1)	# Ask for web server type.
-			db_input medium "dolibarr/webserver" || true
-		;;
-		2)	# Ask on wich host the DBMS is installed.
-			db_input critical "dolibarr/db/host" || true
-			# Skip previous step.
-			backward=1
-		;;
-		3)	# Get the database administrator name and password.
-			db_beginblock
-				db_input critical "dolibarr/db/admin/name" || true
-				db_input critical "dolibarr/db/admin/password" || true
-			db_endblock
-			# Skip previous step.
-			backward=1
-		;;
-		4)	# Ask for DB name.
-			db_input critical "dolibarr/db/name" || true
-		;;
-		5)	# Get the DBMS account username
-			db_input critical "dolibarr/db/user/name" || true
-		;;
-		6) # Get the DBMS account password
-			db_fset "dolibarr/db/user/password/mismatch" "seen" "false" || true
-			db_beginblock
-				db_input critical "dolibarr/db/user/password" || true
-				db_input critical "dolibarr/db/user/password/confirm" || true
-			db_endblock
-		;;
-		7)	# Check if passwords match.
-			db_get "dolibarr/db/user/password"
-			password="$RET"
-			db_get "dolibarr/db/user/password/confirm"
-			confirm="$RET"
-			if [ "$password" != "$confirm" ] ; then
-				# Reset the template used
-				db_reset "dolibarr/db/user/password" || true
-				db_fset  "dolibarr/db/user/password" "seen" "false" || true
-				db_reset "dolibarr/db/user/password/confirm" || true
-				db_fset  "dolibarr/db/user/password/confirm" "seen" "false" || true
-				# Promt the user
-				db_input critical "dolibarr/header/password/mismatch" || true
-				# Do one step back anyway.
-				forward=-1
-			else
-				# Do not prompt, go to the next step.
-				skip="true"
-			fi
-		;;
-		8)	# Ask for deleting all the database on package purge.
-			db_input medium "dolibarr/postrm" || true
-			onsuccess='finished="true"'
-			# Skip previous step
-			backward=2
-		;;
-		*)
-			skip="true"
-			message="Unknown step #$tep."
-			if [ $step -lt 0 ] ; then
-				step=-1
-			elif [ $step -gt 11 ] ; then
-				finished="true"
-			fi
-		;;
-	esac
-	
-	if $skip ; then
-		next=$(($step + 1))
-		eval $onsuccess
-		onsuccess=''
-	else
-		db_title "dolibarr" || true
-		if db_go ; then
-			next=$(($step + $forward))
-			eval $onsuccess
-			onsuccess=''
-		else
-			next=$(($step - $backward))
-			onsuccess=''
-		fi
-	fi
-	step=$next
-done
-
-db_stop
-exit 0
diff --git a/build/deb/dolibarr.postinst b/build/deb/dolibarr.postinst
deleted file mode 100644
index d781f909e3a..00000000000
--- a/build/deb/dolibarr.postinst
+++ /dev/null
@@ -1,182 +0,0 @@
-#! /bin/sh
-# postinst script for dolibarr
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see /usr/share/doc/packaging-manual/
-
-. /usr/share/debconf/confmodule
-db_version 2.0
-
-#
-# Description:	Verifies that the env module is loaded in the apache config file.
-# Needs:	$server the apache server to use,
-#			anything that matches /etc/$server/*.conf
-#
-env_enable()
-{
-    envverm="env_module"
-    if grep -e "^[[:space:]]*#[[:space:]]*LoadModule[[:space:]]\+$envverm" /etc/$server/httpd.conf > /dev/null 2>&1; then
-		# Uncommenting
-	sed -e "s#\([[:space:]]*\)\#[[:space:]]\+\(LoadModule $envverm\)#\1\2#" /etc/$server/httpd.conf > /etc/$server/httpd.conf.tmp
-	status=uncomment
-	if grep -e "^[[:space:]]*LoadModule[[:space:]]\+$envverm" /etc/$server/httpd.conf.tmp >/dev/null 2>&1; then
-			# Uncomment successful.
-	    cp /etc/$server/httpd.conf /etc/$server/httpd.conf.back >/dev/null 2>&1
-	    mv /etc/$server/httpd.conf.tmp /etc/$server/httpd.conf
-	else
-			# Uncomment unsuccessful.
-	    status=error
-	    rm /etc/$server/httpd.conf.tmp
-	fi
-    fi
-}
-
-set -x 
-
-case "$1" in
-	configure)
-		config="/etc/dolibarr/apache.conf"
-
-		# Get the web server type.
-		db_get "dolibarr/webserver"
-		webserver="$RET"
-		case $webserver in
-			Apache)		webservers="apache" ;;
-			Apache-SSL)	webservers="apache-ssl" ;;
-			Both)		webservers="apache apache-ssl" ;;
-			*)		webservers="" ;;
-		esac
-		. /usr/share/wwwconfig-common/php.get
-		# Set up web server.
-		for server in $webservers ; do
-			env_enable
-			typestr='application/x-httpd-php'
-			extension='.php3'
-			. /usr/share/wwwconfig-common/apache-addtype_all.sh
-		        . /usr/share/wwwconfig-common/apache-php.sh
-		        . /usr/share/wwwconfig-common/apache-run.get
-			trustuser=$webuser
-			#
-			# That may lead to problems if apache & apache-ssl do
-			# not have the same user/group.
-			#
-			chown -R $webuser.$webgroup /usr/share/dolibarr
-			includefile="/etc/dolibarr/apache.conf"
-			. /usr/share/wwwconfig-common/apache-include_all.sh
-			test "$status" = "uncomment" -o "$status" = "include" && restart="$server $restart"
-			for index in index.php; do
-				. /usr/share/wwwconfig-common/apache-index_all.sh
-				test "$status" = "added" && restart="$server $restart"
-			done
-		done
-
-		#
-		# Pear
-		#
-		if [ ! -f /usr/bin/php ] ; then ln -s /usr/bin/php4 /usr/bin/php ; fi
-		pear install Archive_Tar || true
-		pear install Console_Getopt || true
-		pear install PEAR || true
-		pear install Auth || true
-		pear install DB || true
-
-		#
-		# Database
-		#
-		db_get "dolibarr/db/setup/skip"
-		if [ "$RET" = "false" ] ; then
-			db_get "dolibarr/db/host"
-			dbserver="$RET"
-			db_get "dolibarr/db/name"
-			dbname="$RET"
-			db_get "dolibarr/db/admin/name"
-			dbadmin="$RET"
-			db_get "dolibarr/db/admin/password"
-			dbadmpass="$RET"
-			db_get "dolibarr/db/user/name"
-			dbuser="$RET"
-			db_get "dolibarr/db/user/password"
-			dbpass="$RET"
-			dbtype="mysql"
-			status=''
-			# User may have choosen to continue anyway
-			# with the configuration, so:
-			if [ "$dbtype" = "mysql" ] ; then
-				. /usr/share/wwwconfig-common/${dbtype}-createuser.sh
-				test "$error" && echo $error
-				. /usr/share/wwwconfig-common/${dbtype}-createdb.sh
-				test "$error" && echo $error
-			fi
-
-			if [ "$status" = "create" ] ; then
-			   sqlfile=/usr/lib/dolibarr/${dbtype}.sql
-			   perl -pi -e "s/'admin','admin'/'$dbuser','$dbpass'/" $sqlfile
-			   . /usr/share/wwwconfig-common/${dbtype}-exec.sh
-
-			   if [ -z "$error" ] ; then
-
-			      echo "Visit http://localhost/dolibarr/install.php to complete the installation"
-			   else
-			      echo $error
-			   fi
-			else
-			    #
-			    # This dangerous file should be removed
-			    # after the user visits install.php but this
-			    # is beyond the control of the script. By
-			    # removing it at this point we ensure that
-			    # it does not survive an upgrade of dolibarr.
-			    #
-			    rm -f /usr/share/dolibarr/install.php
-                        fi
-		fi
-
-		perl -pi -e "s/Auth_MySQL_DB.*/Auth_MySQL_DB '$dbname'/" /etc/dolibarr/apache.conf
-		perl -pi -e "s/Auth_MySQL_Username_Field.*/Auth_MySQL_Username_Field '$dbuser'/" /etc/dolibarr/apache.conf
-		perl -pi -e "s/Auth_MySQL_Password_Field.*/Auth_MySQL_Password_Field '$dbpass'/" /etc/dolibarr/apache.conf
-		perl -pi -e "s/DBNAME.*/DBNAME $dbname/" /etc/dolibarr/apache.conf
-		perl -pi -e "s/DBUSER.*/DBUSER $dbuser/" /etc/dolibarr/apache.conf
-		perl -pi -e "s/DBPASS.*/DBPASS $dbpass/" /etc/dolibarr/apache.conf
-
-		if grep DBHOST /usr/share/dolibarr/conf/conf.php > /dev/null
-		then
-		    perl -pi -e "s/DBHOST/$dbserver/" /usr/share/dolibarr/conf/conf.php
-		    perl -pi -e "s/DBNAME/$dbname/" /usr/share/dolibarr/conf/conf.php
-		    perl -pi -e "s/DBUSER/$dbuser/" /usr/share/dolibarr/conf/conf.php
-		    perl -pi -e "s/DBPASS/$dbpass/" /usr/share/dolibarr/conf/conf.php
-		fi
-
-		# Reset passwords
-		db_reset "dolibarr/db/user/password"
-
-		servers="apache-ssl apache mysql"
-		. /usr/share/wwwconfig-common/restart.sh
-
-	;;
-
-	abort-upgrade|abort-remove|abort-deconfigure)
-
-	;;
-
-	*)
-		echo "postinst called with unknown argument \`$1'" >&2
-		exit 0
-	;;
-esac
-
-db_stop
-
-#DEBHELPER#
-
-exit 0
diff --git a/build/deb/dolibarr.files b/build/deb/files
similarity index 100%
rename from build/deb/dolibarr.files
rename to build/deb/files
diff --git a/build/deb/postinst b/build/deb/postinst
new file mode 100644
index 00000000000..7549cce5a31
--- /dev/null
+++ b/build/deb/postinst
@@ -0,0 +1,122 @@
+#!/bin/sh
+# postinst script for dolibarr
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see /usr/share/doc/packaging-manual/
+
+. /usr/share/debconf/confmodule
+db_version 2.0
+
+#
+# Description:	Verifies that the env module is loaded in the apache config file.
+# Needs:	$server the apache server to use,
+#			anything that matches /etc/$server/*.conf
+#
+env_enable()
+{
+    envverm="env_module"
+    if grep -e "^[[:space:]]*#[[:space:]]*LoadModule[[:space:]]\+$envverm" /etc/$server/httpd.conf > /dev/null 2>&1; then
+		# Uncommenting
+	sed -e "s#\([[:space:]]*\)\#[[:space:]]\+\(LoadModule $envverm\)#\1\2#" /etc/$server/httpd.conf > /etc/$server/httpd.conf.tmp
+	status=uncomment
+	if grep -e "^[[:space:]]*LoadModule[[:space:]]\+$envverm" /etc/$server/httpd.conf.tmp >/dev/null 2>&1; then
+			# Uncomment successful.
+	    cp /etc/$server/httpd.conf /etc/$server/httpd.conf.back >/dev/null 2>&1
+	    mv /etc/$server/httpd.conf.tmp /etc/$server/httpd.conf
+	else
+			# Uncomment unsuccessful.
+	    status=error
+	    rm /etc/$server/httpd.conf.tmp
+	fi
+    fi
+}
+
+echo Run the postinst script
+
+case "$1" in
+	configure)
+		config="/etc/dolibarr/apache.conf"
+
+		#db_reset "dolibarr/webserver"
+
+		# Get the web server type.
+		db_get "dolibarr/webserver"		# Ask/read value for webserver.
+#		webserver="$RET"
+		webserver="Both"
+		case $webserver in
+			Apache)		webservers="apache2" ;;
+			Apache-SSL)	webservers="apache2-ssl" ;;
+			Both)		webservers="apache2 apache2-ssl" ;;
+			*)		webservers="" ;;
+		esac
+		. /usr/share/wwwconfig-common/php.get
+
+		# Set up web server.
+		for server in $webservers ; do
+			echo Complete config of server $server
+			env_enable
+			typestr='application/x-httpd-php'
+			extension='.php'
+			. /usr/share/wwwconfig-common/apache-addtype_all.sh
+		        . /usr/share/wwwconfig-common/apache-php.sh
+		        . /usr/share/wwwconfig-common/apache-run.get
+			trustuser=$webuser
+			#
+			# That may lead to problems if apache & apache-ssl do
+			# not have the same user/group.
+			#
+			chown -R $webuser.$webgroup /usr/share/dolibarr
+
+			# TODO This add alias into http.conf but it should go into apache2.conf
+			includefile="/etc/dolibarr/apache.conf"
+			#echo "$includefile $server" 
+			. /usr/share/wwwconfig-common/apache-include_all.sh
+			test "$status" = "uncomment" -o "$status" = "include" && restart="$server $restart"
+			for index in index.php; do
+				. /usr/share/wwwconfig-common/apache-index_all.sh
+				test "$status" = "added" && restart="$server $restart"
+			done
+		done
+
+		echo "Go on page http://localhost/dolibarr/ to complete the installation and use Dolibarr."
+
+		# 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
+
+		servers="apache2-ssl apache2 mysql"
+		. /usr/share/wwwconfig-common/restart.sh
+
+	;;
+
+	abort-upgrade|abort-remove|abort-deconfigure)
+
+	;;
+
+	*)
+		echo "postinst called with unknown argument \`$1'" >&2
+		exit 0
+	;;
+esac
+
+db_stop
+
+#DEBHELPER#
+
+exit 0
\ No newline at end of file
diff --git a/build/deb/dolibarr.postrm b/build/deb/postrm
similarity index 85%
rename from build/deb/dolibarr.postrm
rename to build/deb/postrm
index c280c8c5569..2765f9715c1 100644
--- a/build/deb/dolibarr.postrm
+++ b/build/deb/postrm
@@ -23,9 +23,9 @@ webserver="$RET"
 
 # Allows us to loop and substitute in one pass
 case $webserver in
-	Apache)		webservers="apache" ;;
-	Apache-SSL)	webservers="apache-ssl" ;;
-	Both)		webservers="apache apache-ssl" ;;
+	Apache)		webservers="apache2" ;;
+	Apache-SSL)	webservers="apache2-ssl" ;;
+	Both)		webservers="apache2 apache2-ssl" ;;
 	*)		webservers="" ;;
 esac
 includefile=/etc/dolibarr/apache.conf
@@ -35,12 +35,7 @@ case "$1" in
 		db_get "dolibarr/postrm"
 		if [ "$RET" = "true" ] ; then
 			# Get database configuration
-			db_get "dolibarr/db/user/name"
-			dbuser="$RET"
-			db_get "dolibarr/db/user/password"
-			dbpass="$RET"
-			db_get "dolibarr/db/host"
-			dbserver="$RET"
+			dbserver="localhost"
 			db_get "dolibarr/db/name"
 			dbname="$RET"
 			db_get "dolibarr/db/admin/name"
@@ -63,7 +58,7 @@ case "$1" in
 			fi
 		done
 
-		servers="apache-ssl apache mysql"
+		servers="apache2-ssl apache2 mysql"
 		. /usr/share/wwwconfig-common/restart.sh
 
 		for dir in /usr/share/dolibarr ; do
diff --git a/build/deb/rules b/build/deb/rules
index 9939c499b54..cbfb67ca212 100644
--- a/build/deb/rules
+++ b/build/deb/rules
@@ -38,26 +38,23 @@ install: build
 	dh_clean -k
 	dh_installdirs
 
-	@# Add here commands to install the package into debian/tmp
+	@# Add here commands to install the package into debian/dolibarr
 
 	install --mode=644 -D --group=www-data --owner=www-data \
-		debian/apache.conf \
+		DEBIAN/apache.conf \
 		debian/dolibarr/etc/dolibarr/apache.conf
 
 	mkdir -p debian/dolibarr/usr/share/dolibarr
-	cp -rp htdocs/* debian/dolibarr/usr/share/dolibarr
-	mkdir -p debian/dolibarr/usr/share/dolibarr/document
-	install --mode 644 --group=www-data --owner=www-data debian/conf.php debian/dolibarr/usr/share/dolibarr/conf/conf.php
+	cp -rp htdocs/* debian/dolibarr/usr/share/dolibarr/htdocs
+	mkdir -p debian/dolibarr/usr/share/dolibarr/documents
 	chmod -R 644 debian/dolibarr/usr/share/dolibarr
+
 	find debian/dolibarr/usr/share/dolibarr -type d | xargs chmod 755
 
 	find debian/dolibarr \( -name CVS -o -name .cvsignore \) | xargs rm -fr
 
 	mkdir -p debian/dolibarr/usr/lib/dolibarr
-	install --mode=444 mysql/mysql.sql debian/dolibarr/usr/lib/dolibarr/mysql.sql
-	for i in count-dons.pl file-dons.pl ; do \
-		install --mode=755 scripts/$$i debian/dolibarr/usr/lib/dolibarr/$$i ; \
-	done
+	cp -rp scripts/* debian/dolibarr/usr/lib/dolibarr
 
 # Build architecture-independent files here.
 binary-indep: build install
diff --git a/build/deb/dolibarr.templates b/build/deb/templates
similarity index 88%
rename from build/deb/dolibarr.templates
rename to build/deb/templates
index 928cf05feef..8c07271fae9 100644
--- a/build/deb/dolibarr.templates
+++ b/build/deb/templates
@@ -34,10 +34,17 @@ Description: dolibarr DB setup NOTE.
 Template: dolibarr/db/host
 Type: string
 Default: localhost
-Description: Please, insert dolibarr DB host name:
+Description: Please, insert your database host name:
  This should be the host-name or IP address that dolibarr will use to access
  the DB.
 
+Template: dolibarr/db/port
+Type: string
+Default: 3306
+Description: Please, insert your database port:
+ This should be the port value that dolibarr will use to access
+ the DB.
+
 Template: dolibarr/db/name
 Type: string
 Default: dolibarr
@@ -69,11 +76,12 @@ Description: Passwords mismatch.
 
 Template: dolibarr/db/admin/name
 Type: string
+Default: root
 Description: Please, insert the DBMS administrator user-name:
  This user-name will be used to access the DBMS to create (if needed):
  .
-  (1) The DB
-  (2) The new DBMS account that dolibarr will use to access the DB
+  (1) The new dolibarr database
+  (2) The new database account that dolibarr will use to access the DB
  .
  It should be 'root' for MySql.
 
@@ -91,4 +99,4 @@ Default: true
 Description: Delete *ALL*?
  Datas subjected to this question are the DBMS account, the DB and the
  dolibarr users ang group files. Do I have to delete *ALL* datas whenever
- the the dolibarr package will be completely removed from the system?
+ the dolibarr package will be completely removed from the system?
diff --git a/build/deb/wash b/build/deb/wash
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl
index bbad58abc67..bda01c92ccf 100644
--- a/build/makepack-dolibarr.pl
+++ b/build/makepack-dolibarr.pl
@@ -232,9 +232,13 @@ if ($nboftargetok) {
 	    	$ret=`cp -pr "$SOURCE" "$BUILDROOT/dolibarr"`;
 	    }
 	    print "Clean $BUILDROOT\n";
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/.project`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/index.php`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/document`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/document`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`;
 	}    
@@ -342,27 +346,58 @@ if ($nboftargetok) {
     	}
     	
     	if ($target eq 'DEB') {
-#            print "Automatic build for DEB is not yet supported.\n";
-    		print "Create directory $BUILDROOT/DEBIAN\n";
+    		print "Move $BUILDROOT/$PROJECT $BUILDROOT/$PROJECT.tmp\n";
+    		$cmd="mv \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp\"";
+            $ret=`$cmd`;
+
+    		print "Create directory $BUILDROOT/$PROJECT/usr/share\n";
+    		$ret=`mkdir -p "$BUILDROOT/$PROJECT/usr/share"`;
+
+    		print "Move $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT/usr/share/$PROJECT\n";
+    		$cmd="mv \"$BUILDROOT/$PROJECT.tmp\" \"$BUILDROOT/$PROJECT/usr/share/$PROJECT\"";
+            $ret=`$cmd`;
+    		
+    		print "Create directory $BUILDROOT/$PROJECT/DEBIAN\n";
     		$ret=`mkdir "$BUILDROOT/$PROJECT/DEBIAN"`;
-    		print "Copy $SOURCE/build/deb to $BUILDROOT/$PROJECT/DEBIAN\n";
-    		$ret=`cp -r "$SOURCE/build/deb" "$BUILDROOT/$PROJECT/DEBIAN"`;
+    		print "Copy $SOURCE/build/deb/* to $BUILDROOT/$PROJECT/DEBIAN\n";
+    		$ret=`cp -r "$SOURCE/build/deb/." "$BUILDROOT/$PROJECT/DEBIAN"`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECT/DEBIAN/CVS`;
+		    $ret=`chmod -R 755 $BUILDROOT/$PROJECT/DEBIAN`;
  
  			print "Edit version in file $BUILDROOT/$PROJECT/DEBIAN/control\n";
             open (SPECFROM,"<$SOURCE/build/deb/control") || die "Error";
             open (SPECTO,">$BUILDROOT/$PROJECT/DEBIAN/control") || die "Error";
             while (<SPECFROM>) {
-                $_ =~ s/__VERSION__/$MAJOR.$MINOR.$BUILD/;
+            	$newbuild = $BUILD;
+                $newbuild =~ s/alpha/0/gi;
+                $newbuild =~ s/beta/1/gi;
+                if ($newbuild !~ /-/) { $newbuild.='-2'; }
+                $_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/;
                 print SPECTO $_;
             }
             close SPECFROM;
             close SPECTO;
-        
+
+    		print "Create directory $BUILDROOT/$PROJECT/etc/dolibarr\n";
+    		$ret=`mkdir -p "$BUILDROOT/$PROJECT/etc/dolibarr"`;
+
+    		#print "Copy changelog file into $BUILDROOT/$PROJECT/DEBIAN\n";
+    		#$ret=`cp "$SOURCE/ChangeLog" "$BUILDROOT/$PROJECT/DEBIAN/changelog"`;
+
+    		print "Copy README file into $BUILDROOT/$PROJECT/DEBIAN\n";
+    		$ret=`cp "$SOURCE/README" "$BUILDROOT/$PROJECT/DEBIAN/README"`;
+
+    		print "Copy copyright file into $BUILDROOT/$PROJECT/DEBIAN\n";
+    		$ret=`cp "$SOURCE/COPYRIGHT" "$BUILDROOT/$PROJECT/DEBIAN/copyright"`;
+
+    		print "Copy apache conf file into $BUILDROOT/$PROJECT/etc/dolibarr\n";
+    		$ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$PROJECT/etc/dolibarr"`;
+
      		print "Go to directory $BUILDROOT\n";
      		chdir("$BUILDROOT");
  
-    		print "Launch DEB build (dpkg -b $BUILDROOT/$PROJECT $BUILDROOT/${FILENAMEDEB}.deb)\n";
-    		$cmd="$DEB -b $BUILDROOT/$PROJECT $BUILDROOT/${FILENAMEDEB}.deb";
+    		$cmd="dpkg -b $BUILDROOT/$PROJECT $BUILDROOT/${FILENAMEDEB}.deb";
+    		print "Launch DEB build ($cmd)\n";
     		$ret=`$cmd`;
     		print $ret."\n";
         	next;
-- 
GitLab