From 7bed24cb2929cedec6b438a759affd2a4df9fbc3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2011 01:13:30 +0000 Subject: [PATCH] Fix: Avoid errors into rpm packages --- build/deb/README | 5 +- build/deb/changelog | 2 +- build/deb/control.DEBIAN | 46 ----- build/deb/control.debian | 10 +- build/deb/dolibarr.desktop | 4 + build/deb/install | 1 + build/deb/po/fr.po | 22 ++- build/deb/po/templates.pot | 20 +- build/deb/postinst | 100 +++++----- build/deb/postrm | 119 ++++++------ build/deb/templates | 7 + build/makepack-dolibarr.pl | 173 +++++++++++++----- build/rpm/README | 23 ++- build/rpm/dolibarr.desktop | 5 +- build/rpm/dolibarr.spec | 166 +++++++++-------- build/rpm/file_contexts.dolibarr | 6 +- dev/skeletons/modMyModule.class.php | 4 +- htdocs/admin/boxes.php | 8 +- htdocs/admin/modules.php | 35 +++- htdocs/admin/perms.php | 34 +++- htdocs/admin/proxy.php | 7 +- htdocs/admin/security_other.php | 7 +- htdocs/admin/system/constall.php | 5 +- htdocs/admin/system/index.php | 7 +- htdocs/boxes.php | 6 +- htdocs/cashdesk/tpl/menu.tpl.php | 13 +- htdocs/cashdesk/tpl/validation1.tpl.php | 21 +-- htdocs/cashdesk/validation_verif.php | 3 +- htdocs/compta/ajaxpayment.php | 15 +- htdocs/compta/bank/bankid_fr.php | 7 +- htdocs/compta/bank/fiche.php | 7 +- htdocs/compta/bank/rappro.php | 7 +- htdocs/compta/index.php | 7 +- htdocs/compta/paiement.php | 7 +- htdocs/compta/prelevement/create.php | 7 +- htdocs/core/class/conf.class.php | 9 +- htdocs/core/class/cookie.class.php | 5 +- htdocs/core/class/html.form.class.php | 11 +- htdocs/core/class/interfaces.class.php | 5 +- htdocs/filefunc.inc.php | 7 +- htdocs/imports/import.php | 7 +- htdocs/includes/modules/modWorkflow.class.php | 4 +- htdocs/index.php | 7 +- htdocs/install/check.php | 5 +- htdocs/install/etape0.php | 5 +- htdocs/install/etape1.php | 5 +- htdocs/install/etape2.php | 5 +- htdocs/install/etape4.php | 5 +- htdocs/install/etape5.php | 5 +- htdocs/install/fileconf.php | 5 +- htdocs/install/inc.php | 13 +- htdocs/install/licence.php | 5 +- htdocs/install/upgrade2.php | 5 +- htdocs/lib/admin.lib.php | 77 ++++++-- htdocs/lib/ajax.lib.php | 5 +- htdocs/lib/pdf.lib.php | 5 +- htdocs/main.inc.php | 5 +- htdocs/master.inc.php | 9 +- htdocs/product/class/product.class.php | 5 +- htdocs/product/fiche.php | 7 +- .../class/companybankaccount.class.php | 5 +- htdocs/societe/rib.php | 7 +- htdocs/societe/soc.php | 10 +- 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/user/group/perms.php | 34 +++- htdocs/user/perms.php | 32 +++- htdocs/viewimage.php | 5 +- 70 files changed, 745 insertions(+), 510 deletions(-) delete mode 100755 build/deb/control.DEBIAN diff --git a/build/deb/README b/build/deb/README index edb46ffd5a3..d73d7a99219 100644 --- a/build/deb/README +++ b/build/deb/README @@ -22,12 +22,13 @@ 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 package +# dpkg -b To build binary only 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 diff --git a/build/deb/changelog b/build/deb/changelog index b035f18ae1d..3382966714b 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 - -- Laurent Destailleur Mon, 30 Jul 2011 12:00:00 +0100 + -- Dolibarr team Mon, 30 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 diff --git a/build/deb/control.DEBIAN b/build/deb/control.DEBIAN deleted file mode 100755 index 7c66775bdf1..00000000000 --- a/build/deb/control.DEBIAN +++ /dev/null @@ -1,46 +0,0 @@ -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 91f0705c001..e28258d8dbc 100755 --- a/build/deb/control.debian +++ b/build/deb/control.debian @@ -4,10 +4,16 @@ Standards-Version: 3.9.1 Section: web Priority: optional Homepage: http://www.dolibarr.org -Build-Depends: debhelper, po-debconf +Build-Depends: debhelper (>= 7), po-debconf Package: dolibarr -Depends: ${misc:Depends}, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl +Depends: 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 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 4d41fd52c65..2928d378abc 100755 --- a/build/deb/install +++ b/build/deb/install @@ -1,4 +1,5 @@ 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/po/fr.po b/build/deb/po/fr.po index 13b8030ed0d..3bbe762283a 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-07-27 19:49+0200\n" +"POT-Creation-Date: 2011-08-01 18:17+0200\n" "PO-Revision-Date: 2011-07-29 22:45+0100\n" "Last-Translator: Laurent Destailleur \n" "Language-Team: Laurent Destailleur \n" @@ -25,10 +25,26 @@ 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:1001 +#: ../templates:2001 #, fuzzy msgid "Delete database and uploaded files ?" msgstr "Effacer la base de donnée et les fichiers uploadés ?" @@ -36,7 +52,7 @@ msgstr "Effacer la base de donnée et les fichiers uploadés ?" # #. Type: boolean #. Description -#: ../templates:1001 +#: ../templates:2001 #, 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 32c92a97cc4..d65e5d8b7f6 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-07-27 19:52+0200\n" +"POT-Creation-Date: 2011-08-01 18:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,29 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#. Type: boolean +#. 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 msgid "Delete database and uploaded files ?" msgstr "" #. Type: boolean #. Description -#: ../templates:1001 +#: ../templates:2001 msgid "" "Answer if you want to removed the Dolibarr MySQL database and all other " "datas (datas related to this question are the Dolibarr DBMS account, all " diff --git a/build/deb/postinst b/build/deb/postinst index ca5fd1645dd..e0bba1be4da 100644 --- a/build/deb/postinst +++ b/build/deb/postinst @@ -1,7 +1,5 @@ #!/bin/sh # postinst script for dolibarr -# -# see: dh_installdeb(1) set -e @@ -16,6 +14,31 @@ 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 @@ -27,8 +50,6 @@ echo Run the dolibarr postinst script # Define vars docdir='/var/lib/dolibarr/documents' #docdir='/usr/share/dolibarr/documents' -apachefileorig="/usr/share/dolibarr/build/deb/apache.conf" -apacheconfig="/etc/dolibarr/apache.conf" installfileorig="/usr/share/dolibarr/build/deb/install.forced.php.install" installconfig="/etc/dolibarr/install.forced.php" #config="/usr/share/dolibarr/htdocs/conf/conf.php" @@ -44,10 +65,6 @@ case "$1" in chmod -R 775 $docdir chmod -R g+s $docdir - # Copy apache.conf file into target directory - #mkdir -p /etc/dolibarr - #cp -p $apachefileorig $apacheconfig - # Copy install config file (with matching Debian) values into target directory superuserlogin='' superuserpassword='' @@ -74,21 +91,15 @@ case "$1" in chmod -R 660 $config fi - # Get the web server type (use db_get for interactive mode). - #db_reset "dolibarr/webserver" - #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 - + + db_get dolibarr/reconfigure-webserver + + webservers="$RET" + # Set up web server. - for server in $webservers ; do - echo Complete config of server $server + for webserver in $webservers ; do + webserver=${webserver%,} + echo Complete config of server $webserver # Detect webuser and webgroup webuser= @@ -106,26 +117,31 @@ case "$1" in # Set permissions to web server chown -R $webuser:$webgroup /usr/share/dolibarr chown -R root:$webgroup $config - - # Add link to config file - echo Setup web server $server to add dolibarr config file - ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf - done - # 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 + # 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 ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." @@ -136,13 +152,13 @@ case "$1" in ;; *) - echo "postinst called with unknown argument \`$1'" >&2 + echo "postinst called with unknown argument $1" >&2 exit 0 ;; esac -db_stop - #DEBHELPER# +db_stop + exit 0 diff --git a/build/deb/postrm b/build/deb/postrm index 9eae81b022b..27ce3777b7e 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -17,7 +17,36 @@ set -e # for details, see /usr/share/doc/packaging-manual/ -. /usr/share/debconf/confmodule + +lighttpd_remove() { + if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then + echo "Remove link for Lighttpd config file" + rm -f /etc/lighttpd/conf-available/50-dolibarr.conf + if which lighty-enable-mod >/dev/null 2>&1 ; then + lighty-disable-mod dolibarr + else + echo "Lighttpd not installed, skipping" + fi + # See bug #448682 + if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then + echo 'Manually deleting lighttpd/dolibarr configuration link' + rm /etc/lighttpd/conf-enabled/50-dolibarr.conf + fi + fi +} + +apache_remove() { + if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then + echo "Remove link for Apache config file" + rm -f /etc/$webserver/conf.d/dolibarr.conf + fi +} + + + +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi db_version 2.0 @@ -26,63 +55,62 @@ echo Run the dolibarr postrm script docdir='/var/lib/dolibarr/documents' #docdir='/usr/share/dolibarr/documents' -apachefileorig="/usr/share/dolibarr/build/deb/apache.conf" -apacheconfig="/etc/dolibarr/apache.conf" #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 - case "$1" in # Call when we upgrade upgrade) + echo "postrm upgrade" ;; # Call when we uninstall remove) + echo "postrm remove" rm -f $lockfile - # Remove include files - export restart="" - for server in $webservers ; do - export conffile="/etc/$server/conf.d/dolibarr.conf" - if [ -f $conffile ] ; - then - echo Delete link $conffile - rm -f $conffile - status=purge - fi - - if [ "x$status" = "xpurge" ] ; - then restart="$restart $server" + # 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 webservers=$webservers apacheconfig=$apacheconfig" + echo "postrm purge" # 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 @@ -185,41 +213,12 @@ 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 - # We clean variable (we ignore errors because db_reset can fails if var was never set) set +e - db_reset "dolibarr/postrm" + db_reset dolibarr/reconfigure-webserver + db_reset dolibarr/postrm set -e #db_purge @@ -229,7 +228,7 @@ case "$1" in ;; *) - 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 5c06afd8ccd..b96325a4e64 100644 --- a/build/deb/templates +++ b/build/deb/templates @@ -1,3 +1,10 @@ +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 ae04a704e10..f1527da165b 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.127 2011/07/31 18:06:36 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.130 2011/08/03 00:47:37 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.127 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.130 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -254,9 +254,11 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/build/DoliW*-*`; $ret=`rm -f $BUILDROOT/$PROJECT/build/DoliM*-*`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.changes`; $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`; @@ -304,18 +306,23 @@ if ($nboftargetok) { $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* $BUILDROOT/$PROJECT/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/*/*/CVS*`; $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/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html`; + $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`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/.svn`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $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 -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; #$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`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/ttf2ufm`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/smarty`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-20100919`; $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`; } # Build package for each target @@ -438,23 +445,103 @@ if ($nboftargetok) { #rmdir "$BUILDROOT/$FILENAMETGZ2"; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2\""; + print "Create directory $BUILDROOT/$FILENAMETGZ2/var/www\n"; + $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/var/www"`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\""; $ret=`$cmd`; print "Remove other files\n"; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/README`; - $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/var/www/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/README-FR`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/README-FR`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/aps`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/deb`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/dmg`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/pad/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/tgz/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/deb/README`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/doap`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/live`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/patch`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/zip`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/perl`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/dbmodel`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/fpdf`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/initdata`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/iso-normes`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/phpcheckstyle`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/phpunit`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/flyer`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/font`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/tshirt`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/rollup`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/test`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/cashdesk/include/jscalendar/doc/html/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/cashdesk/include/jscalendar/skins/aqua/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/ckeditor/plugins/*/dialogs/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/ckeditor/plugins/*/images/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/fpdf/fpdf`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/nusoap/lib/Mail`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/odtphp/zip/.svn`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/smarty`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/COPYING`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + # To remove once stable + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/htdocs/theme/bureau2crea`; + + # Apache conf files + print "Copy apache.conf file into $BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/httpd-dolibarr.conf\n"; + $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT"`; + $ret=`cp "$SOURCE/build/rpm/httpd-dolibarr.conf" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf"`; + $ret=`cp "$SOURCE/build/rpm/file_contexts.dolibarr" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/file_contexts.dolibarr"`; + + # 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/var/www/$PROJECT/build -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build -name '*.pl' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/translation/langAutoParser.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/skeleton_page.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/modMyModule.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/skeleton_class.class.php`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/scripts -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/geoip -name 'sample*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/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`; @@ -488,9 +575,11 @@ if ($nboftargetok) { next; } - + if ($target eq 'DEB') { + $olddir=getcwd(); + $newbuild = $BUILD; $newbuild =~ s/(dev|alpha)/1/gi; # dev $newbuild =~ s/beta/2/gi; # beta @@ -525,7 +614,7 @@ if ($nboftargetok) { $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/DEBIAN/po/CVS*"`; print "Edit version in file $BUILDROOT/$PROJECT.tmp/DEBIAN/control\n"; - open (SPECFROM,"<$SOURCE/build/deb/control.DEBIAN") || die "Error"; + open (SPECFROM,"<$SOURCE/build/deb/control.debianbin") || die "Error"; open (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error"; while () { $_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/; @@ -579,6 +668,7 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/iso-normes`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/phpcheckstyle`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/phpunit`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/*/README`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/flyer`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/font`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/tshirt`; @@ -593,19 +683,22 @@ 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 conf files + # Apache and lighttpd 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"`; - - # Dolibarr conf files - # TODO + 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.desktop print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; @@ -622,17 +715,7 @@ if ($nboftargetok) { print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT"`; - #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`; - + # Set owners print "Set owners on files/dir\n"; $ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`; @@ -661,17 +744,15 @@ 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`; - print "Go to directory $BUILDROOT\n"; - $olddir=getcwd(); - chdir("$BUILDROOT"); - - # Creation of binary package (to build without sources) + # Creation of binary package (to build without sources) + #print "Go to directory $BUILDROOT\n"; + #chdir("$BUILDROOT"); #$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb"; #print "Launch DEB build ($cmd)\n"; #$ret=`$cmd`; #print $ret."\n"; - # Creation of source package + # Prepare source package print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian/source"`; @@ -683,6 +764,7 @@ if ($nboftargetok) { $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"`; @@ -698,6 +780,9 @@ if ($nboftargetok) { $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"; diff --git a/build/rpm/README b/build/rpm/README index c157a195c03..f20bf91db72 100644 --- a/build/rpm/README +++ b/build/rpm/README @@ -5,15 +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 @@ -40,7 +49,9 @@ different features for Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) but also for different other activities. I am author of other already packaged OpenSources packages (awstats) but this is my first package to maintain myself. So i'm seeking a sponsor. - - Edit field "Block" and add FE-NEEDSPONSOR - -- Check bug is into database by searching with id on https://bugzilla.redhat.com/ \ No newline at end of file +- Check bug is into database by searching with id on https://bugzilla.redhat.com/ +- Install fedora packager tools: yum install fedora-packager +- Setup fedora packagers tools: fedora-packager-setup +- Send your package: koji build --scratch f16 path_to_source_RPM +- Check if package is available: http://koji.fedoraproject.org/koji/ \ No newline at end of file diff --git a/build/rpm/dolibarr.desktop b/build/rpm/dolibarr.desktop index 33fadf7624f..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 @@ -19,7 +20,7 @@ Exec=xdg-open http://localhost/dolibarr Icon=dolibarr Terminal=false Type=Application -Categories=Office +Categories=Office; StartupNotify=true InitialPreference=5 #NoDisplay=true diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr.spec index 1754220c6c7..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 @@ -48,7 +56,7 @@ AutoReqProv: no %description -Dolibarr ERP & CRM is an easy to use open source/free software for small +An easy to use CRM & ERP 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. @@ -56,27 +64,26 @@ Dolibarr was designed to provide only features you need and be easy to use. %description -l es -Dolibarr ERP y CRM es un software 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 -Dolibarr ERP & CRM est un logiciel de gestion de PME/PMI, autoentrepreneurs, +Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, artisans ou associations. Il permet de gérer vos clients, prospect, fournisseurs, devis, factures, comptes bancaires, agenda, campagne emailings et bien d'autres choses dans une interface pensée pour la simplicité. %description -l it -Dolibarr è 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,48 +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 -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 +# %{_datadir} = /usr/share +%{__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) @@ -153,9 +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" -#config="/usr/share/dolibarr/htdocs/conf/conf.php" -config="%{_sysconfdir}/dolibarr/conf.php" -lockfile="/usr/share/dolibarr/install.lock" +export sefileorig="%{_sysconfdir}/dolibarr/file_contexts.dolibarr" +export seconfig="%{_sysconfdir}/selinux/targeted/contexts/files/file_contexts.dolibarr" +#export config="/usr/share/dolibarr/htdocs/conf/conf.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export lockfile="/usr/share/dolibarr/install.lock" # Detect OS @@ -189,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='' @@ -202,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 ] @@ -218,15 +230,24 @@ then chmod -R 660 $config fi -# Create a config file $apacheconfig -if [ ! -f $apacheconfig ]; then - echo Create dolibarr web server config file $apacheconfig - cp $apachefileorig $apacheconfig - chmod a-x $apacheconfig - chmod go-w $apacheconfig +# 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 [ "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 for Fedora or Redhat +# Create a config link dolibarr.conf if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs $apacheconfig $apachelink @@ -242,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 @@ -263,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 -----" @@ -290,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 @@ -327,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 @@ -345,19 +360,16 @@ 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 -- Initial upstream (#723326) +* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 +- Initial version (#723326) 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/dev/skeletons/modMyModule.class.php b/dev/skeletons/modMyModule.class.php index 3cc548e1c0a..d7172d651f0 100644 --- a/dev/skeletons/modMyModule.class.php +++ b/dev/skeletons/modMyModule.class.php @@ -27,7 +27,7 @@ * \file htdocs/includes/modules/modMyModule.class.php * \ingroup mymodule * \brief Description and activation file for module MyModule - * \version $Id: modMyModule.class.php,v 1.66 2011/07/31 22:21:58 eldy Exp $ + * \version $Id: modMyModule.class.php,v 1.67 2011/08/01 13:26:21 hregis Exp $ */ include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php"); @@ -72,7 +72,7 @@ class modMyModule extends DolibarrModules // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' $this->picto='generic'; - // Defined if the directory /mymodule/inc/triggers/ contains triggers or not + // Defined if the directory /mymodule/includes/triggers/ contains triggers or not $this->triggers = 0; // Data directories to create when module is enabled. diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 718c842d046..34e7f48cea8 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -20,7 +20,7 @@ /** * \file htdocs/admin/boxes.php * \brief Page to setup boxes - * \version $Id: boxes.php,v 1.72 2011/07/31 22:23:22 eldy Exp $ + * \version $Id: boxes.php,v 1.73 2011/08/01 13:26:22 hregis Exp $ */ require("../main.inc.php"); @@ -278,7 +278,7 @@ if ($resql) { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; } else { @@ -394,7 +394,7 @@ if ($resql) { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; } else { @@ -470,5 +470,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.72 $'); +llxFooter('$Date: 2011/08/01 13:26:22 $ - $Revision: 1.73 $'); ?> diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index a907f47663a..671bd69a0e4 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ /** * \file htdocs/admin/modules.php * \brief Page to activate/disable all modules - * \version $Id: modules.php,v 1.156 2011/07/31 22:23:22 eldy Exp $ + * \version $Id: modules.php,v 1.157 2011/08/01 12:25:15 hregis Exp $ */ require("../main.inc.php"); @@ -79,12 +79,35 @@ $modules = array(); $orders = array(); $categ = array(); $dirmod = array(); +$modulesdir = array(); $i = 0; // is a sequencer of modules found $j = 0; // j is module number. Automatically affected if module number not defined. -foreach ($conf->file->dol_document_root as $dirroot) -{ - $dir = $dirroot . "/includes/modules/"; +foreach ($conf->file->dol_document_root as $type => $dirroot) +{ + $modulesdir[] = $dirroot . "/includes/modules/"; + + if ($type == 'alt') + { + $althandle=@opendir($dirroot); + if (is_resource($althandle)) + { + while (($file = readdir($althandle))!==false) + { + if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') + { + if (is_dir($dirroot . '/' . $file . '/includes/modules/')) + { + $modulesdir[] = $dirroot . '/' . $file . '/includes/modules/'; + } + } + } + } + } +} + +foreach ($modulesdir as $dir) +{ // Load modules attributes in arrays (name, numero, orders) from dir directory //print $dir."\n
"; dol_syslog("Scan directory ".$dir." for modules"); @@ -449,5 +472,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.156 $'); +llxFooter('$Date: 2011/08/01 12:25:15 $ - $Revision: 1.157 $'); ?> diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index bee00b52906..6af9b54e7f0 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -21,7 +21,7 @@ * \file htdocs/admin/perms.php * \ingroup core * \brief Page d'administration/configuration des permissions par defaut - * \version $Id: perms.php,v 1.42 2011/07/31 22:23:26 eldy Exp $ + * \version $Id: perms.php,v 1.43 2011/08/01 12:53:37 hregis Exp $ */ require("../main.inc.php"); @@ -76,10 +76,34 @@ $db->begin(); // Charge les modules soumis a permissions $modules = array(); -foreach ($conf->file->dol_document_root as $dirroot) -{ - $dir = $dirroot . "/includes/modules/"; +$modulesdir = array(); +foreach ($conf->file->dol_document_root as $type => $dirroot) +{ + $modulesdir[] = $dirroot . "/includes/modules/"; + + if ($type == 'alt') + { + $handle=@opendir($dirroot); + if (is_resource($handle)) + { + while (($file = readdir($handle))!==false) + { + if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') + { + if (is_dir($dirroot . '/' . $file . '/includes/modules/')) + { + $modulesdir[] = $dirroot . '/' . $file . '/includes/modules/'; + } + } + } + closedir($handle); + } + } +} + +foreach ($modulesdir as $dir) +{ // Load modules attributes in arrays (name, numero, orders) from dir directory //print $dir."\n
"; $handle=@opendir($dir); @@ -194,5 +218,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/07/31 22:23:26 $ - $Revision: 1.42 $'); +llxFooter('$Date: 2011/08/01 12:53:37 $ - $Revision: 1.43 $'); ?> diff --git a/htdocs/admin/proxy.php b/htdocs/admin/proxy.php index f02e3d6203a..2c284c5cae8 100755 --- a/htdocs/admin/proxy.php +++ b/htdocs/admin/proxy.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/admin/proxy.php * \ingroup core * \brief Page setup proxy to use for external web access - * \version $Id: proxy.php,v 1.6 2011/07/29 21:04:27 eldy Exp $ + * \version $Id: proxy.php,v 1.7 2011/07/31 22:23:24 eldy Exp $ */ require("../main.inc.php"); @@ -206,5 +205,5 @@ dol_htmloutput_mesg($mesg); $db->close(); -llxFooter('$Date: 2011/07/29 21:04:27 $ - $Revision: 1.6 $'); +llxFooter('$Date: 2011/07/31 22:23:24 $ - $Revision: 1.7 $'); ?> diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index c0aaaa86213..c1d629f7b7b 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -13,15 +13,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/admin/security_other.php * \ingroup core * \brief Security options setup - * \version $Id: security_other.php,v 1.40 2011/07/29 21:04:27 eldy Exp $ + * \version $Id: security_other.php,v 1.41 2011/07/31 22:23:22 eldy Exp $ */ require("../main.inc.php"); @@ -348,5 +347,5 @@ $formfile->form_attach_new_file(DOL_URL_ROOT.'/admin/security_other.php',$langs- $db->close(); -llxFooter('$Date: 2011/07/29 21:04:27 $ - $Revision: 1.40 $'); +llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.41 $'); ?> diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index a07b28bd2cf..f478b65e3a8 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -14,14 +14,13 @@ * 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/admin/system/constall.php * \brief Page to show all Dolibarr setup (config file and database constants) - * \version $Id: constall.php,v 1.23 2011/07/30 10:23:26 eldy Exp $ + * \version $Id: constall.php,v 1.24 2011/07/31 22:23:14 eldy Exp $ */ require("../../main.inc.php"); diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index d2d54e4a8b2..838a3ce7b97 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -14,14 +14,13 @@ * 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/admin/system/index.php * \brief Home page of system information - * \version $Id: index.php,v 1.48 2011/07/27 23:50:52 eldy Exp $ + * \version $Id: index.php,v 1.49 2011/07/31 22:23:14 eldy Exp $ */ require("../../main.inc.php"); @@ -127,5 +126,5 @@ print '
'; print info_admin($langs->trans("SystemInfoDesc")).'
'; -llxFooter('$Date: 2011/07/27 23:50:52 $ - $Revision: 1.48 $'); +llxFooter('$Date: 2011/07/31 22:23:14 $ - $Revision: 1.49 $'); ?> diff --git a/htdocs/boxes.php b/htdocs/boxes.php index 2affdf654d3..d426e618377 100644 --- a/htdocs/boxes.php +++ b/htdocs/boxes.php @@ -22,7 +22,7 @@ * \brief File of class to manage widget boxes * \author Rodolphe Qiedeville * \author Laurent Destailleur - * \version $Id: boxes.php,v 1.54 2011/07/31 23:19:04 eldy Exp $ + * \version $Id: boxes.php,v 1.55 2011/08/01 13:26:21 hregis Exp $ */ @@ -220,7 +220,7 @@ class InfoBox { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = dol_buildpath("/".$module."/inc/boxes/".$boxname.".php"); + $sourcefile = dol_buildpath("/".$module."/includes/boxes/".$boxname.".php"); } else { @@ -281,7 +281,7 @@ class InfoBox { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; } else { diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index 83dac68a99e..8b82c9f8249 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -15,8 +15,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 . */ include_once(DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'); @@ -63,11 +62,13 @@ $logout=''; print '