mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 17:06:58 +02:00
commit
f2071f59e2
@ -27,7 +27,6 @@ DEPEND="sys-apps/baselayout
|
|||||||
!<net-misc/openssh-5.2_p1-r8
|
!<net-misc/openssh-5.2_p1-r8
|
||||||
!cros_host? (
|
!cros_host? (
|
||||||
sys-libs/timezone-data
|
sys-libs/timezone-data
|
||||||
!sys-apps/gawk
|
|
||||||
)"
|
)"
|
||||||
RDEPEND="${DEPEND}
|
RDEPEND="${DEPEND}
|
||||||
sys-apps/systemd
|
sys-apps/systemd
|
||||||
@ -133,9 +132,6 @@ src_install() {
|
|||||||
# Symlink /etc/localtime to something on the stateful partition,
|
# Symlink /etc/localtime to something on the stateful partition,
|
||||||
# which we can then change around at runtime.
|
# which we can then change around at runtime.
|
||||||
dosym /var/lib/timezone/localtime /etc/localtime || die
|
dosym /var/lib/timezone/localtime /etc/localtime || die
|
||||||
|
|
||||||
# We use mawk in the target boards, not gawk.
|
|
||||||
dosym mawk /usr/bin/awk || die
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add a sudo file for the core use
|
# Add a sudo file for the core use
|
||||||
|
@ -39,6 +39,7 @@ RDEPEND="${RDEPEND}
|
|||||||
dev-libs/nss
|
dev-libs/nss
|
||||||
app-editors/vim
|
app-editors/vim
|
||||||
app-misc/evtest
|
app-misc/evtest
|
||||||
|
app-portage/gentoolkit
|
||||||
app-shells/bash
|
app-shells/bash
|
||||||
coreos-base/gmerge
|
coreos-base/gmerge
|
||||||
dev-lang/python
|
dev-lang/python
|
||||||
@ -60,6 +61,7 @@ RDEPEND="${RDEPEND}
|
|||||||
sys-apps/i2c-tools
|
sys-apps/i2c-tools
|
||||||
sys-apps/kbd
|
sys-apps/kbd
|
||||||
sys-apps/less
|
sys-apps/less
|
||||||
|
sys-apps/portage
|
||||||
sys-apps/smartmontools
|
sys-apps/smartmontools
|
||||||
sys-apps/usbutils
|
sys-apps/usbutils
|
||||||
sys-apps/which
|
sys-apps/which
|
||||||
|
@ -107,7 +107,6 @@ RDEPEND="${RDEPEND}
|
|||||||
coreos-base/vboot_reference
|
coreos-base/vboot_reference
|
||||||
coreos-base/update_engine
|
coreos-base/update_engine
|
||||||
coreos-base/coreos-installer
|
coreos-base/coreos-installer
|
||||||
coreos-base/dev-install
|
|
||||||
coreos-base/coreos-init
|
coreos-base/coreos-init
|
||||||
net-misc/dhcpcd
|
net-misc/dhcpcd
|
||||||
net-firewall/iptables
|
net-firewall/iptables
|
||||||
@ -116,9 +115,9 @@ RDEPEND="${RDEPEND}
|
|||||||
net-misc/wget
|
net-misc/wget
|
||||||
sys-apps/coreutils
|
sys-apps/coreutils
|
||||||
sys-apps/dbus
|
sys-apps/dbus
|
||||||
|
sys-apps/gawk
|
||||||
sys-apps/grep
|
sys-apps/grep
|
||||||
sys-apps/less
|
sys-apps/less
|
||||||
sys-apps/mawk
|
|
||||||
sys-apps/net-tools
|
sys-apps/net-tools
|
||||||
sys-apps/rootdev
|
sys-apps/rootdev
|
||||||
sys-apps/sed
|
sys-apps/sed
|
||||||
|
@ -1,139 +0,0 @@
|
|||||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
# This ebuild file installs the developer installer package. It:
|
|
||||||
# + Copies dev_install.
|
|
||||||
# + Copies some config files for emerge: make.defaults and make.conf.
|
|
||||||
# + Generates a list of packages installed (in base images).
|
|
||||||
# dev_install downloads and bootstraps emerge in base images without
|
|
||||||
# modifying the root filesystem.
|
|
||||||
|
|
||||||
EAPI="4"
|
|
||||||
CROS_WORKON_COMMIT="597ca1198129fab4b870618c74ae4d51b6b85e4a"
|
|
||||||
CROS_WORKON_TREE="ae6f2543c17e05c66b249852d15090e66a96c45f"
|
|
||||||
CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
|
|
||||||
CROS_WORKON_LOCALNAME="dev"
|
|
||||||
CROS_WORKON_OUTOFTREE_BUILD="1"
|
|
||||||
|
|
||||||
inherit cros-workon cros-board multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Chromium OS Developer Packages installer"
|
|
||||||
HOMEPAGE="http://www.chromium.org/chromium-os"
|
|
||||||
|
|
||||||
LICENSE="BSD"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 arm x86"
|
|
||||||
IUSE="cros-debug"
|
|
||||||
|
|
||||||
DEPEND="app-arch/tar
|
|
||||||
sys-apps/coreutils
|
|
||||||
sys-apps/grep
|
|
||||||
dev-util/strace
|
|
||||||
sys-apps/portage
|
|
||||||
sys-apps/sed"
|
|
||||||
# TODO(arkaitzr): remove dependency on tar if it's gonna be removed from the
|
|
||||||
# base image. Also modify dev_install.
|
|
||||||
RDEPEND="app-arch/tar
|
|
||||||
net-misc/curl
|
|
||||||
sys-apps/coreutils"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
SRCDIR="${S}/dev-install"
|
|
||||||
mkdir -p "$(cros-workon_get_build_dir)"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd "$(cros-workon_get_build_dir)"
|
|
||||||
|
|
||||||
local useflags pkg pkgs BOARD=$(get_current_board_with_variant)
|
|
||||||
|
|
||||||
# We need to pass down cros-debug automatically because this is often
|
|
||||||
# times toggled at the ./build_packages level. This is a hack of sorts,
|
|
||||||
# but covers the most common case.
|
|
||||||
useflags="${USE}"
|
|
||||||
use cros-debug || useflags+=" -cros-debug"
|
|
||||||
|
|
||||||
pkgs=(
|
|
||||||
# Generate a list of packages that go into the base image. These
|
|
||||||
# packages will be assumed to be installed by emerge in the target.
|
|
||||||
coreos
|
|
||||||
|
|
||||||
# Get the list of the packages needed to bootstrap emerge.
|
|
||||||
portage
|
|
||||||
|
|
||||||
# Get the list of dev and test packages.
|
|
||||||
coreos-dev
|
|
||||||
coreos-test
|
|
||||||
)
|
|
||||||
einfo "Ignore warnings below related to LD_PRELOAD/libsandbox.so"
|
|
||||||
multijob_init
|
|
||||||
for pkg in ${pkgs[@]} ; do
|
|
||||||
# The ebuild env will modify certain variables in ways that we
|
|
||||||
# do not care for. For example, PORTDIR_OVERLAY is modified to
|
|
||||||
# only point to the current tree which screws up the search of
|
|
||||||
# the board-specific overlays.
|
|
||||||
(
|
|
||||||
multijob_child_init
|
|
||||||
env -i PATH="${PATH}" PORTAGE_USERNAME="${PORTAGE_USERNAME}" USE="${useflags}" \
|
|
||||||
emerge-${BOARD} \
|
|
||||||
--pretend --quiet --emptytree --ignore-default-opts \
|
|
||||||
--root-deps=rdeps ${pkg} | \
|
|
||||||
egrep -o ' [[:alnum:]-]+/[^[:space:]/]+\b' | \
|
|
||||||
tr -d ' ' | \
|
|
||||||
sort > ${pkg}.packages
|
|
||||||
_pipestatus=${PIPESTATUS[*]}
|
|
||||||
[[ ${_pipestatus// } -eq 0 ]] || die "\`emerge-${BOARD} ${pkg}\` failed"
|
|
||||||
) &
|
|
||||||
multijob_post_fork
|
|
||||||
done
|
|
||||||
multijob_finish
|
|
||||||
# No virtual packages in package.provided. We store packages for
|
|
||||||
# package.provided in file coreos-base.packages as package.provided is a
|
|
||||||
# directory.
|
|
||||||
grep -v "virtual/" coreos.packages > coreos-base.packages
|
|
||||||
|
|
||||||
python "${FILESDIR}"/filter.py || die
|
|
||||||
|
|
||||||
# Add the board specific binhost repository.
|
|
||||||
sed -e "s|BOARD|${BOARD}|g" "${SRCDIR}/repository.conf" > repository.conf
|
|
||||||
|
|
||||||
# Add dhcp to the list of packages installed since its installation will not
|
|
||||||
# complete (can not add dhcp group since /etc is not writeable). Bootstrap it
|
|
||||||
# instead.
|
|
||||||
grep "net-misc/dhcp-" coreos-dev.packages >> coreos-base.packages
|
|
||||||
grep "net-misc/dhcp-" coreos-dev.packages >> bootstrap.packages
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local build_dir=$(cros-workon_get_build_dir)
|
|
||||||
|
|
||||||
cd "${SRCDIR}"
|
|
||||||
dobin dev_install
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage
|
|
||||||
doins "${build_dir}"/{bootstrap.packages,repository.conf}
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage/make.profile
|
|
||||||
doins "${build_dir}"/package.installable make.{conf,defaults}
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage/make.profile/package.provided
|
|
||||||
doins "${build_dir}"/coreos-base.packages
|
|
||||||
|
|
||||||
insinto /etc/env.d
|
|
||||||
doins 99devinstall
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
if [[ $(cros_target) == "target_image" ]]; then
|
|
||||||
# We don't want to install these files into the normal /build/
|
|
||||||
# dir because we need different settings at build time vs what
|
|
||||||
# we want at runtime in release images. Thus, install the files
|
|
||||||
# into /usr/share but symlink them into /etc for the images.
|
|
||||||
local f srcdir="/usr/share/${PN}"
|
|
||||||
pushd "${ED}/${srcdir}" >/dev/null
|
|
||||||
for f in $(find -type f -printf '%P '); do
|
|
||||||
dosym "${srcdir}/${f}" "/etc/${f}"
|
|
||||||
done
|
|
||||||
popd >/dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,136 +0,0 @@
|
|||||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
# This ebuild file installs the developer installer package. It:
|
|
||||||
# + Copies dev_install.
|
|
||||||
# + Copies some config files for emerge: make.defaults and make.conf.
|
|
||||||
# + Generates a list of packages installed (in base images).
|
|
||||||
# dev_install downloads and bootstraps emerge in base images without
|
|
||||||
# modifying the root filesystem.
|
|
||||||
|
|
||||||
EAPI="4"
|
|
||||||
CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
|
|
||||||
CROS_WORKON_LOCALNAME="dev"
|
|
||||||
CROS_WORKON_OUTOFTREE_BUILD="1"
|
|
||||||
|
|
||||||
inherit cros-workon cros-board multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Chromium OS Developer Packages installer"
|
|
||||||
HOMEPAGE="http://www.chromium.org/chromium-os"
|
|
||||||
|
|
||||||
LICENSE="BSD"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm ~x86"
|
|
||||||
IUSE="cros-debug"
|
|
||||||
|
|
||||||
DEPEND="app-arch/tar
|
|
||||||
sys-apps/coreutils
|
|
||||||
sys-apps/grep
|
|
||||||
sys-apps/portage
|
|
||||||
sys-apps/sed"
|
|
||||||
# TODO(arkaitzr): remove dependency on tar if it's gonna be removed from the
|
|
||||||
# base image. Also modify dev_install.
|
|
||||||
RDEPEND="app-arch/tar
|
|
||||||
net-misc/curl
|
|
||||||
sys-apps/coreutils"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
SRCDIR="${S}/dev-install"
|
|
||||||
mkdir -p "$(cros-workon_get_build_dir)"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd "$(cros-workon_get_build_dir)"
|
|
||||||
|
|
||||||
local useflags pkg pkgs BOARD=$(get_current_board_with_variant)
|
|
||||||
|
|
||||||
# We need to pass down cros-debug automatically because this is often
|
|
||||||
# times toggled at the ./build_packages level. This is a hack of sorts,
|
|
||||||
# but covers the most common case.
|
|
||||||
useflags="${USE}"
|
|
||||||
use cros-debug || useflags+=" -cros-debug"
|
|
||||||
|
|
||||||
pkgs=(
|
|
||||||
# Generate a list of packages that go into the base image. These
|
|
||||||
# packages will be assumed to be installed by emerge in the target.
|
|
||||||
coreos
|
|
||||||
|
|
||||||
# Get the list of the packages needed to bootstrap emerge.
|
|
||||||
portage
|
|
||||||
|
|
||||||
# Get the list of dev and test packages.
|
|
||||||
coreos-dev
|
|
||||||
coreos-test
|
|
||||||
)
|
|
||||||
einfo "Ignore warnings below related to LD_PRELOAD/libsandbox.so"
|
|
||||||
multijob_init
|
|
||||||
for pkg in ${pkgs[@]} ; do
|
|
||||||
# The ebuild env will modify certain variables in ways that we
|
|
||||||
# do not care for. For example, PORTDIR_OVERLAY is modified to
|
|
||||||
# only point to the current tree which screws up the search of
|
|
||||||
# the board-specific overlays.
|
|
||||||
(
|
|
||||||
multijob_child_init
|
|
||||||
env -i PATH="${PATH}" PORTAGE_USERNAME="${PORTAGE_USERNAME}" USE="${useflags}" \
|
|
||||||
emerge-${BOARD} \
|
|
||||||
--pretend --quiet --emptytree --ignore-default-opts \
|
|
||||||
--root-deps=rdeps ${pkg} | \
|
|
||||||
egrep -o ' [[:alnum:]-]+/[^[:space:]/]+\b' | \
|
|
||||||
tr -d ' ' | \
|
|
||||||
sort > ${pkg}.packages
|
|
||||||
_pipestatus=${PIPESTATUS[*]}
|
|
||||||
[[ ${_pipestatus// } -eq 0 ]] || die "\`emerge-${BOARD} ${pkg}\` failed"
|
|
||||||
) &
|
|
||||||
multijob_post_fork
|
|
||||||
done
|
|
||||||
multijob_finish
|
|
||||||
# No virtual packages in package.provided. We store packages for
|
|
||||||
# package.provided in file chromeos-base.packages as package.provided is a
|
|
||||||
# directory.
|
|
||||||
grep -v "virtual/" coreos.packages > coreos-base.packages
|
|
||||||
|
|
||||||
python "${FILESDIR}"/filter.py || die
|
|
||||||
|
|
||||||
# Add the board specific binhost repository.
|
|
||||||
sed -e "s|BOARD|${BOARD}|g" "${SRCDIR}/repository.conf" > repository.conf
|
|
||||||
|
|
||||||
# Add dhcp to the list of packages installed since its installation will not
|
|
||||||
# complete (can not add dhcp group since /etc is not writeable). Bootstrap it
|
|
||||||
# instead.
|
|
||||||
grep "net-misc/dhcp-" coreos-dev.packages >> coreos-base.packages
|
|
||||||
grep "net-misc/dhcp-" coreos-dev.packages >> bootstrap.packages
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local build_dir=$(cros-workon_get_build_dir)
|
|
||||||
|
|
||||||
cd "${SRCDIR}"
|
|
||||||
dobin dev_install
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage
|
|
||||||
doins "${build_dir}"/{bootstrap.packages,repository.conf}
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage/make.profile
|
|
||||||
doins "${build_dir}"/package.installable make.{conf,defaults}
|
|
||||||
|
|
||||||
insinto /usr/share/${PN}/portage/make.profile/package.provided
|
|
||||||
doins "${build_dir}"/coreos-base.packages
|
|
||||||
|
|
||||||
insinto /etc/env.d
|
|
||||||
doins 99devinstall
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
if [[ $(cros_target) == "target_image" ]]; then
|
|
||||||
# We don't want to install these files into the normal /build/
|
|
||||||
# dir because we need different settings at build time vs what
|
|
||||||
# we want at runtime in release images. Thus, install the files
|
|
||||||
# into /usr/share but symlink them into /etc for the images.
|
|
||||||
local f srcdir="/usr/share/${PN}"
|
|
||||||
pushd "${ED}/${srcdir}" >/dev/null
|
|
||||||
for f in $(find -type f -printf '%P '); do
|
|
||||||
dosym "${srcdir}/${f}" "/etc/${f}"
|
|
||||||
done
|
|
||||||
popd >/dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
||||||
# Use of this source code is governed by a BSD-style license that can be
|
|
||||||
# found in the LICENSE file.
|
|
||||||
|
|
||||||
# Filter out all the packages that are already in coreos.
|
|
||||||
cros_pkgs = set(open('coreos.packages', 'r').readlines())
|
|
||||||
port_pkgs = set(open('portage.packages', 'r').readlines())
|
|
||||||
|
|
||||||
boot_pkgs = port_pkgs - cros_pkgs
|
|
||||||
f = open('bootstrap.packages', 'w')
|
|
||||||
f.write(''.join(boot_pkgs))
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
# After bootstrapping the package will be assumed
|
|
||||||
# to be installed by emerge.
|
|
||||||
prov_pkgs = [x for x in boot_pkgs if not x.startswith('virtual/')]
|
|
||||||
f = open('coreos-base.packages', 'a')
|
|
||||||
f.write(''.join(prov_pkgs))
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
# Make a list of the packages that can be installed. Those packages
|
|
||||||
# are in coreos-dev or coreos-test and not coreos.
|
|
||||||
dev_pkgs = set(open('coreos-dev.packages', 'r').readlines())
|
|
||||||
test_pkgs = set(open('coreos-test.packages', 'r').readlines())
|
|
||||||
inst_pkgs = (dev_pkgs | test_pkgs) - cros_pkgs
|
|
||||||
|
|
||||||
# We have to keep virtuals because portage will complain if we list
|
|
||||||
# them in package.provided, but it still needs to install a binpkg
|
|
||||||
# for the new style virtuals.
|
|
||||||
inst_pkgs = inst_pkgs | set([x for x in cros_pkgs if x.startswith('virtual/')])
|
|
||||||
|
|
||||||
f = open('package.installable', 'w')
|
|
||||||
f.write(''.join(inst_pkgs))
|
|
||||||
f.close()
|
|
Loading…
Reference in New Issue
Block a user