diff --git a/build/debian/control b/build/debian/control
index a293319d4538a4ad3ee40cf2dbc621e2047aa76d..5117ec62bb66092ca5420a4c640c93580aa56f02 100755
--- a/build/debian/control
+++ b/build/debian/control
@@ -2,10 +2,10 @@ Source: dolibarr
 Section: web
 Priority: optional
 Maintainer: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
-Uploaders: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
+# Uploaders: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>		# Only if differs from Maintainer
 Standards-Version: 3.9.4
 Homepage: http://www.dolibarr.org
-Build-Depends: debhelper (>= 9), po-debconf, dpatch
+Build-Depends: debhelper (>= 9), po-debconf
 Comments: This package need at least debian 7 or ubuntu 13.04 or any distribution based on this version
  
 Package: dolibarr
@@ -30,7 +30,7 @@ Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm |
     ${perl:Depends}
 Recommends: mysql-client, apache2 | lighttpd | httpd
 Suggests: www-browser
-Description: Web based software to manage a small company or foundation
+Description: Web based software to manage a company or foundation
  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
diff --git a/build/debian/patches/00list b/build/debian/patches/00list
deleted file mode 100644
index e9740160f5b761d6d8719e0277fb049428e2b106..0000000000000000000000000000000000000000
--- a/build/debian/patches/00list
+++ /dev/null
@@ -1 +0,0 @@
-install.dpatch
\ No newline at end of file
diff --git a/build/debian/patches/series b/build/debian/patches/series
new file mode 100644
index 0000000000000000000000000000000000000000..f67b0d494e7bbaedbd08d3d5ac64a9c9ebbc31d0
--- /dev/null
+++ b/build/debian/patches/series
@@ -0,0 +1 @@
+use-etc-dolibarr-conf.patch
diff --git a/build/debian/patches/install.dpatch b/build/debian/patches/use-etc-dolibarr-conf.patch
old mode 100755
new mode 100644
similarity index 55%
rename from build/debian/patches/install.dpatch
rename to build/debian/patches/use-etc-dolibarr-conf.patch
index c7c77e253798db5ef81294dc34c1f5cc8acaf9dd..f911ad18af00d4ed658d2c3c6ecfb37d57baf35d
--- a/build/debian/patches/install.dpatch
+++ b/build/debian/patches/use-etc-dolibarr-conf.patch
@@ -1,17 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## install.patch by <eldy@users.sourceforge.net>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Updates htdocs/filefunc.inc.php
-## DP: Updates htdocs/install/inc.php
-## DP: Updates htdocs/support/inc.php
-
-@DPATCH@
-
-
---- old/htdocs/filefunc.inc.php 2011-09-03 02:32:48.666952000 +0200
-+++ new/htdocs/filefunc.inc.php	2011-09-03 02:33:00.510952001 +0200
-@@ -63,8 +63,8 @@
+Description: Enable /etc/dolibarr/conf.php so that we use packaged libraries
+ Update some PHP include files to refer to /etc/dolibarr/conf.php
+ instead of the in-tree conf/conf.php.
+ .
+ /etc/dolibarr/conf.php configures Dolibarr to use packaged libraries
+ instead of the embedded ones.
+Author: Laurent Destailleur <eldy@users.sourceforge.net>
+Forwarded: not-needed
+Last-Update: 2013-07-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/htdocs/filefunc.inc.php
++++ b/htdocs/filefunc.inc.php
+@@ -63,8 +63,8 @@ $conffiletoshowshort = "conf.php";
  $conffile = "conf/conf.php";
  $conffiletoshow = "htdocs/conf/conf.php";
  // For debian/redhat like systems
@@ -22,9 +22,9 @@
  
  
  // Include configuration
---- old/htdocs/install/inc.php	2011-09-03 02:33:26.450952000 +0200
-+++ new/htdocs/install/inc.php	2011-09-03 02:33:36.286952001 +0200
-@@ -71,8 +71,8 @@
+--- a/htdocs/install/inc.php
++++ b/htdocs/install/inc.php
+@@ -73,8 +73,8 @@ $conffiletoshowshort = "conf.php";
  $conffile = "../conf/conf.php";
  $conffiletoshow = "htdocs/conf/conf.php";
  // For debian/redhat like systems
@@ -35,9 +35,9 @@
  
  
  if (! defined('DONOTLOADCONF') && file_exists($conffile))
---- old/htdocs/support/inc.php	2011-09-03 02:34:39.606952000 +0200
-+++ new/htdocs/support/inc.php	2011-09-03 02:33:59.814952000 +0200
-@@ -69,8 +69,8 @@
+--- a/htdocs/support/inc.php
++++ b/htdocs/support/inc.php
+@@ -69,8 +69,8 @@ $conffiletoshowshort = "conf.php";
  $conffile = "../conf/conf.php";
  $conffiletoshow = "htdocs/conf/conf.php";
  // For debian/redhat like systems
