diff --git a/build/.cvsignore b/build/.cvsignore index 830b8b91924..53dd6ee2abd 100644 --- a/build/.cvsignore +++ b/build/.cvsignore @@ -14,3 +14,6 @@ version-phpsane.txt makepack-phpsane.conf html *.deb +*.dsc +*.tar.gz +*.changes diff --git a/build/deb/README b/build/deb/README index 72a5d50c821..d73d7a99219 100644 --- a/build/deb/README +++ b/build/deb/README @@ -7,19 +7,31 @@ This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed, with format .DEB (for Debian, Ubuntu, ...). +# To build a debian package, you need first +# apt-get -i debhelper +# apt-get -i dpkg-source +# apt-get -i gpg + # This is standard command to work on Debian packaging: # +# 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 -# dpkg -b To build package +# dpkg -b To build binary only package # dpkg -c package.deb List content of package # dpkg -I package.deb Give informations on package # dpkg -i package.deb Install a package -# +# dpkg-reconfigure -plow package Reconfigure package # dpkg -L packagename List content of installed package +# dpkg -r packagename Remove config files and interactive saved answers # dpkg --purge Remove config files and interactive saved answers +# +# dpkg-buildpackage -us -uc Build a source and binary package To submit a package to Debian: @@ -38,5 +50,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 +http://packages.qa.debian.org/package.html http://bugs.debian.org/package diff --git a/build/deb/changelog b/build/deb/changelog index 47667b3cfb5..3382966714b 100644 --- a/build/deb/changelog +++ b/build/deb/changelog @@ -4,6 +4,6 @@ dolibarr (3.1.0-1.1) unstable; urgency=low * New upstream release. closes: bug#634783 - -- Laurent Destailleur Mon, 18 Jul 2011 12:00:00 +0100 + -- Dolibarr team 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 627298d5b91..00000000000 --- a/build/deb/control.DEBIAN +++ /dev/null @@ -1,47 +0,0 @@ -Package: dolibarr -Version: __VERSION__ -Architecture: all -Maintainer: Laurent Destailleur -Installed-Size: 61200 -Depends: debconf, 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 -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 ae498d71ef7..e28258d8dbc 100755 --- a/build/deb/control.debian +++ b/build/deb/control.debian @@ -4,14 +4,19 @@ Standards-Version: 3.9.1 Section: web Priority: optional Homepage: http://www.dolibarr.org -Build-Depends: debhelper +Build-Depends: debhelper (>= 7), po-debconf Package: dolibarr -Depends: ${misc:Depends}, debconf, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl +Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5, + php5-mysql | php5-mysqli, + php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, + ${misc:Depends}, xdg-utils, + mysql-server, perl +Recommends: apache2 | lighttpd | httpd, mysql-client +Suggests: www-browser Architecture: all Section: web Priority: optional -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 @@ -25,28 +30,28 @@ Description: Easy to use web based ERP & CRM software 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 + 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/copyright b/build/deb/copyright index c69ae11a4a6..7a7e752fe43 100644 --- a/build/deb/copyright +++ b/build/deb/copyright @@ -44,7 +44,9 @@ Copyright: 2002-2009, Rodolphe Quiedeville On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. - + Full text of Lesser General Public Licence version 3 can be + found in the file + `/usr/share/common-licenses/LGPL-3'. Files: htdocs/includes/artichow/* License: Public Domain @@ -64,6 +66,9 @@ License: GPL-2+ Files: htdocs/includes/jquery/* License: GPL-2+ or MIT +Files: htdocs/includes/jquery/plugins/flot/* +License: Public Domain + Files: htdocs/includes/jsgantt/* License: GPL-2+ diff --git a/build/deb/dolibarr.desktop b/build/deb/dolibarr.desktop index a48e5048dff..f4b471edf13 100644 --- a/build/deb/dolibarr.desktop +++ b/build/deb/dolibarr.desktop @@ -3,10 +3,14 @@ # It must be saved into directory /usr/share/applications Version=1.0 Name=Dolibarr ERP & CRM +Name[es]=Dolibarr ERP & CRM Name[fr]=Dolibarr ERP & CRM +Name[it]=Dolibarr ERP & CRM GenericName=Dolibarr ERP & CRM Comment=The easy to use manager (ERP & CRM) for small and medium enterprises or foundations +Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones Comment[fr]=L'ERP & CRM simple pour la gestion des PME et associations +Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti # Command to open an URL # For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser diff --git a/build/deb/postinst b/build/deb/postinst index ca5fd1645dd..e0bba1be4da 100644 --- a/build/deb/postinst +++ b/build/deb/postinst @@ -1,7 +1,5 @@ #!/bin/sh # postinst script for dolibarr -# -# see: dh_installdeb(1) set -e @@ -16,6 +14,31 @@ set -e # for details, see /usr/share/doc/packaging-manual/ + + +lighttpd_install() { + if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then + if which lighty-enable-mod >/dev/null 2>&1 ; then + echo "Add link for Lighttpd config file" + ln -fs /etc/dolibarr/lighttpd.conf /etc/lighttpd/conf-available/50-dolibarr.conf + # We enabled it + lighty-enable-mod dolibarr fastcgi-php + else + echo "Lighttpd not installed, skipping" + fi + fi +} + +apache_install() { + webserver=$1 + if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then + echo "Add link for Apache config file" + ln -fs /etc/dolibarr/apache.conf /etc/$webserver/conf.d/dolibarr.conf + fi +} + + + . /usr/share/debconf/confmodule db_version 2.0 @@ -27,8 +50,6 @@ echo Run the dolibarr postinst script # Define vars docdir='/var/lib/dolibarr/documents' #docdir='/usr/share/dolibarr/documents' -apachefileorig="/usr/share/dolibarr/build/deb/apache.conf" -apacheconfig="/etc/dolibarr/apache.conf" installfileorig="/usr/share/dolibarr/build/deb/install.forced.php.install" installconfig="/etc/dolibarr/install.forced.php" #config="/usr/share/dolibarr/htdocs/conf/conf.php" @@ -44,10 +65,6 @@ case "$1" in chmod -R 775 $docdir chmod -R g+s $docdir - # Copy apache.conf file into target directory - #mkdir -p /etc/dolibarr - #cp -p $apachefileorig $apacheconfig - # Copy install config file (with matching Debian) values into target directory superuserlogin='' superuserpassword='' @@ -74,21 +91,15 @@ case "$1" in chmod -R 660 $config fi - # Get the web server type (use db_get for interactive mode). - #db_reset "dolibarr/webserver" - #db_get "dolibarr/webserver" # Read value for webserver. - #webserver="$RET" - - case $webserver in - Apache) webservers="apache2" ;; - Apache-SSL) webservers="apache2-ssl" ;; - Both) webservers="apache2 apache2-ssl" ;; - *) webservers="apache2 apache2-ssl" ;; - esac - + + db_get dolibarr/reconfigure-webserver + + webservers="$RET" + # Set up web server. - for server in $webservers ; do - echo Complete config of server $server + for webserver in $webservers ; do + webserver=${webserver%,} + echo Complete config of server $webserver # Detect webuser and webgroup webuser= @@ -106,26 +117,31 @@ case "$1" in # Set permissions to web server chown -R $webuser:$webgroup /usr/share/dolibarr chown -R root:$webgroup $config - - # Add link to config file - echo Setup web server $server to add dolibarr config file - ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf - done - # Restart servers - servers="apache2-ssl apache2 mysql" - # Another way to restart - for server in $servers ; do - if [ -x /usr/sbin/invoke-rc.d ]; then - echo Restart web server $server using invoke-rc.d - # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...) - invoke-rc.d $server reload || true - else - echo Restart web server $server using $server reload - /etc/init.d/$server reload || true - fi + # Restart web server. + for webserver in $webservers; do + webserver=${webserver%,} + if [ "$webserver" = "lighttpd" ] ; then + lighttpd_install + else + apache_install $webserver + fi + # Reload webserver in any case, configuration might have changed + # Redirection of 3 is needed because Debconf uses it and it might + # be inherited by webserver. See bug #446324. + if [ -f /etc/init.d/$webserver ] ; then + if [ -x /usr/sbin/invoke-rc.d ]; then + echo Restart web server $server using invoke-rc.d + # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...) + invoke-rc.d $webserver reload 3>/dev/null || true + else + echo Restart web server $server using $server reload + /etc/init.d/$webserver reload 3>/dev/null || true + fi + fi done + echo ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." @@ -136,13 +152,13 @@ case "$1" in ;; *) - echo "postinst called with unknown argument \`$1'" >&2 + echo "postinst called with unknown argument $1" >&2 exit 0 ;; esac -db_stop - #DEBHELPER# +db_stop + exit 0 diff --git a/build/deb/postrm b/build/deb/postrm index 9eae81b022b..27ce3777b7e 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -17,7 +17,36 @@ set -e # for details, see /usr/share/doc/packaging-manual/ -. /usr/share/debconf/confmodule + +lighttpd_remove() { + if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then + echo "Remove link for Lighttpd config file" + rm -f /etc/lighttpd/conf-available/50-dolibarr.conf + if which lighty-enable-mod >/dev/null 2>&1 ; then + lighty-disable-mod dolibarr + else + echo "Lighttpd not installed, skipping" + fi + # See bug #448682 + if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then + echo 'Manually deleting lighttpd/dolibarr configuration link' + rm /etc/lighttpd/conf-enabled/50-dolibarr.conf + fi + fi +} + +apache_remove() { + if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then + echo "Remove link for Apache config file" + rm -f /etc/$webserver/conf.d/dolibarr.conf + fi +} + + + +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi db_version 2.0 @@ -26,63 +55,62 @@ echo Run the dolibarr postrm script docdir='/var/lib/dolibarr/documents' #docdir='/usr/share/dolibarr/documents' -apachefileorig="/usr/share/dolibarr/build/deb/apache.conf" -apacheconfig="/etc/dolibarr/apache.conf" #config="/usr/share/dolibarr/htdocs/conf/conf.php" config="/etc/dolibarr/conf.php" lockfile="/usr/share/dolibarr/install.lock" -export webserver="" -# Allows us to loop and substitute in one pass -case $webserver in - Apache) webservers="apache2" ;; - Apache-SSL) webservers="apache2-ssl" ;; - Both) webservers="apache2 apache2-ssl" ;; - *) webservers="apache2 apache2-ssl" ;; -esac - case "$1" in # Call when we upgrade upgrade) + echo "postrm upgrade" ;; # Call when we uninstall remove) + echo "postrm remove" rm -f $lockfile - # Remove include files - export restart="" - for server in $webservers ; do - export conffile="/etc/$server/conf.d/dolibarr.conf" - if [ -f $conffile ] ; - then - echo Delete link $conffile - rm -f $conffile - status=purge - fi - - if [ "x$status" = "xpurge" ] ; - then restart="$restart $server" + # Reconfigure web server + db_get dolibarr/reconfigure-webserver + + webservers="$RET" + + # Restart web servers + for webserver in $webservers; do + webserver=${webserver%,} + if [ "$webserver" = "lighttpd" ] ; then + lighttpd_remove + else + apache_remove $webserver + fi + # Redirection of 3 is needed because Debconf uses it and it might + # be inherited by webserver. See bug #446324. + if [ -f /etc/init.d/$webserver ] ; then + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d $webserver reload 3>/dev/null || true + else + /etc/init.d/$webserver reload 3>/dev/null || true + fi fi done ;; # Call when we uninstall and purge purge) - echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig" + echo "postrm purge" # Ask if we must delete database echo "postrm db_input dolibarr/postrm" - db_input critical "dolibarr/postrm" || true + db_input critical dolibarr/postrm || true db_go || true echo "postrm db_get dolibarr/postrm" # We disable set -e to avoid premature end of script if error set +e - db_get "dolibarr/postrm" + db_get dolibarr/postrm set -e if [ "$RET" = "true" ] ; then @@ -185,41 +213,12 @@ case "$1" in echo "postrm Delete of dolibarr database and uploaded files not wanted" fi - # Remove include files - export restart="" - for server in $webservers ; do - export conffile="/etc/$server/conf.d/dolibarr.conf" - if [ -f $conffile ] ; - then - echo Delete file $conffile - rm -f $conffile - status=purge - fi - - if [ "x$status" = "xpurge" ] ; - then restart="$restart $server" - fi - done - rm -rf /etc/dolibarr - # Restart servers - for server in $restart ; do - # We disable blocking errors - set +e - echo "Restart server $server if exists" - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $server reload || true - else - /etc/init.d/$server reload || true - fi - # We restore blocking errors - set -e - done - # We clean variable (we ignore errors because db_reset can fails if var was never set) set +e - db_reset "dolibarr/postrm" + db_reset dolibarr/reconfigure-webserver + db_reset dolibarr/postrm set -e #db_purge @@ -229,7 +228,7 @@ case "$1" in ;; *) - echo "postrm called with unknown argument \`$1'" >&2 + echo "postrm called with unknown argument $1" >&2 exit 0 ;; esac diff --git a/build/deb/rules b/build/deb/rules index b353c0fff53..9a3f9a98c7a 100644 --- a/build/deb/rules +++ b/build/deb/rules @@ -1,8 +1,10 @@ #!/usr/bin/make -f -# This is the debhelper compatability version to use. -#export DH_COMPAT=7 # Now defined into compat file +# 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/deb/templates b/build/deb/templates index 1903003a9f4..b96325a4e64 100644 --- a/build/deb/templates +++ b/build/deb/templates @@ -1,7 +1,14 @@ +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 ? - Answer if you want to removed the Dolibarr MySQL database and all - its datas (datas related to this quetion are the Dolibarr DBMS account - and all Dolibarr tables). +_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 825da0e5258..af7d522b167 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.116 2011/07/26 22:53:13 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.131 2011/08/03 01:43:26 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.116 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.131 $'; $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,34 +274,55 @@ 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/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.js`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.min.js`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jcrop/js/jquery.min.js`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/.svn`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/php_writeexcel/php.bmp`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/freetype6.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/zlib1.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/pfm2afm`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/ttf2ufm`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/smarty`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-20100919`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; - #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/pfm2afm`; - #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/ttf2ufm`; } # Build package for each target @@ -392,14 +421,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"; @@ -411,13 +445,102 @@ if ($nboftargetok) { #rmdir "$BUILDROOT/$FILENAMETGZ2"; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2\""; + print "Create directory $BUILDROOT/$FILENAMETGZ2/var/www\n"; + $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/var/www"`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\""; $ret=`$cmd`; print "Remove other files\n"; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/README-FR`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/README-FR`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/aps`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/deb`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/dmg`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/pad/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/tgz/README`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/deb/README`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/doap`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/live`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/patch`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/zip`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build/perl`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/dbmodel`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/fpdf`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/initdata`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/iso-normes`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/phpcheckstyle`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/phpunit`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/flyer`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/font`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/tshirt`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/doc/rollup`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/test`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/cashdesk/include/jscalendar/doc/html/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/cashdesk/include/jscalendar/skins/aqua/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/ckeditor/plugins/*/dialogs/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/ckeditor/plugins/*/images/CVS`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/fpdf/fpdf`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/nusoap/lib/Mail`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/odtphp/zip/.svn`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/smarty`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/COPYING`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode`; + # To remove once stable + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/htdocs/theme/bureau2crea`; + + # Apache conf files + print "Copy apache.conf file into $BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/httpd-dolibarr.conf\n"; + $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT"`; + $ret=`cp "$SOURCE/build/rpm/httpd-dolibarr.conf" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf"`; + $ret=`cp "$SOURCE/build/rpm/file_contexts.dolibarr" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/file_contexts.dolibarr"`; + + # Dolibarr conf files + # TODO + + # dolibarr.desktop + #print "Create directory $BUILDROOT/$FILENAMETGZ2/usr/share/applications\n"; + #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/usr/share/applications"`; + #print "Copy desktop file into $BUILDROOT/$FILENAMETGZ2/usr/share/applications/dolibarr.desktop\n"; + #$ret=`cp "$SOURCE/build/rpm/dolibarr.desktop" "$BUILDROOT/$FILENAMETGZ2/usr/share/applications/dolibarr.desktop"`; + + # pixmap + #print "Create directory $BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps\n"; + #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps"`; + #print "Copy pixmap file into $BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps/dolibarr.xpm\n"; + #$ret=`cp "$SOURCE/doc/images/dolibarr.xpm" "$BUILDROOT/$FILENAMETGZ2/usr/share/pixmaps/dolibarr.xpm"`; + + # Set owners + print "Set owners on files/dir\n"; + $ret=`chown -R root.root $BUILDROOT/$FILENAMETGZ2`; + + print "Set permissions on files/dir\n"; + $ret=`chmod -R 755 $BUILDROOT/$FILENAMETGZ2`; + $cmd="find $BUILDROOT/$FILENAMETGZ2 -type f -exec chmod 644 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build -name '*.pl' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/translation/langAutoParser.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/skeleton_page.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/modMyModule.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/dev/skeletons/skeleton_class.class.php`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/scripts -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/geoip -name 'sample*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + + # Build tgz print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; @@ -445,11 +568,17 @@ if ($nboftargetok) { print "Move $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm into $DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\n"; $cmd="mv \"$RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\" \"$DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".".$ARCH.".rpm\""; $ret=`$cmd`; + print "Move $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm into $DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\n"; + $cmd="mv \"$RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\" \"$DESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm\""; + $ret=`$cmd`; + next; } - + if ($target eq 'DEB') { + $olddir=getcwd(); + $newbuild = $BUILD; $newbuild =~ s/(dev|alpha)/1/gi; # dev $newbuild =~ s/beta/2/gi; # beta @@ -457,9 +586,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,8 +609,11 @@ 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 (SPECFROM,"<$SOURCE/build/deb/control.debianbin") || die "Error"; open (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error"; while () { $_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/; @@ -489,22 +624,50 @@ 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 -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/*/README`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/flyer`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/font`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/tshirt`; @@ -519,12 +682,23 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/smarty`; - + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/license.txt`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/jquery/plugins/flot/LICENSE.txt`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/php_writeexcel/LICENSE`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYING`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode`; # To remove once stable $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`; + # Apache and lighttpd conf files + print "Copy apache.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; + $ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf"`; + print "Copy lighttpd.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; + $ret=`cp "$SOURCE/build/deb/lighttpd.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf"`; + # dolibarr.desktop print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/applications"`; @@ -540,16 +714,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`; @@ -578,38 +743,49 @@ if ($nboftargetok) { $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; "; $ret=`$cmd`; - print "Go to directory $BUILDROOT\n"; - $olddir=getcwd(); - chdir("$BUILDROOT"); - - # Creation of binary package - $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 (to build without sources) + #print "Go to directory $BUILDROOT\n"; + #chdir("$BUILDROOT"); + #$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb"; + #print "Launch DEB build ($cmd)\n"; + #$ret=`$cmd`; + #print $ret."\n"; - # Creation of source package + # Prepare source package print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian/source"`; $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/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"`; + # Add files for dpkg-source + $ret=`cp -f "$SOURCE/ChangeLog" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/UserChangeLog"`; + $ret=`cp -f "$SOURCE/build/deb/README.debian" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/README"`; + $ret=`cp -f "$SOURCE/build/deb/changelog" "$BUILDROOT/$PROJECT.tmp/debian/changelog"`; + $ret=`cp -f "$SOURCE/build/deb/control.debian" "$BUILDROOT/$PROJECT.tmp/debian/control"`; + $ret=`cp -f "$SOURCE/build/deb/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian/dolibarr.lintian-overrides"`; + $ret=`cp -f "$SOURCE/build/deb/install" "$BUILDROOT/$PROJECT.tmp/debian/install"`; + $ret=`cp -f "$SOURCE/build/deb/rules" "$BUILDROOT/$PROJECT.tmp/debian/rules"`; + $ret=`cp -f "$SOURCE/build/deb/copyright" "$BUILDROOT/$PROJECT.tmp/debian/copyright"`; + $ret=`cp -f "$SOURCE/build/deb/compat" "$BUILDROOT/$PROJECT.tmp/debian/compat"`; + $ret=`cp -f "$SOURCE/build/deb/format" "$BUILDROOT/$PROJECT.tmp/debian/source/format"`; + $ret=`cp -fr "$SOURCE/build/deb/po" "$BUILDROOT/$PROJECT.tmp/debian/po"`; + $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/debian/po/CVS"`; + # 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"; + + # Creation of source package + print "Go to directory $BUILDROOT\n"; + chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); + #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; + $cmd="dpkg-buildpackage -us -uc"; + print "Launch DEB build ($cmd)\n"; $ret=`$cmd`; print $ret."\n"; @@ -617,13 +793,19 @@ if ($nboftargetok) { if ($OS =~ /windows/i) { - print "Move ${FILENAMEDEB}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; - $ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.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}_all.deb to $DESTI/${FILENAMEDEB}_all.deb\n"; - $ret=`mv "$BUILDROOT/${FILENAMEDEB}_all.deb" "$DESTI/${FILENAMEDEB}_all.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; } @@ -651,14 +833,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 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 33fadf7624f..337b92d8049 100755 --- a/build/rpm/dolibarr.desktop +++ b/build/rpm/dolibarr.desktop @@ -4,13 +4,14 @@ Version=1.0 Encoding=UTF-8 Name=Dolibarr ERP & CRM +Name[es]=Dolibarr ERP & CRM Name[fr]=Dolibarr ERP & CRM Name[it]=Dolibarr ERP & CRM GenericName=Dolibarr ERP & CRM Comment=The easy to use manager (ERP & CRM) for small and medium enterprises or foundations +Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones Comment[fr]=L'ERP & CRM simple pour la gestion des TPE, PME, associations et auto-entrepreneurs Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti -Comment[es]=Software para gestión de PYMES, profesionales independientes, auto emprendedores ó asociaciones # Command to open an URL # For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser @@ -19,7 +20,7 @@ Exec=xdg-open http://localhost/dolibarr Icon=dolibarr Terminal=false Type=Application -Categories=Office +Categories=Office; StartupNotify=true InitialPreference=5 #NoDisplay=true diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr.spec index 708546cf263..e6996caa4b3 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,36 +214,39 @@ 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 ] then echo Create empty file $config touch $config - chown -R root:$apachegroup $config - chmod -R 660 $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config 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 + semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" + semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr(/.*?)" + semanage fcontext -a -t httpd_sys_script_rw_t "/var/www/dolibarr/install.lock" + restorecon -R -v /etc/dolibarr + restorecon -R -v /usr/share/dolibarr + restorecon -v /var/www/dolibarr/install.lock fi # Create a config link dolibarr.conf @@ -245,25 +257,13 @@ fi # Set permissions echo Set permission to $apacheuser:$apachegroup on $targetdir -chown -R $apacheuser:$apachegroup $targetdir -chmod -R a-w $targetdir -chmod u+w $targetdir +%{__chown} -R $apacheuser:$apachegroup $targetdir +%{__chmod} -R a-w $targetdir +%{__chmod} u+w $targetdir 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 +%{__chown} -R $apacheuser:$apachegroup $docdir +%{__chmod} -R o-w $docdir # Restart web server echo Restart web server @@ -274,6 +274,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 +307,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 +344,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 +362,15 @@ then fi # Removed dirs after apache restart -echo Removed remaining $apacheconfig -rm -f $apacheconfig echo Removed remaining $config -rm -f $config +%{__rm} -f $config echo Removed remaining $installconfig -rm -f $installconfig +%{__rm} -f $installconfig echo Removed remaining $lockfile -rm -f $lockfile +%{__rm} -f $lockfile echo Removed remaining dir $targetdir/doc rmdir $targetdir/doc >/dev/null 2>&1 -#echo Removed remaining dir $targetdir/htdocs -#rmdir $targetdir/htdocs >/dev/null 2>&1 # Already removed by rpm + %changelog * Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 diff --git a/build/rpm/file_contexts.dolibarr b/build/rpm/file_contexts.dolibarr index 64376e5afb6..193a43b7dbe 100755 --- a/build/rpm/file_contexts.dolibarr +++ b/build/rpm/file_contexts.dolibarr @@ -1,3 +1,3 @@ -/etc/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 -/var/www/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 -/usr/share/dolibarr/.* system_u:object_r:httpd_sys_script_rw_t:s0 \ No newline at end of file +/etc/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 +/var/www/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 +/usr/share/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 \ No newline at end of file diff --git a/htdocs/admin/proxy.php b/htdocs/admin/proxy.php index f02e3d6203a..2c284c5cae8 100755 --- a/htdocs/admin/proxy.php +++ b/htdocs/admin/proxy.php @@ -12,15 +12,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ /** * \file htdocs/admin/proxy.php * \ingroup core * \brief Page setup proxy to use for external web access - * \version $Id: proxy.php,v 1.6 2011/07/29 21:04:27 eldy Exp $ + * \version $Id: proxy.php,v 1.7 2011/07/31 22:23:24 eldy Exp $ */ require("../main.inc.php"); @@ -206,5 +205,5 @@ dol_htmloutput_mesg($mesg); $db->close(); -llxFooter('$Date: 2011/07/29 21:04:27 $ - $Revision: 1.6 $'); +llxFooter('$Date: 2011/07/31 22:23:24 $ - $Revision: 1.7 $'); ?> diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index c0aaaa86213..c1d629f7b7b 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -13,15 +13,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ /** * \file htdocs/admin/security_other.php * \ingroup core * \brief Security options setup - * \version $Id: security_other.php,v 1.40 2011/07/29 21:04:27 eldy Exp $ + * \version $Id: security_other.php,v 1.41 2011/07/31 22:23:22 eldy Exp $ */ require("../main.inc.php"); @@ -348,5 +347,5 @@ $formfile->form_attach_new_file(DOL_URL_ROOT.'/admin/security_other.php',$langs- $db->close(); -llxFooter('$Date: 2011/07/29 21:04:27 $ - $Revision: 1.40 $'); +llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.41 $'); ?> diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index a07b28bd2cf..f478b65e3a8 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -14,14 +14,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ /** * \file htdocs/admin/system/constall.php * \brief Page to show all Dolibarr setup (config file and database constants) - * \version $Id: constall.php,v 1.23 2011/07/30 10:23:26 eldy Exp $ + * \version $Id: constall.php,v 1.24 2011/07/31 22:23:14 eldy Exp $ */ require("../../main.inc.php"); diff --git a/htdocs/cashdesk/css/style.css b/htdocs/cashdesk/css/style.css index c79d46fbeb5..698cceb4966 100644 --- a/htdocs/cashdesk/css/style.css +++ b/htdocs/cashdesk/css/style.css @@ -11,11 +11,10 @@ * 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 . */ -/* \version $Id$ */ +/* \version $Id: style.css,v 1.4 2011/08/03 01:35:18 eldy Exp $ */ body { background: #eee; diff --git a/htdocs/cashdesk/javascript/dhtml.js b/htdocs/cashdesk/javascript/dhtml.js index f91946e11c0..2d89cfd2388 100644 --- a/htdocs/cashdesk/javascript/dhtml.js +++ b/htdocs/cashdesk/javascript/dhtml.js @@ -12,8 +12,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ // Instanciation et initialisation de l'objet xmlhttprequest 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 '