| # Copyright 2014 The Chromium OS Authors. All rights reserved. |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI="4" |
| |
| DESCRIPTION="List of packages that are needed inside the Chromium OS base (release)" |
| HOMEPAGE="http://dev.chromium.org/" |
| |
| LICENSE="BSD-Google" |
| SLOT="0" |
| KEYWORDS="*" |
| # Note: Do not utilize USE=internal here. Update virtual/target-chrome-os. |
| IUSE="bluetooth bootchart bootimage buffet +cellular coreboot |
| +cras +crash_reporting +cros_disks cros_ec cros_embedded +debugd dptf |
| feedback +fonts gobi mtd +network_time nfc pam peerd |
| +power_management +profile +readahead scanner +shill intel_lpe +syslog touchview |
| +tpm +trim_supported +vpn watchdog wifi_bootstrapping |
| wimax X" |
| |
| REQUIRE_USE="cellular? ( shill )" |
| |
| ################################################################################ |
| # |
| # READ THIS BEFORE ADDING PACKAGES TO THIS EBUILD! |
| # |
| ################################################################################ |
| # |
| # Every chromeos dependency (along with its dependencies) is included in the |
| # release image -- more packages contribute to longer build times, a larger |
| # image, slower and bigger auto-updates, increased security risks, etc. Consider |
| # the following before adding a new package: |
| # |
| # 1. Does the package really need to be part of the release image? |
| # |
| # Some packages can be included only in the developer or test images, i.e., the |
| # target-os-dev or chromeos-test ebuilds. If the package will eventually be used |
| # in the release but it's still under development, consider adding it to |
| # target-os-dev initially until it's ready for production. |
| # |
| # 2. Why is the package a direct dependency of the chromeos ebuild? |
| # |
| # It makes sense for some packages to be included as a direct dependency of the |
| # chromeos ebuild but for most it doesn't. The package should be added as a |
| # direct dependency of the ebuilds for all packages that actually use it -- in |
| # time, this ensures correct builds and allows easier cleanup of obsolete |
| # packages. For example, if a utility will be invoked by the session manager, |
| # its package should be added as a dependency in the chromeos-login ebuild. If |
| # the package really needs to be a direct dependency of the chromeos ebuild, |
| # consider adding a comment why the package is needed and how it's used. |
| # |
| # 3. Are all default package features and dependent packages needed? |
| # |
| # The release image should include only packages and features that are needed in |
| # the production system. Often packages pull in features and additional packages |
| # that are never used. Review these and consider pruning them (e.g., through USE |
| # flags). |
| # |
| # 4. What is the impact on the image size? |
| # |
| # Before adding a package, evaluate the impact on the image size. If the package |
| # and its dependencies increase the image size significantly, consider |
| # alternative packages or approaches. |
| # |
| # 5. Is the package needed on all targets? |
| # |
| # If the package is needed only on some target boards, consider making it |
| # conditional through USE flags in the board overlays. |
| # |
| # Variable Naming Convention: |
| # --------------------------- |
| # CROS_COMMON_* : Dependencies common to all CrOS flavors |
| # CROS_E_* : Dependencies for embedded CrOS devices (busybox, no X etc) |
| # CROS_* : Dependencies for "regular" CrOS devices (coreutils, X etc) |
| ################################################################################ |
| |
| ################################################################################ |
| # |
| # Per Package Comments: |
| # -------------------- |
| # Please add any comments specific to why certain packages are |
| # pulled into the dependecy here. This is optional and required only when |
| # the dependency isn't obvious |
| # |
| ################################################################################ |
| |
| ################################################################################ |
| # |
| # CROS_COMMON_* : Dependencies common to all CrOS flavors (embedded, regular) |
| # |
| ################################################################################ |
| |
| # Block the old package to force people to clean up. |
| CROS_COMMON_RDEPEND="!chromeos-base/chromeos" |
| |
| CROS_COMMON_RDEPEND+=" |
| syslog? ( app-admin/rsyslog ) |
| bluetooth? ( net-wireless/bluez ) |
| bootchart? ( app-benchmarks/bootchart ) |
| tpm? ( chromeos-base/chaps ) |
| pam? ( virtual/chromeos-auth-config ) |
| fonts? ( chromeos-base/chromeos-fonts ) |
| chromeos-base/chromeos-installer |
| crash_reporting? ( chromeos-base/crash-reporter ) |
| cellular? ( |
| gobi? ( chromeos-base/cromo ) |
| chromeos-base/mist |
| ) |
| buffet? ( chromeos-base/buffet ) |
| cros_disks? ( chromeos-base/cros-disks ) |
| debugd? ( chromeos-base/debugd ) |
| scanner? ( chromeos-base/lorgnette ) |
| peerd? ( chromeos-base/peerd ) |
| power_management? ( chromeos-base/power_manager ) |
| !chromeos-base/platform2 |
| profile? ( chromeos-base/quipper ) |
| shill? ( chromeos-base/shill ) |
| chromeos-base/update_engine |
| vpn? ( chromeos-base/vpn-manager ) |
| wifi_bootstrapping? ( chromeos-base/buffet ) |
| wimax? ( chromeos-base/wimax_manager ) |
| cras? ( chromeos-base/audioconfig media-sound/adhd ) |
| trim_supported? ( chromeos-base/chromeos-trim ) |
| network_time? ( net-misc/tlsdate ) |
| nfc? ( net-wireless/neard chromeos-base/neard-configs ) |
| readahead? ( sys-apps/ureadahead ) |
| pam? ( sys-auth/pam_pwdfile ) |
| watchdog? ( sys-apps/daisydog ) |
| coreboot? ( sys-boot/coreboot ) |
| mtd? ( sys-fs/mtd-utils ) |
| chromeos-base/chromeos-machine-id-regen |
| sys-kernel/linux-firmware |
| virtual/chromeos-bsp |
| virtual/chromeos-firewall |
| virtual/chromeos-firmware |
| virtual/chromeos-interface |
| virtual/chromeos-regions |
| virtual/implicit-system |
| virtual/linux-sources |
| virtual/modutils |
| virtual/service-manager |
| " |
| CROS_COMMON_DEPEND="${CROS_COMMON_RDEPEND} |
| bootimage? ( sys-boot/chromeos-bootimage ) |
| cros_ec? ( chromeos-base/chromeos-ec ) |
| " |
| |
| ################################################################################ |
| # |
| # CROS_* : Dependencies for "regular" CrOS devices (coreutils, X etc) |
| # |
| # Comments on individual packages: |
| # -------------------------------- |
| # app-editors/vim: |
| # Specifically include the editor we want to appear in chromeos images, so that |
| # it is deterministic which editor is chosen by 'virtual/editor' dependencies |
| # (such as in the 'sudo' package). See crosbug.com/5777. |
| # |
| # app-shells/bash: |
| # We depend on dash for the /bin/sh shell for runtime speeds, but we also |
| # depend on bash to make the dev mode experience better. We do not enable |
| # things like line editing in dash, so its interactive mode is very bare. |
| # |
| # sys-apps/which: |
| # In gentoo, the 'which' command is part of 'system' and certain packages |
| # assume sys-apps/which is already installed, since we dont install 'system' |
| # explicitly list sys-apps/which. |
| # |
| # net-wireless/realtek-rt2800-firmware: |
| # USB / WiFi Firmware. |
| # |
| # app-i18n/nacl-mozc: |
| # A text input processors based on IME extension APIs. |
| # |
| # app-i18n/chinese-input: |
| # A suite of Chinese input methods based on IME extension APIs. |
| |
| # app-i18n/keyboard-input: |
| # A suite of keyboard input methods based on IME extension APIs. |
| # |
| # app-i18n/chromeos-hangul |
| # A Hangul input processor based on extension APIs. |
| ################################################################################ |
| |
| CROS_X86_RDEPEND=" |
| dptf? ( virtual/dptf ) |
| intel_lpe? ( virtual/lpe-support ) |
| " |
| CROS_ARM_RDEPEND=" |
| chromeos-base/u-boot-scripts |
| " |
| |
| CROS_X_RDEPEND=" |
| chromeos-base/xorg-conf |
| x11-apps/xrandr |
| x11-base/xorg-server |
| " |
| |
| CROS_RDEPEND=" |
| x86? ( ${CROS_X86_RDEPEND} ) |
| amd64? ( ${CROS_X86_RDEPEND} ) |
| arm? ( ${CROS_ARM_RDEPEND} ) |
| X? ( ${CROS_X_RDEPEND} ) |
| " |
| |
| CROS_RDEPEND="${CROS_RDEPEND} |
| app-arch/tar |
| app-crypt/trousers |
| app-editors/vim |
| app-i18n/chinese-input |
| app-i18n/keyboard-input |
| app-i18n/japanese-input |
| app-i18n/chromeos-hangul |
| power_management? ( app-laptop/laptop-mode-tools ) |
| app-shells/bash |
| chromeos-base/common-assets |
| chromeos-base/chromeos-imageburner |
| chromeos-base/crosh |
| chromeos-base/dev-install |
| chromeos-base/inputcontrol |
| chromeos-base/mtpd |
| chromeos-base/permission_broker |
| chromeos-base/userfeedback |
| chromeos-base/vboot_reference |
| chromeos-base/vpd |
| bluetooth? ( net-wireless/ath3k ) |
| net-wireless/crda |
| net-wireless/marvell_sd8787 |
| net-wireless/realtek-rt2800-firmware |
| sys-apps/dbus |
| sys-apps/flashrom |
| sys-apps/iproute2 |
| sys-apps/mosys |
| sys-apps/pv |
| sys-apps/rootdev |
| sys-apps/upstart |
| sys-fs/e2fsprogs |
| virtual/udev |
| touchview? ( chromeos-base/chromeos-accelerometer-init ) |
| virtual/assets |
| " |
| |
| # Build time dependencies |
| CROS_X86_DEPEND=" |
| sys-boot/syslinux |
| " |
| |
| CROS_DEPEND="${CROS_RDEPEND} |
| x86? ( ${CROS_X86_DEPEND} ) |
| amd64? ( ${CROS_X86_DEPEND} ) |
| " |
| |
| ################################################################################ |
| # CROS_E_* : Dependencies for embedded CrOS devices (busybox, no X etc) |
| # |
| ################################################################################ |
| |
| CROS_E_RDEPEND="${CROS_E_RDEPEND} |
| sys-apps/util-linux |
| feedback? ( chromeos-base/feedback ) |
| " |
| |
| # Build time dependencies |
| CROS_E_DEPEND="${CROS_E_RDEPEND} |
| " |
| |
| ################################################################################ |
| # Assemble the final RDEPEND and DEPEND variables for portage |
| ################################################################################ |
| RDEPEND="${CROS_COMMON_RDEPEND} |
| cros_embedded? ( ${CROS_E_RDEPEND} ) |
| !cros_embedded? ( ${CROS_RDEPEND} ) |
| " |