diff --git a/build/debian/rules b/build/debian/rules
index b1b7ca09aff0acbe1d837d6c3a8a7cf1aaf735b9..b61c101f310d4d77a14345747ca4e8a290bf83ef 100755
--- a/build/debian/rules
+++ b/build/debian/rules
@@ -7,29 +7,11 @@ export DH_OPTIONS=-v
 #export DH_COMPAT=7    # This is the debhelper compatability version to use, now defined into compat file
 
 
-# use dpatch
-include /usr/share/dpatch/dpatch.make
-
-
-configure:
-	dh $@
-
-build: patch
-	dh $@
-
-build-arch: patch
-	dh $@
-
-build-indep: patch
-	dh $@
-
-binary:
-	dh $@
-
-binary-indep:
+%:
 	dh $@
 	
-clean:
+override_dh_install:
+	dh_install
 	# Delete files
 	rm -f  .buildpath
 	rm -fr .cache
@@ -119,7 +101,16 @@ clean:
 	rm -f  htdocs/includes/phpexcel/license.txt
 	rm -f  htdocs/includes/tcpdf/LICENSE.TXT
 
-	dh $@
-
-binary-arch:
-	
+	# Drop unwanted executable permissions
+	find debian/dolibarr/usr/share/dolibarr/htdocs -type f -print0 | \
+	     xargs -0 chmod 644
+	# Add missing executable permissions
+	find debian/dolibarr/usr/share/dolibarr/scripts -type f -name '*.php' -print0 | \
+	     xargs -0 chmod 755
+
+override_dh_fixperms:
+	dh_fixperms
+	# Give rights to the webserver on the upload directory
+	chown www-data:www-data debian/dolibarr/var/lib/dolibarr/documents
+	chmod 2775 debian/dolibarr/var/lib/dolibarr/documents
+	
\ No newline at end of file
diff --git a/build/debian/source/format b/build/debian/source/format
index 9f6742789cd14191dbf0065f875340a67a042086..46ebe0266599c4440c3cc958b9e769927a55dbd4 100644
--- a/build/debian/source/format
+++ b/build/debian/source/format
@@ -1 +1 @@
-3.0 (native)
\ No newline at end of file
+3.0 (quilt)
\ No newline at end of file
diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl
index 7545912588de009823260d1014e8508894f00fc4..693f4156874e8f43c3f004e32ade3c0981f21824 100755
--- a/build/makepack-dolibarr.pl
+++ b/build/makepack-dolibarr.pl
@@ -19,8 +19,10 @@ $PROJECT="dolibarr";
 $RPMSUBVERSION="auto";	# auto use value found into BUILD
 
 @LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT");   # Possible packages
