Work on rpm package

This commit is contained in:
Laurent Destailleur 2011-08-03 18:26:18 +00:00
parent 392afe43cc
commit 8ca850465c

View File

@ -7,7 +7,7 @@
# -------------------------------------------------------- # --------------------------------------------------------
%define name dolibarr %define name dolibarr
%define version __VERSION__ %define version __VERSION__
%define release __RELEASE__ %define release __RELEASE__
Name: %{name} 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 %{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__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 %{__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/var/www/dolibarr/build
%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs %{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/doc
%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts %{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts
%{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr var/www/dolibarr/build $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr var/www/dolibarr/doc $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr %{__cp} -pr var/www/dolibarr/htdocs $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr %{__cp} -pr var/www/dolibarr/scripts $RPM_BUILD_ROOT/var/www/dolibarr
%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT %{__install} -m 644 var/www/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/doc/COPYRIGHT
#---- clean #---- clean
@ -125,15 +125,15 @@ echo Building %{name}-%{version}-%{release}
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc %{_datadir}/doc/dolibarr/* %doc /var/www/dolibarr/doc/*
%dir /usr/share/dolibarr/build %dir /var/www/dolibarr/build
%dir /usr/share/dolibarr/htdocs %dir /var/www/dolibarr/htdocs
%dir /usr/share/dolibarr/scripts %dir /var/www/dolibarr/scripts
%_datadir/pixmaps/dolibarr.png %_datadir/pixmaps/dolibarr.png
%_datadir/applications/%{name}.desktop %_datadir/applications/%{name}.desktop
/usr/share/dolibarr/build/* /var/www/dolibarr/build/*
/usr/share/dolibarr/htdocs/* /var/www/dolibarr/htdocs/*
/usr/share/dolibarr/scripts/* /var/www/dolibarr/scripts/*
%defattr(0664, -, -, 0755) %defattr(0664, -, -, 0755)
%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf
@ -144,14 +144,17 @@ echo Building %{name}-%{version}-%{release}
%post %post
# Define vars # Define vars
# Dolibarr files are stored into /usr/share # Dolibarr files are stored into /var/www
export targetdir='/usr/share/dolibarr' export targetdir='/var/www/dolibarr'
# Dolibarr uploaded files and generated documents will be stored into docdir # 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 installfileorig="$targetdir/build/rpm/install.forced.php.install"
export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php"
export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf"
export apacheconfig="%{_sysconfdir}/dolibarr/apache.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="/usr/share/dolibarr/htdocs/conf/conf.php"
export config="%{_sysconfdir}/dolibarr/conf.php" export config="%{_sysconfdir}/dolibarr/conf.php"
export lockfile="/usr/share/dolibarr/install.lock" export lockfile="/usr/share/dolibarr/install.lock"
@ -211,24 +214,29 @@ fi
# Create an empty conf.php with permission to web server # Create an empty conf.php with permission to web server
if [ ! -f $config ] if [ ! -f $config ]
then then
echo Create empty file $config echo Create empty file $config
touch $config touch $config
%{__chown} -R root:$apachegroup $config %{__chown} -R root:$apachegroup $config
%{__chmod} -R 660 $config %{__chmod} -R 660 $config
fi 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 # Create config file for se $seconfig
if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon -a ! -f $seconfig ]; then
echo Add SE Linux permissions for dolibarr echo Add SE Linux permission from file $sefileorig
# semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" 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(/.*?)"
semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr/install.lock" semanage fcontext -a -t httpd_sys_script_rw_t "/var/www/dolibarr/install.lock"
semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)"
restorecon -R -v /etc/dolibarr restorecon -R -v /etc/dolibarr
#restorecon -R -v /usr/share/dolibarr restorecon -R -v /usr/share/dolibarr
restorecon -v /usr/share/dolibarr/install.lock restorecon -v /var/www/dolibarr/install.lock
restorecon -R -v /var/lib/dolibarr
fi fi
# Create a config link dolibarr.conf # Create a config link dolibarr.conf
@ -243,9 +251,9 @@ echo Set permission to $apacheuser:$apachegroup on $targetdir
%{__chmod} -R a-w $targetdir %{__chmod} -R a-w $targetdir
%{__chmod} u+w $targetdir %{__chmod} u+w $targetdir
echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr echo Set permission to $apacheuser:$apachegroup on $docdir
%{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr %{__chown} -R $apacheuser:$apachegroup $docdir
%{__chmod} -R o-w /var/lib/dolibarr %{__chmod} -R o-w $docdir
# Restart web server # Restart web server
echo Restart web server echo Restart web server
@ -259,13 +267,13 @@ fi
# Restart mysql # Restart mysql
echo Restart mysql echo Restart mysql
if [ -f /etc/init.d/mysqld ]; then if [ -f /etc/init.d/mysqld ]; then
/etc/init.d/mysqld restart /etc/init.d/mysqld restart
fi fi
# Show result # Show result
echo echo
echo "----- Dolibarr %version - (c) Dolibarr dev team -----" 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 "To finish installation and use Dolibarr, click on ne menu"
echo "entry Dolibarr ERP-CRM or call the following page from your" echo "entry Dolibarr ERP-CRM or call the following page from your"
echo "web browser:" echo "web browser:"
@ -279,9 +287,10 @@ echo
# Define vars # Define vars
# Dolibarr files are stored into targetdir # 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 # 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 installfileorig="$targetdir/build/rpm/install.forced.php.install"
export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php"
export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf"
@ -347,6 +356,8 @@ echo Removed remaining $installconfig
%{__rm} -f $installconfig %{__rm} -f $installconfig
echo Removed remaining $lockfile echo Removed remaining $lockfile
%{__rm} -f $lockfile %{__rm} -f $lockfile
echo Removed remaining dir $targetdir/doc
rmdir $targetdir/doc >/dev/null 2>&1
%changelog %changelog