Makefile 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121
  1. # $Id: Makefile,v 1.349 2022/09/15 08:43:25 gilles Exp gilles $
  2. .PHONY: help usage all doc
  3. help: usage
  4. usage:
  5. @echo " this is imapsync $(VERSION), You can do :"
  6. @echo "make testp # it shows needed Perl modules from your distro or CPAN"
  7. @echo "make install # as root"
  8. @echo ""
  9. @echo "All other goals are for the upstream developper"
  10. @echo "make testf # run tests"
  11. @echo "make testv # run tests verbosely"
  12. @echo "make test_quick # few tests verbosely"
  13. @echo "make win32testsbat # run --tests and W/test.bat on win32"
  14. @echo "make win32tests # run --tests on win32"
  15. @echo "make win32testsdebug # run --testsdebug on win32"
  16. @echo "make W/test2.bat # run W/test2.bat on win32"
  17. @echo "make W/test3.bat # run W/test3.bat on win32"
  18. @echo "make W/test_reg.bat # run W/test_reg.bat on win32"
  19. @echo "make W/test_exe.bat # run W/test_exe.bat on win32"
  20. @echo "make W/test_exe_tests.bat # run W/test_exe_tests.bat on win32"
  21. @echo "make W/test_exe_2.bat # run W/test_exe_2.bat on win32"
  22. @echo "make examples/sync_loop_windows.bat # run examples/sync_loop_windows.bat on win32"
  23. @echo "make W/install_modules.bat # run W/install_modules.bat on win32"
  24. @echo "make W/install_module_one.bat # run W/install_module_one.bat on win32"
  25. @echo "make W/install_module_ssl.bat # run W/install_module_ssl.bat on win32"
  26. @echo "make all "
  27. @echo "make upload_tests # upload tests.sh"
  28. @echo "make upload_index"
  29. @echo "make upload_FAQ # upload FAQs and documentation"
  30. @echo "make upload_X # upload online UI"
  31. @echo "make upload_csv # upload online CSV service"
  32. @echo "make upload_latest # upload latest imapsync and binaries (dev)"
  33. @echo "make upload_cgi # upload latest imapsync online, after local and remote --tests success."
  34. @echo "make upload_cgi_memo # upload cgi_memo stat_patterns.txt to /X servers."
  35. @echo "make valid_index # check index.shtml for good syntax"
  36. @echo "make upload_ks"
  37. @echo "make imapsync.exe"
  38. @echo "make bin # build mac & win & linux binaries"
  39. @echo "make mac # build mac binary"
  40. @echo "make win # build win binary"
  41. @echo "make lin # build linux binary"
  42. @echo "make publish"
  43. @echo "make crit # run perlcritic on imapsync"
  44. @echo "make prereq # Generates W/prereq.*"
  45. @echo "make cl # Check links of index.shtml"
  46. @echo "make cle # Check links of S/*.shtml"
  47. @echo "make mactestsdebug # run ./imapsync --testsdebug on Mac"
  48. @echo "make mactests # run ./imapsync --tests on Mac"
  49. @echo "make mactestslive # run ./imapsync --testslive on Mac"
  50. @echo "make ks5testsdebug # run ./imapsync --testsdebug on ks5"
  51. @echo "make ks5tests # run ./imapsync --tests on ks5"
  52. @echo "make ks5testslive # run ./imapsync --testslive on ks5"
  53. PREFIX ?= /usr
  54. DIST_PATH := dist2/
  55. VERSION := $(shell perl ./imapsync --version 2>/dev/null || cat VERSION)
  56. VERSION_PREVIOUS := $(shell perl ./$(DIST_PATH)/imapsync --version 2>/dev/null || echo ERROR)
  57. DIST_NAME := imapsync-$(VERSION)
  58. DIST_FILE := $(DIST_NAME).tgz
  59. DEB_FILE := $(DIST_NAME).deb
  60. HELLO := $(shell date;uname -a)
  61. HOSTNAME := $(shell hostname -s)
  62. ARCH := $(shell uname -m)
  63. KERNEL := $(shell uname -s)
  64. BIN_NAME := imapsync_bin_$(KERNEL)_$(ARCH)
  65. DISTRO_NAME := $(shell lsb_release -i -s || echo Unknown)
  66. DISTRO_RELEASE := $(shell lsb_release -r -s || echo 0.0)
  67. DISTRO_CODE := $(shell lsb_release -c -s || echo Unknown)
  68. DISTRO := $(DISTRO_NAME)_$(DISTRO_RELEASE)_$(DISTRO_CODE)
  69. hello:
  70. @echo "VERSION $(VERSION)"
  71. @echo "DIST_NAME $(DIST_NAME)"
  72. @echo "VERSION_PREVIOUS $(VERSION_PREVIOUS)"
  73. @echo "HOSTNAME $(HOSTNAME)"
  74. @echo "ARCH $(ARCH)"
  75. @echo "KERNEL $(KERNEL)"
  76. @echo "BIN_NAME $(BIN_NAME)"
  77. @echo "DISTRO $(DISTRO)"
  78. all: doc VERSION biz prereq allcritic
  79. testp:
  80. sh INSTALL.d/prerequisites_imapsync
  81. @perl -c imapsync || { echo; echo "Read the INSTALL file to solve Perl module dependencies!"; exit 1; }
  82. ChangeLog: imapsync
  83. rlog imapsync > ChangeLog
  84. README: imapsync
  85. pod2text --loose imapsync > README
  86. chmod -x README
  87. VERSION: imapsync
  88. rcsdiff imapsync
  89. ./imapsync --version > ./VERSION
  90. touch -r ./imapsync ./VERSION
  91. doc/GOOD_PRACTICES.html: doc/GOOD_PRACTICES.t2t
  92. txt2tags -i doc/GOOD_PRACTICES.t2t -t html --toc -o doc/GOOD_PRACTICES.html
  93. ./W/tools/validate_html4 doc/GOOD_PRACTICES.html
  94. ./W/tools/validate doc/GOOD_PRACTICES.html
  95. doc/TUTORIAL_Unix.html: doc/TUTORIAL_Unix.t2t
  96. txt2tags -i doc/TUTORIAL_Unix.t2t -t html --toc -o doc/TUTORIAL_Unix.html
  97. ./W/tools/validate_html4 doc/TUTORIAL_Unix.html
  98. ./W/tools/validate doc/TUTORIAL_Unix.html
  99. doc: README ChangeLog doc/TUTORIAL_Unix.html doc/GOOD_PRACTICES.html W/imapsync.1
  100. .PHONY: clean clean_tilde clean_test doc clean_log clean_bak clean_permissions clean_oauth2
  101. clean: clean_tilde clean_man clean_log clean_bak clean_permissions clean_oauth2
  102. clean_permissions:
  103. chmod a-x Makefile FAQ.d/FAQ.*.txt README_Windows.txt
  104. chmod a-x FAQ.d/RCS/FAQ.*.txt,v
  105. chmod a-x INSTALL.d/INSTALL.*.txt
  106. chmod a-x X/progress.html X/imapsync_form.html
  107. chmod a-x S/*.shtml S/*.html index.shtml S/RCS/*.shtml,v S/RCS/*.html,v
  108. chmod a-x doc/*.t2t $(DIST_PATH)/*.txt
  109. clean_test:
  110. rm -f .test_3xx
  111. clean_tilde:
  112. rm -f *~ W/*~ FAQ.d/*~ S/*~ INSTALL.d/*~ examples/*~
  113. clean_log:
  114. rm -f LOG_imapsync/*.txt
  115. rm -f examples/LOG_imapsync/*.txt
  116. clean_bak:
  117. rm -f index.shtml.bak ./S/style.css.bak
  118. clean_oauth2:
  119. rm -f oauth2/typescript oauth2/D_*txt
  120. .PHONY: install dist man
  121. man: W/imapsync.1
  122. clean_man:
  123. rm -f W/imapsync.1
  124. W/imapsync.1: imapsync
  125. mkdir -p W
  126. pod2man imapsync > W/imapsync.1
  127. install: testp W/imapsync.1
  128. mkdir -p $(DESTDIR)$(PREFIX)/bin
  129. install imapsync $(DESTDIR)$(PREFIX)/bin/imapsync
  130. chmod 755 $(DESTDIR)$(PREFIX)/bin/imapsync
  131. mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
  132. install W/imapsync.1 $(DESTDIR)$(PREFIX)/share/man/man1/imapsync.1
  133. chmod 644 $(DESTDIR)$(PREFIX)/share/man/man1/imapsync.1
  134. ###############
  135. # Local goals
  136. ###############
  137. .PHONY: dailybuild dailytests prereq test tests unitests testp testf test3xx perlcritic allcritic crit compok dev cover tidy nytprof functree
  138. dev: test functree crit cover nytprof bin
  139. dailytests: linuxtests win32tests win64tests mactests
  140. dailybuild: linuxbuild win32build win64build macbuild
  141. linuxtests:
  142. ./imapsync --tests
  143. linuxtestsdebug:
  144. ./imapsync --testsdebug
  145. testsdebug: linuxtestsdebug win64testsdebug win32testsdebug mactestsdebug
  146. testslive: mactestslive
  147. docker:
  148. @echo "make docker_copy_to_vp3 # copy imapsync Dockerfile memo_docker to vp3"
  149. @echo "make docker_build # build the imapsync docker image"
  150. @echo "make docker_upload_docker_hub # upload last build to https://hub.docker.com/r/gilleslamiral/imapsync"
  151. @echo "ssh vp3 THEN cd docker/imapsync && . memo_docker"
  152. docker_build: docker_copy_to_vp3
  153. ssh vp3 'cd docker/imapsync && . memo_docker && imapsync_docker_build'
  154. docker_copy_to_vp3:
  155. ssh vp3 'mkdir -p docker/imapsync/ var/pass/'
  156. rsync -av /g/var/pass/secret.docker vp3:var/pass/secret.docker
  157. rsync -av imapsync INSTALL.d/Dockerfile INSTALL.d/memo_docker INSTALL.d/prerequisites_imapsync INSTALL.d/secret.txt vp3:docker/imapsync/
  158. rsync -av RCS/imapsync,v INSTALL.d/RCS/Dockerfile,v INSTALL.d/RCS/memo_docker,v vp3:docker/imapsync/RCS/
  159. docker_upload_docker_hub: docker_build
  160. ssh vp3 'cd docker/imapsync && . memo_docker && imapsync_docker_upload'
  161. functree: W/imapsync_functions_tree_ppi.txt W/imapsync_functions_tree.txt
  162. W/imapsync_functions_tree_ppi.txt: imapsync
  163. perl ./W/learn/function_calls_ppi ./imapsync > W/imapsync_functions_tree_ppi.txt
  164. rcsdiff W/imapsync_functions_tree_ppi.txt || { echo 'rcsdiff detected a diff' | ci -l W/imapsync_functions_tree_ppi.txt ; }
  165. W/imapsync_functions_tree.txt: imapsync
  166. perl ./W/learn/function_calls ./imapsync > W/imapsync_functions_tree.txt
  167. rcsdiff W/imapsync_functions_tree.txt || { echo 'rcsdiff detected a diff' | ci -l W/imapsync_functions_tree.txt ; }
  168. nytprof: nytprof_clean
  169. sh tests.sh ll_nytprof
  170. nytprofhtml
  171. nytprof_clean:
  172. rm -rfv nytprof/
  173. cover:
  174. perl -c ./imapsync
  175. perl -MDevel::Cover ./imapsync --tests --testslive
  176. cover
  177. tidy: W/imapsync.tdy
  178. W/imapsync.tdy: imapsync
  179. perltidy -i=8 -sts -pt=0 -l=0 -o W/imapsync.tdy imapsync
  180. compok: W/.compok
  181. W/.compok: imapsync
  182. perl -c imapsync
  183. date >> W/.compok
  184. prereq: W/prereq.scandeps.$(DISTRO).txt W/prereq.$(DISTRO).txt
  185. W/prereq.scandeps.$(DISTRO).txt: INSTALL.d/prerequisites_imapsync imapsync
  186. scandeps -c -x imapsync | tee W/prereq.scandeps.$(DISTRO).txt
  187. rcsdiff W/prereq.scandeps.$(DISTRO).txt || { echo 'rcsdiff detected a diff' | ci -l W/prereq.scandeps.$(DISTRO).txt ; }
  188. W/prereq.$(DISTRO).txt: INSTALL.d/prerequisites_imapsync imapsync
  189. ./INSTALL.d/prerequisites_imapsync | tee W/prereq.$(DISTRO).txt
  190. rcsdiff W/prereq.$(DISTRO).txt || { echo 'rcsdiff detected a diff' | ci -l W/prereq.$(DISTRO).txt ; }
  191. crit: allcritic
  192. perlcritic: W/perlcritic_3.txt W/perlcritic_2.txt
  193. allcritic: W/perlcritic_4.txt W/perlcritic_3.txt W/perlcritic_2.txt W/perlcritic_1.txt
  194. W/perlcritic_1.txt: imapsync W/.compok
  195. perlcritic --statistics -1 imapsync > W/perlcritic_1.txt.tmp || :
  196. mv W/perlcritic_1.txt.tmp W/perlcritic_1.txt
  197. echo | ci -l W/perlcritic_1.txt
  198. W/perlcritic_2.txt: imapsync W/.compok
  199. perlcritic --statistics-only -2 imapsync > W/perlcritic_2.txt.tmp || :
  200. mv W/perlcritic_2.txt.tmp W/perlcritic_2.txt
  201. echo | ci -l W/perlcritic_2.txt
  202. W/perlcritic_3.txt: imapsync W/.compok
  203. perlcritic --statistics-only -3 imapsync > W/perlcritic_3.txt.tmp || :
  204. mv W/perlcritic_3.txt.tmp W/perlcritic_3.txt
  205. echo | ci -l W/perlcritic_3.txt
  206. W/perlcritic_4.txt: imapsync W/.compok
  207. perlcritic --statistics -4 imapsync > W/perlcritic_4.txt.tmp || :
  208. mv W/perlcritic_4.txt.tmp W/perlcritic_4.txt
  209. echo | ci -l W/perlcritic_4.txt
  210. test_quick: imapsync tests.sh
  211. /usr/bin/time sh -x tests.sh locallocal
  212. testv: imapsync tests.sh
  213. /usr/bin/time sh tests.sh
  214. tests: test
  215. test: .tests_passed
  216. # .tests_passed is created by tests.sh with success at all mandatory tests
  217. .tests_passed: imapsync
  218. /usr/bin/time sh tests.sh 1>/dev/null
  219. unitests:
  220. ./imapsync --tests
  221. testf: clean_test test
  222. .PHONY: dosify_bat
  223. dosify_bat:
  224. unix2dos W/*.bat examples/*.bat
  225. copy_win32:
  226. scp imapsync Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  227. .PHONY: win32testsbat win32tests win32testsdebug
  228. win32testsbat:
  229. unix2dos W/test.bat
  230. scp imapsync W/test.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  231. # ssh Admin@c 'perl C:/msys/1.0/home/Admin/imapsync/imapsync --testsdebug'
  232. ssh Admin@c 'perl C:/msys/1.0/home/Admin/imapsync/imapsync --tests'
  233. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test.bat'
  234. # ssh Admin@c 'tasklist /FI "PID eq 0"'
  235. # ssh Admin@c 'tasklist /NH /FO CSV'
  236. win32tests:
  237. unix2dos W/test_tests.bat
  238. scp imapsync W/test_tests.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  239. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_tests.bat'
  240. ./W/check_winerr test_tests.bat
  241. win32testsdebug:
  242. unix2dos W/test_testsdebug.bat
  243. scp imapsync W/test_testsdebug.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  244. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_testsdebug.bat'
  245. ./W/check_winerr test_testsdebug.bat
  246. .PHONY: W/*.bat examples/*
  247. examples/sync_loop_windows.bat:
  248. unix2dos examples/sync_loop_windows.bat
  249. scp imapsync examples/file.txt examples/sync_loop_windows.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  250. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/sync_loop_windows.bat --nodry --dry --nodry'
  251. examples/infinite_loop_windows.bat:
  252. unix2dos examples/infinite_loop_windows.bat
  253. scp examples/infinite_loop_windows.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  254. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/infinite_loop_windows.bat'
  255. W/test2.bat:
  256. unix2dos W/test2.bat
  257. scp imapsync W/test2.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  258. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test2.bat'
  259. W/test3.bat:
  260. unix2dos W/test3.bat
  261. scp imapsync W/test3.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  262. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test3.bat'
  263. W/test_reg.bat:
  264. unix2dos W/test_reg.bat
  265. scp imapsync W/test_reg.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  266. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_reg.bat'
  267. W/test_xoauth2.bat:
  268. unix2dos W/test_xoauth2.bat
  269. scp imapsync W/test_xoauth2.bat /g/var/pass/imapsync-xoauth2-15f8456ad5b7_notasecret.p12 /fb/i/secret.xoauth2 Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  270. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_xoauth2.bat'
  271. W/test_exe_2.bat:
  272. unix2dos W/test_exe_2.bat
  273. scp imapsync W/test_exe_2.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  274. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe_2.bat'
  275. W/test3_gmail.bat:
  276. unix2dos W/test3_gmail.bat
  277. scp imapsync W/test3_gmail.bat /g/var/pass/secret.gilles_gmail Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  278. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test3_gmail.bat'
  279. test_exe: W/test_exe.bat
  280. W/test_exe.bat:
  281. unix2dos W/test_exe.bat
  282. scp W/test_exe.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  283. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
  284. ./W/check_winerr test_exe.bat
  285. W/test_exe_tests.bat:
  286. unix2dos W/test_exe_tests.bat
  287. scp W/test_exe_tests.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  288. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe_tests.bat'
  289. ./W/check_winerr test_exe_tests.bat
  290. W/build_exe.bat:
  291. unix2dos W/build_exe.bat
  292. scp W/build_exe.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  293. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
  294. ./W/check_winerr build_exe.bat
  295. W/learn_func.bat:
  296. unix2dos W/learn_func.bat
  297. scp W/learn_func.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  298. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/learn_func.bat'
  299. ./W/check_winerr learn_func.bat
  300. W/install_modules.bat:
  301. unix2dos W/install_modules.bat
  302. scp W/install_modules.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  303. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/install_modules.bat'
  304. ./W/check_winerr install_modules.bat
  305. W/install_module_ssl.bat:
  306. scp W/install_module_ssl.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  307. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/install_module_ssl.bat'
  308. W/install_module_one.bat:
  309. unix2dos W/install_module_one.bat
  310. scp W/install_module_one.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  311. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/install_module_one.bat'
  312. W/uninstall_module_one.bat:
  313. unix2dos W/uninstall_module_one.bat
  314. scp W/uninstall_module_one.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  315. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/uninstall_module_one.bat'
  316. imapsync_32bit.exe: imapsync
  317. rcsdiff imapsync
  318. ssh Admin@c 'perl -V'
  319. (date "+%s"| tr "\n" " "; echo -n "BEGIN 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  320. unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat
  321. scp imapsync W/build_exe.bat W/test_exe.bat W/install_modules.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  322. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
  323. ./W/check_winerr build_exe.bat
  324. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
  325. ./W/check_winerr test_exe.bat
  326. rm -f imapsync_32bit.exe
  327. scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe' .
  328. chmod a+r+x imapsync_32bit.exe
  329. (date "+%s"| tr "\n" " "; echo -n "END 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  330. 32exe: imapsync
  331. (date "+%s"| tr "\n" " "; echo -n "BEGIN 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  332. scp imapsync W/build_exe.bat W/install_modules.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
  333. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
  334. ./W/check_winerr build_exe.bat
  335. ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe --justbanner'
  336. rm -f imapsync_32bit.exe
  337. scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe' .
  338. chmod a+r+x imapsync_32bit.exe
  339. (date "+%s"| tr "\n" " "; echo -n "END 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  340. win64tests: win64tests_p26
  341. win64tests_p24:
  342. unix2dos W/test_tests.bat
  343. scp imapsync W/test_tests.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  344. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_tests.bat'
  345. ./W/check_win64err test_tests.bat
  346. win64testsdebug_p24:
  347. unix2dos W/test_testsdebug.bat
  348. scp imapsync W/test_testsdebug.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  349. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_testsdebug.bat'
  350. ./W/check_win64err test_testsdebug.bat
  351. win64testsdebug: win64testsdebug_p26
  352. win64testsdebug_p26:
  353. unix2dos W/test_testsdebug.bat
  354. scp imapsync W/test_testsdebug.bat gille@p26:'OneDrive\Bureau\imapsync_build'
  355. ssh gille@p26 'OneDrive\Bureau\imapsync_build\test_testsdebug.bat'
  356. ./W/check_p26err test_testsdebug.bat
  357. win64tests_p26:
  358. unix2dos W/test_tests.bat
  359. scp imapsync W/test_tests.bat gille@p26:'OneDrive\Bureau\imapsync_build'
  360. ssh gille@p26 'OneDrive\Bureau\imapsync_build\test_tests.bat'
  361. ./W/check_p26err test_tests.bat
  362. win64_test_exe_always_fail_p26:
  363. unix2dos W/test_exe_always_fail.bat
  364. scp W/test_exe_always_fail.bat gille@p26:'OneDrive\Bureau\imapsync_build'
  365. ssh gille@p26 'OneDrive\Bureau\imapsync_build\test_exe_always_fail.bat'
  366. ./W/check_p26err test_exe_always_fail.bat
  367. win64_test_always_fail_p26:
  368. unix2dos W/test_exe_always_fail.bat
  369. scp imapsync W/test_always_fail.bat gille@p26:'OneDrive\Bureau\imapsync_build'
  370. ssh gille@p26 'OneDrive\Bureau\imapsync_build\test_always_fail.bat'
  371. ./W/check_p26err test_always_fail.bat
  372. zzz:
  373. unix2dos W/build_exe.bat W/install_module_one.bat
  374. scp imapsync W/build_exe.bat W/install_module_one.bat W/test_exe_testsdebug.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  375. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
  376. ./W/check_win64err build_exe.bat
  377. zzz2:
  378. unix2dos W/test_exe_testsdebug.bat W/test_exe_tests.bat
  379. scp W/test_exe_testsdebug.bat W/test_exe_tests.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  380. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_exe_testsdebug.bat'
  381. ./W/check_win64err test_exe_testsdebug.bat
  382. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_exe_tests.bat'
  383. ./W/check_win64err test_exe_tests.bat
  384. W/test_ipv6.bat:
  385. unix2dos W/test_ipv6.bat
  386. scp W/test_ipv6.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  387. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_ipv6.bat'
  388. W/test_namespace.bat:
  389. unix2dos W/test_namespace.bat
  390. scp W/test_namespace.bat ../../var/pass/secret.outlook.com pc_HP_DV7_p24:'Desktop/imapsync_build'
  391. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_namespace.bat'
  392. W/test4.bat:
  393. unix2dos W/test4.bat
  394. scp W/test4.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  395. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test4.bat'
  396. W/test5.bat:
  397. unix2dos W/test5.bat
  398. scp W/test5.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  399. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test5.bat'
  400. W/test6.bat:
  401. unix2dos W/test6.bat
  402. scp W/test6.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
  403. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test6.bat'
  404. W/test_abort.bat:
  405. unix2dos W/test_abort.bat
  406. scp W/test_abort.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
  407. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_abort.bat'
  408. W/test_tail.bat:
  409. unix2dos W/test_tail.bat
  410. scp W/test_tail.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
  411. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_tail.bat'
  412. win64sshaccess:
  413. ssh 'pc HP DV7'@p24 'perl -V'
  414. winprepalocal:
  415. unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat W/install_module_one.bat
  416. win64prepa: winprepalocal
  417. ssh 'pc HP DV7'@p24 'perl -V'
  418. scp imapsync W/build_exe.bat W/install_modules.bat W/install_module_one.bat \
  419. W/test_exe_tests.bat W/test_exe_testsdebug.bat W/test_exe.bat \
  420. pc_HP_DV7_p24:'Desktop/imapsync_build'
  421. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
  422. ./W/check_win64err build_exe.bat
  423. win64build_p24: winprepalocal
  424. scp imapsync W/build_exe.bat W/install_modules.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
  425. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
  426. ./W/check_win64err build_exe.bat
  427. imapsync.exe: imapsync_64bit.exe_p26
  428. cp -a imapsync_64bit.exe_p26 imapsync.exe
  429. win64build: imapsync_64bit.exe_p26
  430. win64build_p26: winprepalocal
  431. scp imapsync W/build_exe.bat W/install_modules.bat gille@p26:'OneDrive\Bureau\imapsync_build'
  432. ssh gille@p26 'OneDrive\Bureau\imapsync_build\build_exe.bat'
  433. ./W/check_win64err build_exe.bat
  434. .PHONY: imapsync_64bit.exe_p24 imapsync_64bit.exe_p26
  435. 64exe: imapsync_64bit.exe_p26
  436. imapsync_64bit.exe_p26: imapsync
  437. (date "+%s"| tr "\n" " "; echo -n "BEGIN 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  438. unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat W/install_module_one.bat
  439. ssh gille@p26 'perl -V'
  440. ssh gille@p26 'if not exist OneDrive\Bureau\imapsync_build mkdir OneDrive\Bureau\imapsync_build'
  441. scp imapsync W/build_exe.bat W/install_modules.bat W/install_module_one.bat \
  442. W/test_exe_tests.bat W/test_exe_testsdebug.bat W/test_exe.bat \
  443. gille@p26:'OneDrive\Bureau\imapsync_build'
  444. ssh gille@p26 'OneDrive\Bureau\imapsync_build\build_exe.bat'
  445. ./W/check_p26err build_exe.bat
  446. scp ../../var/pass/secret.tata ../../var/pass/secret.titi gille@p26:'OneDrive\Bureau\imapsync_build'
  447. ssh gille@p26 'OneDrive\Bureau\imapsync_build\test_exe.bat'
  448. ./W/check_p26err test_exe.bat
  449. rm -f imapsync_64bit.exe
  450. scp -T gille@p26:'OneDrive\Bureau\imapsync_build\imapsync_64bit.exe' .
  451. chmod a+r+x imapsync_64bit.exe
  452. (date "+%s"| tr "\n" " "; echo -n "END 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  453. imapsync_64bit.exe_p24: imapsync
  454. (date "+%s"| tr "\n" " "; echo -n "BEGIN 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  455. unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat W/install_module_one.bat
  456. ssh 'pc HP DV7'@p24 'perl -V'
  457. scp imapsync W/build_exe.bat W/install_modules.bat W/install_module_one.bat \
  458. W/test_exe_tests.bat W/test_exe_testsdebug.bat W/test_exe.bat \
  459. pc_HP_DV7_p24:'Desktop/imapsync_build'
  460. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
  461. ./W/check_win64err build_exe.bat
  462. ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_exe.bat'
  463. ./W/check_win64err test_exe.bat
  464. rm -f imapsync_64bit.exe
  465. scp pc_HP_DV7_p24:'Desktop/imapsync_build/imapsync_64bit.exe' .
  466. chmod a+r+x imapsync_64bit.exe
  467. (date "+%s"| tr "\n" " "; echo -n "END 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
  468. zip: dosify_bat cidone
  469. rm -rfv ../prepa_zip/imapsync_$(VERSION)/
  470. mkdir -p ../prepa_zip/imapsync_$(VERSION)/FAQ.d/ ../prepa_zip/imapsync_$(VERSION)/Cook/
  471. cp -av examples/imapsync_example.bat examples/sync_loop_windows.bat examples/file.txt ../prepa_zip/imapsync_$(VERSION)/
  472. cp -av W/build_exe.bat W/install_modules.bat W/test_cook_exe.bat W/test_cook_src.bat imapsync ../prepa_zip/imapsync_$(VERSION)/Cook/
  473. cp -av README.txt ../prepa_zip/imapsync_$(VERSION)/
  474. cp -av FAQ.d/*.txt ../prepa_zip/imapsync_$(VERSION)/FAQ.d/
  475. cp -av imapsync.exe imapsync_32bit.exe README_Windows.txt ../prepa_zip/imapsync_$(VERSION)/
  476. unix2dos ../prepa_zip/imapsync_$(VERSION)/*.txt
  477. cd ../prepa_zip/ && rm -f ./imapsync_$(VERSION).zip && zip -r ./imapsync_$(VERSION).zip ./imapsync_$(VERSION)/
  478. scp ../prepa_zip/imapsync_$(VERSION).zip Admin@c:'C:/msys/1.0/home/Admin/'
  479. # scp ../prepa_zip/imapsync_$(VERSION).zip pc_HP_DV7_p24:'Desktop/'
  480. cp ../prepa_zip/imapsync_$(VERSION).zip /fe/imapsync/
  481. # C:\Users\mansour\Desktop\imapsync
  482. .PHONY: mac macstadiumcopy maccopy macforce mactests mactestsdebug mactestslive mactestslive6 bin win lin win64
  483. mac: imapsync_bin_Darwin
  484. macstadiumcopy:
  485. rsync -pv imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync webserver administrator@macstadium.lamiral.info:
  486. rsync -pv examples/file.txt examples/sync_loop_darwin.sh administrator@macstadium.lamiral.info:examples/
  487. rsync -pv X/ administrator@macstadium.lamiral.info:X/
  488. maccopy:
  489. rsync -v -p -e 'ssh -4 -p 995' imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync webserver \
  490. gilleslamira@gate.polarhome.com:
  491. rsync -v -p -e 'ssh -4 -p 995' examples/file.txt examples/sync_loop_darwin.sh gilleslamira@gate.polarhome.com:examples/
  492. rsync -v -p -e 'ssh -4 -p 995' X/ gilleslamira@gate.polarhome.com:X/
  493. macforce: maccopy
  494. ssh -4 -p 995 gilleslamira@gate.polarhome.com 'sh -x build_mac.sh'
  495. imapsync_bin_Darwin: maccopy imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync
  496. rcsdiff imapsync
  497. ssh -4 -p 995 gilleslamira@gate.polarhome.com 'sh -x build_mac.sh'
  498. rsync -P -e 'ssh -4 -p 995' gilleslamira@gate.polarhome.com:imapsync_bin_Darwin .
  499. mactests:
  500. rsync -p -e 'ssh -4 -p 995' imapsync gilleslamira@gate.polarhome.com:
  501. ssh -4 -p 995 gilleslamira@gate.polarhome.com '. .bash_profile; perl imapsync --tests'
  502. mactestsdebug:
  503. rsync -p -e 'ssh -4 -p 995' imapsync gilleslamira@gate.polarhome.com:
  504. ssh -4 -p 995 gilleslamira@gate.polarhome.com '. .bash_profile; perl imapsync --testsdebug --debug'
  505. mactestslive:
  506. rsync -p -e 'ssh -4 -p 995' imapsync gilleslamira@gate.polarhome.com:
  507. ssh -4 -p 995 gilleslamira@gate.polarhome.com '. .bash_profile; perl imapsync --testslive'
  508. mactestslive6:
  509. rsync -p -e 'ssh -4 -p 995' imapsync gilleslamira@gate.polarhome.com:
  510. ssh -4 -p 995 gilleslamira@gate.polarhome.com '. .bash_profile; perl imapsync --testslive6'
  511. macstests:
  512. rsync -pv imapsync administrator@macstadium.lamiral.info:
  513. ssh administrator@macstadium.lamiral.info '. .bash_profile; perl imapsync --tests'
  514. macstestsdebug:
  515. rsync -pv imapsync administrator@macstadium.lamiral.info:
  516. ssh administrator@macstadium.lamiral.info '. .bash_profile; perl imapsync --testsdebug'
  517. .PHONY: bin win lin win32 win64
  518. bin: mac win
  519. lin: $(BIN_NAME)
  520. win: win32 win64 imapsync.exe
  521. win32: imapsync_32bit.exe
  522. win64: imapsync_64bit.exe
  523. win32build: imapsync_32bit.exe
  524. linuxbuild: lin
  525. $(BIN_NAME): imapsync
  526. rcsdiff imapsync
  527. { pp -x -o $(BIN_NAME) \
  528. imapsync ; \
  529. }
  530. # Maybe add -M Test2::Event::Info Mail::IMAPClient \
  531. #-M Net::SSLeay -M IO::Socket -M IO::Socket::INET6 -M IO::Socket::SSL \
  532. #-M Digest::MD5 -M Digest::HMAC_MD5 -M Term::ReadKey \
  533. #-M Authen::NTLM -M HTML::Entities -M JSON::WebToken \
  534. #-M Test2::Event -M Test2::Formatter -M Test2::Formatter::TAP \
  535. ./$(BIN_NAME)
  536. ./$(BIN_NAME) --tests
  537. ./$(BIN_NAME) --testslive
  538. ./$(BIN_NAME) --justbanner
  539. .PHONY: tarball cidone ci
  540. tarball: cidone
  541. echo making tarball ../prepa_dist/$(DIST_FILE)
  542. mkdir -p dist
  543. mkdir -p ../prepa_dist/$(DIST_NAME)
  544. rsync -aCvH --delete --delete-excluded --omit-dir-times --exclude $(DIST_PATH) --exclude-from=W/rsync_exclude_dist.txt ./ ../prepa_dist/$(DIST_NAME)/
  545. cd ../prepa_dist && tar czfv $(DIST_FILE) $(DIST_NAME)
  546. cd ../prepa_dist && md5sum $(DIST_FILE) > $(DIST_FILE).md5.txt
  547. cd ../prepa_dist && md5sum -c $(DIST_FILE).md5.txt
  548. ls -l ../prepa_dist/$(DIST_FILE)
  549. ci: cidone
  550. cidone: auto_ci
  551. rcsdiff X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt X/imapsync_form.* X/imapsync_form_extra.html X/noscript.css
  552. rcsdiff W/*.bat W/*.sh W/*.txt W/*.htaccess
  553. cd W && rcsdiff RCS/*
  554. cd oauth2 && rcsdiff RCS/*
  555. rcsdiff doc/*.t2t
  556. rcsdiff INSTALL.d/*.txt INSTALL.d/prerequisites_imapsync
  557. rcsdiff FAQ.d/*.txt
  558. rcsdiff examples/*.sh examples/*.bat examples/*.txt
  559. cd examples && rcsdiff RCS/*
  560. rcsdiff W/tools/backup_old_dist W/tools/gen_README_dist W/tools/validate_html4 W/tools/validate_xml_html5 W/tools/fix_email_for_exchange.py
  561. rcsdiff S/*.txt S/*.shtml S/*.html
  562. rcsdiff RCS/*
  563. dist: cidone test clean all dist_prepa dist_zip README_dist
  564. md5:
  565. cd $(DIST_PATH)/ && md5sum *
  566. sha:
  567. cd $(DIST_PATH)/ && sha512sum *
  568. .PHONY: moveoldrelease ks5testsdebug ks5tests README_dist docker_pull_count
  569. moveoldrelease:
  570. ./W/tools/backup_old_dist $(DIST_PATH)
  571. dist_prepa: tarball moveoldrelease
  572. ln -f ../prepa_dist/$(DIST_FILE) $(DIST_PATH)/
  573. rcsdiff imapsync
  574. cp -a ../prepa_dist/$(DIST_NAME)/imapsync $(DIST_PATH)/
  575. cp -a ../prepa_dist/$(DIST_NAME)/imapsync_bin_Darwin $(DIST_PATH)/
  576. #cd $(DIST_PATH)/ && md5sum $(DIST_FILE) > $(DIST_FILE).md5.txt
  577. #cd $(DIST_PATH)/ && md5sum -c $(DIST_FILE).md5.txt
  578. ls -l $(DIST_PATH)/
  579. dist_zip: zip
  580. cp -a ../prepa_zip/imapsync_$(VERSION).zip $(DIST_PATH)/
  581. README_dist:
  582. sh W/tools/gen_README_dist > $(DIST_PATH)/README.txt
  583. unix2dos $(DIST_PATH)/README.txt
  584. .PHONY: publish upload_ks ks valid_index biz ks5tests_gilles ks5tests_root auto_ci
  585. biz: S/imapsync_sold_by_country.txt docker_pull_count
  586. auto_ci: docker_pull_count
  587. docker_pull_count:
  588. rcsdiff W/docker_pull_count.txt || { echo | ci -l W/docker_pull_count.txt ; }
  589. S/imapsync_sold_by_country.txt: /g/bin/imapsync_by_country
  590. cd S/ && /g/bin/imapsync_by_country && { echo | ci -l imapsync_sold_by_country.txt ; }
  591. ks:
  592. rsync -avHz --delete --exclude '*.exe' \
  593. . gilles@ks.lamiral.info:public_html/imapsync/
  594. ssh root@ks.lamiral.info 'apachectl configtest && apachectl reload'
  595. ksa:
  596. rsync -avHz --delete -P \
  597. . gilles@ks.lamiral.info:public_html/imapsync/
  598. ssh root@ks.lamiral.info 'apachectl configtest && apachectl reload'
  599. ks3:
  600. rsync -avHz --delete -P \
  601. . gilles@ks3.lamiral.info:public_html/imapsync/
  602. ks6:
  603. rsync -avHz --delete -P --exclude 'dist2' \
  604. . gilles@ks6.lamiral.info:public_html/imapsync/
  605. upload_tests: tests.sh
  606. rsync -avHz --delete -P \
  607. tests.sh \
  608. gilles@ks.lamiral.info:public_html/imapsync/
  609. ks5testsdebug:
  610. rsync -aP imapsync gilles@ks.lamiral.info:public_html/imapsync/imapsync
  611. ssh gilles@ks.lamiral.info 'public_html/imapsync/imapsync --testsdebug'
  612. ks5tests: ks5tests_gilles ks5tests_root
  613. ks5tests_gilles:
  614. rsync -P imapsync gilles@ks.lamiral.info:public_html/imapsync/
  615. ssh gilles@ks.lamiral.info 'public_html/imapsync/imapsync --tests'
  616. ks5tests_root:
  617. rsync -P imapsync root@ks5.lamiral.info:
  618. ssh root@ks5.lamiral.info './imapsync --tests'
  619. ks5prerequisites:
  620. rsync -P imapsync INSTALL.d/prerequisites_imapsync root@ks5.lamiral.info:
  621. ssh root@ks5.lamiral.info 'sh prerequisites_imapsync'
  622. ks5testslive:
  623. rsync -aP imapsync gilles@ks.lamiral.info:public_html/imapsync/imapsync
  624. ssh gilles@ks.lamiral.info 'public_html/imapsync/imapsync --testslive'
  625. publish: dist upload_ks ksa
  626. echo Now ou can do make ml
  627. centos:
  628. scp imapsync INSTALL.d/prerequisites_imapsync root@vp1:
  629. ssh root@vp1 sh prerequisites_imapsync
  630. PUBLIC = ./ChangeLog ./NOLIMIT ./LICENSE ./CREDITS ./FAQ \
  631. ./index.shtml ./INSTALL ./README_Windows.txt \
  632. ./VERSION ./imapsync \
  633. ./README ./TODO ./vnstat
  634. ml:
  635. rcsdiff W/ml_announce.in.txt
  636. m4 -P W/ml_announce.in.txt | mutt -H-
  637. mailq
  638. lfo: upload_lfo
  639. upload_lfo:
  640. #rm -rf /home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
  641. #rm -rf /home/gilles/public_html/www.linux-france.org/ftp/prj/imapsync/
  642. #rsync -avHz $(PUBLIC) \
  643. #/home/gilles/public_html/www.linux-france.org/html/prj/imapsync/
  644. rsync -lptvHzP ./W/memo glamiral@linux-france.org:imapsync_stats/memo
  645. rsync -lptvHzP ./W/lfo.htaccess \
  646. /home/gilles/public_html/www.linux-france.org/html/prj/imapsync/.htaccess
  647. sh ~/memo/lfo-rsync
  648. .PHONY: valid_index va
  649. valid_index: W/.valid.index.shtml
  650. va: valid_index
  651. cl: ./W/checklink.txt
  652. ./W/checklink.txt: index.shtml
  653. checklink --broken --quiet http://lamiral.info/~gilles/imapsync/ |tee ./W/checklink.txt
  654. cle: ./W/checklinkext.txt
  655. ./W/checklinkext.txt: S/news.shtml S/external.shtml S/imapservers.shtml S/template_xhtml1.shtml
  656. checklink --broken --quiet \
  657. http://lamiral.info/~gilles/imapsync/S/template_xhtml1.shtml \
  658. http://lamiral.info/~gilles/imapsync/S/news.shtml \
  659. http://lamiral.info/~gilles/imapsync/S/external.shtml \
  660. http://lamiral.info/~gilles/imapsync/S/imapservers.shtml \
  661. | tee ./W/checklinkext.txt
  662. W/.valid.index.shtml: index.shtml S/*.shtml
  663. for f in index.shtml S/*.shtml; do echo tidy -e -q $$f; tidy -e -q $$f ; done
  664. ./W/tools/validate_xml_html5 index.shtml S/*.shtml
  665. ./W/tools/validate index.shtml S/donate.shtml S/external.shtml S/imapservers.shtml \
  666. S/news.shtml S/no_download.shtml S/paypal_return.shtml S/poll.shtml \
  667. S/template_xhtml1.shtml
  668. touch W/.valid.index.shtml
  669. .PHONY: upload_index ci_imapsync upload_latest upload_FAQ upload_bin
  670. upload_index: valid_index clean_permissions
  671. rcsdiff index.shtml README_Windows.txt S/style.css S/*.shtml FAQ.d/*.txt LICENSE CREDITS TODO examples/*.bat examples/*.sh index.shtml INSTALL.d/*.txt
  672. rcsdiff S/quiz/quiz_imapsync.html S/quiz/quiz_imapsync.js S/quiz/quiz_imapsync.css
  673. rm -f examples/LOG_imapsync/*
  674. rsync -avH index.shtml README_Windows.txt FAQ INSTALL NOLIMIT LICENSE CREDITS TODO S/robots.txt S/favicon.ico ../imapsync_website/
  675. rsync -aHv --delete ./W/ks.htaccess ../imapsync_website/.htaccess
  676. rsync -aHv --delete ./S/ ../imapsync_website/S/
  677. rsync -aHv --delete ./examples/ ../imapsync_website/examples/
  678. rsync -aHv --delete ./INSTALL.d/ ../imapsync_website/INSTALL.d/
  679. rsync -aHv --delete ./FAQ.d/ ../imapsync_website/FAQ.d/
  680. rsync -avH --delete ./doc/ ../imapsync_website/doc/
  681. rsync -avH --delete ./W/tools/ ../imapsync_website/W/tools/
  682. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  683. ci_imapsync:
  684. rcsdiff imapsync
  685. upload_latest: unitests ci_imapsync bin
  686. rsync -av imapsync imapsync_bin_Darwin imapsync.exe imapsync_32bit.exe ./INSTALL.d/prerequisites_imapsync ../imapsync_website/
  687. rsync -aHvzP --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  688. .PHONY: upload_cgi upload_cgi_ks5 upload_cgi_memo upload_cgi_vp3 upload_cgi_vp4 upload_cgi_ks6 upload_tmphash_all
  689. upload_proximapsync:
  690. rcsdiff W/learn/proximapsync
  691. W/learn/proximapsync --tests
  692. W/learn/proximapsync --testslive | grep 'Exiting with return value 0'
  693. rsync -P W/learn/proximapsync root@ks5.lamiral.info:/home/www/apache24/cgi-bin/proximapsync_new
  694. ssh root@ks5.lamiral.info '/home/www/apache24/cgi-bin/proximapsync_new --tests'
  695. ssh root@ks5.lamiral.info '/home/www/apache24/cgi-bin/proximapsync_new --testslive' | grep 'Exiting with return value 0'
  696. curl -v --data 'testslive=1' https://imapsync.lamiral.info/cgi-bin/proximapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  697. rsync -P W/learn/proximapsync root@ks5.lamiral.info:/home/www/apache24/cgi-bin/proximapsync
  698. curl -v --data 'testslive=1' https://imapsync.lamiral.info/cgi-bin/proximapsync 2>/dev/null | grep 'Exiting with return value 0'
  699. upload_cgi_memo:
  700. dos2unix X/stat_patterns.txt X/server_survey_patterns.txt
  701. sed -i".bak" '/^[[:space:]]*$$/d' X/stat_patterns.txt X/server_survey_patterns.txt
  702. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@ks5:/var/tmp/imapsync_cgi/
  703. upload_cgi_memo_all:
  704. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@ks5:/var/tmp/imapsync_cgi/
  705. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@ks6:/var/tmp/imapsync_cgi/
  706. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@ks7:/var/tmp/imapsync_cgi/
  707. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@vp3:/var/tmp/imapsync_cgi/
  708. rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@vp4:/var/tmp/imapsync_cgi/
  709. ! ping -c1 -W1 cl1 || rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@cl1:/var/tmp/imapsync_cgi/
  710. upload_tmphash_all:
  711. scp /var/tmp/imapsync_hash root@ks5:/var/tmp/imapsync_hash && ssh root@ks5 chgrp www /var/tmp/imapsync_hash
  712. scp /var/tmp/imapsync_hash root@ks6:/var/tmp/imapsync_hash && ssh root@ks6 chgrp www-data /var/tmp/imapsync_hash
  713. scp /var/tmp/imapsync_hash root@vp3:/var/tmp/imapsync_hash && ssh root@vp3 chgrp www-data /var/tmp/imapsync_hash
  714. scp /var/tmp/imapsync_hash root@vp4:/var/tmp/imapsync_hash && ssh root@vp4 chgrp apache /var/tmp/imapsync_hash
  715. scp /var/tmp/imapsync_hash root@i050:/var/tmp/imapsync_hash && ssh root@i050 chgrp www-data /var/tmp/imapsync_hash
  716. test_cgi_all:
  717. curl -v --data 'testslive=1;exitonload=0' https://imapsync.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0' # ks5
  718. curl -v --data 'testslive=1;exitonload=0' https://i006.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  719. curl -v --data 'testslive=1;exitonload=0' https://i007.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  720. curl -v --data 'testslive=1;exitonload=0' https://i013.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  721. curl -v --data 'testslive=1;exitonload=0' https://i014.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  722. upload_cgi: upload_cgi_ks5 upload_cgi_vp3 upload_cgi_vp4 upload_cgi_ks6 upload_cgi_ks7
  723. # FreeBSD
  724. upload_cgi_ks5: ci_imapsync unitests ks5tests
  725. rsync -P imapsync root@ks5.lamiral.info:/home/www/apache24/cgi-bin/imapsync_new
  726. curl -v --data 'testslive=1;exitonload=0' https://imapsync.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  727. rsync -P imapsync root@ks5.lamiral.info:/home/www/apache24/cgi-bin/imapsync
  728. curl -v --data 'testslive=1;exitonload=0' https://imapsync.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  729. # Debian
  730. upload_cgi_vp3: ci_imapsync vp3tests
  731. rsync -P imapsync root@vp3.lamiral.info:/usr/lib/cgi-bin/imapsync_new
  732. curl -v --data 'testslive=1;exitonload=0' https://vp3.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  733. rsync -P imapsync root@vp3.lamiral.info:/usr/lib/cgi-bin/imapsync
  734. curl -v --data 'testslive=1;exitonload=0' https://vp3.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  735. # Centos
  736. upload_cgi_vp4: ci_imapsync vp4tests
  737. rsync -P imapsync root@vp4.lamiral.info:/var/www/cgi-bin/imapsync_new
  738. curl -v --data 'testslive=1;exitonload=0' https://vp4.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  739. rsync -P imapsync root@vp4.lamiral.info:/var/www/cgi-bin/imapsync
  740. curl -v --data 'testslive=1;exitonload=0' https://vp4.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  741. # Debian
  742. upload_cgi_ks6: ci_imapsync ks6tests
  743. rsync -P imapsync root@ks6.lamiral.info:/usr/lib/cgi-bin/imapsync_new
  744. curl -v --data 'testslive=1;exitonload=0' https://ks6.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  745. rsync -P imapsync root@ks6.lamiral.info:/usr/lib/cgi-bin/imapsync
  746. curl -v --data 'testslive=1;exitonload=0' https://ks6.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  747. # Promox/Debian
  748. upload_cgi_ks7: ci_imapsync ks7tests
  749. rsync -P imapsync root@ks7.lamiral.info:/usr/lib/cgi-bin/imapsync_new
  750. curl -v --data 'testslive=1;exitonload=0' https://ks7.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  751. rsync -P imapsync root@ks7.lamiral.info:/usr/lib/cgi-bin/imapsync
  752. curl -v --data 'testslive=1;exitonload=0' https://ks7.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  753. # Debian
  754. upload_cgi_cl1: ci_imapsync cl1tests
  755. rsync -P imapsync root@cl1.lamiral.info:/usr/lib/cgi-bin/imapsync_new
  756. curl -v --data 'testslive=1;exitonload=0' https://cl1.lamiral.info/cgi-bin/imapsync_new 2>/dev/null | grep 'Exiting with return value 0'
  757. rsync -P imapsync root@cl1.lamiral.info:/usr/lib/cgi-bin/imapsync
  758. curl -v --data 'testslive=1;exitonload=0' https://cl1.lamiral.info/cgi-bin/imapsync 2>/dev/null | grep 'Exiting with return value 0'
  759. .PHONY: vp3tests vp4tests ks6tests
  760. vp3tests:
  761. rsync -P imapsync root@vp3.lamiral.info:imapsync
  762. ssh root@vp3.lamiral.info ./imapsync --tests
  763. ssh root@vp3.lamiral.info ./imapsync --testslive6
  764. vp4tests:
  765. rsync -P imapsync root@vp4.lamiral.info:imapsync
  766. ssh root@vp4.lamiral.info ./imapsync --tests
  767. ssh root@vp4.lamiral.info ./imapsync --testslive6
  768. ks6tests:
  769. rsync -P imapsync root@ks6.lamiral.info:imapsync
  770. ssh root@ks6.lamiral.info ./imapsync --tests
  771. ssh root@ks6.lamiral.info ./imapsync --testslive6
  772. ks7tests:
  773. rsync -P imapsync root@ks7.lamiral.info:imapsync
  774. ssh root@ks7.lamiral.info ./imapsync --tests
  775. ssh root@ks7.lamiral.info ./imapsync --testslive6
  776. cl1tests:
  777. rsync -P imapsync root@cl1.lamiral.info:imapsync
  778. ssh root@cl1.lamiral.info ./imapsync --tests
  779. ssh root@cl1.lamiral.info ./imapsync --testslive6
  780. upload_imapsync_all:
  781. scp imapsync INSTALL.d/prerequisites_imapsync W/learn/processtable root@i005.lamiral.info:
  782. scp imapsync INSTALL.d/prerequisites_imapsync W/learn/processtable root@i006.lamiral.info:
  783. scp imapsync INSTALL.d/prerequisites_imapsync W/learn/processtable root@i013.lamiral.info:
  784. scp imapsync INSTALL.d/prerequisites_imapsync W/learn/processtable root@i014.lamiral.info:
  785. upload_X:
  786. ./W/tools/validate_xml_html5 X/imapsync_form.html X/imapsync_form_extra.html X/imapsync_form_extra_free.html X/imapsync_form_wrapper.html X/proximapsync_form_extra_free.html
  787. rcsdiff X/imapsync_form.html X/imapsync_form_extra.html X/imapsync_form_extra_free.html X/imapsync_form_wrapper.html X/proximapsync_form_extra_free.html
  788. rcsdiff X/imapsync_form.css X/noscript.css
  789. rcsdiff X/imapsync_form.js X/imapsync_form_wrapper.js X/proximapsync_form.js
  790. rcsdiff INSTALL.d/INSTALL.OnlineUI.txt
  791. rsync -a ./INSTALL.d/INSTALL.OnlineUI.txt ../imapsync_website/INSTALL.d/INSTALL.OnlineUI.txt
  792. rsync -av --delete X/ ../imapsync_website/X/
  793. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  794. upload_csv:
  795. ./W/tools/validate_xml_html5 X/sandbox_csv.html
  796. rcsdiff X/sandbox_csv.html X/sandbox_csv.js X/imapsync_csv_wrapper
  797. rsync -a X/sandbox_csv.html X/sandbox_csv.js X/imapsync_csv_wrapper ../imapsync_website/X/
  798. rsync -aHvz X/sandbox_csv.html X/sandbox_csv.js X/imapsync_csv_wrapper root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/X/
  799. rsync X/imapsync_csv_wrapper root@ks5.lamiral.info:/home/www/apache24/cgi-bin/
  800. upload_FAQ:
  801. rcsdiff FAQ.d/*.txt LICENSE CREDITS TODO INSTALL.d/*.txt
  802. rsync -avH FAQ INSTALL CREDITS TODO ../imapsync_website/
  803. rsync -aHv --delete ./INSTALL.d/ ../imapsync_website/INSTALL.d/
  804. rsync -aHv --delete ./FAQ.d/ ../imapsync_website/FAQ.d/
  805. rsync -avH --delete ./doc/ ../imapsync_website/doc/
  806. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  807. upload_oauth2:
  808. rm -f oauth2/D_oauth2_*
  809. rsync -aHv --delete ./oauth2/ ../imapsync_website/oauth2/
  810. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  811. upload_ks_W_memo:
  812. rsync -av W/memo gilles@ks.lamiral.info:public_html/imapsync/W/memo
  813. upload_ks: ci tarball
  814. rsync -aHv $(PUBLIC) ../imapsync_website/
  815. rsync -aHv --delete ./W/ks.htaccess ../imapsync_website/.htaccess
  816. rsync -avH ./S/ ../imapsync_website/S/
  817. rsync -aHv --delete ./$(DIST_PATH)/ ../imapsync_website/$(DIST_PATH)/
  818. rsync -aHv --delete ./examples/ ../imapsync_website/examples/
  819. rsync -aHv --delete ./INSTALL.d/ ../imapsync_website/INSTALL.d/
  820. rsync -aHv --delete ./FAQ.d/ ../imapsync_website/FAQ.d/
  821. rsync -avH --delete ./doc/ ../imapsync_website/doc/
  822. rsync -avH --delete ./W/tools/ ../imapsync_website/W/tools/
  823. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
  824. ssh root@ks.lamiral.info 'apachectl configtest && apachectl reload'
  825. upload_ks5:
  826. rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/