+%REQUIREMENTPUBLISH=(
+"SF"=>"git ssh rsync"
+);
 %REQUIREMENTTARGET=(                            # Tool requirement for each package
-"SNAPSHOT"=>"tar",
 "TGZ"=>"tar",
 "ZIP"=>"7z",
 "XZ"=>"xz",
@@ -28,9 +30,10 @@ $RPMSUBVERSION="auto";	# auto use value found into BUILD
 "RPM_FEDORA"=>"rpmbuild",
 "RPM_MANDRIVA"=>"rpmbuild",
 "RPM_OPENSUSE"=>"rpmbuild",
-"DEB"=>"dpkg dpatch",
+"DEB"=>"dpkg",
 "APS"=>"zip",
-"EXEDOLIWAMP"=>"ISCC.exe"
+"EXEDOLIWAMP"=>"ISCC.exe",
+"SNAPSHOT"=>"tar"
 );
 %ALTERNATEPATH=(
 "7z"=>"7-ZIP",
@@ -55,6 +58,7 @@ $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/;
 
 $SOURCE="$DIR/..";
 $DESTI="$SOURCE/build";
+$PUBLISH="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
 if (! $ENV{"DESTIBETARC"} || ! $ENV{"DESTISTABLE"})
 {
     print "Error: Missing environment variables.\n";
@@ -124,13 +128,41 @@ $FILENAMESNAPSHOT    = "$PROJECT-snapshot";
 $FILENAMETGZ         = "$PROJECT-$MAJOR.$MINOR.$BUILD";
 $FILENAMEZIP         = "$PROJECT-$MAJOR.$MINOR.$BUILD";
 $FILENAMEXZ          = "$PROJECT-$MAJOR.$MINOR.$BUILD";
-$FILENAMERPM         = "$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION";
 $FILENAMEDEB         = "see later";
 $FILENAMEAPS         = "$PROJECT-$MAJOR.$MINOR.$BUILD.app";
 $FILENAMEEXEDOLIWAMP = "DoliWamp-$MAJOR.$MINOR.$BUILD";
-
-
-my $copyalreadydone=0;      # Use "-" before number of choice to avoid copy
+# For RPM
+$ARCH='noarch';
+$newbuild = $BUILD;
+$newbuild =~ s/(dev|alpha)/0.1.a/gi;			# dev (fedora)
+$newbuild =~ s/beta/0.2.beta1/gi;				# beta (fedora)
+$newbuild =~ s/rc./0.3.rc1/gi;					# rc (fedora)
+if ($newbuild !~ /-/) { $newbuild.='-0.3'; }	# finale (fedora)
+#$newbuild =~ s/(dev|alpha)/0/gi;				# dev
+#$newbuild =~ s/beta/1/gi;						# beta
+#$newbuild =~ s/rc./2/gi;						# rc
+#if ($newbuild !~ /-/) { $newbuild.='-3'; }		# finale
+$REL1 = $newbuild; $REL1 =~ s/-.*$//gi;
+if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; }
+$FILENAMETGZ2="$PROJECT-$MAJOR.$MINOR.$REL1";
+$FILENAMERPM=$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm";
+# For Deb
+$newbuild = $BUILD;
+$newbuild =~ s/(dev|alpha)/1/gi;                # dev
+$newbuild =~ s/beta/2/gi;                       # beta
+$newbuild =~ s/rc./3/gi;                        # rc
+if ($newbuild !~ /-/) { $newbuild.='-3'; }      # finale is same than rc. 
+# now newbuild is 0-1 or 0-3 for example. Note that for native package (see debian/source/format), we should not use a dash part but to get a better version management
+$build = $newbuild;
+$build =~ s/-.*$//g;
+# now build is 0 for example
+# $build .= '+nmu1';
+# now build is 0+nmu1 for example
+$FILENAMEDEBNATIVE="${PROJECT}_${MAJOR}.${MINOR}.${build}";
+$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${newbuild}";
+
+
+my $copyalreadydone=0;
 my $batch=0;
 for (0..@ARGV-1) {
 	if ($ARGV[$_] =~ /^-*target=(\w+)/i)   { $target=$1; $batch=1; }
@@ -140,40 +172,47 @@ for (0..@ARGV-1) {
     	$FILENAMESNAPSHOT.="-".$PREFIX; 
     }
 }
-if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i)   { $DESTI = $ENV{"DESTIBETARC"}; }	# Force output dir if env DESTI is defined
-if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; }	# Force output dir if env DESTI is defined
+if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i)   { $DESTI = $ENV{"DESTIBETARC"}; }	# Force output dir if env DESTIBETARC is defined
+if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; }	# Force output dir if env DESTISTABLE is defined
+if ($ENV{"PUBLISHBETARC"} && $BUILD =~ /[a-z]/i)   { $PUBLISH = $ENV{"PUBLISHBETARC"}; }	# Force target site for publishing if env PUBLISHBETARC is defined
+if ($ENV{"PUBLISHSTABLE"} && $BUILD =~ /^[0-9]+$/) { $PUBLISH = $ENV{"PUBLISHSTABLE"}; }	# Force target site for publishing if env PUBLISHSTABLE is defined
 
 print "Makepack version $VERSION\n";
-print "Building package name: $PROJECT\n";
-print "Building package version: $MAJOR.$MINOR.$BUILD\n";
+print "Building/publishing package name: $PROJECT\n";
+print "Building/publishing package version: $MAJOR.$MINOR.$BUILD\n";
 print "Source directory (SOURCE): $SOURCE\n";
 print "Target directory (DESTI) : $DESTI\n";
