Commit Graph

1911 Commits

Author SHA1 Message Date
Ken Mixter
c0921383c0 Improvements for to continuous test loop.
Run a basic check on a buildbot grabbed image to make sure it has a
kernel installed in it.

Better failure recovery.

Review URL: http://codereview.chromium.org/553063
2010-01-25 11:02:32 -08:00
Colin Watson
35431dc239 Handle some special-case naming for chromiumos-build
chromiumos-build gets less confused if we refer to the package name
e4fsprogs-git rather than the directory name e2fsprogs (which is also a
different source package downloadable from Ubuntu).

Don't bother trying to build ibus-anthy, ibus-chewing, or ibus-hangul on
anything other than i386 for now.  They aren't easily cross-buildable
and we can live without input methods.

Review URL: http://codereview.chromium.org/554063
2010-01-25 16:51:59 +00:00
Colin Watson
e550bbd5ae Don't build packages inside destination directory
chromiumos-build's destination directory shouldn't be a build directory;
as advised in chromiumos-build(1), this can cause it to think that
failed builds were actually successful.  Build downloaded source
packages in src/build/ARCHITECTURE/external/ instead.

While we're here, rename the configuration file to a more visible name.

Review URL: http://codereview.chromium.org/548137
2010-01-25 16:35:10 +00:00
Colin Watson
2c3e57fd0a Create the pkgs dir if it does not already exist
Patch Contributed By: Nasser Grainawi <nasser@codeaurora.org>

Review URL: http://codereview.chromium.org/551126
2010-01-25 16:00:55 +00:00
tedbo
3700cd8c0c Some changes to be able to build an armel-based rootfs.
Review URL: http://codereview.chromium.org/554056
2010-01-22 16:39:36 -08:00
Andrew de los Reyes
cb68f29229 Build: allow package lists to be filtered by arch.
This is copied from lminier@ in his patch "Rewrite local repository
generation".

Review URL: http://codereview.chromium.org/548109
2010-01-22 14:54:42 -08:00
Tim Gardner
dd45d3272f Revert "kernel: Use the debian infrastructure to construct kernel config files"
This is causing some kernel version package issues. Revert until I can
figure out the right fix.

This reverts commit 6eda4bc874427041c5a2eab794eb72284e9dcee7.
2010-01-22 14:40:11 -07:00
Chris Sosa
73de2358c0 Adds script to mod image for test to enable new login manager on test images
Review URL: http://codereview.chromium.org/555039
2010-01-22 13:33:25 -08:00
Tim Gardner
9ee75d90a3 kernel: Use the debian infrastructure to construct kernel config files
This is the first step towards abandonding make-kpkg. The next
step is to remove the kernel config files under
$(KERNEL_DIR)/files/Config, thereby requiring the use
of config files in $(KERNEL_DIR)/files/debian.chrome/config

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>

Review URL: http://codereview.chromium.org/549135
2010-01-22 12:43:21 -07:00
Colin Watson
aaedee7f36 Various image build improvements for ARM
Add an --arch option to build_image.sh, passed to install_packages.sh.
Use it to set APT::Architecture.

Add --mirror2/--suite2 options to build_image.sh, and --server2/--suite2
options to install_packages.sh (differing option names to match options
that were there already).  This allows some of the packages to be pulled
from ports.ubuntu.com rather than from local_packages, like this:

  ./build_image.sh --arch armel --mirror2 http://ports.ubuntu.com/ubuntu-ports --suite2 karmic

Copy only .debs from local_packages, not whatever other junk might be
lying around there.

Use copy: rather than file: for local_packages, so that the files will
be copied into the apt cache directory for the benefit of
dpkg_no_scripts.sh.

