From fce6ac5d8fbc84eb576d0acfd5cc7f3f35f3548d Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 9 Jun 2014 13:50:54 -0700 Subject: [PATCH 1/3] fix(profiles): Remove mail provided hack. Nothing in our system depends on mailbase/ssmtp any more so this package.provided hack can go away. --- .../coreos-overlay/profiles/coreos/base/package.provided | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.provided diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.provided b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.provided deleted file mode 100644 index 7e87b34be8..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.provided +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -# Distributed under the terms of the GNU General Public License v2 - -# We don't send mail anywhere, so don't bother trying to install -# even a simple mta (like ssmtp). http://crosbug.com/5777 -mail-mta/ssmtp-2.64 -net-mail/mailbase-1 From 2e47e890482d984e87c0ac880aca491d41ffe5c5 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 9 Jun 2014 15:35:33 -0700 Subject: [PATCH 2/3] fix(profiles): gut board package.provided The intent of this file is to exclude dependencies from both the build root in /build/amd64-usr and board images that would be pulled in but aren't actually needed. Many of these are build utilities that need to be provided by the SDK rather than the build root. The current state is a bit confusing because we are actually including things like git but it is also listed here and this somehow works due to version differences. Additionally dev images will start including a working build environment soon so may of these tools need to get built after all. To simplify things everything has been removed except for the few packages that are would get pulled into production images if it weren't for this file. packages.provided actually shouldn't be used in this way, instead controlling dependencies should be done via USE flags and possibly some day the experimental HDEPEND ebuild variable. --- .../coreos/targets/generic/package.provided | 78 ++----------------- 1 file changed, 6 insertions(+), 72 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided index 365e793996..c91f635c1d 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided @@ -1,80 +1,14 @@ # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. # Distributed under the terms of the GNU General Public License v2 -# This file lists packages that ebuilds DEPEND on, sometimes implicitly, -# but really are only needed on the build host. This allows us to use -# --root-deps without "--rootdeps=rdeps" to install package DEPEND into -# the sysroot as part of the build process without also having to cross- -# compile and drag in the below packages as dependencies. See "man portage". +# Packages that are pulled in via RDEPEND without a use flag to +# disable them and we have no need/use for them in prod images. -# NOTE: Toolchain packages (gcc, glibc, binutils) are specified in the -# dynamically generated ${BOARD_DIR}/etc/portage/profile/package.provided -# created by the setup_board script. - -app-admin/eselect-1.2.9 -app-admin/eselect-esd-20060719 -app-admin/eselect-fontconfig-1.0 -app-admin/eselect-opengl-1.0.8-r1 -app-admin/eselect-mesa-0.0.8 +# pulled in by app-crypt/pinentry app-admin/eselect-pinentry-0.3 + +# pulled in by app-editors/vim app-admin/eselect-vi-1.1.5 -app-arch/cabextract-1.2-r1 -app-arch/rpm2targz-9.0.0.3g - -app-portage/portage-utils-0.1.29 - -app-text/build-docbook-catalog-1.4 -app-text/docbook-xsl-stylesheets-1.75.2 -app-text/texi2html-1.76 - -dev-lang/nasm-2.07 -dev-lang/perl-5.8.8-r5 - -# Needed for building Icedtea -dev-java/ant-core-1.7.1-r4 -dev-java/xalan-2.7.1 -dev-java/xerces-2.9.1 - -dev-perl/Crypt-PasswdMD5-1.3 -dev-perl/Digest-SHA1-2.11 -dev-perl/XML-Parser-2.36 - -dev-util/cmake-2.8.6 -dev-util/ctags-5.7 -dev-util/gperf-3.0.3 -dev-util/gtk-doc-1.13-r3 -dev-util/gtk-doc-am-1.13-r2 -dev-util/pkgconfig-0.23 - -dev-vcs/git-1.6.4.4 -dev-vcs/subversion-1.6.9 - -perl-core/digest-base-1.16 -perl-core/MIME-Base64-3.08 - -sys-apps/debianutils-3.1.3-r1 -sys-apps/help2man-1.36.4 - -# Needed for building Icedtea -sys-apps/lsb-release-1.4 - -sys-apps/texinfo-4.13 - -sys-devel/autoconf-2.63-r1 -sys-devel/automake-1.10.2 -sys-devel/bison-2.3 -sys-devel/gettext-0.18.1-r1 -sys-devel/gnuconfig-20090203 -sys-devel/m4-1.4.12 - -sys-kernel/gentoo-sources-2.6.30-r6 - -x11-apps/mkfontscale-1.0.6 -x11-misc/makedepend-1.0.1 - -# Legacy font map encodings which we don't care about. http://crosbug.com/25001 -media-fonts/encodings-1.0.3 - -# Our chromeos-base package takes care of this. +# pulled in by app-admin/sudo app-misc/editor-wrapper-4 From 4c248dd06c589a7e2e2dbdcdc97723fed73eee40 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 9 Jun 2014 15:58:38 -0700 Subject: [PATCH 3/3] feat(profiles): New generic/dev and generic/prod profiles. The dev images are going to become complete build environments. Keeping track of the differences between the two via profiles will be easier than making the current prod and dev image scripts even more complex. --- .../profiles/coreos/amd64/generic/dev/parent | 2 ++ .../profiles/coreos/amd64/generic/prod/parent | 2 ++ .../profiles/coreos/targets/generic/dev/README | 7 +++++++ .../profiles/coreos/targets/generic/prod/README | 7 +++++++ .../src/third_party/coreos-overlay/profiles/profiles.desc | 2 ++ 5 files changed, 20 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/dev/parent create mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/prod/parent create mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/dev/README create mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/prod/README diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/dev/parent b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/dev/parent new file mode 100644 index 0000000000..35ac69992e --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/dev/parent @@ -0,0 +1,2 @@ +.. +:coreos/targets/generic/dev diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/prod/parent b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/prod/parent new file mode 100644 index 0000000000..89b629a19e --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/prod/parent @@ -0,0 +1,2 @@ +.. +:coreos/targets/generic/prod diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/dev/README b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/dev/README new file mode 100644 index 0000000000..40537d4fcd --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/dev/README @@ -0,0 +1,7 @@ +Profile settings specific to "dev" images and containers. + +Settings here must *ONLY* influence installing binary packages and never +change build time settings like USE or CFLAGS because binary packages +are shared between dev and prod, dev just includes more stuff. + +For example, INSTALL_MASK and package.provided are ok. diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/prod/README b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/prod/README new file mode 100644 index 0000000000..a7b67190ee --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/prod/README @@ -0,0 +1,7 @@ +Profile settings specific to "prod" images. + +Settings here must *ONLY* influence installing binary packages and never +change build time settings like USE or CFLAGS because binary packages +are shared between dev and prod, dev just includes more stuff. + +For example, INSTALL_MASK and package.provided are ok. diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/profiles.desc b/sdk_container/src/third_party/coreos-overlay/profiles/profiles.desc index 0eb87270f8..0385f806b2 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/profiles.desc +++ b/sdk_container/src/third_party/coreos-overlay/profiles/profiles.desc @@ -1,4 +1,6 @@ amd64 coreos/amd64/generic dev +amd64 coreos/amd64/generic/dev dev +amd64 coreos/amd64/generic/prod dev amd64 coreos/amd64/sdk dev amd64 default/linux/amd64/10.0 dev amd64 default/linux/amd64/10.0/coreos dev