makepack-howto.txt 5.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ----- Dolibarr Makepack How To -----
  2. This documentation describe steps to build a BETA or RELEASE versions
  3. of Dolibarr. There is a chapter for BETA version and a chapter for RELEASE version.
  4. ***** Prerequisites For Linux *****
  5. Prerequisites to build tgz, debian and rpm packages:
  6. > apt-get install perl tar dpkg dpatch p7zip-full rpm zip php-cli
  7. Prerequisites to build autoexe DoliWamp package:
  8. > apt-get install wine q4wine
  9. > Launch "wine cmd" to check a drive Z: pointing to / exists.
  10. > Install InnoSetup
  11. For example by running isetup-5.5.8.exe (https://www.jrsoftware.org) https://files.jrsoftware.org/is/5/
  12. > Install WampServer into "C:\wamp64" to have Apache, PHP and MariaDB
  13. For example by running wampserver3.2.0_x64.exe (https://www.wampserver.com).
  14. See file build/exe/doliwamp.iss to know the doliwamp version currently setup.
  15. > Add path to ISCC into PATH windows var:
  16. Launch wine cmd, then regedit and add entry int HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\PATH
  17. > To build manually the .exe from Windows (running from makepack-dolibarr.pl script is however recommanded),
  18. open file build/exe/doliwamp.iss and click on button "Compile".
  19. The .exe file will be build into directory build.
  20. ***** Prerequisites For Windows *****
  21. Install Perl
  22. Install WampServer-3.2.*-64.exe
  23. isetup-5.5.8.exe
  24. ***** Actions to do a BETA *****
  25. This files describe steps made by Dolibarr packaging team to make a
  26. beta version of Dolibarr, step by step.
  27. - Check all files are commited.
  28. - Update version/info in ChangeLog, for this you can:
  29. To generate a changelog of a major new version x.y.0 (from a repo on branch develop), you can do "cd ~/git/dolibarr; git log `diff -u <(git rev-list --first-parent x.(y-1).0) <(git rev-list --first-parent develop) | sed -ne 's/^ //p' | head -1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  30. To generate a changelog of a major new version x.y.0 (from a repo on branch x.y repo), you can do "cd ~/git/dolibarr_x.y; git log `diff -u <(git rev-list --first-parent x.(y-1).0) <(git rev-list --first-parent x.y.0) | sed -ne 's/^ //p' | head -1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  31. To generate a changelog of a maintenance version x.y.z, you can do "cd ~/git/dolibarr_x.y; git log x.y.z-1.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  32. Recopy the content of the output file into the file ChangeLog.
  33. - Note: To know number of lines changes: git diff --shortstat A B
  34. - Update version number with x.y.z-w in file htdocs/filefunc.inc.php
  35. - Commit all changes.
  36. - Run makepack-dolibarr.pl to generate all packages.
  37. - Create a branch (x.y), if version seems stable enough.
  38. - Move build files into www.dolibarr.org web site
  39. (/home/dolibarr/wwwroot/files/lastbuild).
  40. - Post a news on dolibarr.org/dolibarr.fr + social networks
  41. ***** Actions to do a RELEASE *****
  42. This files describe steps made by Dolibarr packaging team to make a
  43. complete release of Dolibarr, step by step.
  44. - Check all files are commited.
  45. - Update version/info in ChangeLog, for this you can:
  46. To generate a changelog of a major new version x.y.0 (from a repo on branch develop), you can do "cd ~/git/dolibarr; git log `diff -u <(git rev-list --first-parent x.(y-1).0) <(git rev-list --first-parent develop) | sed -ne 's/^ //p' | head -1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  47. To generate a changelog of a major new version x.y.0 (from a repo pn branch x.y), you can do "cd ~/git/dolibarr_x.y; git log `diff -u <(git rev-list --first-parent x.(y-1).0) <(git rev-list --first-parent x.y.0) | sed -ne 's/^ //p' | head -1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  48. To generate a changelog of a maintenance version x.y.z, you can do "cd ~/git/dolibarr_x.y; git log x.y.z-1.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
  49. Recopy the content of the output file into the file ChangeLog.
  50. - Note: To know the number of lines changes: git diff --shortstat A B
  51. - Update version number with x.y.z in file htdocs/filefunc.inc.php
  52. - Commit all changes.
  53. - Run makepack-dolibarr.pl to generate all packages.
  54. - Check content of built packages.
  55. - Run makepack-dolibarr.pl again with option to publish files on
  56. dolibarr foundation server (Dir /home/dolibarr/wwwroot/files/stable on www.dolibarr.org).
  57. - Run makepack-dolibarr.pl again with option to publish files on
  58. sourceforge. This will also add official tag.
  59. - Edit symbolic links in directory "/home/dolibarr/wwwroot/files/stable/xxx"
  60. on server to point to new files (used by some web sites).
  61. - Post a news on dolibarr.org/dolibarr.fr + social networks