diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index a791fd3f828..2b5e9ba380b 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.124 2011/07/31 13:17:03 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.124 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -696,12 +696,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/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..fafdc2df676 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -4,9 +4,9 @@ $force_install_message='KeepDefaultValuesDeb'; $force_install_main_data_root='/usr/share/dolibarr/documents'; $force_install_type='mysqli'; $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__';