Commit a9b7d73f authored by mmoss@chromium.org's avatar mmoss@chromium.org

Add Linux packaging tools to the build output and the buildbot archive.

This makes the buildbot archive hermetic for package building, rather than
pulling files from the package builder's source tree (e.g. BRANDING) and system
(e.g. lib32 stuff).

Note, this currently only applies to official builds since that's all we package.

This depends on:
http://codereview.chromium.org/115842
http://codereview.chromium.org/113966

Review URL: http://codereview.chromium.org/115843


git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17151 0039d316-1c4b-4281-b951-d872f2087c98
parent bc2d4d73
......@@ -2268,6 +2268,15 @@
},
],
}],
['OS=="linux"', {
'conditions': [
['branding=="Chrome"', {
'dependencies': [
'installer/installer.gyp:installer_util',
],
}],
],
}],
['OS=="win"', {
'dependencies': [
# On Windows, make sure we've built chrome.dll, which
......
......@@ -9,85 +9,100 @@
],
'targets': [
{
'target_name': 'gcapi_dll',
'type': 'loadable_module',
'msvs_guid': 'B802A2FE-E4E2-4F5A-905A-D5128875C954',
'dependencies': [
'../../google_update/google_update.gyp:google_update',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi.cc',
'gcapi/gcapi.h',
],
'target_name': 'installer_util',
'conditions': [
['OS=="linux"', {
'type': 'none',
# Add these files to the build output so the build archives will be
# "hermetic" for packaging. This is only for branding="Chrome" since
# we only create packages for official builds.
'conditions': [
['branding=="Chrome"', {
'variables': {
'branding_path': 'google_chrome',
'lib32_dir': '<!(if uname -m | egrep -q "x86_64"; then echo lib32; else echo lib; fi)',
},
'copies': [
# Copy tools for generating packages from the build archive.
{
'target_name': 'gcapi_lib',
'type': 'static_library',
'msvs_guid': 'CD2FD73A-6AAB-4886-B887-760D18E8B635',
'dependencies': [
'../../google_update/google_update.gyp:google_update',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi.cc',
'gcapi/gcapi.h',
],
'destination': '<(PRODUCT_DIR)/installer/',
'files': [
'linux/internal/build_from_archive.sh',
]
},
{
'target_name': 'gcapi_test',
'type': 'executable',
'msvs_guid': 'B64B396B-8EF1-4B6B-A07E-48D40EB961AB',
'dependencies': [
'gcapi_dll',
'gcapi_lib',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi_test.cc',
'gcapi/gcapi_test.rc',
'gcapi/resource.h',
'destination': '<(PRODUCT_DIR)/installer/debian/',
'files': [
'linux/internal/debian/changelog.template',
'linux/internal/debian/postinst',
'linux/internal/debian/prerm',
'linux/internal/debian/build.sh',
'linux/internal/debian/control.template',
]
},
{
'destination': '<(PRODUCT_DIR)/installer/common/',
'files': [
'linux/internal/common/apt.include',
'linux/internal/common/wrapper',
'linux/internal/common/updater',
'linux/internal/common/desktop.template',
'linux/internal/common/google-chrome/google-chrome.info',
]
},
# System libs needed for 64-bit package building.
{
'destination': '<(PRODUCT_DIR)/installer/lib32/',
'files': [
'/usr/<(lib32_dir)/libsqlite3.so.0',
'/usr/<(lib32_dir)/libsqlite3.so.0.8.6',
'/usr/<(lib32_dir)/libnspr4.so.0d',
'/usr/<(lib32_dir)/libplds4.so.0d',
'/usr/<(lib32_dir)/libplc4.so.0d',
'/usr/<(lib32_dir)/libssl3.so.1d',
'/usr/<(lib32_dir)/libnss3.so.1d',
'/usr/<(lib32_dir)/libsmime3.so.1d',
'/usr/<(lib32_dir)/libnssutil3.so.1d',
'/usr/<(lib32_dir)/nss/libfreebl3.so',
'/usr/<(lib32_dir)/nss/libsoftokn3.chk',
'/usr/<(lib32_dir)/nss/libsoftokn3.so',
'/usr/<(lib32_dir)/nss/libnssckbi.so',
'/usr/<(lib32_dir)/nss/libnssdbm3.so',
'/usr/<(lib32_dir)/nss/libfreebl3.chk',
],
},
# Additional theme resources needed for package building.
{
'target_name': 'installer_unittests',
'type': 'executable',
'msvs_guid': '903F8C1E-537A-4C9E-97BE-075147CBE769',
'dependencies': [
'installer_util',
'installer_util_strings',
'../../base/base.gyp:base',
'../../testing/gtest.gyp:gtest',
'destination': '<(PRODUCT_DIR)/installer/theme/',
'files': [
'../app/theme/<(branding_path)/product_logo_16.png',
'../app/theme/<(branding_path)/product_logo_32.png',
'../app/theme/<(branding_path)/product_logo_48.png',
'../app/theme/<(branding_path)/product_logo_256.png',
'../app/theme/<(branding_path)/BRANDING',
],
'include_dirs': [
'../..',
},
],
'sources': [
'setup/compat_checks_unittest.cc',
'setup/setup_constants.cc',
'util/copy_tree_work_item_unittest.cc',
'util/create_dir_work_item_unittest.cc',
'util/create_reg_key_work_item_unittest.cc',
'util/delete_reg_value_work_item_unittest.cc',
'util/delete_tree_work_item_unittest.cc',
'util/google_chrome_distribution_unittest.cc',
'util/helper_unittest.cc',
'util/installer_unittests.rc',
'util/installer_unittests_resource.h',
'util/move_tree_work_item_unittest.cc',
'util/run_all_unittests.cc',
'util/set_reg_value_work_item_unittest.cc',
'util/work_item_list_unittest.cc',
'actions': [
{
'action_name': 'save_build_info',
'inputs': [
'<(BRANDING)',
'<(VERSION)',
],
'outputs': [
'<(PRODUCT_DIR)/installer/version.txt',
],
# Jst output the default version info variables.
'action': ['python', '<(version_py)', '-f',
'<(BRANDING)', '-f', '<(VERSION)',
'-o', '<@(_outputs)'],
},
{
'target_name': 'installer_util',
],
}],
],
}],
['OS=="win"', {
'type': '<(library)',
'msvs_guid': 'EFBB1436-A63F-4CD8-9E99-B89226E782EC',
'dependencies': [
......@@ -160,6 +175,90 @@
'util/work_item_list.cc',
'util/work_item_list.h',
],
}],
],
},
],
'conditions': [
['OS=="win"', {
'targets': [
{
'target_name': 'gcapi_dll',
'type': 'loadable_module',
'msvs_guid': 'B802A2FE-E4E2-4F5A-905A-D5128875C954',
'dependencies': [
'../../google_update/google_update.gyp:google_update',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi.cc',
'gcapi/gcapi.h',
],
},
{
'target_name': 'gcapi_lib',
'type': 'static_library',
'msvs_guid': 'CD2FD73A-6AAB-4886-B887-760D18E8B635',
'dependencies': [
'../../google_update/google_update.gyp:google_update',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi.cc',
'gcapi/gcapi.h',
],
},
{
'target_name': 'gcapi_test',
'type': 'executable',
'msvs_guid': 'B64B396B-8EF1-4B6B-A07E-48D40EB961AB',
'dependencies': [
'gcapi_dll',
'gcapi_lib',
],
'include_dirs': [
'../..',
],
'sources': [
'gcapi/gcapi_test.cc',
'gcapi/gcapi_test.rc',
'gcapi/resource.h',
],
},
{
'target_name': 'installer_unittests',
'type': 'executable',
'msvs_guid': '903F8C1E-537A-4C9E-97BE-075147CBE769',
'dependencies': [
'installer_util',
'installer_util_strings',
'../../base/base.gyp:base',
'../../testing/gtest.gyp:gtest',
],
'include_dirs': [
'../..',
],
'sources': [
'setup/compat_checks_unittest.cc',
'setup/setup_constants.cc',
'util/copy_tree_work_item_unittest.cc',
'util/create_dir_work_item_unittest.cc',
'util/create_reg_key_work_item_unittest.cc',
'util/delete_reg_value_work_item_unittest.cc',
'util/delete_tree_work_item_unittest.cc',
'util/google_chrome_distribution_unittest.cc',
'util/helper_unittest.cc',
'util/installer_unittests.rc',
'util/installer_unittests_resource.h',
'util/move_tree_work_item_unittest.cc',
'util/run_all_unittests.cc',
'util/set_reg_value_work_item_unittest.cc',
'util/work_item_list_unittest.cc',
],
},
{
'target_name': 'installer_util_strings',
......@@ -424,7 +523,7 @@
],
},
],
'conditions': [
}],
[ 'branding == "Chrome"', {
'variables': {
'BRANDING': '../../chrome/app/theme/google_chrome/BRANDING',
......
chrome
chrome.pak
locales/en-US.pak
locales/da.pak
locales/he.pak
locales/zh-TW.pak
themes/default.pak
resources
installer
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment