Work on rpm package

This commit is contained in:
Laurent Destailleur 2011-08-03 18:26:18 +00:00
parent e0756f25a2
commit 72537dfbcd

View File

@ -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