Review URL: http://codereview.chromium.org/554031
2010-01-22 17:57:28 +00:00
Tim Gardner
1bd60cdedf Split the binary and source mirror defaults
(This was orignally reveiwed in the wrong place:
http://codereview.appspot.com/193057/show)

Many local mirrors (such as mine) only contain mirrors
of the binary packages, sufficient to create a debootstrap
chroot. Source packages, the sum of which, can be quite large and
are not typically mirrored locally. This patch allows one
to create a chroot with overrides to the desired mirrors, e.g.,

./make_chroot.sh --replace --mirror http://mirror.rtg.net/ubuntu

In this example all of the binaries come from my local mirror, all source
packages come from $DEFAULT_DEV_MIRROR.

./make_chroot.sh --replace --mirror_src http://archive.ubuntu.com/ubuntu

Here the source packages are pulled from the Ubuntu archive whereas the
binaries come from $DEFAULT_DEV_MIRROR.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>

Review URL: http://codereview.chromium.org/545169
2010-01-22 09:46:32 -07:00
Ken Mixter
45319e9ad0 Add a script to simplify some common developer workflows.
Here are some example ways to use the script (from comments)

sync_build_test.sh
  syncs, recreates local repo and chroot, builds, and masters an
  image in the checkout based on your current directory, or if you
  are not in a checkout, based on the top level directory the script
  is run from.

sync_build_test.sh --image_to_usb=/dev/sdb -i
  same as above but then images USB device /dev/sdb with the image.
  Also prompt the user in advance of the steps we'll take to make
  sure they agrees.

sync_build_test.sh --top=~/foo --nosync --remote 192.168.1.2
  builds and masters an image in ~/foo, and live updates the machine
  at 192.168.1.2 with that image.

sync_build_test.sh --top=~/newdir --test "Pam BootPerfServer" \
     --remote=192.168.1.2
  creates a new checkout in ~/newdir, builds and masters an image
  which is live updated to 192.168.1.2 and then runs
  two tests (Pam and BootPerfServer) against that machine.

sync_build_test.sh --grab_buildbot=LATEST --test Pam --remote=192.168.1.2
  grabs the latest build from the buildbot, properly modifies it,
  reimages 192.168.1.2, and runs the given test on it.

Review URL: http://codereview.chromium.org/548094
2010-01-21 14:58:40 -08:00
Colin Watson
d4ecbea68c Remove duplication in chromiumos-build invocation
Review URL: http://codereview.chromium.org/555032
2010-01-21 22:10:09 +00:00
Steve VanDeBogart
844d5abb1d Maintainer script for flash
Fix chrome packaging (wrong symlink for plugin directory)
Pass architecture (ARCH) down from install_packages.sh
Remove tar from prod package list

Review URL: http://codereview.chromium.org/555027
2010-01-20 21:50:35 -08:00
Steve VanDeBogart
8cb7443cad Update maintainer script template
Review URL: http://codereview.chromium.org/543146
2010-01-20 21:39:29 -08:00
Eric Li
ce1ce9740a This is a resubmit. The original CL was lost due to local disk crashes.
Review URL: http://codereview.chromium.org/551087
2010-01-20 17:01:44 -08:00
rginda
40043a0997 integrate pam_offline with the build and packaging system
after this cl, pam_offline will be built by default, included in the image,
and configured as the pam authority for xscreensaver.

Review URL: http://codereview.chromium.org/554021
2010-01-20 13:42:32 -08:00
Bill Richardson
10d27c2540 Rewrite make_chroot.sh to use local mirrors directly.
Use our karmic mirror for creating the build chroot, removing the need for
make_local_repo.sh and the repo_list_*.txt files. If a local repo exists
when build_chroot.sh is run it will be used, but it's no longer necessary.

This change does not remove make_local_repo.sh or the repo_list_*.txt files.

Review URL: http://codereview.chromium.org/548083
2010-01-20 13:38:50 -08:00
tedbo
89fae0eff4 Fix when referencing --with_dev_pkgs flag. Doh!
Review URL: http://codereview.chromium.org/548092
2010-01-20 12:02:24 -08:00
tedbo
7237f473fb Add --with_dev_pkgs option to build_image.sh to pull in developer debug packages.
This defaults to TRUE when building an image.

This CL moves some developer-only packages from package-list-prod.txt to
package-list-debug.txt and adds support for a comma-separated list of
package lists to build_image.sh.

Actually, I'd like to rename package-list-dev.txt to package-list-build.txt
and package-list-debug.txt to package-list-dev.txt but maybe in another CL.

Also there is a patch from lool that we should grab some stuff from that
can filter the package lists by build architecture. Eventually we will
likely add target-specific package lists as well.

With this change, build_image.sh --nowith_dev_pkgs will build an image
that does not contain niceties such as xterm.

Review URL: http://codereview.chromium.org/549107
2010-01-20 10:34:33 -08:00
Satoru Takabayashi
8d2a034fa0 Build and package candidate_window in addition to chrome.
candidate_window is used for entering text in CJK languages.
See the design doc of "Chromium OS Text Input" for details:
http://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/text-input

TEST=Ran "build_chrome.sh" and confirmed that candidate_window is included in chrome-chromeos.zip

Review URL: http://codereview.chromium.org/543105
2010-01-20 19:12:25 +09:00
Andrew de los Reyes
79d99a83c3 ARM build: replacement postinst for netbase
Review URL: http://codereview.chromium.org/545130
2010-01-19 22:56:27 -08:00
tedbo
ac0346a9dd Move set of bootstrap /dev devices to /lib/chromiumos/devices.
Rather than pull the initial set from /lib/udev/devices, we
move them to /lib/chromiumos/devices.

We also whitelist the udev maintainer script since we don't need
to have it create devices in /lib/udev/devices and we also do not
need it to create the persistent rules files.

Review URL: http://codereview.chromium.org/552056
2010-01-19 19:41:02 -08:00
Chris Sosa
a49e77f70b Wrong command entered here. Need absolute path
Review URL: http://codereview.chromium.org/552058
2010-01-19 18:40:55 -08:00
Steve VanDeBogart
bf201ba640 Fix the creation of .list files for dpkg with maintainer scripts
Remove explicit use of sh to run custom maintainer postinst scripts.

Review URL: http://codereview.chromium.org/542135
2010-01-19 17:14:05 -08:00
Chris Sosa
8a09a05ef0 Modifies archived build to include a test image in the zip file
Review URL: http://codereview.chromium.org/542131
2010-01-19 16:05:36 -08:00
Ken Mixter
57d2a6bd12 Add functionality required for perf dashboard.
image_to_live.sh - fix problem where errorvalue is non-zero even when
  reimage was successful.
run_remote_tests.sh - add ability to stow build description in the
  autotest database so we can track the exact build for which
  tests succeed/fail.

Review URL: http://codereview.chromium.org/547018
2010-01-18 10:58:25 -08:00
Steve VanDeBogart
8174ba0782 Move is_whitelisted to the common script so that all users get the previous fix
Fix typo to enable preinst scripts to run

Review URL: http://codereview.chromium.org/542097
2010-01-15 19:45:30 -08:00
Steve VanDeBogart
6a76c4d9b4 Change the replacement dpkg to respect comment lines in package.whitelist
Review URL: http://codereview.chromium.org/543099
2010-01-15 16:54:29 -08:00
Eric Li
3a704ffee4 Rework run_autotest.sh to support server side control files.
The idea here is to remove flag processing inside this wrapper script and pass on all flags into autoserv.

I've tested with server/site_tests/system_BootPerfServer and a client side tests.

Both work fine.

Review URL: http://codereview.chromium.org/536081
2010-01-15 15:47:43 -08:00
Daniel Erat
af9c8deafe build: Add gnupg and x11-utils to prod package list.
apt-get can't verify signatures without GPG, which
leads to devserver scripts breaking.  xwininfo and
xprop are useful for debugging X issues.

Review URL: http://codereview.chromium.org/542079
2010-01-15 10:09:11 -08:00
Eric Li
4ff32f64b9 Enhance autotest run inside chroot.
Review URL: http://codereview.chromium.org/542068
2010-01-15 10:08:16 -08:00
Ken Mixter
88aaf818cb Reenable upstart now that we can build it reliably.
Review URL: http://codereview.chromium.org/551021
2010-01-14 17:05:49 -08:00
Ken Mixter
de780c41c3 Record the production rootfs size for tracking with autotest
Review URL: http://codereview.chromium.org/536057
2010-01-14 15:29:22 -08:00
Will Drewry
d2f8c15613 Bump gtest to 1.4.0 and add gmock 1.4.0
Review URL: http://codereview.chromium.org/536056
2010-01-14 14:10:08 -08:00
Colin Watson
a2400d48ca Native build import script
Add a script to import all binary packages for a given source package
from ports.ubuntu.com, convert and install them using 'chromiumos-build
--convert', and write out a fake .changes file so that chromiumos-build
doesn't try to re-import them.  Use it like this:

  ./import_native_build.sh anthy libchewing

For the moment, there are a number of source packages that won't
cross-build successfully but that can be imported from native Ubuntu
builds, and this wraps up the process of doing so.

Review URL: http://codereview.chromium.org/543059
2010-01-14 20:49:12 +00:00
Colin Watson
555b147cc3 Add optional chromiumos-build support to build_platform_packages
This makes it possible to attempt a build using chromiumos-build by
running './build_platform_packages.sh --new-build', with an -a option to
select the architecture (e.g. -a armel).

Right now, this uses --apt-source to build all build-dependencies as
well, since that usually ends up being what you want when
cross-compiling.  I'd appreciate feedback from buildbot-oriented folks
on whether this is an acceptable load in general.  For the meantime,
this is mainly for the convenience of people working on the cross-build
project.

Review URL: http://codereview.chromium.org/546042
2010-01-14 00:13:01 +00:00
Sean O'Connor
c922fc09a5 Re-work automation setup scripts.
Review URL: http://codereview.chromium.org/542058
2010-01-13 11:07:52 -08:00
tedbo
47cac17a50 Fix i386 hardcode.
Review URL: http://codereview.chromium.org/536045
2010-01-13 10:33:00 -08:00
Ken Mixter
48afd4898f Disable upstart builds until we find a proper build reliability fix
Review URL: http://codereview.chromium.org/545037
2010-01-12 20:13:57 -08:00
tedbo
e8d9fd5a16 A script to manage the whitelist of package maintainer scripts.
The package_script_whitelist.sh is intendended to make it easy
to make passes through the set of packages that have preinst
or postinst maintainer scripts and add them to the whitelist.
The audit mode will use the PAGER to show non-whitelisted preinst
and postinst scripts and ask you if you want to whitelist them,
create a template alternative maintainer script, skip, etc.

There are also commands to add individual scripts or check to
see if they are in the whitelist.

Review URL: http://codereview.chromium.org/543027
2010-01-12 18:43:22 -08:00
Chris Sosa
083e781e9c Add chromeos=1 to build_chrome.sh
Review URL: http://codereview.chromium.org/545031
2010-01-12 15:14:19 -08:00
David McMahon
5d589a6cf7 Created branch release_28. Update CHROMEOS_VERSION_BRANCH=29 2010-01-12 12:02:41 -08:00
Daniel Erat
5e36dd8aec build: Get rid of manually-maintained lists of tests.
BUG=chromium-os:1245
TEST=ran scripts/build_tests.sh and scripts/run_tests.sh

Review URL: http://codereview.chromium.org/541020
2010-01-12 10:31:14 -08:00
Ken Mixter
7b3b9d76fb Build and install a Chromium OS specific version of upstart.
Review URL: http://codereview.chromium.org/525046
2010-01-12 09:05:37 -08:00
tedbo
3d9b18913c Always use our dpkg wrapper when mastering an image.
This changes install_packages to always have apt use our dpkg
wrapper when building an image. The dpkg_no_scripts.sh has been
modified to check if a package's maintainer scripts have been
whitelisted. If so, it will install without maintainer scripts.
If any relevant maintainer script has not been whitelisted it
will fall back to standard dpkg which will process the
maintainer scripts.

This will allow us to transition to installing packages without
maintainer scripts in batches rather than all at once. Once
everything is switched over we will have dpkg_no_scripts.sh
throw an error if it encounters a package with maintainer
scripts that have not been whitelisted.

Move postinst stuff from install_packages.sh to actual postinst
scripts.

Review URL: http://codereview.chromium.org/549017
2010-01-11 17:34:44 -08:00
Eric Li
55d1c59a58 Since now those packages are build with autotest pre build.
This CL should be submitted after 531001.

Review URL: http://codereview.chromium.org/537009
2010-01-11 10:47:54 -08:00
tedbo
4f44d9e104 Use local apt cache instead of local_repo when mastering an image.
This change switches to mastering an image without using debootstrap.
We turn on the previously experimental bits that install a small
set of packages manually before handing things over to apt. In both
cases we use apt to download the packages so that it can populate
it's local package cache.

With this change we will no longer depend on the local_repo when
mastering an image. Developers will not have to rebuild their
local repo when repo_list_image.txt changes. Instead we will use
and lazy-fill the local apt-cache. The first time you build_image.sh
it will be slow since it needs to download the packages. Subsequent
runs should be as before since it will use the local cache. If
packages are added they should be lazily fetched in the next image
build.

Until we have a fully populated external mirror, developers will
still have to add packages to repo_list_image.txt. Also, until
make_chroot is switched over to use the external repo then
developers will have to redo their local repo when the
repo_list_dev.txt changes.

Review URL: http://codereview.chromium.org/521073
2010-01-08 17:26:11 -08:00
tedbo
58e02408a6 Changes to make the resulting image mostly functional when skipping debootstrap.
Review URL: http://codereview.chromium.org/523159
2010-01-07 20:00:46 -08:00
Ken Mixter
689b9ee48e Simple way to run client/server autotest(s) from server.
This is a script to run client or server autotests on a live Chromium OS instance, collect results, and optionally upload the to an autotest database.  This includes functional and performance tests.  We assume the remote instance is running an appropriate image installed (one created using mod_image_for_test.sh and possibly installed using image_to_live.sh).

An example run might be

run_remote_tests.sh --remote=192.168.1.5 BootPerfServer -o results.txt

This example will run src/platform/testing/server_tests/system_BootPerfServer
5 times on instance at 192.168.1.5 and collect results in result.txt.

Also refactors and improves readability in image_to_live.sh.

Review URL: http://codereview.chromium.org/519041
2010-01-07 18:23:52 -08:00