diff --git a/build/deb/README b/build/deb/README index 76be8f1596c..edb46ffd5a3 100644 --- a/build/deb/README +++ b/build/deb/README @@ -49,5 +49,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/postrm b/build/deb/postrm index 95f27de27dd..9eae81b022b 100644 --- a/build/deb/postrm +++ b/build/deb/postrm @@ -30,6 +30,7 @@ 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="" @@ -43,6 +44,32 @@ esac case "$1" in + + # Call when we upgrade + upgrade) + ;; + + # Call when we uninstall + remove) + rm -f $lockfile + + # Remove include files + export restart="" + for server in $webservers ; do + export conffile="/etc/$server/conf.d/dolibarr.conf" + if [ -f $conffile ] ; + then + echo Delete link $conffile + rm -f $conffile + status=purge + fi + + if [ "x$status" = "xpurge" ] ; + then restart="$restart $server" + fi + done + ;; + # Call when we uninstall and purge purge) echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig" @@ -198,30 +225,6 @@ case "$1" in #db_purge ;; - # Call when we uninstall - remove) - rm -f /usr/share/dolibarr/install.lock - - # Remove include files - export restart="" - for server in $webservers ; do - export conffile="/etc/$server/conf.d/dolibarr.conf" - if [ -f $conffile ] ; - then - echo Delete link $conffile - rm -f $conffile - status=purge - fi - - if [ "x$status" = "xpurge" ] ; - then restart="$restart $server" - fi - done - ;; - - upgrade) - ;; - failed-upgrade|abort-install|abort-upgrade|disappear) ;; diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index a791fd3f828..32db31561bc 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.123 2011/07/30 14:56:12 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.125 2011/07/31 15:31:32 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.123 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.125 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -274,6 +274,10 @@ if ($nboftargetok) { $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`; @@ -696,12 +700,12 @@ if ($nboftargetok) { if ($OS =~ /windows/i) { print "Move *_all.deb to $DESTI\n"; - $ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`; + $ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`; } else { print "Move *_all.deb to $DESTI\n"; - $ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`; + $ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`; } next; } diff --git a/build/rpm/README b/build/rpm/README index f20bf91db72..f65f12cbb35 100644 --- a/build/rpm/README +++ b/build/rpm/README @@ -5,24 +5,15 @@ RPM Package tools This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed, -with format RPM (for Redhat, OpenSuse, Mandriva, ...). +with format RPM (for Redhat, Mandriva, ...). -# This is standard command to work on RPM packaging: -# -# yum -y install rpmlint -# yum -y install hunspell-en hunspell-es hunspell-fr hunspell-it -# -# rpmlint file.rpm Test a package -# mock -r fedora-15-i386 --rebuild ../SRPMS/hello-2.7-1.fc15.src.rpm +# This is standard command to work on Debian packaging: # # On Fedora # rpm -i --test dolibarr-...rpm To list dependencies of RPM # yum install dolibarr-...rpm To install package and dependencies -# yum erase dolibarr To remove package -# chcon -R -h -t httpd_sys_script_rw_t /file To add temporary context rw for httpd on /file -# semanage fcontext -a -t httpd_sys_script_rw_t "/dir/(.*)?" To add persistent context rw for httpd on /dir (this add file_contexts.local) -# restorecon -R -v /file Restore values into files (cancel chcon, validate semanage) +# yum erase dolibarr To remove package # # On OpenSuse # yast --install dolibarr-...rpm To install package and dependencies @@ -36,22 +27,18 @@ with format RPM (for Redhat, OpenSuse, Mandriva, ...). To submit a package to Fedora: -- Create account on bugzilla.redhat.com -- Create account on fedoraproject.org -- Create SRPMS package. -- Upload package onf http://fedorapeople.org + - Create a bug with form https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review This is example of content of review field (used for Bug 723326): -SRPMS URL: http://www.dolibarr.org/files/fedora/dolibarr-x.y.z-xxx.src.rpm +Spec URL: http://www.dolibarr.org/files/fedora/dolibarr.spec +SRPM URL: http://www.dolibarr.org/files/fedora/dolibarr-3.1.0-0.src.rpm Description: 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. I am author of other already packaged OpenSources packages (awstats) but this is my first package to maintain myself. So i'm seeking a sponsor. + - Edit field "Block" and add FE-NEEDSPONSOR -- Check bug is into database by searching with id on https://bugzilla.redhat.com/ -- Install fedora packager tools: yum install fedora-packager -- Setup fedora packagers tools: fedora-packager-setup -- Send your package: koji build --scratch f16 path_to_source_RPM -- Check if package is available: http://koji.fedoraproject.org/koji/ \ No newline at end of file + +- Check bug is into database by searching with id on https://bugzilla.redhat.com/ \ No newline at end of file diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr.spec index 08fe933d774..090b8e3547d 100644 --- a/build/rpm/dolibarr.spec +++ b/build/rpm/dolibarr.spec @@ -5,11 +5,6 @@ # file to build a package for your own distributions and # edit it if you need to match your rules. # -------------------------------------------------------- - -#%define is_mandrake %(test -e /etc/mandrake-release && echo 1 || echo 0) -#%define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0) -#%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0) - %define name dolibarr %define version __VERSION__ %define release __RELEASE__ @@ -17,18 +12,15 @@ Name: %{name} Version: %{version} Release: %{release} -Summary: ERP and CRM software for small and medium companies or foundations -Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos -Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations -Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti +Summary: Dolibarr -License: GPLv2+ +License: GPL Packager: Laurent Destailleur (Eldy) Vendor: Dolibarr dev team URL: http://www.%{name}.org Source: /usr/src/RPM/SOURCES/%{name}-%{version}.tgz -BuildArch: noarch +#BuildArch: noarch #BuildArchitectures: noarch BuildRoot: /tmp/%{name}-buildroot #Icon: dolibarr_logo1.gif @@ -56,7 +48,7 @@ AutoReqProv: no %description -An easy to use CRM & ERP open source/free software for small +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. @@ -64,26 +56,27 @@ Dolibarr was designed to provide only features you need and be easy to use. %description -l es -Un software ERP y CRM para pequeñas y medianas empresas, asociaciones -o autónomos. Incluye diferentes funcionalidades para la Planificación -de Recursos Empresariales (ERP) y Gestión de la Relación con los -Clientes (CRM) así como para para otras diferentes actividades. -Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades -que necesita y haciendo hincapié en su facilidad de uso. +Dolibarr ERP y CRM es un software open source/gratis para pequeñas y +medianas empresas, asociaciones o autónomos. Incluye diferentes +funcionalidades para la Planificación de Recursos Empresariales (ERP) y +Gestión de la Relación con los Clientes (CRM) así como para para otras +diferentes actividades. Dolibarr ha sido diseñado para suministrarle +solamente las funcionalidades que necesita y haciendo hincapié en su +facilidad de uso. %description -l fr -Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, +Dolibarr ERP & CRM est un logiciel de gestion de PME/PMI, autoentrepreneurs, artisans ou associations. Il permet de gérer vos clients, prospect, fournisseurs, devis, factures, comptes bancaires, agenda, campagne emailings et bien d'autres choses dans une interface pensée pour la simplicité. %description -l it -Un programmo gestionale per piccole e medie +Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori -attività. Progettato per poter fornire solo ciò di cui hai bisogno +attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. -Programmo web, progettato per poter fornire solo ciò di +Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. @@ -101,51 +94,48 @@ echo Building %{name}-%{version}-%{release} #---- install %install -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT -%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf -%{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr +mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/build +mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/doc +mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs +mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts -# %{_datadir} = /usr/share -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps -%{__install} -m 644 var/www/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__install} -m 644 var/www/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop +mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +cp doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +cp build/rpm/dolibarr.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/dolibarr.desktop -%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/build -%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/doc -%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs -%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts -%{__cp} -pr var/www/dolibarr/build $RPM_BUILD_ROOT/var/www/dolibarr -%{__cp} -pr var/www/dolibarr/doc $RPM_BUILD_ROOT/var/www/dolibarr -%{__cp} -pr var/www/dolibarr/htdocs $RPM_BUILD_ROOT/var/www/dolibarr -%{__cp} -pr var/www/dolibarr/scripts $RPM_BUILD_ROOT/var/www/dolibarr -%{__install} -m 644 var/www/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/doc/COPYRIGHT +install -m 444 README $RPM_BUILD_ROOT/var/www/dolibarr/README +install -m 444 COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/COPYRIGHT +cp -pr build $RPM_BUILD_ROOT/var/www/dolibarr +cp -pr doc $RPM_BUILD_ROOT/var/www/dolibarr +cp -pr htdocs $RPM_BUILD_ROOT/var/www/dolibarr +cp -pr scripts $RPM_BUILD_ROOT/var/www/dolibarr #---- clean %clean -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT #---- files %files - %defattr(-,root,root) +%doc README +%doc COPYRIGHT %doc /var/www/dolibarr/doc/* %dir /var/www/dolibarr/build %dir /var/www/dolibarr/htdocs %dir /var/www/dolibarr/scripts -%_datadir/pixmaps/dolibarr.png +%_datadir/pixmaps/* %_datadir/applications/%{name}.desktop /var/www/dolibarr/build/* /var/www/dolibarr/htdocs/* /var/www/dolibarr/scripts/* - -%defattr(0664, -, -, 0755) -%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr +/var/www/dolibarr/README +/var/www/dolibarr/COPYRIGHT +#%config /var/www/dolibarr/htdocs/conf/conf.php #---- post (after unzip during install) @@ -163,11 +153,9 @@ export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -export sefileorig="%{_sysconfdir}/dolibarr/file_contexts.dolibarr" -export seconfig="%{_sysconfdir}/selinux/targeted/contexts/files/file_contexts.dolibarr" -#export config="/usr/share/dolibarr/htdocs/conf/conf.php" -export config="%{_sysconfdir}/dolibarr/conf.php" -export lockfile="/usr/share/dolibarr/install.lock" +#config="/usr/share/dolibarr/htdocs/conf/conf.php" +config="%{_sysconfdir}/dolibarr/conf.php" +lockfile="/usr/share/dolibarr/install.lock" # Detect OS @@ -201,8 +189,8 @@ echo OS detected: $os # Create empty directory for uploaded files and generated documents echo Create document directory $docdir -%{__mkdir} -p $docdir -%{__mkdir} -p %{_sysconfdir}/dolibarr +mkdir -p $docdir +mkdir -p %{_sysconfdir}/dolibarr # Create install.forced.php into Dolibarr install directory superuserlogin='' @@ -214,12 +202,12 @@ if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then fi echo Mysql superuser found to use is $superuserlogin if [ -z "$superuserlogin" ] ; then - %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig + cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig else - %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig fi -%{__chown} -R root:$apachegroup $installconfig -%{__chmod} -R 660 $installconfig +chown -R root:$apachegroup $installconfig +chmod -R 660 $installconfig # Create an empty conf.php with permission to web server if [ ! -f $config ] @@ -230,24 +218,15 @@ then 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 [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon -a ! -f $seconfig ]; then - echo Add SE Linux permission from file $sefileorig -# cp $sefileorig $seconfig - restorecon -R -v /etc/dolibarr - restorecon -R -v /var/www/dolibarr - restorecon -R -v /usr/share/dolibarr +# Create a config file $apacheconfig +if [ ! -f $apacheconfig ]; then + echo Create dolibarr web server config file $apacheconfig + cp $apachefileorig $apacheconfig + chmod a-x $apacheconfig + chmod go-w $apacheconfig fi -# Create a config link dolibarr.conf +# Create a config link dolibarr.conf for Fedora or Redhat if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs $apacheconfig $apachelink @@ -263,6 +242,18 @@ echo Set permission to $apacheuser:$apachegroup on $docdir chown -R $apacheuser:$apachegroup $docdir chmod -R o-w $docdir +# Set SE Linux on OS SE is enabled +if [ "x$os" = "xfedora-redhat" -a -s /usr/bin/chcon ]; then + echo Set SELinux permissions + # Warning: chcon seems not cumulative + #chcon -R -h -t httpd_sys_content_t $targetdir + #chcon -R -h -t httpd_sys_content_t $docdir + chcon -R -h -t httpd_sys_script_rw_t $targetdir + chcon -R -h -t httpd_sys_script_rw_t $docdir + chcon -R -h -t httpd_sys_script_rw_t %{_sysconfdir}/dolibarr + #chcon -R -h -t httpd_sys_script_exec_t $targetdir +fi + # Restart web server echo Restart web server if [ -f %{_sysconfdir}/init.d/httpd ]; then @@ -272,12 +263,6 @@ if [ -f %{_sysconfdir}/init.d/apache2 ]; then %{_sysconfdir}/init.d/apache2 restart fi -# Restart mysql -echo Restart mysql -if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart -fi - # Show result echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" @@ -305,9 +290,9 @@ export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -#export config="/usr/share/dolibarr/htdocs/conf/conf.php" -export config="%{_sysconfdir}/dolibarr/conf.php" -export lockfile="$targetdir/install.lock" +#config="/usr/share/dolibarr/htdocs/conf/conf.php" +config="%{_sysconfdir}/dolibarr/conf.php" +lockfile="$targetdir/install.lock" # Detect OS @@ -342,7 +327,7 @@ echo OS detected: $os if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr - %{__rm} -f $apachelink + rm -f $apachelink status=purge fi @@ -360,16 +345,12 @@ then fi # Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig -echo Removed remaining $lockfile -%{__rm} -f $lockfile -echo Removed remaining dir $targetdir/doc +echo Removed remaining dirs +rm -f $apacheconfig +rm -f $config +rm -f $installconfig +rm -f $lockfile rmdir $targetdir/doc >/dev/null 2>&1 - +rmdir $targetdir/htdocs >/dev/null 2>&1 %changelog -* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 -- Initial version (#723326) diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 5f390270b51..f01e5303ce0 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -3,10 +3,11 @@ $force_install_noedit=2; $force_install_message='KeepDefaultValuesDeb'; $force_install_main_data_root='/usr/share/dolibarr/documents'; $force_install_type='mysqli'; +$force_install_dbserver='localhost'; $force_install_port='3306'; -$force_install_database='dolibarr'; +$force_install_database='dolibarrrpm'; $force_install_createdatabase='1'; -$force_install_databaselogin='dolibarrmysql'; +$force_install_databaselogin='dolibarrrpm'; $force_install_databasepass=''; $force_install_createuser='1'; $force_install_databaserootlogin='__SUPERUSERLOGIN__'; diff --git a/htdocs/install/etape5.php b/htdocs/install/etape5.php index 0c1c03cfdd9..0037190af06 100644 --- a/htdocs/install/etape5.php +++ b/htdocs/install/etape5.php @@ -24,7 +24,7 @@ * \file htdocs/install/etape5.php * \ingroup install * \brief Last page of upgrade or install process - * \version $Id: etape5.php,v 1.105 2011/07/31 11:56:43 eldy Exp $ + * \version $Id: etape5.php,v 1.106 2011/07/31 13:28:45 eldy Exp $ */ include_once("./inc.php"); @@ -364,7 +364,6 @@ elseif (preg_match('/upgrade/i',$action)) if (! empty($force_install_lockinstall)) { // Upgrade is finished, we create the lock file - $lockfile="../../install.lock"; $fp = @fopen($lockfile, "w"); if ($fp) {