diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index d3c47e6b28d..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.128 2011/07/31 22:08: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 #---------------------------------------------------------------------------- @@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.128 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.131 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -306,18 +306,23 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`; $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/*/*/*/*/*/CVS*`; $ret=`rm -fr $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.js`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.min.js`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jcrop/js/jquery.min.js`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/.svn`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/php_writeexcel/php.bmp`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/smarty`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/freetype6.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/zlib1.dll`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/pfm2afm`; #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/ttf2ufm`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/smarty`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-20100919`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; - #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/pfm2afm`; - #$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/ttf2ufm`; } # Build package for each target @@ -440,57 +445,60 @@ if ($nboftargetok) { #rmdir "$BUILDROOT/$FILENAMETGZ2"; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2\""; + print "Create directory $BUILDROOT/$FILENAMETGZ2/var/www\n"; + $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/var/www"`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT\""; $ret=`$cmd`; print "Remove other files\n"; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; - $ret=`rm -fr $BUILDROOT/$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/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/$PROJECT/COPYING`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + $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/$PROJECT/htdocs/htdocs/theme/bureau2crea`; + $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/apache.conf\n"; - #$ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT"`; - #$ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf"`; + 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 @@ -515,21 +523,21 @@ if ($nboftargetok) { $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 {} \\; "; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build -name '*.php' -type f -exec chmod 755 {} \\; "; $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/build -name '*.pl' -type f -exec chmod 755 {} \\; "; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/build -name '*.pl' -type f -exec chmod 755 {} \\; "; $ret=`$cmd`; - $cmd="find $BUILDROOT/$FILENAMETGZ2/dev -name '*.php' -type f -exec chmod 755 {} \\; "; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/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=`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/htdocs/includes/geoip -name 'sample*.php' -type f -exec chmod 755 {} \\; "; + $cmd="find $BUILDROOT/$FILENAMETGZ2/var/www/$PROJECT/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 {} \\; "; + $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 @@ -566,9 +574,11 @@ if ($nboftargetok) { next; } - + if ($target eq 'DEB') { + $olddir=getcwd(); + $newbuild = $BUILD; $newbuild =~ s/(dev|alpha)/1/gi; # dev $newbuild =~ s/beta/2/gi; # beta @@ -603,7 +613,7 @@ if ($nboftargetok) { $ret=`rm -fr "$BUILDROOT/$PROJECT.tmp/DEBIAN/po/CVS*"`; print "Edit version in file $BUILDROOT/$PROJECT.tmp/DEBIAN/control\n"; - open (SPECFROM,"<$SOURCE/build/deb/control.DEBIAN") || die "Error"; + open (SPECFROM,"<$SOURCE/build/deb/control.debianbin") || die "Error"; open (SPECTO,">$BUILDROOT/$PROJECT.tmp/DEBIAN/control") || die "Error"; while () { $_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/; @@ -657,6 +667,7 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/iso-normes`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/phpcheckstyle`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev/phpunit`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/*/README`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/flyer`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/font`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/doc/tshirt`; @@ -671,19 +682,22 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/smarty`; - + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/license.txt`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/jquery/plugins/flot/LICENSE.txt`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/php_writeexcel/LICENSE`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYING`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`; + $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 conf files + # Apache and lighttpd conf files print "Copy apache.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; $ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf"`; - - # Dolibarr conf files - # TODO + print "Copy lighttpd.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`; + $ret=`cp "$SOURCE/build/deb/lighttpd.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf"`; # dolibarr.desktop print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n"; @@ -729,17 +743,15 @@ if ($nboftargetok) { $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; "; $ret=`$cmd`; - print "Go to directory $BUILDROOT\n"; - $olddir=getcwd(); - chdir("$BUILDROOT"); - - # Creation of binary package (to build without sources) + # Creation of binary package (to build without sources) + #print "Go to directory $BUILDROOT\n"; + #chdir("$BUILDROOT"); #$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb"; #print "Launch DEB build ($cmd)\n"; #$ret=`$cmd`; #print $ret."\n"; - # Creation of source package + # Prepare source package print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian/source"`; @@ -751,6 +763,7 @@ if ($nboftargetok) { $ret=`cp -f "$SOURCE/build/deb/README.debian" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/README"`; $ret=`cp -f "$SOURCE/build/deb/changelog" "$BUILDROOT/$PROJECT.tmp/debian/changelog"`; $ret=`cp -f "$SOURCE/build/deb/control.debian" "$BUILDROOT/$PROJECT.tmp/debian/control"`; + $ret=`cp -f "$SOURCE/build/deb/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian/dolibarr.lintian-overrides"`; $ret=`cp -f "$SOURCE/build/deb/install" "$BUILDROOT/$PROJECT.tmp/debian/install"`; $ret=`cp -f "$SOURCE/build/deb/rules" "$BUILDROOT/$PROJECT.tmp/debian/rules"`; $ret=`cp -f "$SOURCE/build/deb/copyright" "$BUILDROOT/$PROJECT.tmp/debian/copyright"`; @@ -766,6 +779,9 @@ if ($nboftargetok) { $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $ret=`$cmd`; + + # Creation of source package + print "Go to directory $BUILDROOT\n"; chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; $cmd="dpkg-buildpackage -us -uc"; diff --git a/build/rpm/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