X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clean-source.sh;h=af0a743e70ee37e7ffce9205fb3ee2c5939bf77c;hb=8f2c07aef874df43cc5d9c3fdb6293e5739cfc9c;hp=3b262260d64eaf9d1cdf4716246a5fa9b2c0ac29;hpb=71cdf0ef745837c5aedbd244f4c8e11884335e96;p=packages%2Fchromium-browser.git diff --git a/clean-source.sh b/clean-source.sh index 3b26226..af0a743 100755 --- a/clean-source.sh +++ b/clean-source.sh @@ -8,6 +8,7 @@ export LC_ALL=C # "v8=0" means "do not remove v8" eval "$@" +# {{{ remove nonessential dirs # Strip tarball from some big directories not needed on the linux platform # https://code.google.com/p/chromium/wiki/LinuxPackaging # initial list from src/tools/export_tarball/export_tarball.py @@ -41,13 +42,12 @@ remove_nonessential_dirs() { for dir in \ v8/benchmarks \ v8/src/arm \ - v8/src/d8* \ third_party/chromite \ android_webview \ ash/resources/default_100_percent/cros_ \ ash/resources/default_200_percent/cros_ \ ash/shell/cocoa \ - ash/system/chromeos \ + ash/system/chromeos_ \ base/android \ base/chromeos \ base/ios \ @@ -73,7 +73,7 @@ remove_nonessential_dirs() { chrome/browser/chromeos/cros \ chrome/browser/extensions/docs \ chrome/browser/history/android \ - chrome/browser/mac \ + chrome/browser/mac_ \ chrome/browser/resources/about_welcome_android \ chrome/browser/resources/chromeos_ \ chrome/browser/resources/ntp_android \ @@ -86,7 +86,7 @@ remove_nonessential_dirs() { chrome/browser/ui/webui/ntp/android \ chrome/browser/ui/webui/options/chromeos \ chrome/common/extensions/docs \ - chrome/common/mac \ + chrome/common/mac_ \ chrome/installer/mac \ chrome/installer/mac/third_party/xz/config/mac \ chrome/installer/tools \ @@ -132,6 +132,7 @@ remove_nonessential_dirs() { native_client/src/trusted/desc/win \ native_client/src/trusted/nonnacl_util/win \ native_client/src/trusted/platform_qualify/win \ + native_client/toolchain \ native_client/tools \ native_client/tools/trusted_cross_toolchains \ native_client_sdk \ @@ -159,7 +160,7 @@ remove_nonessential_dirs() { sdch/ios \ sdch/mac \ skia/config/win \ - sync/tools \ + sync/tools_ \ tcmalloc/chromium/src/windows \ tcmalloc/vendor/src/windows \ third_party/WebKit/Source/JavaScriptCore/docs \ @@ -308,19 +309,19 @@ remove_nonessential_dirs() { third_party/ffmpeg/chromium/config/Chromium/win \ third_party/ffmpeg/chromium/config/ChromiumOS/linux/arm \ third_party/ffmpeg/chromium/include/win \ - third_party/ffmpeg/doc \ + third_party/ffmpeg/doc_ \ third_party/ffmpeg/libavcodec/alpha \ third_party/ffmpeg/libavcodec/arm \ third_party/ffmpeg/libavcodec/avr32 \ third_party/ffmpeg/libavcodec/bfin \ - third_party/ffmpeg/libavcodec/mips \ + third_party/ffmpeg/libavcodec/mips_ \ third_party/ffmpeg/libavcodec/ppc \ third_party/ffmpeg/libavcodec/sh4 \ third_party/ffmpeg/libavcodec/sparc \ third_party/ffmpeg/libavresample/arm \ third_party/ffmpeg/libavutil/avr32 \ third_party/ffmpeg/libavutil/bfin \ - third_party/ffmpeg/libavutil/mips \ + third_party/ffmpeg/libavutil/mips_ \ third_party/ffmpeg/libavutil/ppc \ third_party/ffmpeg/libavutil/sh4 \ third_party/ffmpeg/libswresample/arm \ @@ -354,6 +355,7 @@ remove_nonessential_dirs() { third_party/nspr \ third_party/nss \ third_party/ocmock \ + third_party/openssl \ third_party/openssl/config/android \ third_party/ots/tools \ third_party/pthread \ @@ -415,7 +417,7 @@ remove_nonessential_dirs() { ui/gfx/mac \ ui/resources/default_100_percent/cros_ \ ui/resources/default_200_percent/cros_ \ - ui/views/examples \ + ui/views/examples_ \ ui/views/win \ v8/samples \ webkit/chromeos \ @@ -432,6 +434,7 @@ remove_nonessential_dirs() { base/win \ build/android \ chrome/browser/chromeos_ \ + v8/src/d8* \ chrome/browser/component/web_contents_delegate_android \ chrome/tools \ chromeos_ \ @@ -462,10 +465,10 @@ remove_nonessential_dirs() { ) '!' -type d '(' \ '!' -name '*.grd' \ '!' -name '*.gyp*' \ + '!' -name '*.isolate' \ '!' -path 'base/mac/bundle_locations.h' \ '!' -path 'base/mac/crash_logging.h' \ '!' -path 'base/win/windows_version.h' \ - '!' -path 'build/android/cpufeatures.gypi' \ '!' -path 'chrome/browser/chromeos/attestation/platform_verification_flow.h' \ '!' -path 'chrome/browser/chromeos/contacts/contact.proto' \ '!' -path 'chrome/browser/chromeos/extensions/*.h' \ @@ -524,7 +527,8 @@ remove_nonessential_dirs() { ')' \ -print -delete } - +# }}} +# {{{ almost_strip_dirs # There are directories we want to strip, but that are unnecessarily required by the build-system # So we drop everything but the gyp/gypi files almost_strip_dirs() { @@ -532,7 +536,7 @@ almost_strip_dirs() { for dir in \ breakpad_ \ build/ios \ - courgette \ + courgette_ \ third_party/cros_dbus_cplusplus \ ; do find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' ')' -print -delete || : @@ -560,11 +564,14 @@ almost_strip_dirs() { '!' -path 'tools/zip2msi.py' \ -print -delete } - -# clean third party +# }}} +# {{{ clean third party # list based from archlinux PKGBUILD # https://aur.archlinux.org/packages/ch/chromium-dev/PKGBUILD clean_third_party() { + + # NOTE: don't forget to sync remove_bundled_libraries() { + local dir for dir in \ third_party/ashmem \ @@ -574,7 +581,6 @@ clean_third_party() { third_party/icon_family \ third_party/isimpledom \ third_party/jsr-305 \ - third_party/libexif \ third_party/mach_override \ third_party/npapi/npspy \ third_party/re2/benchlog \ @@ -587,22 +593,34 @@ clean_third_party() { find third_party -type f \ '!' -iname '*.gyp*' \ + '!' -iname '*.isolate' \ '!' -path 'third_party/WebKit/*' \ '!' -path 'third_party/adobe/flash/*' \ + '!' -path 'third_party/angle/enumerate_files.py' \ '!' -path 'third_party/angle/include/EGL/*' \ '!' -path 'third_party/angle/include/GLSLANG/*' \ + '!' -path 'third_party/angle/include/*.h' \ + '!' -path 'third_party/angle/src/*' \ '!' -path 'third_party/angle/src/common/*' \ '!' -path 'third_party/angle/src/compiler/*' \ + '!' -path 'third_party/angle/src/enumerate_files.py' \ '!' -path 'third_party/angle/src/third_party/compiler/*' \ + '!' -path 'third_party/brotli/*' \ '!' -path 'third_party/cacheinvalidation/*' \ '!' -path 'third_party/cld/*' \ '!' -path 'third_party/cld_2/*' \ '!' -path 'third_party/cros_system_api/*' \ + '!' -path 'third_party/cython/python_flags.py' \ + '!' -path 'third_party/dom_distiller_js/*' \ '!' -path 'third_party/ffmpeg/*' \ + '!' -path 'third_party/fips181/*' \ '!' -path 'third_party/flot/*.js' \ + '!' -path 'third_party/google_input_tools/*' \ '!' -path 'third_party/hunspell/*' \ '!' -path 'third_party/hyphen/*' \ '!' -path 'third_party/iccjpeg/*' \ + '!' -path 'third_party/icu/icu.isolate' \ + '!' -path 'third_party/jinja2/*' \ '!' -path 'third_party/jstemplate/*' \ '!' -path 'third_party/khronos/*' \ '!' -path 'third_party/leveldatabase/*' \ @@ -613,11 +631,13 @@ clean_third_party() { '!' -path 'third_party/libusb/*' \ '!' -path 'third_party/libva/*' \ '!' -path 'third_party/libvpx/*' \ + '!' -path 'third_party/libwebm/*' \ '!' -path 'third_party/libwebp/*' \ '!' -path 'third_party/libxml/chromium/*' \ '!' -path 'third_party/libyuv/*' \ '!' -path 'third_party/lss/*.h' \ '!' -path 'third_party/lzma_sdk/*' \ + '!' -path 'third_party/markupsafe/*' \ '!' -path 'third_party/mesa/src/include/GL/gl.h' \ '!' -path 'third_party/mesa/src/include/GL/glext.h' \ '!' -path 'third_party/mesa/src/include/GL/glx.h' \ @@ -626,7 +646,12 @@ clean_third_party() { '!' -path 'third_party/modp_b64/*' \ '!' -path 'third_party/mt19937ar/*' \ '!' -path 'third_party/npapi/*' \ + '!' -path 'third_party/openmax_dl/*' \ '!' -path 'third_party/ots/*' \ + '!' -path 'third_party/pdfium/*' \ + '!' -path 'third_party/ply/*' \ + '!' -path 'third_party/polymer/*' \ + '!' -path 'third_party/polymer_legacy/*' \ '!' -path 'third_party/protobuf/*' \ '!' -path 'third_party/qcms/*' \ '!' -path 'third_party/re2/*' \ @@ -648,19 +673,28 @@ clean_third_party() { '!' -path 'third_party/widevine/*' \ '!' -path 'third_party/x86inc/*' \ '!' -path 'third_party/zlib/google/*' \ + '!' -path 'third_party/zlib/zlib.h' \ + \ + '!' -path 'third_party/jinja2/*' \ + '!' -path 'third_party/libvpx/*' \ + '!' -path 'third_party/markupsafe/*' \ + '!' -path 'third_party/opus/*' \ + '!' -path 'third_party/libudev/*' \ -print -delete rm -vf third_party/expat/files/lib/expat.h } - +# }}} +# {{{ remove_bin_only # parts based on ubuntu debian/rules # http://bazaar.launchpad.net/~chromium-team/chromium-browser/chromium-browser.head/view/head:/debian/rules remove_bin_only() { + # preserve: ui/keyboard/resources/roboto_bold.ttf find -type f \( \ -iname \*.exe -o \ -iname \*.nexe -o \ -iname \*.fon -o \ - -iname \*.ttf -o \ + -iname \*.ttf_ -o \ -iname \*.dll -o \ -iname \*.pdb -o \ -name \*.o -o \ @@ -668,7 +702,8 @@ remove_bin_only() { -name \*.dylib \ \) -exec rm -fv {} \; } - +# }}} +# {{{ strip_system_dirs # removes dir, if the bcond is not turned off strip_system_dirs() { local dir lib bcond args @@ -685,18 +720,19 @@ strip_system_dirs() { # skip already removed dirs test -d $dir || continue - find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' -o -path $dir/$lib.h $args ')' -print -delete || : + find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' -o -name '*.isolate' -o -path $dir/$lib.h $args ')' -print -delete || : done set +f } - +# }}} +# {{{ remove_tests # remove test data and files # some scanned with find -name tests -o -name test -o -name test_data -o name testdata # and find -iname *test* remove_tests() { local dir - # full remove + echo '> full remove' for dir in \ ash/test \ base/test_ \ @@ -728,7 +764,7 @@ remove_tests() { chrome_frame/tools/test \ content/browser/worker_host/test \ content/common/gpu/testdata \ - content/public/test \ + content/public/test_ \ content/test \ courgette/testdata \ device/bluetooth/test \ @@ -754,7 +790,7 @@ remove_tests() { net/test \ o3d/tests \ ppapi/native_client/tests \ - ppapi/tests \ + ppapi/tests_ \ printing/test \ rlz/test \ sandbox/linux/seccomp-legacy/tests \ @@ -805,7 +841,7 @@ remove_tests() { third_party/cacheinvalidation/src/google/cacheinvalidation/test \ third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/testing \ third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/testing/android \ - third_party/ffmpeg/tests \ + third_party/ffmpeg/tests_ \ third_party/harfbuzz/tests \ third_party/hunspell/tests \ third_party/hyphen/tests \ @@ -822,7 +858,7 @@ remove_tests() { third_party/openssl/openssl/test \ third_party/ots/test \ third_party/protobuf/src/google/protobuf/testdata \ - third_party/protobuf/src/google/protobuf/testing \ + third_party/protobuf/src/google/protobuf/testing_ \ third_party/re2/re2/testing \ third_party/safe_browsing/testing \ third_party/sfntly/cpp/src/test \ @@ -892,7 +928,7 @@ remove_tests() { rm -vfr "$dir" done - # partial remove (keep .gyp) + echo '> partial remove (keep .gyp)' for dir in \ chrome/browser/nacl_host/test \ chrome/test/data \ @@ -929,17 +965,21 @@ remove_tests() { # install -d testing/gtest/include # ln -s /usr/include/gtest testing/gtest/include/gtest - # delete unittest files + # fast exit. as this requires fine-tuning + return + + echo '> delete unittest files' find . '(' \ - -name '*_unittest*.*' \ - -o -name '*_unittest.*' \ - -o -name '*_unittest' \ - -o -name 'test_*.*' \ - -o -name '*_test.*' \ - -o -path './testing/' \ - ')' '!' -name '*.gyp*' \ - '!' -name '*.isolate' \ + -name '*_unittest*.*' -o \ + -name '*_unittest.*' -o \ + -name '*_unittest' -o \ + -name 'test_*.*' -o \ + -name '*_test.*' -o \ + -path './testing/' \ + ')' '!' -type d '(' \ '!' -name '*.grd' \ + '!' -name '*.gyp*' \ + '!' -name '*.isolate' \ '!' -path './base/test/*' \ '!' -path './base/test/launcher/*' \ '!' -path './base/test/launcher/test_launcher.*' \ @@ -951,6 +991,9 @@ remove_tests() { '!' -path './chrome/browser/extensions/api/declarative/test_rules_registry.*' \ '!' -path './chrome/browser/extensions/api/test/test_api.*' \ '!' -path './chrome/browser/resources/gaia_auth/manifest_test.json' \ + '!' -path './extensions/renderer/resources/test_custom_bindings.js' \ + '!' -path './sync/internal_api/attachments/attachment_service_proxy_for_test.cc' \ + '!' -path './net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf' \ '!' -path './chrome/browser/resources/net_internals/*' \ '!' -path './chrome/browser/storage_monitor/test_media_transfer_protocol_manager_linux.*' \ '!' -path './chrome/browser/ui/webui/test_chrome_web_ui_controller_factory*' \ @@ -959,6 +1002,9 @@ remove_tests() { '!' -path './chrome/test/base/test_switches.*' \ '!' -path './chrome/test/perf/browser_perf_test.*' \ '!' -path './chrome/test/perf/perf_test.*' \ + '!' -path './content/public/test/test_utils.h' \ + '!' -path './extensions/browser/api/test/test_api.*' \ + '!' -path './extensions/renderer/test_features_native_handler.*' \ '!' -path './media/cast/rtcp/test_rtcp_packet_builder.*' \ '!' -path './native_client/src/trusted/fault_injection/test_injection.*' \ '!' -path './native_client/src/trusted/service_runtime/env_cleanser_test.h' \ @@ -966,11 +1012,20 @@ remove_tests() { '!' -path './net/base/test_data_stream.*' \ '!' -path './net/cert/test_root_certs*' \ '!' -path './remoting/base/resources_unittest.*' \ + '!' -path './sync/api/attachments/attachment_service_proxy_for_test.*' \ '!' -path './testing/*' \ '!' -path './testing/perf/perf_test.*' \ '!' -path './third_party/skia/src/gpu/gr_unittests.*' \ '!' -path './third_party/trace-viewer/src/base/unittest/test_error.js' \ '!' -path './third_party/trace-viewer/src/tracing/test_utils.js' \ + '!' -path './third_party/trace-viewer/third_party/tvcm/src/tvcm/unittest/*.js' \ + '!' -path './third_party/trace-viewer/third_party/tvcm/src/tvcm/unittest/test_case.js' \ + '!' -path './third_party/trace-viewer/third_party/tvcm/src/tvcm/unittest/test_error.js' \ + '!' -path './third_party/trace-viewer/third_party/tvcm/src/tvcm/unittest/test_runner.js' \ + '!' -path './third_party/trace-viewer/trace_viewer/tracing/test_utils.js' \ + '!' -path './mojo/embedder/test_embedder.*' \ + '!' -path './ui/base/hit_test.*' \ + '!' -path './tools/compile_test/compile_test.py' \ '!' -path './tools/compile_test/compile_test.py' \ '!' -path './ui/compositor/test_web_graphics_context_3d.*' \ '!' -path './ui/webui/resources/js/webui_resource_test.js' \ @@ -980,35 +1035,59 @@ remove_tests() { '!' -path './webkit/gpu/test_context_provider_factory.*' \ '!' -path './webkit/support/test_webkit_platform_support.h' \ '!' -path './webkit/tools/test_shell/*.h' \ - -print -delete || : + ')' \ + -print -delete || : } +# }}} +# {{{ remove_bundled_libraries # Remove most bundled libraries. Some are still needed. # Sync this with gentoo/chromium-*.ebuild # NOTE: argument list to script specifies paths to preserve remove_bundled_libraries() { + # ninja: error: '../../third_party/jinja2/__init__.py', needed by 'gen/blink/InternalSettingsGenerated.idl', missing and no known rule to make it + # ninja: error: '../../third_party/markupsafe/__init__.py', needed by 'gen/blink/InternalSettingsGenerated.idl', missing and no known rule to make it + + # NOTE: don't forget to sync clean_third_party() + build/linux/unbundle/remove_bundled_libraries.py \ third_party/adobe/flash/flapper_version.h \ + third_party/jinja2 \ + third_party/markupsafe/ \ + third_party/ply \ + third_party/fips181 \ 'base/third_party/dmg_fp' \ 'base/third_party/dynamic_annotations' \ 'base/third_party/icu' \ 'base/third_party/nspr' \ + 'base/third_party/superfasthash' \ 'base/third_party/symbolize' \ 'base/third_party/valgrind' \ 'base/third_party/xdg_mime' \ 'base/third_party/xdg_user_dirs' \ 'breakpad/src/third_party/curl' \ 'chrome/third_party/mozilla_security_manager' \ + 'courgette/third_party' \ 'crypto/third_party/nss' \ 'net/third_party/mozilla_security_manager' \ 'net/third_party/nss' \ 'third_party/WebKit' \ + 'third_party/analytics' \ 'third_party/angle' \ + 'third_party/angle/src/third_party/compiler' \ + 'third_party/brotli' \ 'third_party/cacheinvalidation' \ - 'third_party/cld' \ + 'third_party/cld_2' \ 'third_party/cros_system_api' \ + 'third_party/cython/python_flags.py' \ + 'third_party/dom_distiller_js' \ + 'third_party/dom_distiller_js/package/proto_gen/third_party/dom_distiller_js' \ 'third_party/ffmpeg' \ + 'third_party/fips181' \ 'third_party/flot' \ + 'third_party/google_input_tools' \ + 'third_party/google_input_tools/third_party/closure_library' \ + 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ 'third_party/hunspell' \ 'third_party/iccjpeg' \ 'third_party/jstemplate' \ @@ -1018,7 +1097,10 @@ remove_bundled_libraries() { 'third_party/libjingle' \ 'third_party/libphonenumber' \ 'third_party/libsrtp' \ + 'third_party/libudev' \ 'third_party/libusb' \ + 'third_party/libvpx' \ + 'third_party/libvpx/source/libvpx/third_party/x86inc' \ 'third_party/libxml/chromium' \ 'third_party/libXNVCtrl' \ 'third_party/libyuv' \ @@ -1026,11 +1108,18 @@ remove_bundled_libraries() { 'third_party/lzma_sdk' \ 'third_party/mesa' \ 'third_party/modp_b64' \ + 'third_party/mojo' \ 'third_party/mt19937ar' \ 'third_party/npapi' \ + 'third_party/openmax_dl' \ + 'third_party/opus' \ 'third_party/ots' \ + 'third_party/pdfium' \ + 'third_party/pdfium/third_party/base' \ + 'third_party/pdfium/third_party/bigint' \ + 'third_party/pdfium/third_party/freetype' \ 'third_party/polymer' \ - 'third_party/pywebsocket' \ + 'third_party/protobuf' \ 'third_party/qcms' \ 'third_party/readability' \ 'third_party/sfntly' \ @@ -1038,20 +1127,29 @@ remove_bundled_libraries() { 'third_party/smhasher' \ 'third_party/sqlite' \ 'third_party/tcmalloc' \ - 'third_party/tlslite' \ 'third_party/trace-viewer' \ + 'third_party/trace-viewer/third_party/components/polymer' \ + 'third_party/trace-viewer/third_party/d3' \ + 'third_party/trace-viewer/third_party/gl-matrix' \ + 'third_party/trace-viewer/third_party/jszip' \ + 'third_party/trace-viewer/third_party/tvcm' \ + 'third_party/trace-viewer/third_party/tvcm/third_party/beautifulsoup/polymer_soup.py' \ 'third_party/undoview' \ 'third_party/usrsctp' \ + 'third_party/web-animations-js' \ 'third_party/webdriver' \ 'third_party/webrtc' \ 'third_party/widevine' \ 'third_party/x86inc' \ 'third_party/zlib/google' \ 'url/third_party/mozilla' \ + 'v8/src/third_party/fdlibm' \ + 'v8/src/third_party/kernel' \ 'v8/src/third_party/valgrind' \ --do-print \ --do-remove } +# }}} remove_bundled_libraries > REMOVED-bundled_libraries.txt @@ -1060,7 +1158,7 @@ strip_system_dirs \ third_party/bzip2 \ third_party/ffmpeg_ \ third_party/flac \ - third_party/icu \ + third_party/icu_ \ third_party/jsoncpp \ third_party/libXNVCtrl \ third_party/libevent \ @@ -1070,11 +1168,11 @@ strip_system_dirs \ third_party/libpng \ third_party/libsrtp \ third_party/libusb_ \ - third_party/libvpx \ + third_party/libvpx_ \ third_party/libwebp \ third_party/libxslt \ third_party/mesa \ - third_party/opus \ + third_party/opus_ \ third_party/protobuf \ third_party/re2 \ third_party/snappy \ @@ -1118,3 +1216,5 @@ fi for a in REMOVED-*.txt; do cat $a done + +# vim:fdm=marker