Bug 1427266 - Statically link libdmg-hfsplus against OpenSSL. r=gps
☠☠ backed out by bbd42a73b04c ☠ ☠
authorMike Hommey <mh+mozilla@glandium.org>
Thu, 28 Dec 2017 18:19:31 +0900
changeset 449270 78f2064b3811db58b364c32ce9b58a3f2dcaf8f8
parent 449269 5fa379ef34e98a308d09c00a36a00ef50db108bc
child 449271 bbd42a73b04c04ca7236a3a99d4340f480d9718f
push id8527
push userCallek@gmail.com
push dateThu, 11 Jan 2018 21:05:50 +0000
treeherdermozilla-beta@95342d212a7a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1427266
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1427266 - Statically link libdmg-hfsplus against OpenSSL. r=gps libcrypto, part of OpenSSL, and that dmg links against, has a varying ABI, and something built against libcrypto on Centos won't run on Debian and vice versa. It might not even work between versions of the same OS (e.g. Debian 7 vs. Debian 9). Because of that, it is desirable to statically link it. This incorporates https://github.com/mozilla/libdmg-hfsplus/pull/1 and sets OPENSSL_USE_STATIC_LIBS when building libdmg-hfsplus.
taskcluster/scripts/misc/build-libdmg-hfsplus.sh
--- a/taskcluster/scripts/misc/build-libdmg-hfsplus.sh
+++ b/taskcluster/scripts/misc/build-libdmg-hfsplus.sh
@@ -8,28 +8,28 @@ WORKSPACE=$HOME/workspace
 STAGE=$WORKSPACE/dmg
 UPLOAD_DIR=$HOME/artifacts
 
 # There's no single well-maintained fork of libdmg-hfsplus, so we forked
 # https://github.com/andreas56/libdmg-hfsplus/ to get a specific version and
 # backport some patches.
 : LIBDMG_REPOSITORY    ${LIBDMG_REPOSITORY:=https://github.com/mozilla/libdmg-hfsplus}
 # The `mozilla` branch contains our fork.
-: LIBDMG_REV           ${LIBDMG_REV:=ba04b00435a0853f1499d751617177828ee8ec00}
+: LIBDMG_REV           ${LIBDMG_REV:=2ee327795680101d36f9700bd0fb618362237718}
 
 mkdir -p $UPLOAD_DIR $STAGE
 
 cd $WORKSPACE
 git clone --no-checkout $LIBDMG_REPOSITORY libdmg-hfsplus
 cd libdmg-hfsplus
 git checkout $LIBDMG_REV
 
 # Make a source archive
 git archive --prefix=libdmg-hfsplus/ ${LIBDMG_REV} | xz > $UPLOAD_DIR/libdmg-hfsplus.tar.xz
-cmake .
+cmake -DOPENSSL_USE_STATIC_LIBS=1 .
 make -j$(getconf _NPROCESSORS_ONLN)
 
 # We only need the dmg and hfsplus tools.
 strip dmg/dmg hfs/hfsplus
 cp dmg/dmg hfs/hfsplus $STAGE
 
 cat >$STAGE/README<<EOF
 Built from ${LIBDMG_REPOSITORY} rev `git rev-parse ${LIBDMG_REV}`.