+print "Publishing target (PUBLISH): $PUBLISH\n";
 
 
 # Choose package targets
 #-----------------------
 if ($target) {
-    $CHOOSEDTARGET{uc($target)}=1;
+	if ($target eq "ALL") { 
+		foreach my $key (@LISTETARGET) {
+	    	if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
+		}
+	}
+	if ($target ne "ALL" && $target ne "SF") { $CHOOSEDTARGET{uc($target)}=1; }
+	if ($target eq "SF") { $CHOOSEDPUBLISH{"SF"}=1; }
 }
 else {
     my $found=0;
     my $NUM_SCRIPT;
+   	my $cpt=0;
     while (! $found) {
-    	my $cpt=0;
-    	printf(" %2d - %-12s    (%s)\n",$cpt,"All (Except SNAPSHOT)","Need ".join(",",values %REQUIREMENTTARGET));
+    	printf(" %2d - %-12s    (%s)\n",$cpt,"ALL (1..9)","Need ".join(",",values %REQUIREMENTTARGET));
     	foreach my $target (@LISTETARGET) {
     		$cpt++;
     		printf(" %2d - %-12s    (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});
     	}
+    	$cpt=99;
+    	printf(" %2d - %-12s    (%s)\n",$cpt,"SF (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
     
-    	# On demande de choisir le fichier à passer
+    	# Ask which target to build
     	print "Choose one package number or several separated with space (0 - ".$cpt."): ";
     	$NUM_SCRIPT=<STDIN>; 
     	chomp($NUM_SCRIPT);
-    	if ($NUM_SCRIPT =~ s/-//g) {
-    		# Do not do copy	
-    		$copyalreadydone=1;
-    	}
     	if ($NUM_SCRIPT !~ /^[0-9\s]+$/)
     	{
     		print "This is not a valid package number list.\n";
@@ -185,15 +224,20 @@ else {
     	}
     }
     print "\n";
-    if ($NUM_SCRIPT) {
-    	foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
-    		$CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
-    	}
+    if ($NUM_SCRIPT eq "99") {
+   		$CHOOSEDPUBLISH{"SF"}=1;
     }
     else {
-    	foreach my $key (@LISTETARGET) {
-    		if ($key ne 'SNAPSHOT') { $CHOOSEDTARGET{$key}=1; }
-        }
+	    if ($NUM_SCRIPT eq "0") {
+	    	foreach my $key (@LISTETARGET) {
+	    		if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
+	        }
+	    }
+	    else {
+	   		foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
+	   			$CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
+	   		}
+	    }
     }
 }
 
@@ -210,7 +254,8 @@ foreach my $target (keys %CHOOSEDTARGET) {
 		}
 		$atleastonerpm=1;			
 	} 
-    foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) {
+    foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) 
+    {
         # Test    
         print "Test requirement for target $target: Search '$req'... ";
         $newreq=$req; $newparam='';
@@ -245,16 +290,20 @@ print "\n";
 #----------------------------------------------
 $nboftargetok=0;
 $nboftargetneedbuildroot=0;
-$nboftargetneedcvs=0;
+$nbofpublishneedtag=0;
 foreach my $target (keys %CHOOSEDTARGET) {
     if ($CHOOSEDTARGET{$target} < 0) { next; }
 	if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP') 
 	{
 		$nboftargetneedbuildroot++;
 	}
-	if ($target eq 'SNAPSHOT')
+	$nboftargetok++;
+}
+foreach my $target (keys %CHOOSEDPUBLISH) {
+    if ($CHOOSEDPUBLISH{$target} < 0) { next; }
+	if ($target eq 'SF')
 	{
-		$nboftargetneedcvs++;
+		$nbofpublishneedtag++;
 	}
 	$nboftargetok++;
 }
@@ -263,13 +312,26 @@ if ($nboftargetok) {
 
     # Update CVS if required
     #-----------------------
-    if ($nboftargetneedcvs)
+    if ($nbofpublishneedtag)
 	{
     	print "Go to directory $SOURCE\n";
    		$olddir=getcwd();
    		chdir("$SOURCE");
-    	print "Run cvs update -P -d\n";
-    	$ret=`cvs update -P -d 2>&1`;
+    	print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
+    	$ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`;
+    	if ($ret =~ /already exists/)
+    	{
+    		print "WARNING: Tag ".$MAJOR.'.'.$MINOR.'.'.$BUILD." already exists. Overwrite (y/N) ? ";
+	    	$QUESTIONOVERWRITETAG=<STDIN>; 
+	    	chomp($QUESTIONOVERWRITETAG);
+	    	if ($QUESTIONOVERWRITETAG =~ /(o|y)/)
+	    	{
+		    	print 'Run git tag -a -f -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
+		    	$ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`;
+	    	}
+    	}
+    	print 'Run git push --tags'."\n";
+    	$ret=`git push --tags`;
     	chdir("$olddir");
 	}
 	
