Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(942)

Unified Diff: chrome/installer/linux/debian/build.sh

Issue 2425693003: Revert of Linux build: Use sysroot when calculating dependencies (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/linux/BUILD.gn ('k') | chrome/installer/linux/debian/expected_deps_ia32_jessie » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/linux/debian/build.sh
diff --git a/chrome/installer/linux/debian/build.sh b/chrome/installer/linux/debian/build.sh
index d8c50a67468d3bf3e891c0738d912c37ae5d7903..e43c437774612661fe653301e51c29166487daa0 100755
--- a/chrome/installer/linux/debian/build.sh
+++ b/chrome/installer/linux/debian/build.sh
@@ -128,8 +128,6 @@
echo "-o dir package output directory [${OUTPUTDIR}]"
echo "-b dir build input directory [${BUILDDIR}]"
echo "-d brand either chromium or google_chrome"
- echo "-s dir /path/to/sysroot"
- echo "-e dir /path/to/dpkg-dev"
echo "-h this help message"
}
@@ -164,7 +162,7 @@
}
process_opts() {
- while getopts ":e:s:o:b:c:a:d:h" OPTNAME
+ while getopts ":o:b:c:a:d:h" OPTNAME
do
case $OPTNAME in
o )
@@ -182,12 +180,6 @@
;;
d )
BRANDING="$OPTARG"
- ;;
- s )
- SYSROOT="$OPTARG"
- ;;
- e )
- DPKG_DEV_DIR="$OPTARG"
;;
h )
usage
@@ -225,20 +217,19 @@
else
TARGETARCH="ia32"
fi
+if [[ "$(lsb_release -c)" = *"precise" ]]; then
+ HOST_DISTRO="precise"
+elif [[ "$(lsb_release -c)" = *"trusty" ]]; then
+ HOST_DISTRO="trusty"
+else
+ echo "Debian package can only be build on Ubuntu Precise or Trusty"
+ exit 1
+fi
# call cleanup() on exit
trap cleanup 0
process_opts "$@"
BUILDDIR=${BUILDDIR:=$(readlink -f "${SCRIPTDIR}/../../../../out/Release")}
-
-if [[ "$(basename ${SYSROOT})" = "debian_wheezy_"*"-sysroot" ]]; then
- TARGET_DISTRO="wheezy"
-elif [[ "$(basename ${SYSROOT})" = "debian_jessie_"*"-sysroot" ]]; then
- TARGET_DISTRO="jessie"
-else
- echo "Debian package can only be built using the wheezy or jessie sysroot."
- exit 1
-fi
source ${BUILDDIR}/installer/common/installer.include
@@ -264,6 +255,13 @@
# 'lsb' package is installed by default on DEB distros, we'll have to stick with
# the LSB sub-packages, to avoid pulling in all that stuff that's not installed
# by default.
+
+# Need a dummy debian/control file for dpkg-shlibdeps.
+DUMMY_STAGING_DIR="${TMPFILEDIR}/dummy_staging"
+mkdir "$DUMMY_STAGING_DIR"
+cd "$DUMMY_STAGING_DIR"
+mkdir debian
+touch debian/control
# Generate the dependencies,
# TODO(mmoss): This is a workaround for a problem where dpkg-shlibdeps was
@@ -274,41 +272,33 @@
# but it seems that we don't currently, so this is the most expediant fix.
SAVE_LDLP=${LD_LIBRARY_PATH:-}
unset LD_LIBRARY_PATH
-if [ ${TARGETARCH} = "x64" ]; then
- SHLIB_ARGS="-l${SYSROOT}/usr/lib/x86_64-linux-gnu"
- SHLIB_ARGS="${SHLIB_ARGS} -l${SYSROOT}/lib/x86_64-linux-gnu"
-else
- SHLIB_ARGS="-l${SYSROOT}/usr/lib/i386-linux-gnu"
- SHLIB_ARGS="${SHLIB_ARGS} -l${SYSROOT}/lib/i386-linux-gnu"
-fi
-SHLIB_ARGS="${SHLIB_ARGS} -l${SYSROOT}/usr/lib"
-# TODO(thomasanderson): Unbundle dpkg-shlibdeps once the Precise->Trusty
-# transition is complete by reverting CL 2411423002 and applying ps40001.
-DPKG_SHLIB_DEPS=$(cd ${SYSROOT} && DPKG_DATADIR=${DPKG_DEV_DIR} \
- perl -I ${DPKG_DEV_DIR}/scripts ${DPKG_DEV_DIR}/scripts/dpkg-shlibdeps.pl \
- ${SHLIB_ARGS:-} -O -e"$BUILDDIR/chrome" | sed 's/^shlibs:Depends=//')
+DPKG_SHLIB_DEPS=$(dpkg-shlibdeps -O "$BUILDDIR/chrome" | \
+ sed 's/^shlibs:Depends=//')
if [ -n "$SAVE_LDLP" ]; then
LD_LIBRARY_PATH=$SAVE_LDLP
fi
# Format it nicely and save it for comparison.
-echo "$DPKG_SHLIB_DEPS" | sed 's/, /\n/g' | LANG=C sort > actual
-
-# Compare the expected dependency list to the generated list.
+# The grep -v is for a duplicate libc6 dep caused by Lucid glibc silliness.
+echo "$DPKG_SHLIB_DEPS" | sed 's/, /\n/g' | \
+ grep -v '^libc6 (>= 2.3.6-6~)$' | LANG=C sort > actual
+
+# Compare the expected dependency list to the generate list.
BAD_DIFF=0
-diff -u "$SCRIPTDIR/expected_deps_${TARGETARCH}_${TARGET_DISTRO}" actual || \
+diff -u "$SCRIPTDIR/expected_deps_${TARGETARCH}_${HOST_DISTRO}" actual || \
BAD_DIFF=1
if [ $BAD_DIFF -ne 0 ] && [ -z "${IGNORE_DEPS_CHANGES:-}" ]; then
echo
echo "ERROR: Shared library dependencies changed!"
echo "If this is intentional, please update:"
- echo "chrome/installer/linux/debian/expected_deps_ia32_jessie"
- echo "chrome/installer/linux/debian/expected_deps_ia32_wheezy"
- echo "chrome/installer/linux/debian/expected_deps_x64_jessie"
- echo "chrome/installer/linux/debian/expected_deps_x64_wheezy"
+ echo "chrome/installer/linux/debian/expected_deps_ia32_precise"
+ echo "chrome/installer/linux/debian/expected_deps_ia32_trusty"
+ echo "chrome/installer/linux/debian/expected_deps_x64_precise"
+ echo "chrome/installer/linux/debian/expected_deps_x64_trusty"
echo
exit $BAD_DIFF
fi
+rm -rf "$DUMMY_STAGING_DIR"
# Additional dependencies not in the dpkg-shlibdeps output.
# ca-certificates: Make sure users have SSL certificates.
« no previous file with comments | « chrome/installer/linux/BUILD.gn ('k') | chrome/installer/linux/debian/expected_deps_ia32_jessie » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698