From f66331b6a1742509ce370c9c1d2da9e19f664c03 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 18:35:51 +0000 Subject: [PATCH 01/18] Fix: When swith on invoice from pos to see the pdf, the pdf was not generated From 48b43ba8a68ec3a966a28281c0948d0b2463d2f8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 18:44:59 +0000 Subject: [PATCH 02/18] Fix: Total is not rounded on user precision From bb8db73125ff896415adc1e9f77bdb55b9052b33 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 03/18] Work on rpm package --- build/rpm/install.forced.php.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 2ffcc9e0105..4d2924a83b4 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 04/18] Work on rpm package --- build/rpm/dolibarr_fedora.spec | 54 ++++++++++++++------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++++++------------ build/rpm/dolibarr_mandriva.spec | 53 ++++++++++++++------- build/rpm/dolibarr_opensuse.spec | 51 +++++++++++++------- build/rpm/install.forced.php.install | 4 +- 5 files changed, 150 insertions(+), 83 deletions(-) diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 8f0a678759d..e2233038cb9 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -73,37 +73,33 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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%{_datadir}/pixmaps %{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop +%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpmfedora/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,7 +145,19 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -163,7 +170,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -191,7 +198,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -203,10 +210,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -226,6 +239,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6a03be7d091..6da6c40b3ed 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,20 +80,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -105,13 +101,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -119,12 +114,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -156,20 +150,19 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -207,20 +200,18 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -if [ "x$os" = "xubuntu-debian" ] +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] then - superuserlogin='' - superuserpassword='' - if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then - # Load superuser login and pass - superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') - superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') - fi - echo Mysql superuser found to use is $superuserlogin - %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig - %{__chmod} -R 660 $installconfig + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config fi -%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -235,7 +226,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -263,7 +254,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -271,31 +262,46 @@ echo "--------------------------------------------------" echo - #---- postun (after uninstall) %postun +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" + + # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='wwwrun'; + export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='www-data'; + export apachegroup='www-data'; fi +echo OS detected: $os # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -315,6 +321,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 5dd30522ed4..ab20ef74107 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,20 +73,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -98,12 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,10 +145,22 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -181,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -193,10 +200,17 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -216,6 +230,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index c5c6e9e6074..00373a852a2 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,8 +83,6 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -96,13 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -110,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -125,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -149,10 +145,22 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -180,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -192,10 +200,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" +export apacheuser='wwwrun'; +export apachegroup='www'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -215,6 +229,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 4d2924a83b4..6f760075c5d 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -10,8 +10,8 @@ $force_install_createdatabase='1'; $force_install_databaselogin='dolibarrrpm'; $force_install_databasepass=''; $force_install_createuser='1'; -$force_install_databaserootlogin='__SUPERUSERLOGIN__'; -$force_install_databaserootpass='__SUPERUSERPASSWORD__'; +$force_install_databaserootlogin='root'; +$force_install_databaserootpass=''; $force_install_dolibarrlogin='admin'; $force_install_nophpinfo='1'; $force_install_lockinstall='444'; From d112f0ab35f6c883c9f6f7bd81e981c3708e8493 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 23:10:00 +0000 Subject: [PATCH 05/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +- build/rpm/conf.php | 1 + build/rpm/dolibarr_fedora.spec | 54 +++++++-------------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++---------------- build/rpm/dolibarr_mandriva.spec | 53 +++++++-------------- build/rpm/dolibarr_opensuse.spec | 51 +++++++------------- build/rpm/install.forced.php.install | 6 +-- 7 files changed, 87 insertions(+), 154 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 2216b9e294f..c090ef77e3b 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.135 2011/08/07 00:13:04 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.134 2011/08/06 23:10:01 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,7 +474,6 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 78ac824b12f..4aa076f41d8 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,3 +1,4 @@ +#!/usr/bin/php $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -170,7 +163,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -198,7 +191,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -210,16 +203,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -239,11 +226,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6da6c40b3ed..6a03be7d091 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,16 +80,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -101,12 +105,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -114,11 +119,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -150,19 +156,20 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -200,18 +207,20 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig -%{__chown} -R root:$apachegroup $installconfig -%{__chmod} -R 660 $installconfig - -# Create an empty conf.php with permission to web server -if [ ! -f $config ] +if [ "x$os" = "xubuntu-debian" ] then - echo Create empty file $config - touch $config - %{__chown} -R root:$apachegroup $config - %{__chmod} -R 660 $config + superuserlogin='' + superuserpassword='' + if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then + # Load superuser login and pass + superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') + superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') + fi + echo Mysql superuser found to use is $superuserlogin + %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__chmod} -R 660 $installconfig fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -226,7 +235,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -254,7 +263,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -262,46 +271,31 @@ echo "--------------------------------------------------" echo + #---- postun (after uninstall) %postun -# Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" - - # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='wwwrun'; - export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='www-data'; - export apachegroup='www-data'; fi -echo OS detected: $os # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -321,11 +315,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ab20ef74107..5dd30522ed4 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,16 +73,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +98,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT #---- clean @@ -107,11 +111,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +126,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -145,22 +150,10 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +181,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,17 +193,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; - # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -230,11 +216,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 00373a852a2..c5c6e9e6074 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,6 +83,8 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +96,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -107,11 +110,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +125,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -145,22 +149,10 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +180,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,16 +192,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" -export apacheuser='wwwrun'; -export apachegroup='www'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -229,11 +215,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 6f760075c5d..2ffcc9e0105 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sun, 7 Aug 2011 00:12:47 +0000 Subject: [PATCH 06/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +++-- build/rpm/conf.php | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index c090ef77e3b..2216b9e294f 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.134 2011/08/06 23:10:01 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.135 2011/08/07 00:13:04 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,6 +474,7 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 4aa076f41d8..78ac824b12f 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,4 +1,3 @@ -#!/usr/bin/php Date: Sat, 6 Aug 2011 18:35:51 +0000 Subject: [PATCH 07/18] Fix: When swith on invoice from pos to see the pdf, the pdf was not generated From 06323b0baf08479252dfce8973adefe8b7e5d10d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 18:44:59 +0000 Subject: [PATCH 08/18] Fix: Total is not rounded on user precision From 47d22a36b300f83f371d6dc5fea01e61aab23664 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 09/18] Work on rpm package --- build/rpm/install.forced.php.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 2ffcc9e0105..4d2924a83b4 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 10/18] Work on rpm package --- build/rpm/dolibarr_fedora.spec | 54 ++++++++++++++------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++++++------------ build/rpm/dolibarr_mandriva.spec | 53 ++++++++++++++------- build/rpm/dolibarr_opensuse.spec | 51 +++++++++++++------- build/rpm/install.forced.php.install | 4 +- 5 files changed, 150 insertions(+), 83 deletions(-) diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 8f0a678759d..e2233038cb9 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -73,37 +73,33 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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%{_datadir}/pixmaps %{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop +%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpmfedora/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,7 +145,19 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -163,7 +170,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -191,7 +198,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -203,10 +210,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -226,6 +239,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6a03be7d091..6da6c40b3ed 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,20 +80,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -105,13 +101,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -119,12 +114,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -156,20 +150,19 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -207,20 +200,18 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -if [ "x$os" = "xubuntu-debian" ] +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] then - superuserlogin='' - superuserpassword='' - if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then - # Load superuser login and pass - superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') - superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') - fi - echo Mysql superuser found to use is $superuserlogin - %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig - %{__chmod} -R 660 $installconfig + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config fi -%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -235,7 +226,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -263,7 +254,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -271,31 +262,46 @@ echo "--------------------------------------------------" echo - #---- postun (after uninstall) %postun +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" + + # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='wwwrun'; + export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='www-data'; + export apachegroup='www-data'; fi +echo OS detected: $os # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -315,6 +321,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 5dd30522ed4..ab20ef74107 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,20 +73,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -98,12 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,10 +145,22 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -181,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -193,10 +200,17 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -216,6 +230,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index c5c6e9e6074..00373a852a2 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,8 +83,6 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -96,13 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -110,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -125,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -149,10 +145,22 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -180,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -192,10 +200,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" +export apacheuser='wwwrun'; +export apachegroup='www'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -215,6 +229,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 4d2924a83b4..6f760075c5d 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -10,8 +10,8 @@ $force_install_createdatabase='1'; $force_install_databaselogin='dolibarrrpm'; $force_install_databasepass=''; $force_install_createuser='1'; -$force_install_databaserootlogin='__SUPERUSERLOGIN__'; -$force_install_databaserootpass='__SUPERUSERPASSWORD__'; +$force_install_databaserootlogin='root'; +$force_install_databaserootpass=''; $force_install_dolibarrlogin='admin'; $force_install_nophpinfo='1'; $force_install_lockinstall='444'; From 3cb8e0b3fa6132d98a6a23f456765a4050246073 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 23:10:00 +0000 Subject: [PATCH 11/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +- build/rpm/conf.php | 1 + build/rpm/dolibarr_fedora.spec | 54 +++++++-------------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++---------------- build/rpm/dolibarr_mandriva.spec | 53 +++++++-------------- build/rpm/dolibarr_opensuse.spec | 51 +++++++------------- build/rpm/install.forced.php.install | 6 +-- 7 files changed, 87 insertions(+), 154 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 2216b9e294f..c090ef77e3b 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.135 2011/08/07 00:13:04 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.134 2011/08/06 23:10:01 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,7 +474,6 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 78ac824b12f..4aa076f41d8 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,3 +1,4 @@ +#!/usr/bin/php $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -170,7 +163,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -198,7 +191,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -210,16 +203,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -239,11 +226,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6da6c40b3ed..6a03be7d091 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,16 +80,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -101,12 +105,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -114,11 +119,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -150,19 +156,20 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -200,18 +207,20 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig -%{__chown} -R root:$apachegroup $installconfig -%{__chmod} -R 660 $installconfig - -# Create an empty conf.php with permission to web server -if [ ! -f $config ] +if [ "x$os" = "xubuntu-debian" ] then - echo Create empty file $config - touch $config - %{__chown} -R root:$apachegroup $config - %{__chmod} -R 660 $config + superuserlogin='' + superuserpassword='' + if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then + # Load superuser login and pass + superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') + superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') + fi + echo Mysql superuser found to use is $superuserlogin + %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__chmod} -R 660 $installconfig fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -226,7 +235,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -254,7 +263,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -262,46 +271,31 @@ echo "--------------------------------------------------" echo + #---- postun (after uninstall) %postun -# Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" - - # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='wwwrun'; - export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='www-data'; - export apachegroup='www-data'; fi -echo OS detected: $os # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -321,11 +315,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ab20ef74107..5dd30522ed4 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,16 +73,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +98,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT #---- clean @@ -107,11 +111,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +126,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -145,22 +150,10 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +181,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,17 +193,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; - # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -230,11 +216,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 00373a852a2..c5c6e9e6074 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,6 +83,8 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +96,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -107,11 +110,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +125,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -145,22 +149,10 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +180,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,16 +192,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" -export apacheuser='wwwrun'; -export apachegroup='www'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -229,11 +215,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 6f760075c5d..2ffcc9e0105 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sun, 7 Aug 2011 00:12:47 +0000 Subject: [PATCH 12/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +++-- build/rpm/conf.php | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index c090ef77e3b..2216b9e294f 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.134 2011/08/06 23:10:01 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.135 2011/08/07 00:13:04 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,6 +474,7 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 4aa076f41d8..78ac824b12f 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,4 +1,3 @@ -#!/usr/bin/php Date: Sat, 6 Aug 2011 18:35:51 +0000 Subject: [PATCH 13/18] Fix: When swith on invoice from pos to see the pdf, the pdf was not generated From c1ef94159c2155a458295a93833d3ec861e9c727 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 18:44:59 +0000 Subject: [PATCH 14/18] Fix: Total is not rounded on user precision From a149f5629ebfd5a30532e28fefbf742305f0a691 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 15/18] Work on rpm package --- build/rpm/install.forced.php.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 2ffcc9e0105..4d2924a83b4 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH 16/18] Work on rpm package --- build/rpm/dolibarr_fedora.spec | 54 ++++++++++++++------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++++++------------ build/rpm/dolibarr_mandriva.spec | 53 ++++++++++++++------- build/rpm/dolibarr_opensuse.spec | 51 +++++++++++++------- build/rpm/install.forced.php.install | 4 +- 5 files changed, 150 insertions(+), 83 deletions(-) diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 8f0a678759d..e2233038cb9 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -73,37 +73,33 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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%{_datadir}/pixmaps %{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop +%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpmfedora/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,7 +145,19 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -163,7 +170,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -191,7 +198,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -203,10 +210,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -226,6 +239,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6a03be7d091..6da6c40b3ed 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,20 +80,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -105,13 +101,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -119,12 +114,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -156,20 +150,19 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -207,20 +200,18 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -if [ "x$os" = "xubuntu-debian" ] +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] then - superuserlogin='' - superuserpassword='' - if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then - # Load superuser login and pass - superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') - superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') - fi - echo Mysql superuser found to use is $superuserlogin - %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig - %{__chmod} -R 660 $installconfig + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config fi -%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -235,7 +226,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -263,7 +254,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -271,31 +262,46 @@ echo "--------------------------------------------------" echo - #---- postun (after uninstall) %postun +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" + + # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='wwwrun'; + export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" + export apacheuser='apache'; + export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" + export apacheuser='www-data'; + export apachegroup='www-data'; fi +echo OS detected: $os # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -315,6 +321,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 5dd30522ed4..ab20ef74107 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,20 +73,16 @@ cui hai bisogno ed essere facile da usare. %setup -q - #---- build %build # Nothing to build - #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -98,12 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -111,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -126,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -150,10 +145,22 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -181,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -193,10 +200,17 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -216,6 +230,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index c5c6e9e6074..00373a852a2 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,8 +83,6 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr -%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php -%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -96,13 +94,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT - +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT #---- clean @@ -110,12 +107,11 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT - #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -125,19 +121,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -) -%config(noreplace) %{_sysconfdir}/dolibarr/conf.php +%defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf -%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr - #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -149,10 +145,22 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -%{__chown} -R root:$apachegroup /etc/dolibarr/* +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 +fi # Create a config link dolibarr.conf -if [ ! -L $apachelink ]; then +if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -180,7 +188,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on the menu" +echo "To finish installation and use Dolibarr, click on ne menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -192,10 +200,16 @@ echo %postun # Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" +export apacheuser='wwwrun'; +export apachegroup='www'; # Remove apache link -if [ -L $apachelink ] ; +if [ -f $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -215,6 +229,11 @@ then fi fi +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 4d2924a83b4..6f760075c5d 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -10,8 +10,8 @@ $force_install_createdatabase='1'; $force_install_databaselogin='dolibarrrpm'; $force_install_databasepass=''; $force_install_createuser='1'; -$force_install_databaserootlogin='__SUPERUSERLOGIN__'; -$force_install_databaserootpass='__SUPERUSERPASSWORD__'; +$force_install_databaserootlogin='root'; +$force_install_databaserootpass=''; $force_install_dolibarrlogin='admin'; $force_install_nophpinfo='1'; $force_install_lockinstall='444'; From 96c238cf901b96d975112dbcf599c5157a77dd0b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 23:10:00 +0000 Subject: [PATCH 17/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +- build/rpm/conf.php | 1 + build/rpm/dolibarr_fedora.spec | 54 +++++++-------------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++---------------- build/rpm/dolibarr_mandriva.spec | 53 +++++++-------------- build/rpm/dolibarr_opensuse.spec | 51 +++++++------------- build/rpm/install.forced.php.install | 6 +-- 7 files changed, 87 insertions(+), 154 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 2216b9e294f..c090ef77e3b 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.135 2011/08/07 00:13:04 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.134 2011/08/06 23:10:01 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,7 +474,6 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; - $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 78ac824b12f..4aa076f41d8 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,3 +1,4 @@ +#!/usr/bin/php $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -170,7 +163,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -198,7 +191,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -210,16 +203,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -239,11 +226,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6da6c40b3ed..6a03be7d091 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,16 +80,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -101,12 +105,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -114,11 +119,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -150,19 +156,20 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS os='unknown'; @@ -200,18 +207,20 @@ echo Create document directory $docdir %{__mkdir} -p $docdir # Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig -%{__chown} -R root:$apachegroup $installconfig -%{__chmod} -R 660 $installconfig - -# Create an empty conf.php with permission to web server -if [ ! -f $config ] +if [ "x$os" = "xubuntu-debian" ] then - echo Create empty file $config - touch $config - %{__chown} -R root:$apachegroup $config - %{__chmod} -R 660 $config + superuserlogin='' + superuserpassword='' + if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then + # Load superuser login and pass + superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') + superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') + fi + echo Mysql superuser found to use is $superuserlogin + %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__chmod} -R 660 $installconfig fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -226,7 +235,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -254,7 +263,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -262,46 +271,31 @@ echo "--------------------------------------------------" echo + #---- postun (after uninstall) %postun -# Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" - - # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='wwwrun'; - export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='www-data'; - export apachegroup='www-data'; fi -echo OS detected: $os # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -321,11 +315,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ab20ef74107..5dd30522ed4 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,16 +73,20 @@ cui hai bisogno ed essere facile da usare. %setup -q + #---- build %build # Nothing to build + #---- install %install %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +98,12 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT #---- clean @@ -107,11 +111,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +126,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" export apacheuser='apache'; export apachegroup='apache'; @@ -145,22 +150,10 @@ export apachegroup='apache'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +181,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,17 +193,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" -export apacheuser='apache'; -export apachegroup='apache'; - # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -230,11 +216,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 00373a852a2..c5c6e9e6074 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,6 +83,8 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +96,13 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/doc/dolibarr %{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr -%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -107,11 +110,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +125,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + #---- post (after unzip during install) %post # Define vars export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" export apacheuser='wwwrun'; export apachegroup='www'; @@ -145,22 +149,10 @@ export apachegroup='www'; echo Create document directory $docdir %{__mkdir} -p $docdir -# Create install.forced.php into Dolibarr install directory -%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $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 -fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +180,7 @@ fi echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" echo "Dolibarr files are now installed (into /usr/share/dolibarr)." -echo "To finish installation and use Dolibarr, click on ne menu" +echo "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,16 +192,10 @@ echo %postun # Define vars -export docdir="/var/lib/dolibarr/documents" -export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" -export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export config="%{_sysconfdir}/dolibarr/conf.php" export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" -export apacheuser='wwwrun'; -export apachegroup='www'; # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -229,11 +215,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 6f760075c5d..2ffcc9e0105 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ Date: Sun, 7 Aug 2011 00:12:47 +0000 Subject: [PATCH 18/18] Work on rpm package --- build/makepack-dolibarr.pl | 5 +++-- build/rpm/conf.php | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index c090ef77e3b..2216b9e294f 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.134 2011/08/06 23:10:01 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.135 2011/08/07 00:13:04 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -51,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.135 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -474,6 +474,7 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/live`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/patch`; + $ret=`rm -f $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/rpm/conf.php`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/zip`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/build/perl`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/usr/share/$PROJECT/dev/dbmodel`; diff --git a/build/rpm/conf.php b/build/rpm/conf.php index 4aa076f41d8..78ac824b12f 100755 --- a/build/rpm/conf.php +++ b/build/rpm/conf.php @@ -1,4 +1,3 @@ -#!/usr/bin/php