@@ -293,11 +355,13 @@ if ($nboftargetok) {
 	    print "Clean $BUILDROOT\n";
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/.buildpath`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/.externalToolBuilders`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/.git`;
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/.gitmodules`;
         $ret=`rm -f  $BUILDROOT/$PROJECT/.gitignore`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/.project`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/.travis.yml`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/.tx`;
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/build.xml`;
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/quickbuild.xml`;
@@ -328,6 +392,8 @@ if ($nboftargetok) {
         $ret=`rm -f  $BUILDROOT/$PROJECT/htdocs/install/mysql/README`;
         $ret=`rm -f  $BUILDROOT/$PROJECT/htdocs/install/pgsql/README`;
 
+        $ret=`rm -fr  $BUILDROOT/$PROJECT/htdocs/install/mssql`;
+
         $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codesniffer`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codetemplates`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/dev/dbmodel`;
@@ -366,6 +432,7 @@ if ($nboftargetok) {
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`;
+	    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
 	    $ret=`rm -fr $BUILDROOT/$PROJECT/test`;
 	    $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 -f  $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;
@@ -379,6 +446,7 @@ if ($nboftargetok) {
    	    
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
+        $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`;
@@ -388,7 +456,7 @@ if ($nboftargetok) {
 	    $ret=`rm -f  $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
         $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`;
 	}
-    
+
     # Build package for each target
     #------------------------------
     foreach my $target (keys %CHOOSEDTARGET) 
@@ -411,7 +479,6 @@ if ($nboftargetok) {
             $ret=`$cmd`;
 
     		print "Compress $BUILDROOT into $FILENAMESNAPSHOT.tgz...\n";
-   		    #$cmd="tar --exclude \"$BUILDROOT/tgz/tar_exclude.txt\" --exclude .cache --exclude .settings --exclude conf.php --directory \"$BUILDROOT\" -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT";
    		    $cmd="tar --exclude doli*.tgz --exclude doli*.deb --exclude doli*.exe --exclude doli*.xz --exclude doli*.zip --exclude doli*.rpm --exclude .cache --exclude .settings --exclude conf.php --exclude conf.php.mysql --exclude conf.php.old --exclude conf.php.postgres --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT";
 			print $cmd."\n";
 			$ret=`$cmd`;
@@ -521,30 +588,15 @@ if ($nboftargetok) {
     		mkdir($DESTI.'/'.$subdir);
 			if (-d $DESTI.'/'.$subdir) { $NEWDESTI=$DESTI.'/'.$subdir; } 
 
-    		$ARCH='noarch';
 			if ($RPMDIR eq "") { $RPMDIR=$ENV{'HOME'}."/rpmbuild"; }
-           	$newbuild = $BUILD;
-           	# For fedora
-            $newbuild =~ s/(dev|alpha)/0.1.a/gi;			# dev
-            $newbuild =~ s/beta/0.2.beta1/gi;				# beta
-            $newbuild =~ s/rc./0.3.rc1/gi;					# rc
-            if ($newbuild !~ /-/) { $newbuild.='-0.3'; }	# finale
-            #$newbuild =~ s/(dev|alpha)/0/gi;				# dev
-            #$newbuild =~ s/beta/1/gi;						# beta
-            #$newbuild =~ s/rc./2/gi;						# rc
-            #if ($newbuild !~ /-/) { $newbuild.='-3'; }		# finale
-            #print "newbuild=".$newbuild."\n";exit;
-            $REL1 = $newbuild; $REL1 =~ s/-.*$//gi;
-            if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; }
-            print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n";
 
-            $FILENAMETGZ2="$PROJECT-$MAJOR.$MINOR.$REL1";
+            print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n";
 
             #print "Create directory $RPMDIR\n";
             #$ret=`mkdir -p "$RPMDIR"`;
 
-    		print "Remove target ".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm...\n";
-    		unlink("$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm");
+    		print "Remove target ".$FILENAMERPM."...\n";
+    		unlink("$NEWDESTI/".$FILENAMERPM);
     		print "Remove target ".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm...\n";
     		unlink("$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm");
 
@@ -555,8 +607,8 @@ if ($nboftargetok) {
             $ret=`$cmd`;
 
 			# Set owners
-            print "Set owners on files/dir\n";
-		    $ret=`chown -R root.root $BUILDROOT/$FILENAMETGZ2`;
+            #print "Set owners on files/dir\n";
+		    #$ret=`chown -R root.root $BUILDROOT/$FILENAMETGZ2`;
 
             print "Set permissions on files/dir\n";
 		    $ret=`chmod -R 755 $BUILDROOT/$FILENAMETGZ2`;
@@ -599,11 +651,9 @@ if ($nboftargetok) {
 
     		# Move to final dir
    		    print "Move $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm\n";
-   		    #$cmd="mv \"$RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\" \"$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\"";
    		    $cmd="mv $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm \"$NEWDESTI/\"";
     		$ret=`$cmd`;
    		    print "Move $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm\n";
-   		    #$cmd="mv \"$RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\" \"$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\"";
    		    $cmd="mv $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm \"$NEWDESTI/\"";
     		$ret=`$cmd`;
    		    print "Move $RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz into $NEWDESTI/".$FILENAMETGZ2.".tgz\n";
@@ -620,21 +670,6 @@ if ($nboftargetok) {
 
             $olddir=getcwd();
 
-            $newbuild = $BUILD;
-            $newbuild =~ s/(dev|alpha)/1/gi;                # dev
-            $newbuild =~ s/beta/2/gi;                       # beta
-            $newbuild =~ s/rc./3/gi;                        # rc
-            if ($newbuild !~ /-/) { $newbuild.='-3'; }      # finale is same than rc
-            # now newbuild is 0-1 or 0-3 for example
-            print "Version is $MAJOR.$MINOR.$newbuild\n";
-            $build = $newbuild;
-            $build =~ s/-.*$//g;
-			# now build is 0 for example
-			# $build .= '+nmu1';
-			# now build is 0+nmu1 for example
-
-			$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${newbuild}";
-
     		print "Remove target ${FILENAMEDEB}_all.deb...\n";
     		unlink("$NEWDESTI/${FILENAMEDEB}_all.deb");
     		print "Remove target ${FILENAMEDEB}.dsc...\n";
@@ -643,6 +678,8 @@ if ($nboftargetok) {
     		unlink("$NEWDESTI/${FILENAMEDEB}.tar.gz");
     		print "Remove target ${FILENAMEDEB}.changes...\n";
     		unlink("$NEWDESTI/${FILENAMEDEB}.changes");
+    		print "Remove target ${FILENAMEDEBNATIVE}.orig.tar.gz...\n";
+    		unlink("$NEWDESTI/${FILENAMEDEBNATIVE}.orig.tar.gz");
 
     		$ret=`rm -fr $BUILDROOT/$PROJECT.tmp`;
     		$ret=`rm -fr $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build`;
@@ -679,7 +716,7 @@ if ($nboftargetok) {
             $ret=`rm -f  $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates.futur`;
             $ret=`rm -f  $BUILDROOT/$PROJECT.tmp/build/debian/rules`;
             $ret=`rm -f  $BUILDROOT/$PROJECT.tmp/build/debian/README.howto`;
-            $ret=`rm -f  $BUILDROOT/$PROJECT.tmp/build/debian/wash`;
+            $ret=`rm -f  $BUILDROOT/$PROJECT.tmp/build/debian/watch`;
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/doap`;
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/exe`;
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/launchpad`;
@@ -688,12 +725,6 @@ if ($nboftargetok) {
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/perl`;
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/rpm`;
             $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/zip`;
-            # We remove embedded libraries or fonts (this is also inside rules file, target clean)
-	   	    #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor`;
-			#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/fonts`,
-	   	    #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/geoip`;
-	   	    #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/nusoap`;
-            #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/odtphp/zip/pclzip`;
             # Rename upstream changelog to match debian rules
 			$ret=`mv $BUILDROOT/$PROJECT.tmp/ChangeLog $BUILDROOT/$PROJECT.tmp/changelog`;
 			
@@ -713,6 +744,7 @@ if ($nboftargetok) {
             $ret=`cp -f  "$SOURCE/build/debian/dolibarr.xpm"  		      	"$BUILDROOT/$PROJECT.tmp/debian"`;
             $ret=`cp -f  "$SOURCE/build/debian/README.source"  "$BUILDROOT/$PROJECT.tmp/debian"`;
             $ret=`cp -f  "$SOURCE/build/debian/rules"          "$BUILDROOT/$PROJECT.tmp/debian"`;
+            $ret=`cp -f  "$SOURCE/build/debian/watch"          "$BUILDROOT/$PROJECT.tmp/debian"`;
             $ret=`cp -fr "$SOURCE/build/debian/patches"        "$BUILDROOT/$PROJECT.tmp/debian"`;
             $ret=`cp -fr "$SOURCE/build/debian/po"             "$BUILDROOT/$PROJECT.tmp/debian"`;
             $ret=`cp -fr "$SOURCE/build/debian/source"         "$BUILDROOT/$PROJECT.tmp/debian"`;
@@ -727,8 +759,9 @@ if ($nboftargetok) {
             $ret=`cp -f  "$SOURCE/build/debian/install.forced.php.install"      "$BUILDROOT/$PROJECT.tmp/debian"`;
             
 			# Set owners and permissions
-            print "Set owners on files/dir\n";
-		    $ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`;
+            #print "Set owners on files/dir\n";
+		    #$ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`;
+
             print "Set permissions on files/dir\n";
 		    $ret=`chmod -R 755 $BUILDROOT/$PROJECT.tmp`;
 		    $cmd="find $BUILDROOT/$PROJECT.tmp -type f -exec chmod 644 {} \\; ";
@@ -757,6 +790,16 @@ if ($nboftargetok) {
             $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build";
             $ret=`$cmd`;
 
+
+     		print "Go into directory $BUILDROOT\n";
+            chdir("$BUILDROOT");
+			
+			# We need a tarball to be able to build "quilt" debian package (not required for native but we need patch so it is not a native)
+    		print "Compress $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build into $BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz...\n";
+   		    $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz\" $PROJECT-$MAJOR.$MINOR.$build";
+   		    print $cmd."\n";
+   		    $ret=`$cmd`;
+
 			# Creation of source package          
      		print "Go into directory $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build\n";
             chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build");
@@ -768,13 +811,14 @@ if ($nboftargetok) {
 
             chdir("$olddir");
     		
-    		print "You can check package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}_all.deb\"\n";
+    		print "You can check bin package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}_all.deb\"\n";
+    		print "You can check src package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}.dsc\"\n";
     		
     		# Move to final dir
-            print "Move *_all.deb to $NEWDESTI\n";
+            print "Move *_all.deb *.dsc *.orig.tar.gz *.changes to $NEWDESTI\n";
             $ret=`mv $BUILDROOT/*_all.deb "$NEWDESTI/"`;
             $ret=`mv $BUILDROOT/*.dsc "$NEWDESTI/"`;
-            $ret=`mv $BUILDROOT/*.tar.gz "$NEWDESTI/"`;
+            $ret=`mv $BUILDROOT/*.orig.tar.gz "$NEWDESTI/"`;
             $ret=`mv $BUILDROOT/*.changes "$NEWDESTI/"`;
         	next;
         }
@@ -889,6 +933,81 @@ if ($nboftargetok) {
     		next;
     	}
     }
+
+    # Build package for each target
+    #------------------------------
+    foreach my $target (keys %CHOOSEDPUBLISH) 
+    {
+        if ($CHOOSEDPUBLISH{$target} < 0) { next; }
+    
+		print "\nList of files to publish\n";
+    	%filestoscan=(
+    		"$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)',
+    		"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)',
+    		"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)',
+    		"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
+    		"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
+    	);
+    	foreach my $file (sort keys %filestoscan)
+    	{
+    		$found=0;
+    		my $filesize = -s $file;
+    		print $file." ".($filesize?"(found)":"(not found)");
+    		print ($filesize?" - ".$filesize:"");
+    		print "\n";
+    	}
+
+    	if ($target eq 'SF') 
+    	{
+    		print "\n";
+    		
+    		$NEWPUBLISH=$PUBLISH;
+    		print "Publish to target $NEWPUBLISH. Click enter or CTRL+C...\n";
+
+	    	# Ask which target to build
+	    	$NUM_SCRIPT=<STDIN>; 
+	    	chomp($NUM_SCRIPT);
+
+			print "Create empty dir /tmp/emptydir. We need it to create target dir using rsync.\n";
+            $ret=`mkdir -p "/tmp/emptydir/"`;
+            
+	    	foreach my $file (sort keys %filestoscan)
+	    	{
+	    		$found=0;
+	    		my $filesize = -s $file;
+	    		if (! $filesize) { next; }
+
+				print "\n";
+	    		print "Publish file ".$file." to ".$filestoscan{$file}."\n";
+	    		
+	    		$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
+
+				# mkdir	   
+				#my $ssh = Net::SSH::Perl->new("frs.sourceforge.net");
+				#$ssh->login("$user","$pass"); 		
+	    		#use String::ShellQuote qw( shell_quote );
+				#$ssh->cmd('mkdir '.shell_quote($destFolder).' && exit');
+
+				#use Net::SFTP::Foreign;
+				#my $sftp = Net::SFTP::Foreign->new($ip, user => $user, password => $pass, autodie => 1);
+				#$sftp->mkdir($destFolder)
+
+				#$command="ssh eldy,dolibarr\@frs.sourceforge.net mkdir -p \"$destFolder\"";
+				#print "$command\n";	
+				#my $ret=`$command 2>&1`;
+				$command="rsync -s -e 'ssh' --recursive /tmp/emptydir/ \"".$destFolder."\"";
+				print "$command\n";	
+				my $ret=`$command 2>&1`;
+
+				$command="rsync -s $OPTIONUPDATEDIST -e 'ssh' \"$file\" \"".$destFolder."\"";
+				print "$command\n";	
+				my $ret=`$command 2>&1`;
+				print "$ret\n";
+	    		
+	    	}
+
+    	}
+    }    
 }
 
 print "\n----- Summary -----\n";
diff --git a/build/tgz/tar_exclude.txt b/build/tgz/tar_exclude.txt
index 3f3ff2e27fbc92d25e4ee6c4590a0ce5746224b7..2c8dd1542488767228b21c55bbd0c0eac412c064 100644
--- a/build/tgz/tar_exclude.txt
+++ b/build/tgz/tar_exclude.txt
@@ -1,3 +1,6 @@
+*~
+.#*
+Thumbs.db
 build/exe
 build/html
 dev/dbmodel
@@ -7,58 +10,10 @@ dev/initdata
 dev/iso-normes
 dev/licence
 dev/load
-dev/skeletons/*socpeople*
-dev/spec
-dev/test
-dev/uml
-dev/xdebug
-doc/dev/dolibarr-phpdoc
-doc/dev/barcode
-doc/dev/compta
-doc/dev/dbmodel
-doc/dev/normes
-doc/dev/html
-doc/dev/iso-normes
-doc/flyer
-doc/font
-doc/rollup
-doc/tshirts
-doc/wiki
-document
-documents
 htdocs/conf/conf.php
 htdocs/conf/conf.php.mysql
 htdocs/conf/conf.php.old
 htdocs/conf/conf.php.postgres
-htdocs/avoir
-htdocs/custom
-htdocs/custom2
-htdocs/customleave
-htdocs/customgoogle
-htdocs/document
-htdocs/documents
-htdocs/includes/fckeditor/_samples
-htdocs/includes/fckeditor/_testcases
-htdocs/includes/nusoap/samples
-htdocs/includes/tcpdf/fonts/utils
-htdocs/includes/tcpdf/fonts/free*.ctg.z
-htdocs/includes/tcpdf/fonts/free*.z
-mssql
-test
-CVS
-*~
-.#*
-.buildpath
-.cache
-.cvsignore
-.gitignore
-.externalToolBuilders
-.htaccess
-.settings
-.project
-.travis.yml
-Thumbs.db
-data_dev.sql
 doli*.tar.gz
 doli*.tgz
 doli*.exe
@@ -66,5 +21,4 @@ doli*.rpm
 doli*.deb
 doli*.zip
 cvschangelogbuilder_dolibarr*
-doxygen_warnings.log
 dolibarr_install.log
\ No newline at end of file
diff --git a/build/zip/zip_exclude.txt b/build/zip/zip_exclude.txt
index 99f8337efccc9f52d1cf7df1351571da5fe91470..3b3293eb6074833a7a9e920b79b66afc5c3d1b79 100644
--- a/build/zip/zip_exclude.txt
+++ b/build/zip/zip_exclude.txt
@@ -1,65 +1,19 @@
-*/build
+*~
+*.#*
+Thumbs.db
+*/build/exe
+*/build/html
 */dev/dbmodel/*
 */dev/fpdf/*
 */dev/initdemo/*
+*/dev/initdata/*
 */dev/iso-normes/*
 */dev/licence/*
 */dev/load/*
-*/dev/test/*
-*/dev/uml/*
-*/dev/xdebug/*
-*/doc/dev/dolibarr-phpdoc/*
-*/doc/dev/barcode/*
-*/doc/dev/compta/*
-*/doc/dev/dbmodel/*
-*/doc/dev/normes/*
-*/doc/dev/html/*
-*/doc/dev/iso-normes/*
-*/doc/flyer/*
-*/doc/font/*
-*/doc/rollup/*
-*/doc/tshirt/*
-*/doc/wiki/*
-*/document/*
-*/documents/*
-*/htdocs/avoir/*
 */htdocs/conf/conf.php
 */htdocs/conf/conf.php.mysql
 */htdocs/conf/conf.php.old
 */htdocs/conf/conf.php.postgres
-*/htdocs/custom/*
-*/htdocs/custom2/*
-*/htdocs/document/*
-*/htdocs/documents/*
-*/htdocs/includes/ckeditor/_source
-*/htdocs/includes/ckeditor/*_source.js
-*/htdocs/includes/fckeditor/_samples/*
-*/htdocs/includes/fckeditor/_testcases/*
-*/htdocs/includes/nusoap/samples/*
-*/htdocs/includes/phplot5/doc/*
-*/htdocs/includes/phplot5/examples/*
-*/htdocs/includes/scriptaculous/test/*
-*/htdocs/includes/treemenu/docs/*
-*/htdocs/includes/treemenu/images/*
-*/htdocs/includes/treemenu/imagesAlt/*
-*/htdocs/includes/treemenu/imagesAlt2/*
-*/htdocs/includes/tcpdf/fonts/utils/*
-*/htdocs/includes/tcpdf/fonts/free*.ctg.z
-*/htdocs/includes/tcpdf/fonts/free*.z
-*/test
-*/CVS/*
-*~
-*.#*
-*.buildpath*
-*.cache*
-*.cvsignore*
-*.gitignore*
-*.htaccess*
-*.settings*
-*.project*
-*.travis.yml*
-Thumbs.db
-data_dev.sql
 dolibarr*.tar.gz
 dolibarr*.tgz
 dolibarr*.exe
@@ -67,5 +21,4 @@ dolibarr*.rpm
 dolibarr*.deb
 dolibarr*.zip
 cvschangelogbuilder_dolibarr*
-doxygen_warnings.log
 dolibarr_install.log
\ No newline at end of file
diff --git a/htdocs/langs/.htaccess b/htdocs/langs/.htaccess
deleted file mode 100644
index d87f1072807db1c2f5c2b138bde4e1e9fb607653..0000000000000000000000000000000000000000
--- a/htdocs/langs/.htaccess
+++ /dev/null
@@ -1,7 +0,0 @@
-Order deny,allow
-Deny from all
-
-<FilesMatch "\.(js)$">
-Order deny,allow
-Allow from all
-</FilesMatch>