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