Bug 1427266 - Statically link libdmg-hfsplus against OpenSSL. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Thu, 28 Dec 2017 18:19:31 +0900
changeset 449790 aa3ac1aa52997563fd9fe67ed741d742f86bd797
parent 449741 c592bcac2149084ca3ad5a72f77b8cf3c60db970
child 449791 cd99a1f959ad1de4166c493fd5bf1ca86fbd2500
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}`.