dolibarr_generic.spec 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. #---------------------------------------------------------
  2. # Spec file to build a rpm file
  3. #
  4. # This is an example to build a rpm file. You can use this
  5. # file to build a package for your own distributions and
  6. # edit it if you need to match your rules.
  7. # --------------------------------------------------------
  8. Name: dolibarr
  9. Version: __VERSION__
  10. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  11. Release: __RELEASE__%{?dist}
  12. %else
  13. Release: __RELEASE__
  14. %endif
  15. Summary: ERP and CRM software for small and medium companies or foundations
  16. Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones o autónomos
  17. Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
  18. Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
  19. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  20. License: GPLv3+
  21. %else
  22. License: GPL-3.0+
  23. %endif
  24. #Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
  25. Vendor: Dolibarr dev team
  26. URL: http://www.dolibarr.org
  27. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  28. Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_redhat-fedora/%{name}-%{version}.tgz
  29. %else
  30. %if 0%{?mdkversion}
  31. Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_mandriva/%{name}-%{version}.tgz
  32. %else
  33. %if 0%{?suse_version}
  34. Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_opensuse/%{name}-%{version}.tgz
  35. %else
  36. Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_generic/%{name}-%{version}.tgz
  37. %endif
  38. %endif
  39. %endif
  40. Patch0: %{name}-forrpm.patch
  41. BuildArch: noarch
  42. BuildRoot: %{_tmppath}/%{name}-%{version}-build
  43. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  44. Group: Applications/Productivity
  45. Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-imap, php-mysql, php-adodb, php-nusoap, dejavu-sans-fonts
  46. Requires: mysql-server, mysql
  47. BuildRequires: desktop-file-utils
  48. %else
  49. %if 0%{?mdkversion}
  50. Group: Applications/Productivity
  51. Requires: apache-base, apache-mod_php, php-cgi, php-cli, php-bz2, php-gd, php-ldap, php-imap, php-mysqli, php-openssl, fonts-ttf-dejavu
  52. Requires: mysql, mysql-client
  53. %else
  54. %if 0%{?suse_version}
  55. # Voir http://en.opensuse.org/openSUSE:Packaging_Conventions_RPM_Macros
  56. Group: Productivity/Office/Management
  57. Requires: apache2, apache2-mod_php5, php5 >= 5.3.0, php5-gd, php5-ldap, php5-imap, php5-mysql, php5-openssl, dejavu
  58. Requires: mysql-community-server, mysql-community-server-client
  59. BuildRequires: update-desktop-files fdupes
  60. %else
  61. Group: Applications/Productivity
  62. Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-imap
  63. Requires: mysql-server, mysql
  64. Requires: php-mysql >= 4.1.0
  65. %endif
  66. %endif
  67. %endif
  68. # Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse)
  69. AutoReqProv: no
  70. %description
  71. An easy to use CRM & ERP open source/free software for small
  72. and medium companies, foundations or freelances. It includes different
  73. features for Enterprise Resource Planning (ERP) and Customer Relationship
  74. Management (CRM) but also for different other activities.
  75. Dolibarr was designed to provide only features you need and be easy to
  76. use.
  77. %description -l es
  78. Un software ERP y CRM para pequeñas y medianas empresas, asociaciones
  79. o autónomos. Incluye diferentes funcionalidades para la Planificación
  80. de Recursos Empresariales (ERP) y Gestión de la Relación con los
  81. Clientes (CRM) así como para para otras diferentes actividades.
  82. Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades
  83. que necesita y haciendo hincapié en su facilidad de uso.
  84. %description -l fr
  85. Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
  86. artisans ou associations. Il permet de gérer vos clients, prospect,
  87. fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings
  88. et bien d'autres choses dans une interface pensée pour la simplicité.
  89. %description -l it
  90. Un programmo gestionale per piccole e medie
  91. imprese, fondazioni e liberi professionisti. Include varie funzionalità per
  92. Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori
  93. attività. Progettato per poter fornire solo ciò di cui hai bisogno
  94. ed essere facile da usare.
  95. Programmo web, progettato per poter fornire solo ciò di
  96. cui hai bisogno ed essere facile da usare.
  97. #---- prep
  98. %prep
  99. %setup -q
  100. %patch0 -p0 -b .patch
  101. #---- build
  102. %build
  103. # Nothing to build
  104. #---- install
  105. %install
  106. %if 0%{?sles_version}
  107. %{__rm} -rf $RPM_BUILD_ROOT
  108. %{__mkdir} $RPM_BUILD_ROOT
  109. %{__mkdir} $RPM_BUILD_ROOT%{_sysconfdir}
  110. %{__mkdir} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  111. %else
  112. %{__rm} -rf $RPM_BUILD_ROOT
  113. %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  114. %endif
  115. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php
  116. %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf
  117. %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr
  118. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  119. %{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  120. %else
  121. %if 0%{?mdkversion}
  122. %{__install} -m 644 build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  123. %else
  124. %if 0%{?suse_version}
  125. %{__install} -m 644 build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  126. %else
  127. %{__install} -m 644 build/rpm/install.forced.php.generic $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  128. %endif
  129. %endif
  130. %endif
  131. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
  132. %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
  133. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
  134. %{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
  135. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
  136. #Commented as it fails with error: /usr/bin/install: cannot stat build/rpm/dolibarr.desktop: No such file or directory
  137. #desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop --vendor=""
  138. %endif
  139. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  140. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  141. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs
  142. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
  143. %{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  144. %{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  145. %{__cp} -pr htdocs $RPM_BUILD_ROOT%{_datadir}/%{name}
  146. %{__cp} -pr scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
  147. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
  148. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  149. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/adodbtime
  150. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/nusoap
  151. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
  152. %else
  153. %if 0%{?mdkversion}
  154. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
  155. %else
  156. %if 0%{?suse_version}
  157. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
  158. %endif
  159. %endif
  160. %endif
  161. # Lang
  162. echo "%defattr(0644, root, root, 0755)" > %{name}.lang
  163. echo "%dir %{_datadir}/%{name}/htdocs/langs" >> %{name}.lang
  164. for i in $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/langs/*_*
  165. do
  166. lang=$(basename $i)
  167. lang1=`expr substr $lang 1 2`;
  168. lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
  169. echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang
  170. if [ "$lang1" = "$lang2" ] ; then
  171. echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  172. else
  173. echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  174. fi
  175. done >>%{name}.lang
  176. %if 0%{?suse_version} || 0%{?sles_version}
  177. # Enable this command to tag desktop file for suse
  178. %suse_update_desktop_file dolibarr Office Finance
  179. # Enable this command to allow suse detection of duplicate files and create hardlinks instead
  180. %fdupes $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs
  181. %endif
  182. #---- clean
  183. %clean
  184. %{__rm} -rf $RPM_BUILD_ROOT
  185. #---- files
  186. %files -f %{name}.lang
  187. %defattr(0755, root, root, 0755)
  188. %dir %_datadir/dolibarr
  189. %dir %_datadir/dolibarr/scripts
  190. %_datadir/dolibarr/scripts/*
  191. %defattr(-, root, root, 0755)
  192. %doc COPYING ChangeLog doc/index.html htdocs/langs/HOWTO-Translation.txt
  193. %_datadir/pixmaps/dolibarr.png
  194. %_datadir/applications/dolibarr.desktop
  195. %dir %_datadir/dolibarr/build
  196. %dir %_datadir/dolibarr/build/rpm
  197. %_datadir/dolibarr/build/rpm/*
  198. %dir %_datadir/dolibarr/build/tgz
  199. %_datadir/dolibarr/build/tgz/*
  200. %dir %_datadir/dolibarr/htdocs
  201. %_datadir/dolibarr/htdocs/accountancy
  202. %_datadir/dolibarr/htdocs/adherents
  203. %_datadir/dolibarr/htdocs/admin
  204. %_datadir/dolibarr/htdocs/asterisk
  205. %_datadir/dolibarr/htdocs/bookmarks
  206. %_datadir/dolibarr/htdocs/boutique
  207. %_datadir/dolibarr/htdocs/cashdesk
  208. %_datadir/dolibarr/htdocs/categories
  209. %_datadir/dolibarr/htdocs/comm
  210. %_datadir/dolibarr/htdocs/commande
  211. %_datadir/dolibarr/htdocs/compta
  212. %_datadir/dolibarr/htdocs/conf
  213. %_datadir/dolibarr/htdocs/contact
  214. %_datadir/dolibarr/htdocs/contrat
  215. %_datadir/dolibarr/htdocs/core
  216. %_datadir/dolibarr/htdocs/cron
  217. %_datadir/dolibarr/htdocs/ecm
  218. %_datadir/dolibarr/htdocs/expedition
  219. %_datadir/dolibarr/htdocs/exports
  220. %_datadir/dolibarr/htdocs/externalsite
  221. %_datadir/dolibarr/htdocs/fichinter
  222. %_datadir/dolibarr/htdocs/fourn
  223. %_datadir/dolibarr/htdocs/ftp
  224. %_datadir/dolibarr/htdocs/holiday
  225. %_datadir/dolibarr/htdocs/imports
  226. %_datadir/dolibarr/htdocs/includes
  227. %_datadir/dolibarr/htdocs/install
  228. %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
  229. %_datadir/dolibarr/htdocs/livraison
  230. %_datadir/dolibarr/htdocs/mailmanspip
  231. %_datadir/dolibarr/htdocs/margin
  232. %_datadir/dolibarr/htdocs/opensurvey
  233. %_datadir/dolibarr/htdocs/paybox
  234. %_datadir/dolibarr/htdocs/paypal
  235. %_datadir/dolibarr/htdocs/printipp
  236. %_datadir/dolibarr/htdocs/product
  237. %_datadir/dolibarr/htdocs/projet
  238. %_datadir/dolibarr/htdocs/public
  239. %_datadir/dolibarr/htdocs/societe
  240. %_datadir/dolibarr/htdocs/support
  241. %_datadir/dolibarr/htdocs/theme
  242. %_datadir/dolibarr/htdocs/user
  243. %_datadir/dolibarr/htdocs/webservices
  244. %_datadir/dolibarr/htdocs/*.ico
  245. %_datadir/dolibarr/htdocs/*.patch
  246. %_datadir/dolibarr/htdocs/*.php
  247. %_datadir/dolibarr/htdocs/*.txt
  248. %dir %{_sysconfdir}/dolibarr
  249. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  250. %defattr(0664, root, apache)
  251. %else
  252. %if 0%{?suse_version}
  253. %defattr(0664, root, www)
  254. %else
  255. %defattr(0664, root, -)
  256. %endif
  257. %endif
  258. %config(noreplace) %{_sysconfdir}/dolibarr/conf.php
  259. %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf
  260. %config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php
  261. %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr
  262. #---- post (after unzip during install)
  263. %post
  264. echo Run post script of packager dolibarr_generic.spec
  265. echo Detected constant fedora=0%{?fedora}
  266. echo Detected constant rhel_version=0%{?rhel_version}
  267. echo Detected constant centos_version=0%{?centos_version}
  268. echo Detected constant mdkversion=0%{?mdkversion}
  269. echo Detected constant suse_version=0%{?suse_version}
  270. # Define vars
  271. export docdir="/var/lib/dolibarr/documents"
  272. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  273. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  274. export apacheuser='apache';
  275. export apachegroup='apache';
  276. %else
  277. %if 0%{?suse_version}
  278. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  279. export apacheuser='wwwrun';
  280. export apachegroup='www';
  281. %else
  282. export installconfig="%{_sysconfdir}/dolibarr/install.forced.php"
  283. # Detect OS
  284. os='unknown';
  285. if [ -d %{_sysconfdir}/httpd/conf.d ]; then
  286. export os='fedora-redhat';
  287. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  288. export apacheuser='apache';
  289. export apachegroup='apache';
  290. fi
  291. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
  292. export os='opensuse';
  293. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  294. export apacheuser='wwwrun';
  295. export apachegroup='www';
  296. fi
  297. if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
  298. export os='mageia-mandriva';
  299. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  300. export apacheuser='apache';
  301. export apachegroup='apache';
  302. fi
  303. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
  304. export os='ubuntu-debian';
  305. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  306. export apacheuser='www-data';
  307. export apachegroup='www-data';
  308. fi
  309. echo OS detected: $os
  310. %endif
  311. %endif
  312. # Remove dolibarr install/upgrade lock file if it exists
  313. %{__rm} -f $docdir/install.lock
  314. # Create empty directory for uploaded files and generated documents
  315. echo Create document directory $docdir
  316. %{__mkdir} -p $docdir
  317. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  318. %else
  319. # Create install.forced.php into Dolibarr install directory
  320. if [ "x$os" = "xubuntu-debian" ]
  321. then
  322. superuserlogin=''
  323. superuserpassword=''
  324. if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then
  325. # Load superuser login and pass
  326. superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g')
  327. superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g')
  328. fi
  329. echo Mysql superuser found to use is $superuserlogin
  330. %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig
  331. %{__chmod} -R 660 $installconfig
  332. fi
  333. %endif
  334. # Set correct owner on config files
  335. %{__chown} -R root:$apachegroup /etc/dolibarr/*
  336. # If a conf already exists and its content was already completed by installer
  337. export config=%{_sysconfdir}/dolibarr/conf.php
  338. if [ -s $config ] && grep -q "File generated by" $config
  339. then
  340. # File already exist. We add params not found.
  341. echo Add new params to overwrite path to use shared libraries/fonts
  342. grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
  343. grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
  344. #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
  345. grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
  346. grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
  347. #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
  348. #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
  349. grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
  350. grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
  351. grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
  352. grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
  353. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  354. grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
  355. %else
  356. %if 0%{?mdkversion}
  357. grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/TTF/dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
  358. %else
  359. %if 0%{?suse_version}
  360. grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/DejaVuSans-Bold.ttf'; ?>" >> $config
  361. %else
  362. grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
  363. %endif
  364. %endif
  365. %endif
  366. fi
  367. # Create config for SE Linux
  368. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
  369. %else
  370. if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then
  371. %endif
  372. %if 0%{?mdkversion} || 0%{?suse_version}
  373. %else
  374. echo Add SE Linux permissions for dolibarr
  375. # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
  376. semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)"
  377. semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)"
  378. restorecon -R -v /etc/dolibarr
  379. restorecon -R -v /var/lib/dolibarr
  380. %endif
  381. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
  382. %else
  383. fi
  384. %endif
  385. # Create a config link dolibarr.conf
  386. if [ ! -L $apachelink ]; then
  387. apachelinkdir=`dirname $apachelink`
  388. if [ -d $apachelinkdir ]; then
  389. echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink
  390. ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink
  391. else
  392. echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed
  393. fi
  394. fi
  395. echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr
  396. %{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr
  397. %{__chmod} -R o-w /var/lib/dolibarr
  398. # Restart web server
  399. echo Restart web server
  400. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  401. /sbin/service httpd restart
  402. %else
  403. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  404. %{_sysconfdir}/init.d/httpd restart
  405. fi
  406. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  407. %{_sysconfdir}/init.d/apache2 restart
  408. fi
  409. %endif
  410. # Restart mysql server
  411. echo Restart mysql server
  412. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  413. /sbin/service mysqld restart
  414. %else
  415. %if 0%{?suse_version}
  416. if [ -f /etc/init.d/mysqld ]; then
  417. /sbin/service mysqld restart
  418. #/etc/init.d/mysqld restart
  419. fi
  420. if [ -f /etc/init.d/mysql ]; then
  421. /sbin/service mysql restart
  422. #/etc/init.d/mysql restart
  423. fi
  424. %else
  425. if [ -f /etc/init.d/mysqld ]; then
  426. /etc/init.d/mysqld restart
  427. fi
  428. if [ -f /etc/init.d/mysql ]; then
  429. /etc/init.d/mysql restart
  430. fi
  431. %endif
  432. %endif
  433. # Show result
  434. echo
  435. echo "----- Dolibarr %version-%release - (c) Dolibarr dev team -----"
  436. echo "Dolibarr files are now installed (into /usr/share/dolibarr)."
  437. echo "To finish installation and use Dolibarr, click on the menu"
  438. echo "entry Dolibarr ERP-CRM or call the following page from your"
  439. echo "web browser:"
  440. echo "http://localhost/dolibarr/"
  441. echo "-------------------------------------------------------"
  442. echo
  443. #---- postun (after upgrade or uninstall)
  444. %postun
  445. if [ "x$1" = "x0" ] ;
  446. then
  447. # Remove
  448. echo "Removed package"
  449. # Define vars
  450. os='unknown';
  451. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  452. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  453. %else
  454. %if 0%{?suse_version}
  455. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  456. %else
  457. if [ -d %{_sysconfdir}/httpd/conf.d ]; then
  458. export os='fedora-redhat';
  459. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  460. fi
  461. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
  462. export os='opensuse';
  463. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  464. fi
  465. if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
  466. export os='mageia-mandriva';
  467. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  468. fi
  469. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
  470. export os='ubuntu-debian';
  471. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  472. fi
  473. %endif
  474. %endif
  475. # Remove apache link
  476. if [ -L $apachelink ] ;
  477. then
  478. echo "Delete apache config link for Dolibarr ($apachelink)"
  479. %{__rm} -f $apachelink
  480. status=purge
  481. fi
  482. # Restart web servers if required
  483. if [ "x$status" = "xpurge" ] ;
  484. then
  485. # Restart web server
  486. echo Restart web server
  487. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  488. /sbin/service httpd restart
  489. %else
  490. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  491. %{_sysconfdir}/init.d/httpd restart
  492. fi
  493. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  494. %{_sysconfdir}/init.d/apache2 restart
  495. fi
  496. %endif
  497. fi
  498. else
  499. # Upgrade
  500. echo "No remove action done (this is an upgrade)"
  501. fi
  502. # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
  503. %changelog
  504. * Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
  505. - Upstream release
  506. * Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
  507. - Upstream release
  508. * Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
  509. - Initial version (#723326)