From a3feeedfba711fa5ea21cbd66d2e0958b58b2c88 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2011 23:19:04 +0000 Subject: [PATCH] Fix: Avoid errors into rpm packages --- build/deb/README | 5 +- build/deb/changelog | 4 +- build/deb/control.DEBIAN | 48 ---- build/deb/control.debian | 52 ++++- build/deb/postinst | 100 ++++----- build/deb/postrm | 119 +++++----- build/deb/rules | 8 +- build/makepack-dolibarr.pl | 283 +++++++++++++++++++----- 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 | 33 +-- htdocs/admin/perms.php | 32 +-- htdocs/boxes.php | 6 +- htdocs/cashdesk/tpl/menu.tpl.php | 13 +- htdocs/cashdesk/tpl/validation1.tpl.php | 21 +- 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 +-- 35 files changed, 573 insertions(+), 498 deletions(-) delete mode 100755 build/deb/control.DEBIAN diff --git a/build/deb/README b/build/deb/README index d73d7a99219..edb46ffd5a3 100644 --- a/build/deb/README +++ b/build/deb/README @@ -22,13 +22,12 @@ with format .DEB (for Debian, Ubuntu, ...). # lintian --pedantic -E -I package.deb To test a package # # dpkg -l List all packages -# dpkg -b To build binary only package +# dpkg -b To build package # dpkg -c package.deb List content of package # dpkg -I package.deb Give informations on package # dpkg -i package.deb Install a package -# dpkg-reconfigure -plow package Reconfigure package +# # dpkg -L packagename List content of installed package -# dpkg -r packagename Remove config files and interactive saved answers # dpkg --purge Remove config files and interactive saved answers # # dpkg-buildpackage -us -uc Build a source and binary package diff --git a/build/deb/changelog b/build/deb/changelog index fc8d0a81a84..b035f18ae1d 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, 18 Jul 2011 12:00:00 +0100 + -- Laurent Destailleur Mon, 30 Jul 2011 12:00:00 +0100 -# More information into /usr/share/dolibarr/ChangeLog file. \ No newline at end of file +# 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 41a2ba37d19..00000000000 --- a/build/deb/control.DEBIAN +++ /dev/null @@ -1,48 +0,0 @@ -Package: dolibarr -Source: dolibarr -Version: __VERSION__ -Architecture: all -Maintainer: Laurent Destailleur -Installed-Size: 61200 -Depends: debconf, 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 -Recommends: firefox -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 - Data export and import tools - 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 38688b12e1b..e28258d8dbc 100755 --- a/build/deb/control.debian +++ b/build/deb/control.debian @@ -4,4 +4,54 @@ Standards-Version: 3.9.1 Section: web Priority: optional Homepage: http://www.dolibarr.org -Build-Depends: \ No newline at end of file +Build-Depends: debhelper (>= 7), 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 +Architecture: all +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. \ No newline at end of file diff --git a/build/deb/postinst b/build/deb/postinst index e0bba1be4da..ca5fd1645dd 100644 --- a/build/deb/postinst +++ b/build/deb/postinst @@ -1,5 +1,7 @@ #!/bin/sh # postinst script for dolibarr +# +# see: dh_installdeb(1) set -e @@ -14,31 +16,6 @@ set -e # for details, see /usr/share/doc/packaging-manual/ - - -lighttpd_install() { - if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then - if which lighty-enable-mod >/dev/null 2>&1 ; then - echo "Add link for Lighttpd config file" - ln -fs /etc/dolibarr/lighttpd.conf /etc/lighttpd/conf-available/50-dolibarr.conf - # We enabled it - lighty-enable-mod dolibarr fastcgi-php - else - echo "Lighttpd not installed, skipping" - fi - fi -} - -apache_install() { - webserver=$1 - if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then - echo "Add link for Apache config file" - ln -fs /etc/dolibarr/apache.conf /etc/$webserver/conf.d/dolibarr.conf - fi -} - - - . /usr/share/debconf/confmodule db_version 2.0 @@ -50,6 +27,8 @@ 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" @@ -65,6 +44,10 @@ 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='' @@ -91,15 +74,21 @@ case "$1" in chmod -R 660 $config fi - - db_get dolibarr/reconfigure-webserver - - webservers="$RET" - + # 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 + # Set up web server. - for webserver in $webservers ; do - webserver=${webserver%,} - echo Complete config of server $webserver + for server in $webservers ; do + echo Complete config of server $server # Detect webuser and webgroup webuser= @@ -117,31 +106,26 @@ 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 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 + # Restart servers + servers="apache2-ssl apache2 mysql" + # Another way to restart + for server in $servers ; do + if [ -x /usr/sbin/invoke-rc.d ]; then + echo Restart web server $server using invoke-rc.d + # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...) + invoke-rc.d $server reload || true + else + echo Restart web server $server using $server reload + /etc/init.d/$server reload || true + fi done - echo ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." @@ -152,13 +136,13 @@ case "$1" in ;; *) - echo "postinst called with unknown argument $1" >&2 + echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac -#DEBHELPER# - db_stop +#DEBHELPER# + exit 0 diff --git a/build/deb/postrm b/build/deb/postrm index 27ce3777b7e..9eae81b022b 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -17,36 +17,7 @@ set -e # for details, see /usr/share/doc/packaging-manual/ - -lighttpd_remove() { - if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then - echo "Remove link for Lighttpd config file" - rm -f /etc/lighttpd/conf-available/50-dolibarr.conf - if which lighty-enable-mod >/dev/null 2>&1 ; then - lighty-disable-mod dolibarr - else - echo "Lighttpd not installed, skipping" - fi - # See bug #448682 - if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then - echo 'Manually deleting lighttpd/dolibarr configuration link' - rm /etc/lighttpd/conf-enabled/50-dolibarr.conf - fi - fi -} - -apache_remove() { - if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then - echo "Remove link for Apache config file" - rm -f /etc/$webserver/conf.d/dolibarr.conf - fi -} - - - -if [ -f /usr/share/debconf/confmodule ]; then - . /usr/share/debconf/confmodule -fi +. /usr/share/debconf/confmodule db_version 2.0 @@ -55,62 +26,63 @@ 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 - # 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 + # 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" + echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig" # 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 @@ -213,12 +185,41 @@ 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/reconfigure-webserver - db_reset dolibarr/postrm + db_reset "dolibarr/postrm" set -e #db_purge @@ -228,7 +229,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/rules b/build/deb/rules index b875626b494..9a3f9a98c7a 100644 --- a/build/deb/rules +++ b/build/deb/rules @@ -1,4 +1,10 @@ #!/usr/bin/make -f +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 +export DH_OPTIONS=-v + +#export DH_COMPAT=7 # This is the debhelper compatability version to use, now defined into compat file + %: - dh $@ \ No newline at end of file + dh $@ \ No newline at end of file diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index bc96628066f..d3c47e6b28d 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.113 2011/07/22 16:40:18 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.128 2011/07/31 22:08:13 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -11,7 +11,7 @@ use Cwd; $PROJECT="dolibarr"; $MAJOR="3"; $MINOR="1"; -$BUILD="0-dev"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate +$BUILD="0-beta"; # 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 @@ -34,7 +34,7 @@ $FILENAMESNAPSHOT="$PROJECT-snapshot"; $FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; $FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD"; $FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; -$FILENAMEDEB="$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${BUILD}"; $FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app"; $FILENAMEEXEDOLIWAMP="$PROJECT-$MAJOR.$MINOR.$BUILD"; if (-d "/usr/src/redhat") { @@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.113 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.128 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -248,16 +248,24 @@ 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`; @@ -266,25 +274,41 @@ 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`; @@ -392,14 +416,19 @@ if ($nboftargetok) { } if ($target eq 'RPM') { # Linux only - $ARCH='i386'; + #$ARCH='i386'; + $ARCH='noarch'; if ($RPMDIR eq "") { $RPMDIR=$ENV{'HOME'}."/rpmbuild"; } $newbuild = $BUILD; - $newbuild =~ s/(dev|alpha)/0/gi; # dev - $newbuild =~ s/beta/1/gi; # beta - $newbuild =~ s/rc./2/gi; # rc + # For fedora + $newbuild =~ s/(dev|alpha)/0.1.a/gi; # dev + $newbuild =~ s/beta/0.2.beta1/gi; # beta + $newbuild =~ s/rc./0.3.rc1/gi; # rc if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale - # now newbuild is 0-0 or 0-3 for example + #$newbuild =~ s/(dev|alpha)/0/gi; # dev + #$newbuild =~ s/beta/1/gi; # beta + #$newbuild =~ s/rc./2/gi; # rc + #if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale $REL1 = $newbuild; $REL1 =~ s/-.*$//gi; if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; } print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; @@ -417,7 +446,93 @@ 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`; @@ -445,6 +560,10 @@ 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; } @@ -457,9 +576,12 @@ if ($nboftargetok) { if ($newbuild !~ /-/) { $newbuild.='-4'; } # finale # now newbuild is 0-1 or 0-4 for example print "Version is $MAJOR.$MINOR.$newbuild\n"; - - print "Remove target $FILENAMEDEB.deb...\n"; - unlink("$DESTI/$FILENAMEDEB.deb"); + $build = $newbuild; + $build =~ s/-.*$//g; + # now build is 0 for example + + print "Remove target ${FILENAMEDEB}_all.deb...\n"; + unlink("$DESTI/${FILENAMEDEB}_all.deb"); #rmdir "$BUILDROOT/$PROJECT.tmp"; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; @@ -477,6 +599,9 @@ 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"; @@ -489,21 +614,49 @@ 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/postinst`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/copyright`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/dolibarr.desktop`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/dolibarr.menu`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/format`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/install`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/menu`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postrm`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/postinst`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/rules`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/README.debian`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/templates`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/templates.futur`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build/deb/wash`; + $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/dmg`; + $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/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`; @@ -524,6 +677,14 @@ 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"`; @@ -539,16 +700,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"`; - - 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`; - + # Set owners print "Set owners on files/dir\n"; $ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`; @@ -581,31 +733,43 @@ if ($nboftargetok) { $olddir=getcwd(); chdir("$BUILDROOT"); - # Creation of binary package - $cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}.deb"; - print "Launch DEB build ($cmd)\n"; - $ret=`$cmd`; - print $ret."\n"; + # 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 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"; - $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/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"`; + # 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"`; - $build = $newbuild; - $build =~ s/-.*$//g; $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $ret=`$cmd`; - $cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; - print "Launch DEB src build ($cmd)\n"; + 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"; $ret=`$cmd`; print $ret."\n"; @@ -613,13 +777,19 @@ if ($nboftargetok) { if ($OS =~ /windows/i) { - print "Move ${FILENAMEDEB}.deb to $DESTI/${FILENAMEDEB}.deb\n"; - $ret=`mv "$BUILDROOT/${FILENAMEDEB}.deb" "$DESTI/${FILENAMEDEB}.deb"`; + 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/"`; } else { - print "Move ${FILENAMEDEB}.deb to $DESTI/${FILENAMEDEB}.deb\n"; - $ret=`mv "$BUILDROOT/${FILENAMEDEB}.deb" "$DESTI/${FILENAMEDEB}.deb"`; + 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/"`; } next; } @@ -647,14 +817,21 @@ 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 f20bf91db72..99a1bb3552c 100644 --- a/build/rpm/README +++ b/build/rpm/README @@ -5,24 +5,17 @@ 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, OpenSuse, Mandriva, ...). +with format RPM (for Redhat, Mandriva, ...). -# This is standard command to work on RPM packaging: -# -# yum -y install rpmlint -# yum -y install hunspell-en hunspell-es hunspell-fr hunspell-it +# This is standard command to work on Debian packaging: # # 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 -# 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) +# yum erase dolibarr To remove package # # On OpenSuse # yast --install dolibarr-...rpm To install package and dependencies diff --git a/build/rpm/dolibarr.desktop b/build/rpm/dolibarr.desktop index 337b92d8049..4b4fb60dadb 100755 --- a/build/rpm/dolibarr.desktop +++ b/build/rpm/dolibarr.desktop @@ -4,14 +4,13 @@ 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 08fe933d774..708546cf263 100644 --- a/build/rpm/dolibarr.spec +++ b/build/rpm/dolibarr.spec @@ -5,11 +5,6 @@ # 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__ @@ -17,12 +12,9 @@ Name: %{name} Version: %{version} Release: %{release} -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 +Summary: Dolibarr -License: GPLv2+ +License: GPL Packager: Laurent Destailleur (Eldy) Vendor: Dolibarr dev team @@ -64,12 +56,13 @@ Dolibarr was designed to provide only features you need and be easy to use. %description -l es -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. +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. %description -l fr Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, @@ -78,12 +71,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 programmo gestionale per piccole e medie +Un programma gestionale open source e gratuito 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à. Progettato per poter fornire solo ciò di cui hai bisogno +attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. -Programmo web, progettato per poter fornire solo ciò di +Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. @@ -101,51 +94,49 @@ echo Building %{name}-%{version}-%{release} #---- install %install -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT -%{__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/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 # %{_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 +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/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 +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 #---- 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/dolibarr.png +%_datadir/pixmaps/* %_datadir/applications/%{name}.desktop /var/www/dolibarr/build/* /var/www/dolibarr/htdocs/* /var/www/dolibarr/scripts/* - -%defattr(0664, -, -, 0755) -%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr +/var/www/dolibarr/README +/var/www/dolibarr/COPYRIGHT +#%config /var/www/dolibarr/htdocs/conf/conf.php #---- post (after unzip during install) @@ -163,11 +154,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="%{_sysconfdir}/dolibarr/file_contexts.dolibarr" +export sefileorig="$targetdir/build/rpm/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" +#config="/usr/share/dolibarr/htdocs/conf/conf.php" +config="%{_sysconfdir}/dolibarr/conf.php" +lockfile="/usr/share/dolibarr/install.lock" # Detect OS @@ -201,8 +192,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='' @@ -214,12 +205,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 ] @@ -231,20 +222,19 @@ 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 +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 +if [ ! -f $seconfig ]; then + echo Create se config file $seconfig + cp $sefileorig $seconfig +# chmod a-x $apacheconfig +# chmod go-w $apacheconfig fi # Create a config link dolibarr.conf @@ -263,6 +253,18 @@ 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 @@ -272,12 +274,6 @@ 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 -----" @@ -305,9 +301,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" -#export config="/usr/share/dolibarr/htdocs/conf/conf.php" -export config="%{_sysconfdir}/dolibarr/conf.php" -export lockfile="$targetdir/install.lock" +#config="/usr/share/dolibarr/htdocs/conf/conf.php" +config="%{_sysconfdir}/dolibarr/conf.php" +lockfile="$targetdir/install.lock" # Detect OS @@ -342,7 +338,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 @@ -360,15 +356,18 @@ 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 193a43b7dbe..64376e5afb6 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 d7172d651f0..3cc548e1c0a 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.67 2011/08/01 13:26:21 hregis Exp $ + * \version $Id: modMyModule.class.php,v 1.66 2011/07/31 22:21:58 eldy 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/includes/triggers/ contains triggers or not + // Defined if the directory /mymodule/inc/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 34e7f48cea8..718c842d046 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.73 2011/08/01 13:26:22 hregis Exp $ + * \version $Id: boxes.php,v 1.72 2011/07/31 22:23:22 eldy Exp $ */ require("../main.inc.php"); @@ -278,7 +278,7 @@ if ($resql) { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; } else { @@ -394,7 +394,7 @@ if ($resql) { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; } else { @@ -470,5 +470,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/08/01 13:26:22 $ - $Revision: 1.73 $'); +llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.72 $'); ?> diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 671bd69a0e4..a907f47663a 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-2011 Regis Houssin + * Copyright (C) 2005-2010 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.157 2011/08/01 12:25:15 hregis Exp $ + * \version $Id: modules.php,v 1.156 2011/07/31 22:23:22 eldy Exp $ */ require("../main.inc.php"); @@ -79,35 +79,12 @@ $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 $type => $dirroot) +foreach ($conf->file->dol_document_root as $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/'; - } - } - } - } - } -} + $dir = $dirroot . "/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"); @@ -472,5 +449,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/08/01 12:25:15 $ - $Revision: 1.157 $'); +llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.156 $'); ?> diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index 6af9b54e7f0..bee00b52906 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.43 2011/08/01 12:53:37 hregis Exp $ + * \version $Id: perms.php,v 1.42 2011/07/31 22:23:26 eldy Exp $ */ require("../main.inc.php"); @@ -76,34 +76,10 @@ $db->begin(); // Charge les modules soumis a permissions $modules = array(); -$modulesdir = array(); - -foreach ($conf->file->dol_document_root as $type => $dirroot) +foreach ($conf->file->dol_document_root as $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); - } - } -} + $dir = $dirroot . "/includes/modules/"; -foreach ($modulesdir as $dir) -{ // Load modules attributes in arrays (name, numero, orders) from dir directory //print $dir."\n
"; $handle=@opendir($dir); @@ -218,5 +194,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/08/01 12:53:37 $ - $Revision: 1.43 $'); +llxFooter('$Date: 2011/07/31 22:23:26 $ - $Revision: 1.42 $'); ?> diff --git a/htdocs/boxes.php b/htdocs/boxes.php index d426e618377..2affdf654d3 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.55 2011/08/01 13:26:21 hregis Exp $ + * \version $Id: boxes.php,v 1.54 2011/07/31 23:19:04 eldy Exp $ */ @@ -220,7 +220,7 @@ class InfoBox { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = dol_buildpath("/".$module."/includes/boxes/".$boxname.".php"); + $sourcefile = dol_buildpath("/".$module."/inc/boxes/".$boxname.".php"); } else { @@ -281,7 +281,7 @@ class InfoBox { $boxname = $regs[1]; $module = $regs[2]; - $sourcefile = "/".$module."/includes/boxes/".$boxname.".php"; + $sourcefile = "/".$module."/inc/boxes/".$boxname.".php"; } else { diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index 8b82c9f8249..83dac68a99e 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -15,7 +15,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ include_once(DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'); @@ -62,13 +63,11 @@ $logout=''; print '