• Home
  • Raw
  • Download

Lines Matching +full:extended +full:- +full:lts

4 # Use of this source code is governed by a BSD-style license that can be
23 output = subprocess.check_output(["apt-cache", "dumpavail"]).decode()
31 def package_exists(package_name: str) -> bool:
38 parser.add_argument("--syms",
42 "--no-syms",
48 "--lib32",
50 help="Enable installation of 32-bit libraries, e.g. for V8 snapshot",
53 "--android",
59 "--no-android",
65 parser.add_argument("--arm",
69 "--no-arm",
75 "--chromeos-fonts",
80 "--no-chromeos-fonts",
86 "--nacl",
91 "--no-nacl",
97 "--backwards-compatible",
104 "--no-backwards-compatible",
111 parser.add_argument("--no-prompt",
115 "--quick-check",
120 "--unsupported",
136 print("try: sudo apt-get install lsb-release", file=sys.stderr)
142 return subprocess.check_output(["lsb_release", "--codename",
143 "--short"]).decode().strip()
150 distro_id = subprocess.check_output(["lsb_release", "--id",
151 "--short"]).decode().strip()
161 "dependencies by passing the `--unsupported` parameter.",
163 "extended security support.",
164 "\tUbuntu 20.04 LTS (focal with EoS April 2025)",
165 "\tUbuntu 22.04 LTS (jammy with EoS June 2027)",
166 "\tUbuntu 24.04 LTS (noble with EoS June 2029)",
175 architecture = subprocess.check_output(["uname", "-m"]).decode().strip()
184 print("Running as non-root user.", file=sys.stderr)
192 subprocess.check_call(["sudo", "dpkg", "--add-architecture", "i386"])
193 subprocess.check_call(["sudo", "apt-get", "update"])
204 "dbus-x11",
206 "dpkg-dev",
210 "git-core",
212 "libasound2-dev",
213 "libatspi2.0-dev",
214 "libbrlapi-dev",
215 "libbz2-dev",
216 "libc6-dev",
217 "libcairo2-dev",
218 "libcap-dev",
219 "libcups2-dev",
220 "libcurl4-gnutls-dev",
221 "libdrm-dev",
222 "libelf-dev",
223 "libevdev-dev",
224 "libffi-dev",
226 "libgbm-dev",
227 "libglib2.0-dev",
228 "libglu1-mesa-dev",
229 "libgtk-3-dev",
230 "libkrb5-dev",
231 "libnspr4-dev",
232 "libnss3-dev",
233 "libpam0g-dev",
234 "libpci-dev",
235 "libpulse-dev",
236 "libsctp-dev",
237 "libspeechd-dev",
238 "libsqlite3-dev",
239 "libssl-dev",
240 "libsystemd-dev",
241 "libudev-dev",
243 "libva-dev",
244 "libwww-perl",
245 "libxshmfence-dev",
246 "libxslt1-dev",
247 "libxss-dev",
248 "libxt-dev",
249 "libxtst-dev",
259 "uuid-dev",
261 "x11-utils",
263 "xz-utils",
269 "libbluetooth-dev",
270 "libxkbcommon-dev",
271 "mesa-common-dev",
278 if package_exists("libjpeg-dev"):
279 packages.append("libjpeg-dev")
281 packages.append("libjpeg62-dev")
292 if package_exists("libav-tools"):
293 packages.append("libav-tools")
295 if package_exists("libvulkan-dev"):
296 packages.append("libvulkan-dev")
298 if package_exists("libinput-dev"):
299 packages.append("libinput-dev")
302 if package_exists("at-spi2-core"):
303 packages.append("at-spi2-core")
305 # Cross-toolchain strip is needed for building the sysroots.
306 if package_exists("binutils-arm-linux-gnueabihf"):
307 packages.append("binutils-arm-linux-gnueabihf")
308 if package_exists("binutils-aarch64-linux-gnu"):
309 packages.append("binutils-aarch64-linux-gnu")
310 if package_exists("binutils-mipsel-linux-gnu"):
311 packages.append("binutils-mipsel-linux-gnu")
312 if package_exists("binutils-mips64el-linux-gnuabi64"):
313 packages.append("binutils-mips64el-linux-gnuabi64")
315 # 64-bit systems need a minimum set of 32-bit compat packages for the
316 # pre-built NaCl binaries.
317 if "ELF 64-bit" in subprocess.check_output(["file", "-L",
320 if package_exists("libc6-i386"):
321 packages.append("libc6-i386")
325 # lib32gcc-s1 used to be called lib32gcc1 in older distros.
326 if package_exists("lib32gcc-s1"):
327 packages.append("lib32gcc-s1")
334 # List of required run-time libraries
337 "libatk1.0-0",
338 "libatspi2.0-0",
342 "libcgi-session-perl",
351 "libglib2.0-0",
353 "libgtk-3-0",
355 "libpango-1.0-0",
356 "libpangocairo-1.0-0",
359 "libpixman-1-0",
362 "libsqlite3-0",
364 "libwayland-egl1",
365 "libwayland-egl1-mesa",
366 "libx11-6",
367 "libx11-xcb1",
381 "x11-utils",
382 "x11-xserver-utils",
383 "xserver-xorg-core",
384 "xserver-xorg-video-dummy",
389 # Run-time libraries required by chromeos only
392 "libbz2-1.0",
406 if package_exists("libpng16-16t64"):
407 packages.append("libpng16-16t64")
408 elif package_exists("libpng16-16"):
409 packages.append("libpng16-16")
411 packages.append("libpng12-0")
416 packages.extend(["libnspr4-0d", "libnss3-1d"])
418 if package_exists("appmenu-gtk"):
419 packages.append("appmenu-gtk")
420 if package_exists("libgnome-keyring0"):
421 packages.append("libgnome-keyring0")
422 if package_exists("libgnome-keyring-dev"):
423 packages.append("libgnome-keyring-dev")
444 print("Skipping 32-bit libraries.", file=sys.stderr)
446 print("Including 32-bit libraries.", file=sys.stderr)
449 # 32-bit libraries needed for a 32-bit build
450 # includes some 32-bit libraries required by the Android SDK
453 "libatk-bridge2.0-0:i386",
454 "libatk1.0-0:i386",
455 "libatspi2.0-0:i386",
456 "libdbus-1-3:i386",
459 "libglib2.0-0:i386",
461 "libpango-1.0-0:i386",
462 "libpangocairo-1.0-0:i386",
464 "libwayland-egl1:i386",
465 "libx11-xcb1:i386",
472 # 32-bit libraries needed e.g. to compile V8 snapshot for Android or armhf
473 "linux-libc-dev:i386",
478 # When cross building for arm/Android on 64-bit systems the host binaries
479 # that are part of v8 need to be compiled with -m32 which means
481 if "ELF 64-bit" in subprocess.check_output(["file", "-L",
483 # gcc-multilib conflicts with the arm cross compiler but
484 # g++-X.Y-multilib gives us the 32-bit support that we need. Find out the
486 # distribution's g++-multilib package depends on.
488 ["apt-cache", "depends", "g++-multilib", "--important"]).decode()
489 pattern = re.compile(r"g\+\+-[0-9.]+-multilib")
511 "fonts-indic",
512 "fonts-ipafont",
513 "fonts-stix",
514 "fonts-thai-tlwg",
515 "fonts-tlwg-garuda",
517 "g++-4.8-multilib-arm-linux-gnueabihf",
518 "gcc-4.8-multilib-arm-linux-gnueabihf",
519 "g++-9-multilib-arm-linux-gnueabihf",
520 "gcc-9-multilib-arm-linux-gnueabihf",
521 "gcc-arm-linux-gnueabihf",
522 "g++-10-multilib-arm-linux-gnueabihf",
523 "gcc-10-multilib-arm-linux-gnueabihf",
524 "g++-10-arm-linux-gnueabihf",
525 "gcc-10-arm-linux-gnueabihf",
526 "git-svn",
527 "language-pack-da",
528 "language-pack-fr",
529 "language-pack-he",
530 "language-pack-zh-hant",
531 "libappindicator-dev",
533 "libappindicator3-1",
534 "libappindicator3-dev",
535 "libdconf-dev",
538 "libexif-dev",
541 "libgbm-dev",
542 "libgbm-dev-lts-trusty",
543 "libgbm-dev-lts-xenial",
544 "libgconf-2-4:i386",
545 "libgconf2-dev",
546 "libgl1-mesa-dev",
547 "libgl1-mesa-dev-lts-trusty",
548 "libgl1-mesa-dev-lts-xenial",
549 "libgl1-mesa-glx:i386",
550 "libgl1-mesa-glx-lts-trusty:i386",
551 "libgl1-mesa-glx-lts-xenial:i386",
552 "libgles2-mesa-dev",
553 "libgles2-mesa-dev-lts-trusty",
554 "libgles2-mesa-dev-lts-xenial",
555 "libgtk-3-0:i386",
556 "libgtk2.0-0",
557 "libgtk2.0-0:i386",
558 "libgtk2.0-dev",
559 "mesa-common-dev",
560 "mesa-common-dev-lts-trusty",
561 "mesa-common-dev-lts-xenial",
563 "python-dev",
564 "python-setuptools",
566 "ttf-dejavu-core",
567 "ttf-indic-fonts",
568 "ttf-kochi-gothic",
569 "ttf-kochi-mincho",
570 "ttf-mscorefonts-installer",
571 "xfonts-mathml",
574 if package_exists("python-is-python2"):
575 packages.extend(["python-is-python2", "python2-dev"])
579 if package_exists("python-crypto"):
580 packages.append("python-crypto")
582 if package_exists("python-numpy"):
583 packages.append("python-numpy")
585 if package_exists("python-openssl"):
586 packages.append("python-openssl")
588 if package_exists("python-psutil"):
589 packages.append("python-psutil")
591 if package_exists("python-yaml"):
592 packages.append("python-yaml")
594 if package_exists("apache2.2-bin"):
595 packages.append("apache2.2-bin")
597 packages.append("apache2-bin")
600 ("php8.1-cgi", "libapache2-mod-php8.1"),
601 ("php8.0-cgi", "libapache2-mod-php8.0"),
602 ("php7.4-cgi", "libapache2-mod-php7.4"),
603 ("php7.3-cgi", "libapache2-mod-php7.3"),
604 ("php7.2-cgi", "libapache2-mod-php7.2"),
605 ("php7.1-cgi", "libapache2-mod-php7.1"),
606 ("php7.0-cgi", "libapache2-mod-php7.0"),
607 ("php5-cgi", "libapache2-mod-php5"),
626 "g++-arm-linux-gnueabihf",
627 "gcc-arm-linux-gnueabihf",
628 "libc6-dev-armhf-cross",
629 "linux-libc-dev-armhf-cross",
637 "g++-10-multilib-arm-linux-gnueabihf",
638 "gcc-10-multilib-arm-linux-gnueabihf",
642 "g++-11-arm-linux-gnueabihf",
643 "gcc-11-arm-linux-gnueabihf",
656 "g++-mingw-w64-i686",
657 "lib32z1-dev",
660 "libelf-dev:i386",
662 "libglib2.0-0:i386",
666 "libpango-1.0-0:i386",
667 "libssl-dev:i386",
668 "libtinfo-dev",
669 "libtinfo-dev:i386",
690 "xutils-dev",
704 # Prefer lib32ncurses5-dev to match libncurses5:i386 if it exists.
705 # In some Ubuntu releases, lib32ncurses5-dev is a transition package to
706 # lib32ncurses-dev, so use that as a fallback.
707 if package_exists("lib32ncurses5-dev"):
708 packages.append("lib32ncurses5-dev")
710 packages.append("lib32ncurses-dev")
724 # have the -dbgsym suffix (https://wiki.debian.org/AutomaticDebugPackages).
725 # Untransitioned packages have the -dbg suffix. And on some systems, neither
729 if package_exists(package + "-dbgsym"):
730 return [package + "-dbgsym"]
731 if package_exists(package + "-dbg"):
732 return [package + "-dbg"]
750 if package_exists("libstdc++6-%s-dbg" % version):
751 packages.append("libstdc++6-%s-dbg" % version)
754 if not dbg_package_name("libatk1.0-0"):
757 if not dbg_package_name("libpango-1.0-0"):
758 packages.extend(dbg_package_name("libpango1.0-dev"))
769 # Sort all the :i386 packages to the front, to avoid confusing dpkg-query
777 ["dpkg-query", "-W", "-f", " "] + packages,
784 line.split(" ")[-1] for line in e.stderr.decode().strip().splitlines()
789 result = subprocess.run(["apt-cache", "show", package], capture_output=True)
816 print("(maybe missing a repo or need to 'sudo apt-get update'):",
830 query_cmd = ["apt-get", "--just-print", "install"] + packages
854 quiet = ["-qq", "--assume-yes"] if options.no_prompt else []
855 subprocess.check_call(["sudo", "apt-get", "install"] + quiet + packages)
862 # An apt-get exit status of 100 indicates that a real error has occurred.
863 print("`apt-get --just-print install ...` failed", file=sys.stderr)
873 # apt-get, since install-chromeos-fonts depends on curl.
885 os.path.join(dir, "linux", "install-chromeos-fonts.py")])
890 ["stat", "-f", "-c", "%T", dir], ).decode().startswith("nfs")):
903 print("the command line option: --no-chromeos-fonts.", file=sys.stderr)
910 "da_DK.UTF-8", "en_US.UTF-8", "fr_FR.UTF-8", "he_IL.UTF-8", "zh_TW.UTF-8"
917 ["sudo", "sed", "-i",
923 subprocess.check_call(["sudo", "locale-gen"])
925 print("Locales already up-to-date.", file=sys.stderr)
928 subprocess.check_call(["sudo", "locale-gen", locale])