dolibarr_generic.spec 22 KB

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