From 78bb7c281e3a5c680506bf07ee54e8bd8d54ab4f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2011 16:45:46 +0000 Subject: [PATCH] Work on debian package --- build/.cvsignore | 3 - build/deb/README | 4 +- build/deb/changelog | 4 +- build/deb/control.DEBIAN | 46 ++++ build/deb/control.debian | 10 +- build/deb/install | 1 - build/deb/install.forced.php.install | 8 +- build/deb/po/fr.po | 44 +--- build/deb/po/messages.mo | Bin 0 -> 928 bytes build/deb/postinst | 69 +++--- build/deb/postrm | 113 +++++----- build/deb/templates | 15 +- build/makepack-dolibarr.pl | 277 +++++------------------- build/rpm/README | 13 +- build/rpm/dolibarr.desktop | 3 +- build/rpm/dolibarr.spec | 157 +++++++------- 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/boxes.php | 6 +- htdocs/cashdesk/tpl/menu.tpl.php | 13 +- htdocs/cashdesk/tpl/validation1.tpl.php | 21 +- htdocs/compta/ajaxpayment.php | 15 +- htdocs/compta/bank/rappro.php | 7 +- htdocs/compta/index.php | 7 +- htdocs/compta/paiement.php | 7 +- htdocs/core/class/conf.class.php | 9 +- htdocs/core/class/cookie.class.php | 5 +- htdocs/imports/import.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/master.inc.php | 6 +- htdocs/societe/soc.php | 10 +- htdocs/user/group/perms.php | 34 ++- htdocs/user/perms.php | 32 ++- 44 files changed, 514 insertions(+), 572 deletions(-) create mode 100755 build/deb/control.DEBIAN create mode 100755 build/deb/po/messages.mo 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 edb46ffd5a3..ca1be50e6d9 100644 --- a/build/deb/README +++ b/build/deb/README @@ -17,8 +17,6 @@ with format .DEB (for Debian, Ubuntu, ...). # # gpg --gen-key Generate a GPG key # -# debconf-updatepo To run into po dir to regenate templates.pot -# # lintian --pedantic -E -I package.deb To test a package # # dpkg -l List all packages @@ -49,5 +47,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 b035f18ae1d..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 - -- Laurent Destailleur 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/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..abb15a879a1 100755 --- a/build/deb/po/fr.po +++ b/build/deb/po/fr.po @@ -13,52 +13,30 @@ # msgid "" msgstr "" +"Project-Id: dolibarr\n" "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-29 04:31+0100\n" "PO-Revision-Date: 2011-07-29 22:45+0100\n" "Last-Translator: Laurent Destailleur \n" "Language-Team: Laurent Destailleur \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "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 -#, fuzzy -msgid "Delete database and uploaded files ?" -msgstr "Effacer la base de donnée et les fichiers uploadés ?" +#: ../templates:dolibarr/postrm +msgid "" +"Delete database and uploaded files ?" +msgstr "" +"Effacer la base de donnée et les fichiers uploadés ?" # -#. Type: boolean #. Description -#: ../templates:2001 -#, fuzzy +#: ../templates:dolibarr/postrm 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 " -"Dolibarr tables, and all uploaded files)." +"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 Dolibarr tables, and all uploaded files)." msgstr "" -"Indiquez si vous voulez supprimer la base Dolibarr et toutes ces données " -"(les données en question ici sont les comptes de la base, les tables et tous " -"les fichiers téléchargés)." +"Indiquez si vous voulez supprimer la base Dolibarr et toutes ces données (les données en question ici sont les comptes de la base, les tables et tous les fichiers téléchargés)." + \ No newline at end of file diff --git a/build/deb/po/messages.mo b/build/deb/po/messages.mo new file mode 100755 index 0000000000000000000000000000000000000000..0de55a6ee38cee903ff46a9ef969acf50dd46ab0 GIT binary patch literal 928 zcmbVKJ9E=O5Eie-C3T7|D8i64vM~_EGl^Yz#vVfAp=K?ulw;0!$~_#+|KLZsW@u>r zKlm-|$;QS*$Ig6`ZngXE*vWC;rs;0Cn^Z@|*b%&7o>MbI}&PSIKzFD^ffpg@mP zbOfjiK&8NNkZs%!4&z_P=?Z;JH_RX%TnBPq8VzV^pR<2Dz68v36SO~S=(gp!j3UR* zO`T9Hg9WpelKl_cNuLyX+HYt-2;L^=)_kVii(!#Lv6-Z`bBd2-9e0*Nr=7Mgs5aJ% zv8!YuPDACy#AMJqe?JjtmN1SW`aD?%-L%sY>2uM20ckIL(s`72(v$0KkneeS zBE8d*%q2K(7-B?jW_8Rh=nwNz<6jF1*5s~nl`_AQyio9~rCKfHWYuaJ#WW~O%>U|* T$u@mNf>>soyVe+|vAli*KkF*I literal 0 HcmV?d00001 diff --git a/build/deb/postinst b/build/deb/postinst index ca5fd1645dd..0bc4d297b70 100644 --- a/build/deb/postinst +++ b/build/deb/postinst @@ -24,31 +24,17 @@ db_version 2.0 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" -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 - #mkdir -p /etc/dolibarr - #cp -p $apachefileorig $apacheconfig - - # 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 @@ -58,24 +44,29 @@ 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 - # Get the web server type (use db_get for interactive mode). #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" @@ -105,7 +96,7 @@ 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 @@ -113,6 +104,26 @@ case "$1" in 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 diff --git a/build/deb/postrm b/build/deb/postrm index 9eae81b022b..8be194f0a41 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -26,11 +26,6 @@ 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="" @@ -41,38 +36,13 @@ case $webserver in Both) webservers="apache2 apache2-ssl" ;; *) webservers="apache2 apache2-ssl" ;; esac +export includefile=/etc/dolibarr/apache.conf case "$1" in - - # Call when we upgrade - upgrade) - ;; - - # Call when we uninstall - 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" - fi - done - ;; - # Call when we uninstall and purge purge) - echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig" + echo "postrm purge webservers=$webservers includefile=$includefile" # Ask if we must delete database echo "postrm db_input dolibarr/postrm" @@ -89,8 +59,7 @@ case "$1" in echo postrm Mysql database deletion # Get database configuration dbserver="localhost" - dbuser="dolibarrdebian" - dbname="dolibarrdebian" + dbname="dolibarrmysql" #db_get "dolibarr/db/name" #dbname="$RET" superuserlogin='' @@ -151,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" @@ -217,6 +178,18 @@ case "$1" in 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/postrm" @@ -225,6 +198,34 @@ case "$1" in #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) ;; diff --git a/build/deb/templates b/build/deb/templates index b96325a4e64..e45bca176b7 100644 --- a/build/deb/templates +++ b/build/deb/templates @@ -1,14 +1,7 @@ -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 -_Description: Delete database and uploaded files ? - 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 - Dolibarr tables, and all uploaded files). +Description: Delete database and uploaded files ? + 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 Dolibarr tables, and all uploaded files). diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index d3c47e6b28d..a5b37ef97de 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.128 2011/07/31 22:08:13 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.117 2011/07/26 23:25:59 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.128 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.117 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -248,24 +248,16 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`; $ret=`rm -fr $BUILDROOT/$PROJECT/.project`; $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`; - $ret=`rm -fr $BUILDROOT/$PROJECT/pom.xml`; - $ret=`rm -fr $BUILDROOT/$PROJECT/default.properties`; $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`; $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_*.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`; @@ -274,41 +266,25 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/barcode/php-barcode/fonts/AerialMono*.ttf`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/barcode/php-barcode/fonts/Tymes*.ttf`; $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`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/uml`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/xdebug`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot2.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot3.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot4.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot5.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot6.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot7.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot8.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot9.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot10.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`; - $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`; $ret=`rm -fr $BUILDROOT/$PROJECT/test`; - $ret=`rm -fr $BUILDROOT/$PROJECT/build/deb/po/CVS*`; $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/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`; @@ -416,19 +392,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"; @@ -446,93 +417,7 @@ 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 -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`; @@ -560,10 +445,6 @@ 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; } @@ -576,10 +457,7 @@ if ($nboftargetok) { if ($newbuild !~ /-/) { $newbuild.='-4'; } # finale # now newbuild is 0-1 or 0-4 for example print "Version is $MAJOR.$MINOR.$newbuild\n"; - $build = $newbuild; - $build =~ s/-.*$//g; - # now build is 0 for example - + print "Remove target ${FILENAMEDEB}_all.deb...\n"; unlink("$DESTI/${FILENAMEDEB}_all.deb"); @@ -599,9 +477,6 @@ if ($nboftargetok) { $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 -fr "$SOURCE/build/deb/po" "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; - $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 (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error"; @@ -614,49 +489,22 @@ 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/postrm`; $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`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/doap`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/exe`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/live`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/patch`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/perl`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/rpm`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/zip`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/dmg`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/dbmodel`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/fpdf`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/initdata`; $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 -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/uml`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/xdebug`; $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`; @@ -677,14 +525,6 @@ if ($nboftargetok) { # To remove once stable $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`; - # 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"`; - - # Dolibarr conf files - # TODO - # dolibarr.desktop print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/applications"`; @@ -700,7 +540,16 @@ 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"`; + + 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"`; + + # copyright + $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`; @@ -733,43 +582,34 @@ if ($nboftargetok) { $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"; + # Creation of binary package + $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 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/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/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"`; - # 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/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/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 -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"`; + $build = $newbuild; + $build =~ s/-.*$//g; $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $ret=`$cmd`; - chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); - #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; - $cmd="dpkg-buildpackage -us -uc"; - print "Launch DEB build ($cmd)\n"; + $cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; + print "Launch DEB src build ($cmd)\n"; $ret=`$cmd`; print $ret."\n"; @@ -777,19 +617,13 @@ 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/"`; + print "Move ${FILENAMEDEB}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; + $ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.deb"`; } 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/"`; + print "Move ${FILENAMEDEB}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; + $ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.deb"`; } next; } @@ -817,21 +651,14 @@ if ($nboftargetok) { $ret=`$cmd`; print "Remove other files\n"; - $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/rpm`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/zip`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/dbmodel`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/fpdf`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/initdata`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/iso-normes`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/phpcheckstyle`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/phpunit`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/uml`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev/xdebug`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/doc/flyer`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/doc/font`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/doc/tshirt`; 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/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/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 '