dolibarr_mandriva.spec 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  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. Release: __RELEASE__
  11. Summary: ERP and CRM software for small and medium companies or foundations
  12. Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones o autónomos
  13. Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
  14. Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
  15. License: GPL-3.0+
  16. #Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
  17. Vendor: Dolibarr dev team
  18. URL: http://www.dolibarr.org
  19. Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_mandriva/%{name}-%{version}.tgz
  20. Patch0: %{name}-forrpm.patch
  21. BuildArch: noarch
  22. BuildRoot: %{_tmppath}/%{name}-%{version}-build
  23. Group: Applications/Productivity
  24. 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
  25. Requires: mysql, mysql-client
  26. # Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse)
  27. AutoReqProv: no
  28. %description
  29. An easy to use CRM & ERP open source/free software for small
  30. and medium companies, foundations or freelances. It includes different
  31. features for Enterprise Resource Planning (ERP) and Customer Relationship
  32. Management (CRM) but also for different other activities.
  33. Dolibarr was designed to provide only features you need and be easy to
  34. use.
  35. %description -l es
  36. Un software ERP y CRM para pequeñas y medianas empresas, asociaciones
  37. o autónomos. Incluye diferentes funcionalidades para la Planificación
  38. de Recursos Empresariales (ERP) y Gestión de la Relación con los
  39. Clientes (CRM) así como para para otras diferentes actividades.
  40. Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades
  41. que necesita y haciendo hincapié en su facilidad de uso.
  42. %description -l fr
  43. Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
  44. artisans ou associations. Il permet de gérer vos clients, prospect,
  45. fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings
  46. et bien d'autres choses dans une interface pensée pour la simplicité.
  47. %description -l it
  48. Un programmo gestionale per piccole e medie
  49. imprese, fondazioni e liberi professionisti. Include varie funzionalità per
  50. Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori
  51. attività. Progettato per poter fornire solo ciò di cui hai bisogno
  52. ed essere facile da usare.
  53. Programmo web, progettato per poter fornire solo ciò di
  54. cui hai bisogno ed essere facile da usare.
  55. #---- prep
  56. %prep
  57. %setup -q
  58. %patch0 -p0 -b .patch
  59. #---- build
  60. %build
  61. # Nothing to build
  62. #---- install
  63. %install
  64. %{__rm} -rf $RPM_BUILD_ROOT
  65. %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  66. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php
  67. %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf
  68. %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr
  69. %{__install} -m 644 build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  70. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
  71. %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
  72. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
  73. #desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop
  74. %{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
  75. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  76. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  77. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs
  78. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
  79. %{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  80. %{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  81. %{__cp} -pr htdocs $RPM_BUILD_ROOT%{_datadir}/%{name}
  82. %{__cp} -pr scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
  83. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
  84. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
  85. # Lang
  86. echo "%defattr(0644, root, root, 0755)" > %{name}.lang
  87. echo "%dir %{_datadir}/%{name}/htdocs/langs" >> %{name}.lang
  88. for i in $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/langs/*_*
  89. do
  90. lang=$(basename $i)
  91. lang1=`expr substr $lang 1 2`;
  92. lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
  93. echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang
  94. if [ "$lang1" = "$lang2" ] ; then
  95. echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  96. else
  97. echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  98. fi
  99. done >>%{name}.lang
  100. #---- clean
  101. %clean
  102. %{__rm} -rf $RPM_BUILD_ROOT
  103. #---- files
  104. %files -f %{name}.lang
  105. %defattr(0755, root, root, 0755)
  106. %dir %_datadir/dolibarr
  107. %dir %_datadir/dolibarr/scripts
  108. %_datadir/dolibarr/scripts/*
  109. %defattr(-, root, root, 0755)
  110. %doc COPYING ChangeLog doc/index.html htdocs/langs/HOWTO-Translation.txt
  111. %_datadir/pixmaps/dolibarr.png
  112. %_datadir/applications/dolibarr.desktop
  113. %dir %_datadir/dolibarr/build
  114. %dir %_datadir/dolibarr/build/rpm
  115. %_datadir/dolibarr/build/rpm/*
  116. %dir %_datadir/dolibarr/build/tgz
  117. %_datadir/dolibarr/build/tgz/*
  118. %dir %_datadir/dolibarr/htdocs
  119. %_datadir/dolibarr/htdocs/accountancy
  120. %_datadir/dolibarr/htdocs/adherents
  121. %_datadir/dolibarr/htdocs/admin
  122. %_datadir/dolibarr/htdocs/api
  123. %_datadir/dolibarr/htdocs/asterisk
  124. %_datadir/dolibarr/htdocs/barcode
  125. %_datadir/dolibarr/htdocs/bookmarks
  126. %_datadir/dolibarr/htdocs/cashdesk
  127. %_datadir/dolibarr/htdocs/categories
  128. %_datadir/dolibarr/htdocs/comm
  129. %_datadir/dolibarr/htdocs/commande
  130. %_datadir/dolibarr/htdocs/compta
  131. %_datadir/dolibarr/htdocs/conf
  132. %_datadir/dolibarr/htdocs/contact
  133. %_datadir/dolibarr/htdocs/contrat
  134. %_datadir/dolibarr/htdocs/core
  135. %_datadir/dolibarr/htdocs/cron
  136. %_datadir/dolibarr/htdocs/don
  137. %_datadir/dolibarr/htdocs/ecm
  138. %_datadir/dolibarr/htdocs/expedition
  139. %_datadir/dolibarr/htdocs/expensereport
  140. %_datadir/dolibarr/htdocs/exports
  141. %_datadir/dolibarr/htdocs/externalsite
  142. %_datadir/dolibarr/htdocs/fichinter
  143. %_datadir/dolibarr/htdocs/fourn
  144. %_datadir/dolibarr/htdocs/ftp
  145. %_datadir/dolibarr/htdocs/holiday
  146. %_datadir/dolibarr/htdocs/hrm
  147. %_datadir/dolibarr/htdocs/imports
  148. %_datadir/dolibarr/htdocs/includes
  149. %_datadir/dolibarr/htdocs/install
  150. %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
  151. %_datadir/dolibarr/htdocs/livraison
  152. %_datadir/dolibarr/htdocs/loan
  153. %_datadir/dolibarr/htdocs/mailmanspip
  154. %_datadir/dolibarr/htdocs/margin
  155. %_datadir/dolibarr/htdocs/multicurrency
  156. %_datadir/dolibarr/htdocs/opensurvey
  157. %_datadir/dolibarr/htdocs/paybox
  158. %_datadir/dolibarr/htdocs/paypal
  159. %_datadir/dolibarr/htdocs/printing
  160. %_datadir/dolibarr/htdocs/product
  161. %_datadir/dolibarr/htdocs/projet
  162. %_datadir/dolibarr/htdocs/public
  163. %_datadir/dolibarr/htdocs/resource
  164. %_datadir/dolibarr/htdocs/societe
  165. %_datadir/dolibarr/htdocs/supplier_proposal
  166. %_datadir/dolibarr/htdocs/support
  167. %_datadir/dolibarr/htdocs/theme
  168. %_datadir/dolibarr/htdocs/user
  169. %_datadir/dolibarr/htdocs/webservices
  170. %_datadir/dolibarr/htdocs/websites
  171. %_datadir/dolibarr/htdocs/*.ico
  172. %_datadir/dolibarr/htdocs/*.patch
  173. %_datadir/dolibarr/htdocs/*.php
  174. %_datadir/dolibarr/htdocs/*.txt
  175. %dir %{_sysconfdir}/dolibarr
  176. %defattr(0664, root, apache)
  177. %config(noreplace) %{_sysconfdir}/dolibarr/conf.php
  178. %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf
  179. %config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php
  180. %config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr
  181. #---- post (after unzip during install)
  182. %post
  183. echo Run post script of packager dolibarr_mandriva.spec
  184. # Define vars
  185. export docdir="/var/lib/dolibarr/documents"
  186. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  187. export apacheuser='apache';
  188. export apachegroup='apache';
  189. # Remove dolibarr install/upgrade lock file if it exists
  190. %{__rm} -f $docdir/install.lock
  191. # Create empty directory for uploaded files and generated documents
  192. echo Create document directory $docdir
  193. %{__mkdir} -p $docdir
  194. # Set correct owner on config files
  195. %{__chown} -R root:$apachegroup /etc/dolibarr/*
  196. # If a conf already exists and its content was already completed by installer
  197. export config=%{_sysconfdir}/dolibarr/conf.php
  198. if [ -s $config ] && grep -q "File generated by" $config
  199. then
  200. # File already exist. We add params not found.
  201. echo Add new params to overwrite path to use shared libraries/fonts
  202. grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
  203. grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
  204. #grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
  205. grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
  206. 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
  207. #grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
  208. #grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
  209. grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
  210. grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
  211. grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
  212. grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
  213. 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
  214. fi
  215. # Create a config link dolibarr.conf
  216. if [ ! -L $apachelink ]; then
  217. apachelinkdir=`dirname $apachelink`
  218. if [ -d $apachelinkdir ]; then
  219. echo Create dolibarr web server config link from %{_sysconfdir}/dolibarr/apache.conf to $apachelink
  220. ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink
  221. else
  222. echo Do not create link $apachelink - web server conf dir $apachelinkdir not found. web server package may not be installed
  223. fi
  224. fi
  225. echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr
  226. %{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr
  227. %{__chmod} -R o-w /var/lib/dolibarr
  228. # Restart web server
  229. echo Restart web server
  230. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  231. %{_sysconfdir}/init.d/httpd restart
  232. fi
  233. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  234. %{_sysconfdir}/init.d/apache2 restart
  235. fi
  236. # Restart mysql
  237. echo Restart mysql
  238. if [ -f /etc/init.d/mysqld ]; then
  239. /etc/init.d/mysqld restart
  240. fi
  241. if [ -f /etc/init.d/mysql ]; then
  242. /etc/init.d/mysql restart
  243. fi
  244. # Show result
  245. echo
  246. echo "----- Dolibarr %version-%release - (c) Dolibarr dev team -----"
  247. echo "Dolibarr files are now installed (into /usr/share/dolibarr)."
  248. echo "To finish installation and use Dolibarr, click on the menu"
  249. echo "entry Dolibarr ERP-CRM or call the following page from your"
  250. echo "web browser:"
  251. echo "http://localhost/dolibarr/"
  252. echo "-------------------------------------------------------"
  253. echo
  254. #---- postun (after upgrade or uninstall)
  255. %postun
  256. if [ "x$1" = "x0" ] ;
  257. then
  258. # Remove
  259. echo "Removed package"
  260. # Define vars
  261. export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
  262. # Remove apache link
  263. if [ -L $apachelink ] ;
  264. then
  265. echo "Delete apache config link for Dolibarr ($apachelink)"
  266. %{__rm} -f $apachelink
  267. status=purge
  268. fi
  269. # Restart web servers if required
  270. if [ "x$status" = "xpurge" ] ;
  271. then
  272. # Restart web server
  273. echo Restart web server
  274. if [ -f %{_sysconfdir}/init.d/httpd ]; then
  275. %{_sysconfdir}/init.d/httpd restart
  276. fi
  277. if [ -f %{_sysconfdir}/init.d/apache2 ]; then
  278. %{_sysconfdir}/init.d/apache2 restart
  279. fi
  280. fi
  281. else
  282. # Upgrade
  283. echo "No remove action done (this is an upgrade)"
  284. fi
  285. # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
  286. %changelog
  287. __CHANGELOGSTRING__