sysroot-creator-bullseye.sh 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. #!/bin/bash
  2. # Copyright 2022 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  6. DISTRO=debian
  7. DIST=bullseye
  8. ARCHIVE_TIMESTAMP=20220331T153654Z
  9. ARCHIVE_URL="https://snapshot.debian.org/archive/debian/$ARCHIVE_TIMESTAMP/"
  10. APT_SOURCES_LIST=(
  11. # Debian 12 (Bookworm) is needed for GTK4. It should be kept before bullseye
  12. # so that bullseye takes precedence.
  13. "${ARCHIVE_URL} bookworm main"
  14. "${ARCHIVE_URL} bookworm-updates main"
  15. # Debian 9 (Stretch) is needed for gnome-keyring. It should be kept before
  16. # bullseye so that bullseye takes precedence.
  17. "${ARCHIVE_URL} stretch main"
  18. "${ARCHIVE_URL} stretch-updates main"
  19. # This mimicks a sources.list from bullseye.
  20. "${ARCHIVE_URL} bullseye main contrib non-free"
  21. "${ARCHIVE_URL} bullseye-updates main contrib non-free"
  22. "${ARCHIVE_URL} bullseye-backports main contrib non-free"
  23. )
  24. # gpg keyring file generated using generate_keyring.sh
  25. KEYRING_FILE="${SCRIPT_DIR}/keyring.gpg"
  26. HAS_ARCH_AMD64=1
  27. HAS_ARCH_I386=1
  28. HAS_ARCH_ARM=1
  29. HAS_ARCH_ARM64=1
  30. HAS_ARCH_ARMEL=1
  31. HAS_ARCH_MIPS=1
  32. HAS_ARCH_MIPS64EL=1
  33. # Sysroot packages: these are the packages needed to build chrome.
  34. DEBIAN_PACKAGES="\
  35. comerr-dev
  36. krb5-multidev
  37. libasound2
  38. libasound2-dev
  39. libasyncns0
  40. libatk-bridge2.0-0
  41. libatk-bridge2.0-dev
  42. libatk1.0-0
  43. libatk1.0-dev
  44. libatomic1
  45. libatspi2.0-0
  46. libatspi2.0-dev
  47. libattr1
  48. libaudit1
  49. libavahi-client3
  50. libavahi-common3
  51. libblkid-dev
  52. libblkid1
  53. libbluetooth-dev
  54. libbluetooth3
  55. libbrotli-dev
  56. libbrotli1
  57. libbsd0
  58. libc6
  59. libc6-dev
  60. libcairo-gobject2
  61. libcairo-script-interpreter2
  62. libcairo2
  63. libcairo2-dev
  64. libcap-dev
  65. libcap-ng0
  66. libcap2
  67. libcloudproviders0
  68. libcolord2
  69. libcom-err2
  70. libcrypt-dev
  71. libcrypt1
  72. libcups2
  73. libcups2-dev
  74. libcupsimage2
  75. libcupsimage2-dev
  76. libcurl3-gnutls
  77. libcurl4-gnutls-dev
  78. libdatrie-dev
  79. libdatrie1
  80. libdb5.3
  81. libdbus-1-3
  82. libdbus-1-dev
  83. libdbus-glib-1-2
  84. libdbusmenu-glib-dev
  85. libdbusmenu-glib4
  86. libdbusmenu-gtk3-4
  87. libdbusmenu-gtk4
  88. libdeflate-dev
  89. libdeflate0
  90. libdouble-conversion3
  91. libdrm-amdgpu1
  92. libdrm-dev
  93. libdrm-nouveau2
  94. libdrm-radeon1
  95. libdrm2
  96. libegl-dev
  97. libegl1
  98. libegl1-mesa
  99. libegl1-mesa-dev
  100. libelf-dev
  101. libelf1
  102. libepoxy-dev
  103. libepoxy0
  104. libevdev-dev
  105. libevdev2
  106. libevent-2.1-7
  107. libexpat1
  108. libexpat1-dev
  109. libffi-dev
  110. libffi7
  111. libflac-dev
  112. libflac8
  113. libfontconfig-dev
  114. libfontconfig1
  115. libfreetype-dev
  116. libfreetype6
  117. libfribidi-dev
  118. libfribidi0
  119. libgbm-dev
  120. libgbm1
  121. libgcc-10-dev
  122. libgcc-s1
  123. libgcrypt20
  124. libgcrypt20-dev
  125. libgdk-pixbuf-2.0-0
  126. libgdk-pixbuf-2.0-dev
  127. libgl-dev
  128. libgl1
  129. libgl1-mesa-dev
  130. libgl1-mesa-glx
  131. libglapi-mesa
  132. libgles-dev
  133. libgles1
  134. libgles2
  135. libglib2.0-0
  136. libglib2.0-dev
  137. libglvnd-dev
  138. libglvnd0
  139. libglx-dev
  140. libglx0
  141. libgmp10
  142. libgnome-keyring-dev
  143. libgnome-keyring0
  144. libgnutls-dane0
  145. libgnutls-openssl27
  146. libgnutls28-dev
  147. libgnutls30
  148. libgnutlsxx28
  149. libgomp1
  150. libgpg-error-dev
  151. libgpg-error0
  152. libgraphene-1.0-0
  153. libgraphene-1.0-dev
  154. libgraphite2-3
  155. libgraphite2-dev
  156. libgssapi-krb5-2
  157. libgssrpc4
  158. libgtk-3-0
  159. libgtk-3-dev
  160. libgtk-4-1
  161. libgtk-4-dev
  162. libgtk2.0-0
  163. libgudev-1.0-0
  164. libharfbuzz-dev
  165. libharfbuzz-gobject0
  166. libharfbuzz-icu0
  167. libharfbuzz0b
  168. libhogweed6
  169. libice6
  170. libicu-le-hb0
  171. libicu67
  172. libidl-2-0
  173. libidn11
  174. libidn2-0
  175. libinput-dev
  176. libinput10
  177. libjbig-dev
  178. libjbig0
  179. libjpeg62-turbo
  180. libjpeg62-turbo-dev
  181. libjson-glib-1.0-0
  182. libjsoncpp-dev
  183. libjsoncpp24
  184. libk5crypto3
  185. libkadm5clnt-mit12
  186. libkadm5srv-mit12
  187. libkdb5-10
  188. libkeyutils1
  189. libkrb5-3
  190. libkrb5-dev
  191. libkrb5support0
  192. liblcms2-2
  193. libldap-2.4-2
  194. libltdl7
  195. liblz4-1
  196. liblzma5
  197. liblzo2-2
  198. libmd0
  199. libmd4c0
  200. libminizip-dev
  201. libminizip1
  202. libmount-dev
  203. libmount1
  204. libmtdev1
  205. libncurses-dev
  206. libncurses6
  207. libncursesw6
  208. libnettle8
  209. libnghttp2-14
  210. libnsl2
  211. libnspr4
  212. libnspr4-dev
  213. libnss-db
  214. libnss3
  215. libnss3-dev
  216. libogg-dev
  217. libogg0
  218. libopengl0
  219. libopus-dev
  220. libopus0
  221. libp11-kit0
  222. libpam0g
  223. libpam0g-dev
  224. libpango-1.0-0
  225. libpango1.0-dev
  226. libpangocairo-1.0-0
  227. libpangoft2-1.0-0
  228. libpangox-1.0-0
  229. libpangoxft-1.0-0
  230. libpci-dev
  231. libpci3
  232. libpciaccess0
  233. libpcre16-3
  234. libpcre2-16-0
  235. libpcre2-32-0
  236. libpcre2-8-0
  237. libpcre2-dev
  238. libpcre2-posix2
  239. libpcre3
  240. libpcre3-dev
  241. libpcre32-3
  242. libpcrecpp0v5
  243. libpipewire-0.3-0
  244. libpipewire-0.3-dev
  245. libpixman-1-0
  246. libpixman-1-dev
  247. libpng-dev
  248. libpng16-16
  249. libpsl5
  250. libpthread-stubs0-dev
  251. libpulse-dev
  252. libpulse-mainloop-glib0
  253. libpulse0
  254. libqt5concurrent5
  255. libqt5core5a
  256. libqt5dbus5
  257. libqt5gui5
  258. libqt5network5
  259. libqt5printsupport5
  260. libqt5sql5
  261. libqt5test5
  262. libqt5widgets5
  263. libqt5xml5
  264. libre2-9
  265. libre2-dev
  266. librest-0.7-0
  267. librtmp1
  268. libsasl2-2
  269. libselinux1
  270. libselinux1-dev
  271. libsepol1
  272. libsepol1-dev
  273. libsm6
  274. libsnappy-dev
  275. libsnappy1v5
  276. libsndfile1
  277. libsoup-gnome2.4-1
  278. libsoup2.4-1
  279. libspa-0.2-dev
  280. libspeechd-dev
  281. libspeechd2
  282. libsqlite3-0
  283. libssh2-1
  284. libssl-dev
  285. libssl1.1
  286. libstdc++-10-dev
  287. libstdc++6
  288. libsystemd0
  289. libtasn1-6
  290. libthai-dev
  291. libthai0
  292. libtiff-dev
  293. libtiff5
  294. libtiffxx5
  295. libtinfo6
  296. libtirpc3
  297. libudev-dev
  298. libudev1
  299. libunbound8
  300. libunistring2
  301. libutempter-dev
  302. libutempter0
  303. libuuid1
  304. libva-dev
  305. libva-drm2
  306. libva-glx2
  307. libva-wayland2
  308. libva-x11-2
  309. libva2
  310. libvorbis0a
  311. libvorbisenc2
  312. libvulkan-dev
  313. libvulkan1
  314. libwacom2
  315. libwayland-client0
  316. libwayland-cursor0
  317. libwayland-dev
  318. libwayland-egl1
  319. libwayland-egl1-mesa
  320. libwayland-server0
  321. libwebp-dev
  322. libwebp6
  323. libwebpdemux2
  324. libwebpmux3
  325. libwrap0
  326. libx11-6
  327. libx11-dev
  328. libx11-xcb-dev
  329. libx11-xcb1
  330. libxau-dev
  331. libxau6
  332. libxcb-dri2-0
  333. libxcb-dri2-0-dev
  334. libxcb-dri3-0
  335. libxcb-dri3-dev
  336. libxcb-glx0
  337. libxcb-glx0-dev
  338. libxcb-icccm4
  339. libxcb-image0
  340. libxcb-keysyms1
  341. libxcb-present-dev
  342. libxcb-present0
  343. libxcb-randr0
  344. libxcb-render-util0
  345. libxcb-render0
  346. libxcb-render0-dev
  347. libxcb-shape0
  348. libxcb-shm0
  349. libxcb-shm0-dev
  350. libxcb-sync1
  351. libxcb-util1
  352. libxcb-xfixes0
  353. libxcb-xinerama0
  354. libxcb-xinput0
  355. libxcb-xkb1
  356. libxcb1
  357. libxcb1-dev
  358. libxcomposite-dev
  359. libxcomposite1
  360. libxcursor-dev
  361. libxcursor1
  362. libxdamage-dev
  363. libxdamage1
  364. libxdmcp-dev
  365. libxdmcp6
  366. libxext-dev
  367. libxext6
  368. libxfixes-dev
  369. libxfixes3
  370. libxft-dev
  371. libxft2
  372. libxi-dev
  373. libxi6
  374. libxinerama-dev
  375. libxinerama1
  376. libxkbcommon-dev
  377. libxkbcommon-x11-0
  378. libxkbcommon0
  379. libxml2
  380. libxml2-dev
  381. libxrandr-dev
  382. libxrandr2
  383. libxrender-dev
  384. libxrender1
  385. libxshmfence-dev
  386. libxshmfence1
  387. libxslt1-dev
  388. libxslt1.1
  389. libxss-dev
  390. libxss1
  391. libxt-dev
  392. libxt6
  393. libxtst-dev
  394. libxtst6
  395. libxxf86vm-dev
  396. libxxf86vm1
  397. libzstd1
  398. linux-libc-dev
  399. mesa-common-dev
  400. qtbase5-dev
  401. qtbase5-dev-tools
  402. shared-mime-info
  403. uuid-dev
  404. wayland-protocols
  405. x11proto-dev
  406. zlib1g
  407. zlib1g-dev
  408. "
  409. DEBIAN_PACKAGES_AMD64="
  410. libtsan0
  411. liblsan0
  412. "
  413. DEBIAN_PACKAGES_X86="
  414. libasan6
  415. libdrm-intel1
  416. libitm1
  417. libquadmath0
  418. libubsan1
  419. valgrind
  420. "
  421. DEBIAN_PACKAGES_ARM="
  422. libasan6
  423. libdrm-etnaviv1
  424. libdrm-exynos1
  425. libdrm-freedreno1
  426. libdrm-omap1
  427. libdrm-tegra0
  428. libubsan1
  429. valgrind
  430. "
  431. DEBIAN_PACKAGES_ARM64="
  432. libasan6
  433. libdrm-etnaviv1
  434. libdrm-freedreno1
  435. libdrm-tegra0
  436. libgmp10
  437. libitm1
  438. liblsan0
  439. libthai0
  440. libtsan0
  441. libubsan1
  442. valgrind
  443. "
  444. DEBIAN_PACKAGES_ARMEL="
  445. libasan6
  446. libdrm-exynos1
  447. libdrm-freedreno1
  448. libdrm-omap1
  449. libdrm-tegra0
  450. libubsan1
  451. "
  452. DEBIAN_PACKAGES_MIPS64EL="
  453. valgrind
  454. "
  455. . "${SCRIPT_DIR}/sysroot-creator.sh"