dolibarr_opensuse.spec 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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_opensuse/%{name}-%{version}.tgz
  20. Patch0: %{name}-forrpm.patch
  21. BuildArch: noarch
  22. BuildRoot: %{_tmppath}/%{name}-%{version}-build
  23. Group: Productivity/Office/Management
  24. Requires: apache2, apache2-mod_php5, php5 >= 5.3.0, php5-gd, php5-ldap, php5-imap, php5-mysql, php5-openssl, dejavu
  25. Requires: mysql-community-server, mysql-community-server-client
  26. %if 0%{?suse_version}
  27. BuildRequires: update-desktop-files fdupes
  28. %endif
  29. # Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse)
  30. AutoReqProv: no
  31. %description
  32. An easy to use CRM & ERP open source/free software for small
  33. and medium companies, foundations or freelances. It includes different
  34. features for Enterprise Resource Planning (ERP) and Customer Relationship
  35. Management (CRM) but also for different other activities.
  36. Dolibarr was designed to provide only features you need and be easy to
  37. use.
  38. %description -l es
  39. Un software ERP y CRM para pequeñas y medianas empresas, asociaciones
  40. o autónomos. Incluye diferentes funcionalidades para la Planificación
  41. de Recursos Empresariales (ERP) y Gestión de la Relación con los
  42. Clientes (CRM) así como para para otras diferentes actividades.
  43. Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades
  44. que necesita y haciendo hincapié en su facilidad de uso.
  45. %description -l fr
  46. Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
  47. artisans ou associations. Il permet de gérer vos clients, prospect,
  48. fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings
  49. et bien d'autres choses dans une interface pensée pour la simplicité.
  50. %description -l it
  51. Un programmo gestionale per piccole e medie
  52. imprese, fondazioni e liberi professionisti. Include varie funzionalità per
  53. Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori
  54. attività. Progettato per poter fornire solo ciò di cui hai bisogno
  55. ed essere facile da usare.
  56. Programmo web, progettato per poter fornire solo ciò di
  57. cui hai bisogno ed essere facile da usare.
  58. #---- prep
  59. %prep
  60. %setup -q
  61. %patch0 -p0 -b .patch
  62. #---- build
  63. %build
  64. # Nothing to build
  65. #---- install
  66. %install
  67. %{__rm} -rf $RPM_BUILD_ROOT
  68. %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  69. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php
  70. %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf
  71. %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr
  72. %{__install} -m 644 build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php
  73. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
  74. %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
  75. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
  76. #desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop
  77. %{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
  78. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  79. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  80. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs
  81. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
  82. %{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm
  83. %{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
  84. %{__cp} -pr htdocs $RPM_BUILD_ROOT%{_datadir}/%{name}
  85. %{__cp} -pr scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
  86. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
  87. %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
  88. # Lang
  89. echo "%defattr(0644, root, root, 0755)" > %{name}.lang
  90. echo "%dir %{_datadir}/%{name}/htdocs/langs" >> %{name}.lang
  91. for i in $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/langs/*_*
  92. do
  93. lang=$(basename $i)
  94. lang1=`expr substr $lang 1 2`;
  95. lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
  96. echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang
  97. if [ "$lang1" = "$lang2" ] ; then
  98. echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  99. else
  100. echo "%lang(${lang}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
  101. fi
  102. done >>%{name}.lang
  103. %if 0%{?suse_version}
  104. # Enable this command to tag desktop file for suse
  105. %suse_update_desktop_file dolibarr
  106. # Enable this command to allow suse detection of duplicate files and create hardlinks instead
  107. %fdupes $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs
  108. %endif
  109. #---- clean
  110. %clean
  111. %{__rm} -rf $RPM_BUILD_ROOT
  112. #---- files
  113. %files -f %{name}.lang
  114. %defattr(0755, root, root, 0755)
  115. %dir %_datadir/dolibarr
  116. %dir %_datadir/dolibarr/scripts
  117. %_datadir/dolibarr/scripts/*
  118. %defattr(-, root, root, 0755)
  119. %doc COPYING ChangeLog doc/index.html htdocs/langs/HOWTO-Translation.txt
  120. %_datadir/pixmaps/dolibarr.png
  121. %_datadir/applications/dolibarr.desktop
  122. %dir %_datadir/dolibarr/build
  123. %dir %_datadir/dolibarr/build/rpm
  124. %_datadir/dolibarr/build/rpm/*
  125. %dir %_datadir/dolibarr/build/tgz
  126. %_datadir/dolibarr/build/tgz/*
  127. %dir %_datadir/dolibarr/htdocs
  128. %_datadir/dolibarr/htdocs/accountancy
  129. %_datadir/dolibarr/htdocs/adherents
  130. %_datadir/dolibarr/htdocs/admin
  131. %_datadir/dolibarr/htdocs/asterisk
  132. %_datadir/dolibarr/htdocs/bookmarks
  133. %_datadir/dolibarr/htdocs/boutique
  134. %_datadir/dolibarr/htdocs/cashdesk
  135. %_datadir/dolibarr/htdocs/categories
  136. %_datadir/dolibarr/htdocs/comm
  137. %_datadir/dolibarr/htdocs/commande
  138. %_datadir/dolibarr/htdocs/compta
  139. %_datadir/dolibarr/htdocs/conf
  140. %_datadir/dolibarr/htdocs/contact
  141. %_datadir/dolibarr/htdocs/contrat
  142. %_datadir/dolibarr/htdocs/core
  143. %_datadir/dolibarr/htdocs/cron
  144. %_datadir/dolibarr/htdocs/ecm
  145. %_datadir/dolibarr/htdocs/expedition
  146. %_datadir/dolibarr/htdocs/exports
  147. %_datadir/dolibarr/htdocs/externalsite
  148. %_datadir/dolibarr/htdocs/fichinter
  149. %_datadir/dolibarr/htdocs/fourn
  150. %_datadir/dolibarr/htdocs/ftp
  151. %_datadir/dolibarr/htdocs/holiday
  152. %_datadir/dolibarr/htdocs/imports
  153. %_datadir/dolibarr/htdocs/includes
  154. %_datadir/dolibarr/htdocs/install
  155. %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
  156. %_datadir/dolibarr/htdocs/livraison
  157. %_datadir/dolibarr/htdocs/mailmanspip
  158. %_datadir/dolibarr/htdocs/margin
  159. %_datadir/dolibarr/htdocs/opensurvey
  160. %_datadir/dolibarr/htdocs/paybox
  161. %_datadir/dolibarr/htdocs/paypal
  162. %_datadir/dolibarr/htdocs/printipp
  163. %_datadir/dolibarr/htdocs/product
  164. %_datadir/dolibarr/htdocs/projet
  165. %_datadir/dolibarr/htdocs/public
  166. %_datadir/dolibarr/htdocs/societe
  167. %_datadir/dolibarr/htdocs/support
  168. %_datadir/dolibarr/htdocs/theme
  169. %_datadir/dolibarr/htdocs/user
  170. %_datadir/dolibarr/htdocs/webservices
  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, www)
  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_opensuse.spec
  184. # Define vars
  185. export docdir="/var/lib/dolibarr/documents"
  186. export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
  187. export apacheuser='wwwrun';
  188. export apachegroup='www';
  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/truetype/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. /sbin/service mysqld restart
  240. fi
  241. if [ -f /etc/init.d/mysql ]; then
  242. /sbin/service 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}/apache2/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. * Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
  288. - Upstream release
  289. * Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
  290. - Upstream release
  291. * Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
  292. - Initial version (#723326)