• 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")
439 # Run-time packages required by interactive_ui_tests on mutter
440 if package_exists("libgraphene-1.0-0"):
441 packages.append("libgraphene-1.0-0")
442 if package_exists("mutter-common"):
443 packages.append("mutter-common")
450 print("Skipping 32-bit libraries.", file=sys.stderr)
452 print("Including 32-bit libraries.", file=sys.stderr)
455 # 32-bit libraries needed for a 32-bit build
456 # includes some 32-bit libraries required by the Android SDK
459 "libatk-bridge2.0-0:i386",
460 "libatk1.0-0:i386",
461 "libatspi2.0-0:i386",
462 "libdbus-1-3:i386",
465 "libglib2.0-0:i386",
467 "libpango-1.0-0:i386",
468 "libpangocairo-1.0-0:i386",
470 "libwayland-egl1:i386",
471 "libx11-xcb1:i386",
478 # 32-bit libraries needed e.g. to compile V8 snapshot for Android or armhf
479 "linux-libc-dev:i386",
484 # When cross building for arm/Android on 64-bit systems the host binaries
485 # that are part of v8 need to be compiled with -m32 which means
487 if "ELF 64-bit" in subprocess.check_output(["file", "-L",
489 # gcc-multilib conflicts with the arm cross compiler but
490 # g++-X.Y-multilib gives us the 32-bit support that we need. Find out the
492 # distribution's g++-multilib package depends on.
494 ["apt-cache", "depends", "g++-multilib", "--important"]).decode()
495 pattern = re.compile(r"g\+\+-[0-9.]+-multilib")
517 "fonts-indic",
518 "fonts-ipafont",
519 "fonts-stix",
520 "fonts-thai-tlwg",
521 "fonts-tlwg-garuda",
523 "g++-4.8-multilib-arm-linux-gnueabihf",
524 "gcc-4.8-multilib-arm-linux-gnueabihf",
525 "g++-9-multilib-arm-linux-gnueabihf",
526 "gcc-9-multilib-arm-linux-gnueabihf",
527 "gcc-arm-linux-gnueabihf",
528 "g++-10-multilib-arm-linux-gnueabihf",
529 "gcc-10-multilib-arm-linux-gnueabihf",
530 "g++-10-arm-linux-gnueabihf",
531 "gcc-10-arm-linux-gnueabihf",
532 "git-svn",
533 "language-pack-da",
534 "language-pack-fr",
535 "language-pack-he",
536 "language-pack-zh-hant",
537 "libappindicator-dev",
539 "libappindicator3-1",
540 "libappindicator3-dev",
541 "libdconf-dev",
544 "libexif-dev",
547 "libgbm-dev",
548 "libgbm-dev-lts-trusty",
549 "libgbm-dev-lts-xenial",
550 "libgconf-2-4:i386",
551 "libgconf2-dev",
552 "libgl1-mesa-dev",
553 "libgl1-mesa-dev-lts-trusty",
554 "libgl1-mesa-dev-lts-xenial",
555 "libgl1-mesa-glx:i386",
556 "libgl1-mesa-glx-lts-trusty:i386",
557 "libgl1-mesa-glx-lts-xenial:i386",
558 "libgles2-mesa-dev",
559 "libgles2-mesa-dev-lts-trusty",
560 "libgles2-mesa-dev-lts-xenial",
561 "libgtk-3-0:i386",
562 "libgtk2.0-0",
563 "libgtk2.0-0:i386",
564 "libgtk2.0-dev",
565 "mesa-common-dev",
566 "mesa-common-dev-lts-trusty",
567 "mesa-common-dev-lts-xenial",
569 "python-dev",
570 "python-setuptools",
572 "ttf-dejavu-core",
573 "ttf-indic-fonts",
574 "ttf-kochi-gothic",
575 "ttf-kochi-mincho",
576 "ttf-mscorefonts-installer",
577 "xfonts-mathml",
580 if package_exists("python-is-python2"):
581 packages.extend(["python-is-python2", "python2-dev"])
585 if package_exists("python-crypto"):
586 packages.append("python-crypto")
588 if package_exists("python-numpy"):
589 packages.append("python-numpy")
591 if package_exists("python-openssl"):
592 packages.append("python-openssl")
594 if package_exists("python-psutil"):
595 packages.append("python-psutil")
597 if package_exists("python-yaml"):
598 packages.append("python-yaml")
600 if package_exists("apache2.2-bin"):
601 packages.append("apache2.2-bin")
603 packages.append("apache2-bin")
606 ("php8.1-cgi", "libapache2-mod-php8.1"),
607 ("php8.0-cgi", "libapache2-mod-php8.0"),
608 ("php7.4-cgi", "libapache2-mod-php7.4"),
609 ("php7.3-cgi", "libapache2-mod-php7.3"),
610 ("php7.2-cgi", "libapache2-mod-php7.2"),
611 ("php7.1-cgi", "libapache2-mod-php7.1"),
612 ("php7.0-cgi", "libapache2-mod-php7.0"),
613 ("php5-cgi", "libapache2-mod-php5"),
632 "g++-arm-linux-gnueabihf",
633 "gcc-arm-linux-gnueabihf",
634 "libc6-dev-armhf-cross",
635 "linux-libc-dev-armhf-cross",
643 "g++-10-multilib-arm-linux-gnueabihf",
644 "gcc-10-multilib-arm-linux-gnueabihf",
648 "g++-11-arm-linux-gnueabihf",
649 "gcc-11-arm-linux-gnueabihf",
662 "g++-mingw-w64-i686",
663 "lib32z1-dev",
666 "libelf-dev:i386",
668 "libglib2.0-0:i386",
672 "libpango-1.0-0:i386",
673 "libssl-dev:i386",
674 "libtinfo-dev",
675 "libtinfo-dev:i386",
696 "xutils-dev",
710 # Prefer lib32ncurses5-dev to match libncurses5:i386 if it exists.
711 # In some Ubuntu releases, lib32ncurses5-dev is a transition package to
712 # lib32ncurses-dev, so use that as a fallback.
713 if package_exists("lib32ncurses5-dev"):
714 packages.append("lib32ncurses5-dev")
716 packages.append("lib32ncurses-dev")
730 # have the -dbgsym suffix (https://wiki.debian.org/AutomaticDebugPackages).
731 # Untransitioned packages have the -dbg suffix. And on some systems, neither
735 if package_exists(package + "-dbgsym"):
736 return [package + "-dbgsym"]
737 if package_exists(package + "-dbg"):
738 return [package + "-dbg"]
756 if package_exists("libstdc++6-%s-dbg" % version):
757 packages.append("libstdc++6-%s-dbg" % version)
760 if not dbg_package_name("libatk1.0-0"):
763 if not dbg_package_name("libpango-1.0-0"):
764 packages.extend(dbg_package_name("libpango1.0-dev"))
775 # Sort all the :i386 packages to the front, to avoid confusing dpkg-query
783 ["dpkg-query", "-W", "-f", " "] + packages,
790 line.split(" ")[-1] for line in e.stderr.decode().strip().splitlines()
795 result = subprocess.run(["apt-cache", "show", package], capture_output=True)
822 print("(maybe missing a repo or need to 'sudo apt-get update'):",
836 query_cmd = ["apt-get", "--just-print", "install"] + packages
860 quiet = ["-qq", "--assume-yes"] if options.no_prompt else []
861 subprocess.check_call(["sudo", "apt-get", "install"] + quiet + packages)
868 # An apt-get exit status of 100 indicates that a real error has occurred.
869 print("`apt-get --just-print install ...` failed", file=sys.stderr)
879 # apt-get, since install-chromeos-fonts depends on curl.
891 os.path.join(dir, "linux", "install-chromeos-fonts.py")])
896 ["stat", "-f", "-c", "%T", dir], ).decode().startswith("nfs")):
909 print("the command line option: --no-chromeos-fonts.", file=sys.stderr)
916 "da_DK.UTF-8", "en_US.UTF-8", "fr_FR.UTF-8", "he_IL.UTF-8", "zh_TW.UTF-8"
923 ["sudo", "sed", "-i",
929 subprocess.check_call(["sudo", "locale-gen"])
931 print("Locales already up-to-date.", file=sys.stderr)
934 subprocess.check_call(["sudo", "locale-gen", locale])