dolibarr_generic.spec 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579
  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/api
  205. %_datadir/dolibarr/htdocs/asterisk
  206. %_datadir/dolibarr/htdocs/barcode
  207. %_datadir/dolibarr/htdocs/bookmarks
  208. %_datadir/dolibarr/htdocs/cashdesk
  209. %_datadir/dolibarr/htdocs/categories
  210. %_datadir/dolibarr/htdocs/comm
  211. %_datadir/dolibarr/htdocs/commande
  212. %_datadir/dolibarr/htdocs/compta
  213. %_datadir/dolibarr/htdocs/conf
  214. %_datadir/dolibarr/htdocs/contact
  215. %_datadir/dolibarr/htdocs/contrat
  216. %_datadir/dolibarr/htdocs/core
  217. %_datadir/dolibarr/htdocs/cron
  218. %_datadir/dolibarr/htdocs/don
  219. %_datadir/dolibarr/htdocs/ecm
  220. %_datadir/dolibarr/htdocs/expedition
  221. %_datadir/dolibarr/htdocs/expensereport
  222. %_datadir/dolibarr/htdocs/exports
  223. %_datadir/dolibarr/htdocs/externalsite
  224. %_datadir/dolibarr/htdocs/fichinter
  225. %_datadir/dolibarr/htdocs/fourn
  226. %_datadir/dolibarr/htdocs/ftp
  227. %_datadir/dolibarr/htdocs/holiday
  228. %_datadir/dolibarr/htdocs/hrm
  229. %_datadir/dolibarr/htdocs/imports
  230. %_datadir/dolibarr/htdocs/includes
  231. %_datadir/dolibarr/htdocs/install
  232. %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
  233. %_datadir/dolibarr/htdocs/livraison
  234. %_datadir/dolibarr/htdocs/loan
  235. %_datadir/dolibarr/htdocs/mailmanspip
  236. %_datadir/dolibarr/htdocs/margin
  237. %_datadir/dolibarr/htdocs/multicurrency
  238. %_datadir/dolibarr/htdocs/opensurvey
  239. %_datadir/dolibarr/htdocs/paybox
  240. %_datadir/dolibarr/htdocs/paypal
  241. %_datadir/dolibarr/htdocs/printing
  242. %_datadir/dolibarr/htdocs/product
  243. %_datadir/dolibarr/htdocs/projet
  244. %_datadir/dolibarr/htdocs/public
  245. %_datadir/dolibarr/htdocs/resource
  246. %_datadir/dolibarr/htdocs/societe
  247. %_datadir/dolibarr/htdocs/supplier_proposal
  248. %_datadir/dolibarr/htdocs/support
  249. %_datadir/dolibarr/htdocs/theme
  250. %_datadir/dolibarr/htdocs/user
  251. %_datadir/dolibarr/htdocs/webservices
  252. %_datadir/dolibarr/htdocs/websites
  253. %_datadir/dolibarr/htdocs/*.ico
  254. %_datadir/dolibarr/htdocs/*.patch
  255. %_datadir/dolibarr/htdocs/*.php
  256. %_datadir/dolibarr/htdocs/*.txt
  257. %dir %{_sysconfdir}/dolibarr
  258. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  259. %defattr(0664, root, apache)
  260. %else
  261. %if 0%{?suse_version}
  262. %defattr(0664, root, www)
  263. %else
  264. %defattr(0664, root, -)
  265. %endif
  266. %endif
  267. %config(noreplace) %{_sysconfdir}/dolibarr/conf.php
  268. %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf
  269. %config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php
  270. %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr
  271. #---- post (after unzip during install)
  272. %post
  273. echo Run post script of packager dolibarr_generic.spec
  274. echo Detected constant fedora=0%{?fedora}
  275. echo Detected constant rhel_version=0%{?rhel_version}
  276. echo Detected constant centos_version=0%{?centos_version}
  277. echo Detected constant mdkversion=0%{?mdkversion}
  278. echo Detected constant suse_version=0%{?suse_version}
  279. # Define vars
  280. export docdir="/var/lib/dolibarr/documents"
  281. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  282. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  283. export apacheuser='apache';
  284. export apachegroup='apache';
  285. %else
  286. %if 0%{?suse_version}
  287. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  288. export apacheuser='wwwrun';
  289. export apachegroup='www';
  290. %else
  291. export installconfig="%{_sysconfdir}/dolibarr/install.forced.php"
  292. # Detect OS
  293. os='unknown';
  294. if [ -d %{_sysconfdir}/httpd/conf.d ]; then
  295. export os='fedora-redhat';
  296. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  297. export apacheuser='apache';
  298. export apachegroup='apache';
  299. fi
  300. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
  301. export os='opensuse';
  302. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  303. export apacheuser='wwwrun';
  304. export apachegroup='www';
  305. fi
  306. if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
  307. export os='mageia-mandriva';
  308. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  309. export apacheuser='apache';
  310. export apachegroup='apache';
  311. fi
  312. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
  313. export os='ubuntu-debian';
  314. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  315. export apacheuser='www-data';
  316. export apachegroup='www-data';
  317. fi
  318. echo OS detected: $os
  319. %endif
  320. %endif
  321. # Remove dolibarr install/upgrade lock file if it exists
  322. %{__rm} -f $docdir/install.lock
  323. # Create empty directory for uploaded files and generated documents
  324. echo Create document directory $docdir
  325. %{__mkdir} -p $docdir
  326. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  327. %else
  328. # Create install.forced.php into Dolibarr install directory
  329. if [ "x$os" = "xubuntu-debian" ]
  330. then
  331. superuserlogin=''
  332. superuserpassword=''
  333. if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then
  334. # Load superuser login and pass
  335. superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g')
  336. superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g')
  337. fi
  338. echo Mysql superuser found to use is $superuserlogin
  339. %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig
  340. %{__chmod} -R 660 $installconfig
  341. fi
  342. %endif
  343. # Set correct owner on config files
  344. %{__chown} -R root:$apachegroup /etc/dolibarr/*
  345. # If a conf already exists and its content was already completed by installer
  346. export config=%{_sysconfdir}/dolibarr/conf.php
  347. if [ -s $config ] && grep -q "File generated by" $config
  348. then
  349. # File already exist. We add params not found.
  350. echo Add new params to overwrite path to use shared libraries/fonts
  351. grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
  352. grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
  353. #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
  354. grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
  355. 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
  356. #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
  357. #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
  358. grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
  359. grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
  360. grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
  361. grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
  362. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
  363. 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
  364. %else
  365. %if 0%{?mdkversion}
  366. 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
  367. %else
  368. %if 0%{?suse_version}
  369. 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
  370. %else
  371. 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
  372. %endif
  373. %endif
  374. %endif
  375. fi
  376. # Create config for SE Linux
  377. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
  378. %else
  379. if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then
  380. %endif
  381. %if 0%{?mdkversion} || 0%{?suse_version}
  382. %else
  383. echo Add SE Linux permissions for dolibarr
  384. # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
  385. semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)"
  386. semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)"
  387. restorecon -R -v /etc/dolibarr
  388. restorecon -R -v /var/lib/dolibarr
  389. %endif
  390. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
  391. %else
  392. fi
  393. %endif
  394. # Create a config link dolibarr.conf
  395. if [ ! -L $apachelink ]; then
  396. apachelinkdir=`dirname $apachelink`
  397. if [ -d $apachelinkdir ]; then
  398. echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink
  399. ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink
  400. else
  401. echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed
  402. fi
  403. fi
  404. echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr
  405. %{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr
  406. %{__chmod} -R o-w /var/lib/dolibarr
  407. # Restart web server
  408. echo Restart web server
  409. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  410. /sbin/service httpd restart
  411. %else
  412. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  413. %{_sysconfdir}/init.d/httpd restart
  414. fi
  415. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  416. %{_sysconfdir}/init.d/apache2 restart
  417. fi
  418. %endif
  419. # Restart mysql server
  420. echo Restart mysql server
  421. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  422. /sbin/service mysqld restart
  423. %else
  424. %if 0%{?suse_version}
  425. if [ -f /etc/init.d/mysqld ]; then
  426. /sbin/service mysqld restart
  427. #/etc/init.d/mysqld restart
  428. fi
  429. if [ -f /etc/init.d/mysql ]; then
  430. /sbin/service mysql restart
  431. #/etc/init.d/mysql restart
  432. fi
  433. %else
  434. if [ -f /etc/init.d/mysqld ]; then
  435. /etc/init.d/mysqld restart
  436. fi
  437. if [ -f /etc/init.d/mysql ]; then
  438. /etc/init.d/mysql restart
  439. fi
  440. %endif
  441. %endif
  442. # Show result
  443. echo
  444. echo "----- Dolibarr %version-%release - (c) Dolibarr dev team -----"
  445. echo "Dolibarr files are now installed (into /usr/share/dolibarr)."
  446. echo "To finish installation and use Dolibarr, click on the menu"
  447. echo "entry Dolibarr ERP-CRM or call the following page from your"
  448. echo "web browser:"
  449. echo "http://localhost/dolibarr/"
  450. echo "-------------------------------------------------------"
  451. echo
  452. #---- postun (after upgrade or uninstall)
  453. %postun
  454. if [ "x$1" = "x0" ] ;
  455. then
  456. # Remove
  457. echo "Removed package"
  458. # Define vars
  459. os='unknown';
  460. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  461. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  462. %else
  463. %if 0%{?suse_version}
  464. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  465. %else
  466. if [ -d %{_sysconfdir}/httpd/conf.d ]; then
  467. export os='fedora-redhat';
  468. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  469. fi
  470. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
  471. export os='opensuse';
  472. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  473. fi
  474. if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
  475. export os='mageia-mandriva';
  476. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  477. fi
  478. if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
  479. export os='ubuntu-debian';
  480. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  481. fi
  482. %endif
  483. %endif
  484. # Remove apache link
  485. if [ -L $apachelink ] ;
  486. then
  487. echo "Delete apache config link for Dolibarr ($apachelink)"
  488. %{__rm} -f $apachelink
  489. status=purge
  490. fi
  491. # Restart web servers if required
  492. if [ "x$status" = "xpurge" ] ;
  493. then
  494. # Restart web server
  495. echo Restart web server
  496. %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
  497. /sbin/service httpd restart
  498. %else
  499. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  500. %{_sysconfdir}/init.d/httpd restart
  501. fi
  502. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  503. %{_sysconfdir}/init.d/apache2 restart
  504. fi
  505. %endif
  506. fi
  507. else
  508. # Upgrade
  509. echo "No remove action done (this is an upgrade)"
  510. fi
  511. # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
  512. %changelog
  513. __CHANGELOGSTRING__