Chromium Code Reviews| Index: chrome/installer/linux/debian/build.sh |
| diff --git a/chrome/installer/linux/debian/build.sh b/chrome/installer/linux/debian/build.sh |
| index a91bbeac026ec0b9cfefe93e688a763ceb76f7ca..f0c5a181141ae44866c7819207c11e174a9058aa 100755 |
| --- a/chrome/installer/linux/debian/build.sh |
| +++ b/chrome/installer/linux/debian/build.sh |
| @@ -113,6 +113,22 @@ do_package() { |
| fakeroot dpkg-deb -Zxz -z9 -b "${STAGEDIR}" . |
| } |
| +verify_package() { |
| + DEPENDS="${COMMON_DEPS}" # This needs to match do_package() above. |
|
Tom Anderson
2017/05/26 23:56:16
Is DEPENDS just here for the comment? It's only u
Lei Zhang
2017/05/27 00:22:38
It's just here to help readers better understand w
|
| + echo ${DEPENDS} | sed 's/, /\n/g' | LANG=C sort > expected_deb_depends |
|
Tom Anderson
2017/05/26 23:56:15
Does this file get created in the out directory?
Lei Zhang
2017/05/27 00:22:38
Yes it does. Is that a problem? We do the same wit
Tom Anderson
2017/05/27 00:27:01
Ok good, just wanted to make sure it wasn't gettin
|
| + dpkg -I "${PACKAGE}-${CHANNEL}_${VERSIONFULL}_${ARCHITECTURE}.deb" | \ |
| + grep '^ Depends: ' | sed 's/^ Depends: //' | sed 's/, /\n/g' | \ |
| + LANG=C sort > actual_deb_depends |
| + BAD_DIFF=0 |
| + diff -u expected_deb_depends actual_deb_depends || BAD_DIFF=1 |
| + if [ $BAD_DIFF -ne 0 ] && [ -z "${IGNORE_DEPS_CHANGES:-}" ]; then |
| + echo |
| + echo "ERROR: bad dpkg dependencies!" |
| + echo |
| + exit $BAD_DIFF |
| + fi |
| +} |
| + |
| # Remove temporary files and unwanted packaging output. |
| cleanup() { |
| echo "Cleaning..." |
| @@ -305,22 +321,24 @@ fi |
| # libappindicator1: Make systray icons work in Unity. |
| # libnss3: Pull a more recent version of NSS than required by runtime linking, |
| # for security and stability updates in NSS. |
| -# libstdc++6: For C++11 support. |
|
Lei Zhang
2017/05/26 23:28:03
No longer needed. The expectation files already ha
|
| # lsb-release: For lsb_release. |
| # xdg-utils: For OS integration. |
| # wget: For uploading crash reports with Breakpad. |
| -ADDITION_DEPS="ca-certificates, fonts-liberation, libappindicator1, \ |
| - libnss3 (>= 3.17.2), libstdc++6 (>=4.8.0), lsb-release, \ |
| - xdg-utils (>= 1.0.2), wget" |
| +ADDITIONAL_DEPS="ca-certificates, fonts-liberation, libappindicator1, \ |
| + libnss3 (>= 3.17.2), lsb-release, xdg-utils (>= 1.0.2), wget" |
| # Fix-up libnspr dependency due to renaming in Ubuntu (the old package still |
| # exists, but it was moved to "universe" repository, which isn't installed by |
| # default). |
| +# TODO(thestig): This is probably no longer needed. Verify and remove. |
| DPKG_SHLIB_DEPS=$(sed \ |
| 's/\(libnspr4-0d ([^)]*)\), /\1 | libnspr4 (>= 4.9.5-0ubuntu0), /g' \ |
| <<< $DPKG_SHLIB_DEPS) |
| -COMMON_DEPS="${DPKG_SHLIB_DEPS}, ${ADDITION_DEPS}" |
| +# Remove libnss dependency so the one in $ADDITIONAL_DEPS can supercede it. |
| +DPKG_SHLIB_DEPS=$(sed 's/\(libnss3 ([^)]*)\), //g' <<< $DPKG_SHLIB_DEPS) |
| + |
| +COMMON_DEPS="${DPKG_SHLIB_DEPS}, ${ADDITIONAL_DEPS}" |
| COMMON_PREDEPS="dpkg (>= 1.14.0)" |
| @@ -352,3 +370,4 @@ REPOCONFIGREGEX+="[[:space:]]*) https?://${BASEREPOCONFIG}" |
| stage_install_debian |
| do_package |
| +verify_package |