From 72537dfbcdf213b7a89b4e2cf8cae97662ed2c3a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2011 18:26:18 +0000 Subject: [PATCH] Work on rpm package --- build/rpm/dolibarr.spec | 97 +++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr.spec index 06cebcfcb2f..4a03f222ab3 100644 --- a/build/rpm/dolibarr.spec +++ b/build/rpm/dolibarr.spec @@ -7,7 +7,7 @@ # -------------------------------------------------------- %define name dolibarr -%define version __VERSION__ +%define version __VERSION__ %define release __RELEASE__ Name: %{name} @@ -101,19 +101,19 @@ echo Building %{name}-%{version}-%{release} %{__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 +%{__install} -m 644 var/www/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop +%{__install} -m 644 var/www/dolibarr/build/rpm/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%{_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%{_datadir}/doc/dolibarr -%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/build +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/doc +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs +%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts +%{__cp} -pr var/www/dolibarr/build $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/doc $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/htdocs $RPM_BUILD_ROOT/var/www/dolibarr +%{__cp} -pr var/www/dolibarr/scripts $RPM_BUILD_ROOT/var/www/dolibarr +%{__install} -m 644 var/www/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/doc/COPYRIGHT #---- clean @@ -125,15 +125,15 @@ echo Building %{name}-%{version}-%{release} %files %defattr(-,root,root) -%doc %{_datadir}/doc/dolibarr/* -%dir /usr/share/dolibarr/build -%dir /usr/share/dolibarr/htdocs -%dir /usr/share/dolibarr/scripts +%doc /var/www/dolibarr/doc/* +%dir /var/www/dolibarr/build +%dir /var/www/dolibarr/htdocs +%dir /var/www/dolibarr/scripts %_datadir/pixmaps/dolibarr.png %_datadir/applications/%{name}.desktop -/usr/share/dolibarr/build/* -/usr/share/dolibarr/htdocs/* -/usr/share/dolibarr/scripts/* +/var/www/dolibarr/build/* +/var/www/dolibarr/htdocs/* +/var/www/dolibarr/scripts/* %defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf @@ -144,14 +144,17 @@ echo Building %{name}-%{version}-%{release} %post # Define vars -# Dolibarr files are stored into /usr/share -export targetdir='/usr/share/dolibarr' +# Dolibarr files are stored into /var/www +export targetdir='/var/www/dolibarr' # Dolibarr uploaded files and generated documents will be stored into docdir -export docdir="/var/lib/dolibarr/documents" +#export docdir="/var/lib/dolibarr/documents" +export docdir="/usr/share/dolibarr/documents" export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" +export sefileorig="%{_sysconfdir}/dolibarr/file_contexts.dolibarr" +export seconfig="%{_sysconfdir}/selinux/targeted/contexts/files/file_contexts.dolibarr" #export config="/usr/share/dolibarr/htdocs/conf/conf.php" export config="%{_sysconfdir}/dolibarr/conf.php" export lockfile="/usr/share/dolibarr/install.lock" @@ -210,25 +213,30 @@ fi # 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 +then + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config fi +# Create config file for apache $apacheconfig +#if [ ! -f $apacheconfig ]; then +# echo Create dolibarr web server config file $apacheconfig +# cp $apachefileorig $apacheconfig +# chmod a-x $apacheconfig +# chmod go-w $apacheconfig +#fi + # Create config file for se $seconfig -if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then - echo Add SE Linux permissions for dolibarr - # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local +if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon -a ! -f $seconfig ]; then + echo Add SE Linux permission from file $sefileorig semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" - #semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr(/.*?)" - semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr/install.lock" - semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)" + semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr(/.*?)" + semanage fcontext -a -t httpd_sys_script_rw_t "/var/www/dolibarr/install.lock" restorecon -R -v /etc/dolibarr - #restorecon -R -v /usr/share/dolibarr - restorecon -v /usr/share/dolibarr/install.lock - restorecon -R -v /var/lib/dolibarr + restorecon -R -v /usr/share/dolibarr + restorecon -v /var/www/dolibarr/install.lock fi # Create a config link dolibarr.conf @@ -243,9 +251,9 @@ echo Set permission to $apacheuser:$apachegroup on $targetdir %{__chmod} -R a-w $targetdir %{__chmod} u+w $targetdir -echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr -%{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr -%{__chmod} -R o-w /var/lib/dolibarr +echo Set permission to $apacheuser:$apachegroup on $docdir +%{__chown} -R $apacheuser:$apachegroup $docdir +%{__chmod} -R o-w $docdir # Restart web server echo Restart web server @@ -259,13 +267,13 @@ fi # Restart mysql echo Restart mysql if [ -f /etc/init.d/mysqld ]; then - /etc/init.d/mysqld restart + /etc/init.d/mysqld restart fi # Show result echo echo "----- Dolibarr %version - (c) Dolibarr dev team -----" -echo "Dolibarr files are now installed (into /usr/share/dolibarr)." +echo "Dolibarr files are now installed (into /var/www/dolibarr)." 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:" @@ -279,9 +287,10 @@ echo # Define vars # Dolibarr files are stored into targetdir -export targetdir='/usr/share/dolibarr' +export targetdir='/var/www/dolibarr' # Dolibarr uploaded files and generated documents will be stored into docdir -export docdir="/var/lib/dolibarr/documents" +#export docdir="/var/lib/dolibarr/documents" +export docdir="/usr/share/dolibarr/documents" export installfileorig="$targetdir/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" @@ -347,6 +356,8 @@ echo Removed remaining $installconfig %{__rm} -f $installconfig echo Removed remaining $lockfile %{__rm} -f $lockfile +echo Removed remaining dir $targetdir/doc +rmdir $targetdir/doc >/dev/null 2>&1 %changelog