From 20b773782270b3cabc6df4aba1d0e67a85c377eb Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Fri, 29 Jul 2011 10:50:16 +0000 Subject: [PATCH] task #10501: Can use point of sale with different bank accounts --- build/.cvsignore | 3 - build/deb/README | 7 +- build/deb/changelog | 4 +- build/deb/control.DEBIAN | 46 ++++ build/deb/control.debian | 10 +- build/deb/dolibarr.desktop | 4 + build/deb/install | 1 - build/deb/install.forced.php.install | 8 +- build/deb/po/fr.po | 22 +- build/deb/po/templates.pot | 20 +- build/deb/postinst | 159 +++++------ build/deb/postrm | 200 +++++++------- build/deb/templates | 7 - build/makepack-dolibarr.pl | 236 +++++------------ build/rpm/README | 13 +- build/rpm/dolibarr.desktop | 3 +- build/rpm/dolibarr.spec | 157 +++++------ build/rpm/file_contexts.dolibarr | 6 +- .../emulate_oscommerce/llx_osc_categories.sql | 5 +- .../llx_osc_customer.key.sql | 5 +- .../emulate_oscommerce/llx_osc_customer.sql | 5 +- .../emulate_oscommerce/llx_osc_order.sql | 5 +- .../emulate_oscommerce/llx_osc_product.sql | 5 +- htdocs/admin/system/index.php | 7 +- htdocs/boutique/index.php | 10 +- htdocs/boutique/osc_master.inc.php | 11 +- htdocs/cashdesk/javascript/facturation1.js | 3 +- htdocs/cashdesk/tpl/facturation1.tpl.php | 5 +- htdocs/cashdesk/tpl/liste_articles.tpl.php | 3 +- htdocs/cashdesk/tpl/menu.tpl.php | 13 +- htdocs/cashdesk/tpl/ticket.tpl.php | 3 +- htdocs/cashdesk/tpl/validation2.tpl.php | 3 +- htdocs/cashdesk/validation_verif.php | 3 +- htdocs/compta/bank/rappro.php | 7 +- htdocs/compta/index.php | 7 +- htdocs/compta/paiement.php | 7 +- htdocs/core/class/html.form.class.php | 11 +- htdocs/core/class/interfaces.class.php | 5 +- .../barcode/php-barcode/encode_bars.php | 17 +- .../barcode/php-barcode/php-barcode.php | 17 +- .../includes/modules/modAccounting.class.php | 5 +- .../includes/modules/modExpedition.class.php | 9 +- htdocs/includes/modules/modLabel.class.php | 5 +- htdocs/includes/modules/modMailing.class.php | 5 +- htdocs/includes/vcard/vcard.class.php | 3 +- .../install/mysql/data/llx_10_c_regions.sql | 32 +-- .../mysql/data/llx_20_c_departements.sql | 3 +- .../install/mysql/migration/3.0.0-3.1.0.sql | 6 +- .../tables/llx_product_fournisseur.key.sql | 6 +- htdocs/install/upgrade2.php | 5 +- htdocs/langs/ca_ES/cashdesk.lang | 4 +- htdocs/langs/en_US/cashdesk.lang | 4 +- htdocs/langs/es_ES/cashdesk.lang | 4 +- htdocs/langs/es_ES/html/gpl.html | 3 +- htdocs/langs/fr_FR/cashdesk.lang | 4 +- htdocs/langs/fr_FR/html/gpl.txt | 5 +- htdocs/langs/nl_BE/html/gpl.txt | 52 ++-- htdocs/langs/nl_NL/html/gpl.txt | 2 +- htdocs/lib/ajax.lib.php | 5 +- htdocs/lib/pdf.lib.php | 5 +- htdocs/product/class/product.class.php | 247 ++++++++++-------- htdocs/support/default.css | 5 +- htdocs/theme/auguria/style.css.php | 5 +- htdocs/theme/eldy/style.css.php | 5 +- htdocs/theme/freelug/style.css.php | 5 +- htdocs/theme/yellow/style.css.php | 5 +- htdocs/viewimage.php | 5 +- 67 files changed, 711 insertions(+), 796 deletions(-) create mode 100755 build/deb/control.DEBIAN rename {htdocs/boutique/sql => dev/dbmodel}/emulate_oscommerce/llx_osc_categories.sql (88%) mode change 100644 => 100755 rename {htdocs/boutique/sql => dev/dbmodel}/emulate_oscommerce/llx_osc_customer.key.sql (85%) mode change 100644 => 100755 rename {htdocs/boutique/sql => dev/dbmodel}/emulate_oscommerce/llx_osc_customer.sql (87%) mode change 100644 => 100755 rename {htdocs/boutique/sql => dev/dbmodel}/emulate_oscommerce/llx_osc_order.sql (87%) mode change 100644 => 100755 rename {htdocs/boutique/sql => dev/dbmodel}/emulate_oscommerce/llx_osc_product.sql (87%) mode change 100644 => 100755 diff --git a/build/.cvsignore b/build/.cvsignore index 53dd6ee2abd..830b8b91924 100644 --- a/build/.cvsignore +++ b/build/.cvsignore @@ -14,6 +14,3 @@ version-phpsane.txt makepack-phpsane.conf html *.deb -*.dsc -*.tar.gz -*.changes diff --git a/build/deb/README b/build/deb/README index d73d7a99219..76be8f1596c 100644 --- a/build/deb/README +++ b/build/deb/README @@ -22,13 +22,12 @@ with format .DEB (for Debian, Ubuntu, ...). # lintian --pedantic -E -I package.deb To test a package # # dpkg -l List all packages -# dpkg -b To build binary only package +# dpkg -b 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-reconfigure -plow package Reconfigure package +# # dpkg -L packagename List content of installed package -# dpkg -r packagename 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 @@ -50,5 +49,5 @@ For first ITP submission of Dolibarr, bug id was 634783. - 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.html +http://packages.qa.debian.org/package http://bugs.debian.org/package diff --git a/build/deb/changelog b/build/deb/changelog index 3382966714b..47667b3cfb5 100644 --- a/build/deb/changelog +++ b/build/deb/changelog @@ -4,6 +4,6 @@ dolibarr (3.1.0-1.1) unstable; urgency=low * New upstream release. closes: bug#634783 - -- Dolibarr team Mon, 30 Jul 2011 12:00:00 +0100 + -- Laurent Destailleur Mon, 18 Jul 2011 12:00:00 +0100 -# For a changelog file dedicated to users, see /usr/share/doc/dolibarr/UserChangeLog.gz file. \ No newline at end of file +# More information into /usr/share/dolibarr/ChangeLog file. \ No newline at end of file diff --git a/build/deb/control.DEBIAN b/build/deb/control.DEBIAN new file mode 100755 index 00000000000..7c66775bdf1 --- /dev/null +++ b/build/deb/control.DEBIAN @@ -0,0 +1,46 @@ +Package: dolibarr +Version: __VERSION__ +Architecture: all +Maintainer: Laurent Destailleur +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 +Section: web +Priority: optional +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, + Wizards to export and import data, + LDAP connectivity, + PDF exports, + And a lot of more modules... + . + You can also add third parties external modules or develop yours. diff --git a/build/deb/control.debian b/build/deb/control.debian index e28258d8dbc..91f0705c001 100755 --- a/build/deb/control.debian +++ b/build/deb/control.debian @@ -4,16 +4,10 @@ Standards-Version: 3.9.1 Section: web Priority: optional Homepage: http://www.dolibarr.org -Build-Depends: debhelper (>= 7), po-debconf +Build-Depends: debhelper, po-debconf Package: dolibarr -Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5, - php5-mysql | php5-mysqli, - php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, - ${misc:Depends}, xdg-utils, - mysql-server, perl -Recommends: apache2 | lighttpd | httpd, mysql-client -Suggests: www-browser +Depends: ${misc:Depends}, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl Architecture: all Section: web Priority: optional diff --git a/build/deb/dolibarr.desktop b/build/deb/dolibarr.desktop index a48e5048dff..f4b471edf13 100644 --- a/build/deb/dolibarr.desktop +++ b/build/deb/dolibarr.desktop @@ -3,10 +3,14 @@ # It must be saved into directory /usr/share/applications Version=1.0 Name=Dolibarr ERP & CRM +Name[es]=Dolibarr ERP & CRM Name[fr]=Dolibarr ERP & CRM +Name[it]=Dolibarr ERP & CRM GenericName=Dolibarr ERP & CRM Comment=The easy to use manager (ERP & CRM) for small and medium enterprises or foundations +Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones Comment[fr]=L'ERP & CRM simple pour la gestion des PME et associations +Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti # Command to open an URL # For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser diff --git a/build/deb/install b/build/deb/install index 2928d378abc..4d41fd52c65 100755 --- a/build/deb/install +++ b/build/deb/install @@ -1,5 +1,4 @@ etc/dolibarr/apache.conf -etc/dolibarr/lighttpd.conf usr/share/applications/dolibarr.desktop usr/share/doc/dolibarr usr/share/dolibarr diff --git a/build/deb/install.forced.php.install b/build/deb/install.forced.php.install index 7de8616ac15..c266426209b 100755 --- a/build/deb/install.forced.php.install +++ b/build/deb/install.forced.php.install @@ -4,19 +4,19 @@ // This file must be present into htdocs/install directory // during install process to be used. // -// $Id: install.forced.php.install,v 1.9 2011/07/30 14:56:12 eldy Exp $ +// $Id: install.forced.php.install,v 1.8 2011/07/27 16:45:47 eldy Exp $ // -$force_install_noedit=2; +$force_install_noedit=1; $force_install_message='KeepDefaultValuesDeb'; #$force_install_main_data_root='/usr/share/dolibarr/documents'; $force_install_main_data_root='/var/lib/dolibarr/documents'; $force_install_type='mysqli'; $force_install_dbserver='localhost'; $force_install_port='3306'; -$force_install_database='dolibarrdebian'; +$force_install_database='dolibarr'; $force_install_createdatabase='1'; -$force_install_databaselogin='dolibarrdebian'; +$force_install_databaselogin='dolibarrmysql'; $force_install_databasepass=''; $force_install_createuser='1'; $force_install_databaserootlogin='__SUPERUSERLOGIN__'; diff --git a/build/deb/po/fr.po b/build/deb/po/fr.po index 3bbe762283a..13b8030ed0d 100755 --- a/build/deb/po/fr.po +++ b/build/deb/po/fr.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-01 18:17+0200\n" +"POT-Creation-Date: 2011-07-27 19:49+0200\n" "PO-Revision-Date: 2011-07-29 22:45+0100\n" "Last-Translator: Laurent Destailleur \n" "Language-Team: Laurent Destailleur \n" @@ -25,26 +25,10 @@ msgstr "" "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 -#: ../templates:2001 +#: ../templates:1001 #, fuzzy msgid "Delete database and uploaded files ?" msgstr "Effacer la base de donnée et les fichiers uploadés ?" @@ -52,7 +36,7 @@ msgstr "Effacer la base de donnée et les fichiers uploadés ?" # #. Type: boolean #. Description -#: ../templates:2001 +#: ../templates:1001 #, fuzzy msgid "" "Answer if you want to removed the Dolibarr MySQL database and all other " diff --git a/build/deb/po/templates.pot b/build/deb/po/templates.pot index d65e5d8b7f6..32c92a97cc4 100755 --- a/build/deb/po/templates.pot +++ b/build/deb/po/templates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-01 18:17+0200\n" +"POT-Creation-Date: 2011-07-27 19:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,29 +17,15 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#. Type: multiselect -#. Description -#: ../templates:1001 -msgid "Web server to reconfigure automatically:" -msgstr "" - -#. Type: multiselect -#. Description -#: ../templates:1001 -msgid "" -"Please choose the web server that should be automatically configured to run " -"dolibarr." -msgstr "" - #. Type: boolean #. Description -#: ../templates:2001 +#: ../templates:1001 msgid "Delete database and uploaded files ?" msgstr "" #. Type: boolean #. Description -#: ../templates:2001 +#: ../templates:1001 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 " diff --git a/build/deb/postinst b/build/deb/postinst index e0bba1be4da..dd03156a6d2 100644 --- a/build/deb/postinst +++ b/build/deb/postinst @@ -1,5 +1,7 @@ #!/bin/sh # postinst script for dolibarr +# +# see: dh_installdeb(1) set -e @@ -14,31 +16,6 @@ set -e # 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 db_version 2.0 @@ -47,25 +24,23 @@ db_version 2.0 echo Run the dolibarr postinst script -# Define vars docdir='/var/lib/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 configure) - # Create document directory for uploaded data files - mkdir -p $docdir - chown -R www-data:www-data $docdir - chmod -R 775 $docdir - chmod -R g+s $docdir + # Copy apache.conf file into target directory. + #fileorig="/usr/share/dolibarr/build/deb/apache.conf" + #config="/etc/dolibarr/apache.conf" + #mkdir -p /etc/dolibarr + #cp -p $fileorig $config - # Copy install config file (with matching Debian) values into target directory + # Edit install.forced.php to match Debian values + fileorig="/usr/share/dolibarr/build/deb/install.forced.php.install" + config="/usr/share/dolibarr/htdocs/install/install.forced.php" superuserlogin='' superuserpassword='' if [ -f /etc/mysql/debian.cnf ] ; then @@ -75,31 +50,42 @@ case "$1" in fi echo Mysql superuser found to use is $superuserlogin if [ -z "$superuserlogin" ] ; then - cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig + cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $config else - cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + cat $fileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $config fi - chown -R root:www-data $installconfig - chmod -R 660 $installconfig + + # Create document directory for uploaded data files + mkdir -p $docdir + chown -R www-data:www-data $docdir + chmod -R 775 $docdir + chmod -R g+s $docdir # Create an empty conf.php with permission to web server - if [ ! -f $config ] + if [ ! -f /usr/share/dolibarr/htdocs/conf/conf.php ] then - echo Create empty file $config - touch $config - chown -R root:www-data $config - chmod -R 660 $config + echo Create empty file /usr/share/dolibarr/htdocs/conf/conf.php + touch /usr/share/dolibarr/htdocs/conf/conf.php + chown -R root:www-data /usr/share/dolibarr/htdocs/conf/conf.php + chmod -R 660 /usr/share/dolibarr/htdocs/conf/conf.php fi - - db_get dolibarr/reconfigure-webserver - - webservers="$RET" - + #db_reset "dolibarr/webserver" + + # Get the web server type (use db_get for interactive mode). + #db_get "dolibarr/webserver" # Read value for webserver. + #webserver="$RET" + + 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. - for webserver in $webservers ; do - webserver=${webserver%,} - echo Complete config of server $webserver + for server in $webservers ; do + echo Complete config of server $server # Detect webuser and webgroup webuser= @@ -116,32 +102,47 @@ case "$1" in # Set permissions to web server chown -R $webuser:$webgroup /usr/share/dolibarr - chown -R root:$webgroup $config + chown -R root:$webgroup /usr/share/dolibarr/htdocs/conf/conf.php + + # Add link to config file + echo Setup web server $server to add dolibarr config file + ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf + done - # Restart web server. - for webserver in $webservers; do - webserver=${webserver%,} - if [ "$webserver" = "lighttpd" ] ; then - lighttpd_install - else - apache_install $webserver - fi - # Reload webserver in any case, configuration might have changed - # 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 - echo Restart web server $server using invoke-rc.d - # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...) - invoke-rc.d $webserver reload 3>/dev/null || true - else - echo Restart web server $server using $server reload - /etc/init.d/$webserver reload 3>/dev/null || true - fi - fi - done + #echo "Install menu entry" + # This one is for Gnome ubuntu + #fileorig="/usr/share/dolibarr/build/deb/dolibarr.desktop" + #target="/usr/share/applications/" + #cp -f $fileorig $target + # Not sure this is usefull + #if test -x /usr/bin/update-menus; then + # echo "update-menus" + # update-menus; + #fi + + # TODO Create the file to force parameters in Web installer + #if grep DBHOST /usr/share/dolibarr/htdocs/conf/conf.php > /dev/null + #then + # perl -pi -e "s/DBHOST/$dbserver/" /usr/share/dolibarr/htdocs/conf/conf.php + # perl -pi -e "s/DBNAME/$dbname/" /usr/share/dolibarr/htdocs/conf/conf.php + # perl -pi -e "s/DBUSER/$dbuser/" /usr/share/dolibarr/htdocs/conf/conf.php + # perl -pi -e "s/DBPASS/$dbpass/" /usr/share/dolibarr/htdocs/conf/conf.php + #fi + # Restart servers + servers="apache2-ssl apache2 mysql" + # Another way to restart + 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 echo ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." @@ -152,13 +153,13 @@ case "$1" in ;; *) - echo "postinst called with unknown argument $1" >&2 + echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac -#DEBHELPER# - db_stop +#DEBHELPER# + exit 0 diff --git a/build/deb/postrm b/build/deb/postrm index 27ce3777b7e..8be194f0a41 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -17,36 +17,7 @@ set -e # for details, see /usr/share/doc/packaging-manual/ - -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 +. /usr/share/debconf/confmodule db_version 2.0 @@ -55,70 +26,40 @@ echo Run the dolibarr postrm script docdir='/var/lib/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 - - # 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 purge) - echo "postrm purge" + echo "postrm purge webservers=$webservers includefile=$includefile" # Ask if we must delete database echo "postrm db_input dolibarr/postrm" - db_input critical dolibarr/postrm || true + db_input critical "dolibarr/postrm" || true db_go || true echo "postrm db_get dolibarr/postrm" # We disable set -e to avoid premature end of script if error set +e - db_get dolibarr/postrm + db_get "dolibarr/postrm" set -e if [ "$RET" = "true" ] ; then echo postrm Mysql database deletion # Get database configuration dbserver="localhost" - dbuser="dolibarrdebian" - dbname="dolibarrdebian" + dbname="dolibarrmysql" #db_get "dolibarr/db/name" #dbname="$RET" superuserlogin='' @@ -179,31 +120,23 @@ case "$1" in fi mysqlcmd="mysql $hostopt $passopt -u $dbadmin" - # Now run the drop user - if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'localhost';\"" ; then - echo Database login $dbuser removed - else - error="Unable to run $mysqlcmd -f -e \"DROP USER '$dbuser'@'localhost';\"" - echo $error - fi - # Now run the drop commands if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then - log="${log}Droping database $dbname." - if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then - if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then - error="Database $dbname NOT successfully droped. You have to do it manually." - echo $error - else - status=drop - fi - else - error="Unable to run the drop database script." - echo $error - fi + log="${log}Droping database $dbname." + if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then + if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then + error="Database $dbname NOT successfully droped. You have to do it manually." + echo $error + else + status=drop + fi + else + error="Unable to run the drop database script." + echo $error + fi else - status=nothing - log="${log}Database $dbname already not exists." + status=nothing + log="${log}Database $dbname already not exists." fi echo "Remove directory $docdir" @@ -213,22 +146,91 @@ case "$1" in echo "postrm Delete of dolibarr database and uploaded files not wanted" 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 + # 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) set +e - db_reset dolibarr/reconfigure-webserver - db_reset dolibarr/postrm + db_reset "dolibarr/postrm" set -e #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) ;; *) - echo "postrm called with unknown argument $1" >&2 + echo "postrm called with unknown argument \`$1'" >&2 exit 0 ;; esac diff --git a/build/deb/templates b/build/deb/templates index b96325a4e64..5c06afd8ccd 100644 --- a/build/deb/templates +++ b/build/deb/templates @@ -1,10 +1,3 @@ -Template: dolibarr/reconfigure-webserver -Type: multiselect -Choices: apache2, lighttpd -_Description: Web server to reconfigure automatically: - Please choose the web server that should be automatically configured - to run dolibarr. - Template: dolibarr/postrm Type: boolean Default: true diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 20c5ba415e9..f191d88c7f9 100644 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -2,7 +2,7 @@ #---------------------------------------------------------------------------- # \file build/makepack-dolibarr.pl # \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps) -# \version $Id: makepack-dolibarr.pl,v 1.129 2011/08/01 18:22:26 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.121 2011/07/28 23:05:13 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -11,7 +11,7 @@ use Cwd; $PROJECT="dolibarr"; $MAJOR="3"; $MINOR="1"; -$BUILD="0-beta"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate +$BUILD="0-dev"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $RPMSUBVERSION="auto"; # auto use value found into BUILD @LISTETARGET=("TGZ","ZIP","RPM","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages @@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.129 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.121 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -254,18 +254,15 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/build/DoliW*-*`; $ret=`rm -f $BUILDROOT/$PROJECT/build/DoliM*-*`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.changes`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.deb`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.dsc`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.tar.gz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.rpm`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar.gz`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tgz`; $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.zip`; $ret=`rm -f $BUILDROOT/$PROJECT/build/doxygen/doxygen_warnings.log`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.old`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`; @@ -276,10 +273,6 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/barcode/php-barcode/fonts/Veranda*.ttf`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/fckeditor/fckeditor.py`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/mssql/README`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/mysql/README`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/pgsql/README`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/test`; $ret=`rm -fr $BUILDROOT/$PROJECT/dev/spec`; $ret=`rm -fr $BUILDROOT/$PROJECT/dev/licence`; @@ -298,6 +291,11 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`; $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; $ret=`rm -fr $BUILDROOT/$PROJECT/document`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.old`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf*sav*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom2`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/theme/bureau2crea`; @@ -308,7 +306,6 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/php_writeexcel/php.bmp`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/smarty`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/freetype6.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/zlib1.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/pfm2afm`; @@ -318,9 +315,6 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/pfm2afm`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/ttf2ufm`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.js`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.min.js`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jcrop/js/jquery.min.js`; } # Build package for each target @@ -419,19 +413,14 @@ if ($nboftargetok) { } if ($target eq 'RPM') { # Linux only - #$ARCH='i386'; - $ARCH='noarch'; + $ARCH='i386'; 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 + $newbuild =~ s/(dev|alpha)/0/gi; # dev + $newbuild =~ s/beta/1/gi; # beta + $newbuild =~ s/rc./2/gi; # rc if ($newbuild !~ /-/) { $newbuild.='-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 + # now newbuild is 0-0 or 0-3 for example $REL1 = $newbuild; $REL1 =~ s/-.*$//gi; if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; } print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; @@ -449,93 +438,16 @@ if ($nboftargetok) { print "Remove other files\n"; $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/README`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/README`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/README-FR`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/aps`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/deb`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/dmg`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/pad/README`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/tgz/README`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/deb/README`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/doap`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/exe`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/live`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/patch`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/zip`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/build/perl`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/dbmodel`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/fpdf`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/initdata`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/iso-normes`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/phpcheckstyle`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/dev/phpunit`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/doc/flyer`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/doc/font`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/doc/tshirt`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/doc/rollup`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/test`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/cashdesk/include/jscalendar/doc/html/CVS`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/cashdesk/include/jscalendar/skins/aqua/CVS`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/ckeditor/plugins/*/dialogs/CVS`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/ckeditor/plugins/*/images/CVS`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/fpdf/fpdf`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/nusoap/lib/Mail`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/odtphp/zip/.svn`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/smarty`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/aps`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/deb`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/dmg`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/doap`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/exe`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/live`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/patch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/zip`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/perl`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/COPYING`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; - # To remove once stable - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/htdocs/theme/bureau2crea`; - - # Apache conf files - #print "Copy apache.conf file into $BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf\n"; - #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT"`; - #$ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf"`; - - # Dolibarr conf files - # TODO - - # dolibarr.desktop - #print "Create directory $BUILDROOT/$FILENAMETGZ2/usr/share/applications\n"; - #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/usr/share/applications"`; - #print "Copy desktop file into $BUILDROOT/$FILENAMETGZ2/usr/share/applications/dolibarr.desktop\n"; - #$ret=`cp "$SOURCE/build/rpm/dolibarr.desktop" "$BUILDROOT/$FILENAMETGZ2/usr/share/applications/dolibarr.desktop"`; - - # pixmap - #print "Create directory $BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps\n"; - #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps"`; - #print "Copy pixmap file into $BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps/dolibarr.xpm\n"; - #$ret=`cp "$SOURCE/doc/images/dolibarr.xpm" "$BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps/dolibarr.xpm"`; - - # Set owners - 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`; - $cmd="find $BUILDROOT/$FILENAMETGZ2 -type f -exec chmod 644 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/build -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/build -name '*.pl' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/dev -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/dev/translation/langAutoParser.class.php`; - $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/dev/skeletons/skeleton_page.php`; - $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/dev/skeletons/modMyModule.class.php`; - $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/dev/skeletons/skeleton_class.class.php`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/scripts -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/htdocs/includes/geoip -name 'sample*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - - # Build tgz print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; @@ -563,17 +475,11 @@ if ($nboftargetok) { print "Move $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm into $DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\n"; $cmd="mv \"$RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\" \"$DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\""; $ret=`$cmd`; - print "Move $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm into $DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\n"; - $cmd="mv \"$RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\" \"$DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\""; - $ret=`$cmd`; - next; } if ($target eq 'DEB') { - $olddir=getcwd(); - $newbuild = $BUILD; $newbuild =~ s/(dev|alpha)/1/gi; # dev $newbuild =~ s/beta/2/gi; # beta @@ -619,33 +525,20 @@ if ($nboftargetok) { print "Version set to $MAJOR.$MINOR.$newbuild\n"; print "Remove other files\n"; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYRIGHT`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/INSTALL`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/README-FR`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/README-FR`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/aps`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/dmg`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/pad/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/tgz/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/README`; - #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/po`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/changelog`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/compat`; $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/copyright`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/dolibarr.desktop`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/dolibarr.menu`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/format`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/install`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/menu`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postrm`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postinst`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/rules`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/README.debian`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/templates`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/templates.futur`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/wash`; @@ -676,22 +569,19 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/smarty`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/license.txt`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/jquery/plugins/flot/LICENSE.txt`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/php_writeexcel/LICENSE`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYING`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; # To remove once stable $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`; - # Apache and lighttpd conf files + # Apache conf files print "Copy apache.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; $ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf"`; - print "Copy lighttpd.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf\n"; - $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; - $ret=`cp "$SOURCE/build/deb/lighttpd.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf"`; + + # Dolibarr conf files + # TODO # dolibarr.desktop print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; @@ -708,7 +598,17 @@ if ($nboftargetok) { print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT"`; - # Set owners + #print "Copy README file into $BUILDROOT/$PROJECT.tmp/DEBIAN\n"; + #$ret=`cp "$SOURCE/README" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/README"`; + + # copyright (to build binary package directly without sources. Useless if we build from sources) + #print "Copy copyright file into $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/copyright\n"; + #$ret=`cp "$SOURCE/build/deb/copyright" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/copyright"`; + + # changelog (to build binary package directly without sources. Useless if we build from sources) + #$ret=`gzip -9 -c "$SOURCE/build/deb/changelog" > $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/changelog.Debian.gz`; + #$ret=`gzip -9 -c "$SOURCE/build/deb/changelog" > $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/changelog.gz`; + print "Set owners on files/dir\n"; $ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`; @@ -737,45 +637,47 @@ if ($nboftargetok) { $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; "; $ret=`$cmd`; - # Creation of binary package (to build without sources) - #print "Go to directory $BUILDROOT\n"; - #chdir("$BUILDROOT"); + print "Go to directory $BUILDROOT\n"; + $olddir=getcwd(); + chdir("$BUILDROOT"); + + # Creation of binary package (to build without sources) #$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb"; #print "Launch DEB build ($cmd)\n"; #$ret=`$cmd`; #print $ret."\n"; - # Prepare source package + # 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"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/pom.xml"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYRIGHT"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/INSTALL"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/README"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/README-FR"`; $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc"`; print "Copy $SOURCE/build/deb/xxx to $BUILDROOT/$PROJECT.tmp/debian\n"; # Add files for dpkg-source - $ret=`cp -f "$SOURCE/ChangeLog" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/UserChangeLog"`; - $ret=`cp -f "$SOURCE/build/deb/README.debian" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/README"`; - $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/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian/dolibarr.lintian-overrides"`; - $ret=`cp -f "$SOURCE/build/deb/install" "$BUILDROOT/$PROJECT.tmp/debian/install"`; - $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 -fr "$SOURCE/build/deb/po" "$BUILDROOT/$PROJECT.tmp/debian/po"`; - $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/debian/po/CVS"`; + $ret=`cp -f "$SOURCE/ChangeLog" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/UserChangeLog"`; + $ret=`cp -f "$SOURCE/build/deb/README.debian" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/README"`; + $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/install" "$BUILDROOT/$PROJECT.tmp/debian/install"`; + $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 -fr "$SOURCE/build/deb/po" "$BUILDROOT/$PROJECT.tmp/debian/po"`; # Add files also required to build binary package with dpkg-buildpackages - $ret=`cp -f "$SOURCE/build/deb/config" "$BUILDROOT/$PROJECT.tmp/debian"`; - $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"`; + $ret=`cp -f "$SOURCE/build/deb/config" "$BUILDROOT/$PROJECT.tmp/debian"`; + $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"`; $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $ret=`$cmd`; - - # Creation of source package - print "Go to directory $BUILDROOT\n"; chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $cmd="dpkg-buildpackage -us -uc"; @@ -788,18 +690,12 @@ if ($nboftargetok) { if ($OS =~ /windows/i) { print "Move *_all.deb to $DESTI\n"; - $ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`; - $ret=`mv $BUILDROOT/*.dsc "$DESTI/"`; - $ret=`mv $BUILDROOT/*.tar.gz "$DESTI/"`; - $ret=`mv $BUILDROOT/*.changes "$DESTI/"`; + $ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`; } else { print "Move *_all.deb to $DESTI\n"; - $ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`; - $ret=`mv $BUILDROOT/*.dsc "$DESTI/"`; - $ret=`mv $BUILDROOT/*.tar.gz "$DESTI/"`; - $ret=`mv $BUILDROOT/*.changes "$DESTI/"`; + $ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`; } next; } diff --git a/build/rpm/README b/build/rpm/README index 99a1bb3552c..f20bf91db72 100644 --- a/build/rpm/README +++ b/build/rpm/README @@ -5,17 +5,24 @@ RPM Package tools This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed, -with format RPM (for Redhat, Mandriva, ...). +with format RPM (for Redhat, OpenSuse, Mandriva, ...). -# This is standard command to work on Debian packaging: +# This is standard command to work on RPM packaging: +# +# yum -y install rpmlint +# yum -y install hunspell-en hunspell-es hunspell-fr hunspell-it # # rpmlint file.rpm Test a package +# mock -r fedora-15-i386 --rebuild ../SRPMS/hello-2.7-1.fc15.src.rpm # # On Fedora # rpm -i --test dolibarr-...rpm To list dependencies of RPM # yum install dolibarr-...rpm To install package and dependencies -# yum erase dolibarr To remove package +# yum erase dolibarr To remove package +# chcon -R -h -t httpd_sys_script_rw_t /file To add temporary context rw for httpd on /file +# semanage fcontext -a -t httpd_sys_script_rw_t "/dir/(.*)?" To add persistent context rw for httpd on /dir (this add file_contexts.local) +# restorecon -R -v /file Restore values into files (cancel chcon, validate semanage) # # On OpenSuse # yast --install dolibarr-...rpm To install package and dependencies diff --git a/build/rpm/dolibarr.desktop b/build/rpm/dolibarr.desktop index 4b4fb60dadb..337b92d8049 100755 --- a/build/rpm/dolibarr.desktop +++ b/build/rpm/dolibarr.desktop @@ -4,13 +4,14 @@ Version=1.0 Encoding=UTF-8 Name=Dolibarr ERP & CRM +Name[es]=Dolibarr ERP & CRM Name[fr]=Dolibarr ERP & CRM Name[it]=Dolibarr ERP & CRM GenericName=Dolibarr ERP & CRM Comment=The easy to use manager (ERP & CRM) for small and medium enterprises or foundations +Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones Comment[fr]=L'ERP & CRM simple pour la gestion des TPE, PME, associations et auto-entrepreneurs Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti -Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones # Command to open an URL # For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr.spec index 708546cf263..08fe933d774 100644 --- a/build/rpm/dolibarr.spec +++ b/build/rpm/dolibarr.spec @@ -5,6 +5,11 @@ # file to build a package for your own distributions and # edit it if you need to match your rules. # -------------------------------------------------------- + +#%define is_mandrake %(test -e /etc/mandrake-release && echo 1 || echo 0) +#%define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0) +#%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0) + %define name dolibarr %define version __VERSION__ %define release __RELEASE__ @@ -12,9 +17,12 @@ Name: %{name} Version: %{version} Release: %{release} -Summary: Dolibarr +Summary: ERP and CRM software for small and medium companies or foundations +Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos +Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations +Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti -License: GPL +License: GPLv2+ Packager: Laurent Destailleur (Eldy) Vendor: Dolibarr dev team @@ -56,13 +64,12 @@ Dolibarr was designed to provide only features you need and be easy to use. %description -l es -Un software ERP y CRM open source/gratis para pequeñas y -medianas empresas, asociaciones o autónomos. Incluye diferentes -funcionalidades para la Planificación de Recursos Empresariales (ERP) y -Gestión de la Relación con los Clientes (CRM) así como para para otras -diferentes actividades. Dolibarr ha sido diseñado para suministrarle -solamente las funcionalidades que necesita y haciendo hincapié en su -facilidad de uso. +Un software ERP y CRM para pequeñas y medianas empresas, asociaciones +o autónomos. Incluye diferentes funcionalidades para la Planificación +de Recursos Empresariales (ERP) y Gestión de la Relación con los +Clientes (CRM) así como para para otras diferentes actividades. +Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades +que necesita y haciendo hincapié en su facilidad de uso. %description -l fr Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, @@ -71,12 +78,12 @@ fournisseurs, devis, factures, comptes bancaires, agenda, campagne emailings et bien d'autres choses dans une interface pensée pour la simplicité. %description -l it -Un programma gestionale open source e gratuito per piccole e medie +Un programmo gestionale per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori -attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno +attività. Progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. -Dolibar è completamente web-based, progettato per poter fornire solo ciò di +Programmo web, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. @@ -94,49 +101,51 @@ echo Building %{name}-%{version}-%{release} #---- install %install -rm -rf $RPM_BUILD_ROOT +%{__rm} -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/build -mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/doc -mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs -mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf +%{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr # %{_datadir} = /usr/share -mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps -cp doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -cp build/rpm/dolibarr.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/dolibarr.desktop +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +%{__install} -m 644 var/www/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications +%{__install} -m 644 var/www/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop -install -m 444 README $RPM_BUILD_ROOT/var/www/dolibarr/README -install -m 444 COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/COPYRIGHT -cp -pr build $RPM_BUILD_ROOT/var/www/dolibarr -cp -pr doc $RPM_BUILD_ROOT/var/www/dolibarr -cp -pr htdocs $RPM_BUILD_ROOT/var/www/dolibarr -cp -pr scripts $RPM_BUILD_ROOT/var/www/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/build +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/doc +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts +%{__cp} -pr var/www/dolibarr/build $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/doc $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/htdocs $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/scripts $RPM_BUILD_ROOT/var/www/dolibarr +%{__install} -m 644 var/www/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/doc/COPYRIGHT #---- clean %clean -rm -rf $RPM_BUILD_ROOT +%{__rm} -rf $RPM_BUILD_ROOT #---- files %files + %defattr(-,root,root) -%doc README -%doc COPYRIGHT %doc /var/www/dolibarr/doc/* %dir /var/www/dolibarr/build %dir /var/www/dolibarr/htdocs %dir /var/www/dolibarr/scripts -%_datadir/pixmaps/* +%_datadir/pixmaps/dolibarr.png %_datadir/applications/%{name}.desktop /var/www/dolibarr/build/* /var/www/dolibarr/htdocs/* /var/www/dolibarr/scripts/* -/var/www/dolibarr/README -/var/www/dolibarr/COPYRIGHT -#%config /var/www/dolibarr/htdocs/conf/conf.php + +%defattr(0664, -, -, 0755) +%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr #---- post (after unzip during install) @@ -154,11 +163,11 @@ export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -export sefileorig="$targetdir/build/rpm/file_contexts.dolibarr" +export sefileorig="%{_sysconfdir}/dolibarr/file_contexts.dolibarr" export seconfig="%{_sysconfdir}/selinux/targeted/contexts/files/file_contexts.dolibarr" -#config="/usr/share/dolibarr/htdocs/conf/conf.php" -config="%{_sysconfdir}/dolibarr/conf.php" -lockfile="/usr/share/dolibarr/install.lock" +#export config="/usr/share/dolibarr/htdocs/conf/conf.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export lockfile="/usr/share/dolibarr/install.lock" # Detect OS @@ -192,8 +201,8 @@ echo OS detected: $os # Create empty directory for uploaded files and generated documents echo Create document directory $docdir -mkdir -p $docdir -mkdir -p %{_sysconfdir}/dolibarr +%{__mkdir} -p $docdir +%{__mkdir} -p %{_sysconfdir}/dolibarr # Create install.forced.php into Dolibarr install directory superuserlogin='' @@ -205,12 +214,12 @@ if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then fi echo Mysql superuser found to use is $superuserlogin if [ -z "$superuserlogin" ] ; then - cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig + %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig else - cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig fi -chown -R root:$apachegroup $installconfig -chmod -R 660 $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig # Create an empty conf.php with permission to web server if [ ! -f $config ] @@ -222,19 +231,20 @@ then fi # Create config file for apache $apacheconfig -if [ ! -f $apacheconfig ]; then - echo Create dolibarr web server config file $apacheconfig - cp $apachefileorig $apacheconfig - chmod a-x $apacheconfig - chmod go-w $apacheconfig -fi - -# Create config file for se $seconfig -if [ ! -f $seconfig ]; then - echo Create se config file $seconfig - cp $sefileorig $seconfig +#if [ ! -f $apacheconfig ]; then +# echo Create dolibarr web server config file $apacheconfig +# cp $apachefileorig $apacheconfig # chmod a-x $apacheconfig # chmod go-w $apacheconfig +#fi + +# Create config file for se $seconfig +if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon -a ! -f $seconfig ]; then + echo Add SE Linux permission from file $sefileorig +# cp $sefileorig $seconfig + restorecon -R -v /etc/dolibarr + restorecon -R -v /var/www/dolibarr + restorecon -R -v /usr/share/dolibarr fi # Create a config link dolibarr.conf @@ -253,18 +263,6 @@ echo Set permission to $apacheuser:$apachegroup on $docdir chown -R $apacheuser:$apachegroup $docdir chmod -R o-w $docdir -# Set SE Linux on OS SE is enabled -if [ "x$os" = "xfedora-redhat" -a -s /usr/bin/chcon ]; then - echo Set SELinux permissions - # Warning: chcon seems not cumulative - #chcon -R -h -t httpd_sys_content_t $targetdir - #chcon -R -h -t httpd_sys_content_t $docdir - chcon -R -h -t httpd_sys_script_rw_t $targetdir - chcon -R -h -t httpd_sys_script_rw_t $docdir - chcon -R -h -t httpd_sys_script_rw_t %{_sysconfdir}/dolibarr - #chcon -R -h -t httpd_sys_script_exec_t $targetdir -fi - # Restart web server echo Restart web server if [ -f %{_sysconfdir}/init.d/httpd ]; then @@ -274,6 +272,12 @@ if [ -f %{_sysconfdir}/init.d/apache2 ]; then %{_sysconfdir}/init.d/apache2 restart fi +# Restart mysql +echo Restart mysql +if [ -f /etc/init.d/mysqld ]; then + /etc/init.d/mysqld restart +fi + # Show result echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" @@ -301,9 +305,9 @@ export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -#config="/usr/share/dolibarr/htdocs/conf/conf.php" -config="%{_sysconfdir}/dolibarr/conf.php" -lockfile="$targetdir/install.lock" +#export config="/usr/share/dolibarr/htdocs/conf/conf.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export lockfile="$targetdir/install.lock" # Detect OS @@ -338,7 +342,7 @@ echo OS detected: $os if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr - rm -f $apachelink + %{__rm} -f $apachelink status=purge fi @@ -356,18 +360,15 @@ then fi # Removed dirs after apache restart -echo Removed remaining $apacheconfig -rm -f $apacheconfig echo Removed remaining $config -rm -f $config +%{__rm} -f $config echo Removed remaining $installconfig -rm -f $installconfig +%{__rm} -f $installconfig echo Removed remaining $lockfile -rm -f $lockfile +%{__rm} -f $lockfile echo Removed remaining dir $targetdir/doc rmdir $targetdir/doc >/dev/null 2>&1 -#echo Removed remaining dir $targetdir/htdocs -#rmdir $targetdir/htdocs >/dev/null 2>&1 # Already removed by rpm + %changelog * Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 diff --git a/build/rpm/file_contexts.dolibarr b/build/rpm/file_contexts.dolibarr index 64376e5afb6..193a43b7dbe 100755 --- a/build/rpm/file_contexts.dolibarr +++ b/build/rpm/file_contexts.dolibarr @@ -1,3 +1,3 @@ -/etc/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 -/var/www/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 -/usr/share/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 \ No newline at end of file +/etc/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 +/var/www/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 +/usr/share/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 \ No newline at end of file diff --git a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_categories.sql b/dev/dbmodel/emulate_oscommerce/llx_osc_categories.sql old mode 100644 new mode 100755 similarity index 88% rename from htdocs/boutique/sql/emulate_oscommerce/llx_osc_categories.sql rename to dev/dbmodel/emulate_oscommerce/llx_osc_categories.sql index 760f93b6432..3112fd76ab5 --- a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_categories.sql +++ b/dev/dbmodel/emulate_oscommerce/llx_osc_categories.sql @@ -12,10 +12,9 @@ -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- along with this program. If not, see . -- --- $Id$ +-- $Id: llx_osc_categories.sql,v 1.1 2011/08/03 01:03:46 eldy Exp $ -- =================================================================== CREATE TABLE llx_osc_categories ( diff --git a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.key.sql b/dev/dbmodel/emulate_oscommerce/llx_osc_customer.key.sql old mode 100644 new mode 100755 similarity index 85% rename from htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.key.sql rename to dev/dbmodel/emulate_oscommerce/llx_osc_customer.key.sql index e2bf40de4b5..46ae75b1639 --- a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.key.sql +++ b/dev/dbmodel/emulate_oscommerce/llx_osc_customer.key.sql @@ -12,10 +12,9 @@ -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- along with this program. If not, see . -- --- $Id$ +-- $Id: llx_osc_customer.key.sql,v 1.1 2011/08/03 01:03:46 eldy Exp $ -- =================================================================== diff --git a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.sql b/dev/dbmodel/emulate_oscommerce/llx_osc_customer.sql old mode 100644 new mode 100755 similarity index 87% rename from htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.sql rename to dev/dbmodel/emulate_oscommerce/llx_osc_customer.sql index 51739145be7..40f2e4b7e63 --- a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_customer.sql +++ b/dev/dbmodel/emulate_oscommerce/llx_osc_customer.sql @@ -12,10 +12,9 @@ -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- along with this program. If not, see . -- --- $Id$ +-- $Id: llx_osc_customer.sql,v 1.1 2011/08/03 01:03:46 eldy Exp $ -- =================================================================== CREATE TABLE llx_osc_customer ( diff --git a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_order.sql b/dev/dbmodel/emulate_oscommerce/llx_osc_order.sql old mode 100644 new mode 100755 similarity index 87% rename from htdocs/boutique/sql/emulate_oscommerce/llx_osc_order.sql rename to dev/dbmodel/emulate_oscommerce/llx_osc_order.sql index 2d654806987..65da4f88684 --- a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_order.sql +++ b/dev/dbmodel/emulate_oscommerce/llx_osc_order.sql @@ -12,10 +12,9 @@ -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- along with this program. If not, see . -- --- $Id$ +-- $Id: llx_osc_order.sql,v 1.1 2011/08/03 01:03:46 eldy Exp $ -- =================================================================== CREATE TABLE llx_osc_order ( diff --git a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_product.sql b/dev/dbmodel/emulate_oscommerce/llx_osc_product.sql old mode 100644 new mode 100755 similarity index 87% rename from htdocs/boutique/sql/emulate_oscommerce/llx_osc_product.sql rename to dev/dbmodel/emulate_oscommerce/llx_osc_product.sql index ad0542ded82..6a48fd26124 --- a/htdocs/boutique/sql/emulate_oscommerce/llx_osc_product.sql +++ b/dev/dbmodel/emulate_oscommerce/llx_osc_product.sql @@ -12,10 +12,9 @@ -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- along with this program. If not, see . -- --- $Id$ +-- $Id: llx_osc_product.sql,v 1.1 2011/08/03 01:03:46 eldy Exp $ -- =================================================================== CREATE TABLE llx_osc_product ( diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index 838a3ce7b97..d2d54e4a8b2 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -14,13 +14,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * \file htdocs/admin/system/index.php * \brief Home page of system information - * \version $Id: index.php,v 1.49 2011/07/31 22:23:14 eldy Exp $ + * \version $Id: index.php,v 1.48 2011/07/27 23:50:52 eldy Exp $ */ require("../../main.inc.php"); @@ -126,5 +127,5 @@ print '
'; print info_admin($langs->trans("SystemInfoDesc")).'
'; -llxFooter('$Date: 2011/07/31 22:23:14 $ - $Revision: 1.49 $'); +llxFooter('$Date: 2011/07/27 23:50:52 $ - $Revision: 1.48 $'); ?> diff --git a/htdocs/boutique/index.php b/htdocs/boutique/index.php index 17a59229716..a0d12d3457c 100644 --- a/htdocs/boutique/index.php +++ b/htdocs/boutique/index.php @@ -17,10 +17,10 @@ */ /** - \file htdocs/boutique/index.php - \ingroup boutique - \brief Page accueil zone boutique - \version $Id: index.php,v 1.16 2011/08/03 00:45:46 eldy Exp $ + * \file htdocs/boutique/index.php + * \ingroup boutique + * \brief Page accueil zone boutique + * \version $Id: index.php,v 1.17 2011/08/03 01:17:17 eldy Exp $ */ require("../main.inc.php"); @@ -238,5 +238,5 @@ print ''; $dbosc->close(); -llxFooter('$Date: 2011/08/03 00:45:46 $ - $Revision: 1.16 $'); +llxFooter('$Date: 2011/08/03 01:17:17 $ - $Revision: 1.17 $'); ?> diff --git a/htdocs/boutique/osc_master.inc.php b/htdocs/boutique/osc_master.inc.php index 0c3684a56a5..08f8b69400a 100644 --- a/htdocs/boutique/osc_master.inc.php +++ b/htdocs/boutique/osc_master.inc.php @@ -12,15 +12,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ /** - \file htdocs/boutique/osc_master.inc.php - \brief Fichier de preparation de l'environnement Dolibarr pour OSCommerce - \version $Id$ -*/ + * \file htdocs/boutique/osc_master.inc.php + * \brief Fichier de preparation de l'environnement Dolibarr pour OSCommerce + * \version $Id: osc_master.inc.php,v 1.6 2011/08/03 01:17:17 eldy Exp $ + */ require_once(DOL_DOCUMENT_ROOT ."/lib/databases/".$conf->db->type.".lib.php"); diff --git a/htdocs/cashdesk/javascript/facturation1.js b/htdocs/cashdesk/javascript/facturation1.js index bbb8c903adf..41ec0ecab77 100644 --- a/htdocs/cashdesk/javascript/facturation1.js +++ b/htdocs/cashdesk/javascript/facturation1.js @@ -12,8 +12,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ // Calcul et affichage en temps reel des informations sur le produit en cours diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php index dcadd53f9ae..c34a9718bd3 100644 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ b/htdocs/cashdesk/tpl/facturation1.tpl.php @@ -19,10 +19,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with this program. If not, see . -$Id$ +$Id: facturation1.tpl.php,v 1.15 2011/08/03 01:13:30 eldy Exp $ --> diff --git a/htdocs/cashdesk/tpl/liste_articles.tpl.php b/htdocs/cashdesk/tpl/liste_articles.tpl.php index 7e8a757efd3..8a2801b179d 100644 --- a/htdocs/cashdesk/tpl/liste_articles.tpl.php +++ b/htdocs/cashdesk/tpl/liste_articles.tpl.php @@ -23,8 +23,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with this program. If not, see . -->
diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index 8b82c9f8249..2ab0515e6ab 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -15,7 +15,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ include_once(DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'); @@ -62,13 +63,11 @@ $logout=''; print '