You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

241 lines
11KB

  1. SHELL:=/bin/bash
  2. build:
  3. . ../.env; make apt-ubuntu2404
  4. curl http://cppse.nl:11224; echo;
  5. sleep 2
  6. . ../.env; make apt-ubuntu2404-pt2
  7. status:
  8. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble"
  9. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky"
  10. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble" | wc -l
  11. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky" | wc -l
  12. apt-ubuntu1804:
  13. wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
  14. tar -zxvf *secret.tar.gz
  15. make prepare-packages-ubuntu1804
  16. make update-packages-ubuntu1804
  17. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  18. apt-ubuntu2004:
  19. wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
  20. tar -zxvf *secret.tar.gz
  21. make prepare-packages-ubuntu2004
  22. make update-packages-ubuntu2004
  23. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  24. apt-ubuntu2204:
  25. wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
  26. tar -zxvf *secret.tar.gz
  27. make prepare-packages-ubuntu2204
  28. make update-packages-ubuntu2204
  29. apt-ubuntu2204-pt2:
  30. make update-packages-ubuntu2204-rsync
  31. bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  32. apt-ubuntu2404:
  33. wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
  34. tar -zxvf *secret.tar.gz || true
  35. make prepare-packages-ubuntu-dyn CODENAME=noble
  36. make prepare-packages-ubuntu-dyn CODENAME=plucky
  37. make update-packages-ubuntu2404
  38. apt-ubuntu2404-pt2:
  39. make update-packages-ubuntu2404-rsync
  40. bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  41. prepare-packages-ubuntu1804:
  42. mkdir -p packages
  43. # ../crtmpserver/cppse-crtmpserver_*.deb \
  44. # ../benchmarklib/cppse-benchmarklib_*.deb \
  45. cp -prv ../ffmpeg/cppse-ffmpeg_*.deb \
  46. ../v8pp/cppse-v8_*_amd64.deb \
  47. ../allegro5/cppse-allegro5_*.deb \
  48. ../sfml/cppse-sfml_*.deb \
  49. ../caf/cppse-caf_*.deb \
  50. ../boost/cppse-boost_*.deb \
  51. ../fastpfor/cppse-fastpfor_*.deb \
  52. ../seasocks/cppse-seasocks_*.deb \
  53. ../fmt/cppse-fmt_*.deb \
  54. ../pngpp/cppse-pngpp_*.deb \
  55. ../openexr/cppse-openexr_*.deb \
  56. ../imagemagick/cppse-imagemagick_*.deb \
  57. ../tvision/cppse-tvision_*.deb \
  58. ../inotify-cpp/cppse-inotify-cpp_*.deb \
  59. ../msxsaver/cppse-msxsaver_*.deb \
  60. packages/
  61. prepare-packages-ubuntu2004:
  62. mkdir -p packages
  63. cp -prv ffmpeg/pkg/*.deb \
  64. v8pp/pkg/*.deb \
  65. allegro5/pkg/*.deb \
  66. sfml/pkg/*.deb \
  67. boost/pkg/*.deb \
  68. fastpfor/pkg/*.deb \
  69. seasocks/pkg/*.deb \
  70. fmt/pkg/*.deb \
  71. openexr/pkg/*.deb \
  72. imagemagick/pkg/*.deb \
  73. pngpp/pkg/*.deb \
  74. tvision/pkg/*.deb \
  75. inotify-cpp/pkg/*.deb \
  76. msxsaver/pkg/*.deb \
  77. packages/
  78. prepare-packages-ubuntu2204:
  79. mkdir -p packages
  80. cp -prv ffmpeg/pkg/*.deb \
  81. v8pp/pkg/*.deb \
  82. allegro5/pkg/*.deb \
  83. sfml/pkg/*.deb \
  84. boost/pkg/*.deb \
  85. fastpfor/pkg/*.deb \
  86. seasocks/pkg/*.deb \
  87. fmt/pkg/*.deb \
  88. openexr/pkg/*.deb \
  89. imagemagick/pkg/*.deb \
  90. pngpp/pkg/*.deb \
  91. tvision/pkg/*.deb \
  92. vivid/pkg/*.deb \
  93. inotify-cpp/pkg/*.deb \
  94. msxsaver/pkg/*.deb \
  95. redis-plus-plus/pkg/*.deb \
  96. packages/
  97. prepare-packages-ubuntu2404:
  98. mkdir -p packages
  99. # TODO: fix ../msxsaver/cppse-msxsaver_*.deb
  100. cp -prv ../ffmpeg/cppse-ffmpeg_*.deb \
  101. ../v8pp/cppse-v8_*_amd64.deb \
  102. ../allegro5/cppse-allegro5_*.deb \
  103. ../allegro5/cppse-allegro5sdl_*.deb \
  104. ../sfml/cppse-sfml_*.deb \
  105. ../boost/cppse-boost_*.deb \
  106. ../fastpfor/cppse-fastpfor_*.deb \
  107. ../seasocks/cppse-seasocks_*.deb \
  108. ../fmt/cppse-fmt_*.deb \
  109. ../openexr/cppse-openexr_*.deb \
  110. ../imagemagick/cppse-imagemagick_*.deb \
  111. ../png++/cppse-pngpp_*.deb \
  112. ../tvision/cppse-tvision_*.deb \
  113. ../vivid/cppse-vivid_*.deb \
  114. ../inotify-cpp/cppse-inotify-cpp_*.deb \
  115. ../redis-plus-plus/cppse-redis-plus-plus_*.deb \
  116. ../msxsaver/msxsaver_*.deb \
  117. packages/
  118. prepare-packages-ubuntu-dyn:
  119. mkdir -p packages/$(CODENAME)
  120. echo removing old packages..
  121. rm -rfv packages/$(CODENAME)/*
  122. echo copying new packages..
  123. cp -prv ../*/$(CODENAME)/*.deb packages/$(CODENAME)/ || true
  124. docker-ubuntu1804:
  125. docker build . -t rayburgemeestre/apt-ubuntu:18.04 -f Dockerfile-ubuntu1804
  126. docker-ubuntu2004:
  127. docker build . -t rayburgemeestre/apt-ubuntu:20.04 -f Dockerfile-ubuntu2004
  128. docker-ubuntu2204:
  129. docker build . -t rayburgemeestre/apt-ubuntu:22.04 -f Dockerfile-ubuntu2204
  130. docker-ubuntu2404:
  131. docker build . -t rayburgemeestre/apt-ubuntu:24.04 -f Dockerfile-ubuntu2404
  132. run-initialize-once:
  133. echo Please refer to README. Initial steps were done once manually and tar of artifacts was zipped.
  134. # mkdir -p repo gnupg keys
  135. # ssh-keygen -f keys/ssh < <(echo "\n\n")
  136. # tar -czf secret.tar.gz keys gnupg
  137. # -> Hide secret.tar.gz somewhere with a very hard to guess URL
  138. update-packages-ubuntu1804:
  139. docker pull rayburgemeestre/apt-ubuntu:18.04
  140. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo includedeb bionic packages/*.deb"
  141. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo list bionic"
  142. # echo produce artifact for debugging
  143. tar -czf repo.tar.gz repo
  144. # rsync to host
  145. echo if the rsync fails, then double check if the ssh key is accepted in authorized_hosts
  146. rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST
  147. update-packages-ubuntu2004:
  148. docker pull rayburgemeestre/apt-ubuntu:20.04
  149. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo includedeb focal packages/*.deb"
  150. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo list focal"
  151. # echo produce artifact for debugging
  152. tar -czf repo.tar.gz repo
  153. # rsync to host
  154. echo if the rsync fails, then double check if the ssh key is accepted in authorized_hosts
  155. echo check https://ci.cppse.nl/go/admin/pipelines/apt-publisher-ubuntu2004/stages/publisher/job/make/environment_variables
  156. echo then probably you need to rm -rf /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  157. echo then probably you need to rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2004
  158. rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST
  159. # NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  160. # and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2004
  161. update-packages-ubuntu2204:
  162. docker pull rayburgemeestre/apt-ubuntu:22.04
  163. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:22.04 /bin/sh -c "reprepro -b /repo includedeb jammy packages/*.deb"
  164. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:22.04 /bin/sh -c "reprepro -b /repo list jammy"
  165. # echo produce artifact for debugging
  166. tar -czf repo.tar.gz repo
  167. # rsync to host
  168. echo if the rsync fails, then double check if the ssh key is accepted in authorized_hosts
  169. echo check https://ci.cppse.nl/go/admin/pipelines/apt-publisher-ubuntu2204/stages/publisher/job/make/environment_variables
  170. echo then probably you need to rm -rf /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  171. echo then probably you need to rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2204
  172. update-packages-ubuntu2204-rsync:
  173. rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST
  174. # NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  175. # and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2204
  176. update-packages-ubuntu2404:
  177. docker pull rayburgemeestre/apt-ubuntu:22.04
  178. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "find packages/noble -type f -name '*.deb' | xargs -n 1 reprepro -b /repo --ignore=wrongdistribution --ignore=surprisingbinary includedeb noble "
  179. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "find packages/plucky -type f -name '*.deb' | xargs -n 1 reprepro -b /repo --ignore=wrongdistribution --ignore=surprisingbinary includedeb plucky "
  180. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble"
  181. docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky"
  182. # echo produce artifact for debugging
  183. tar -czf repo.tar.gz repo
  184. # rsync to host
  185. echo if the rsync fails, then double check if the ssh key is accepted in authorized_hosts
  186. echo check https://ci.cppse.nl/go/admin/pipelines/apt-publisher-ubuntu2404/stages/publisher/job/make/environment_variables
  187. echo then probably you need to rm -rf /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  188. echo then probably you need to rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2404
  189. update-packages-ubuntu2404-rsync:
  190. rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST
  191. # NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
  192. # and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2404
  193. shell-ubuntu1804:
  194. docker pull rayburgemeestre/apt-ubuntu:18.04
  195. docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash
  196. shell-ubuntu2004:
  197. docker pull rayburgemeestre/apt-ubuntu:20.04
  198. docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/bash
  199. shell-ubuntu2204:
  200. docker pull rayburgemeestre/apt-ubuntu:22.04
  201. docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:22.04 /bin/bash
  202. shell-ubuntu2404:
  203. docker pull rayburgemeestre/apt-ubuntu:22.04
  204. docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/bash
  205. clean:
  206. rm -rf *_secret.tar.gz
  207. clean-all:
  208. rm -rf repo gnupg keys