dolibarr_generic.spec 22 KB

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