mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
bug 1337393 - add a toolchain task for building libdmg-hfsplus tools, build them from a newer branch r=callek
There's not a single well-maintained fork of libdmg-hfsplus, but there are
scattered forks with various fixes. The fork + branch I've chosen here
seems to have collected the most fixes, including a specific fix we need
for repacking DMG files on Linux:
5c92af354b
MozReview-Commit-ID: 3RB6gfgQmCA
--HG--
extra : rebase_source : 40d145852a3876a983f1de7cacbc5ce5e68062a8
This commit is contained in:
parent
95d6392cf9
commit
c72349ed5a
@ -132,3 +132,23 @@ linux64-hfsplus/opt:
|
||||
- 'build/unix/build-hfsplus/**'
|
||||
- 'taskcluster/scripts/misc/build-hfsplus-linux.sh'
|
||||
- 'taskcluster/taskgraph/transforms/job/toolchain.py'
|
||||
|
||||
linux64-libdmg/opt:
|
||||
description: "libdmg-hfsplus toolchain build"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: linux64/opt
|
||||
symbol: Cc(libdmg)
|
||||
tier: 1
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-libdmg-hfsplus.sh
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 36000
|
||||
when:
|
||||
files-changed:
|
||||
- 'taskcluster/scripts/misc/build-libdmg-hfsplus.sh'
|
||||
- 'taskcluster/taskgraph/transforms/job/toolchain.py'
|
||||
|
35
taskcluster/scripts/misc/build-libdmg-hfsplus.sh
Executable file
35
taskcluster/scripts/misc/build-libdmg-hfsplus.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
# This script is for building libdmg-hfsplus to get the `dmg` and `hfsplus`
|
||||
# tools for producing DMG archives on Linux.
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
STAGE=$WORKSPACE/dmg
|
||||
UPLOAD_DIR=$WORKSPACE/artifacts
|
||||
|
||||
# There's no single well-maintained fork of libdmg-hfsplus, but this
|
||||
# branch currently has some fixes we need.
|
||||
: LIBDMG_REPOSITORY ${LIBDMG_REPOSITORY:=https://github.com/andreas56/libdmg-hfsplus}
|
||||
# This is the current head of the `from_zarvox` branch.
|
||||
: LIBDMG_REV ${LIBDMG_REV:=81dd75fd1549b24bf8af9736ac25518b367e6b63}
|
||||
|
||||
mkdir -p $UPLOAD_DIR $STAGE
|
||||
|
||||
cd $WORKSPACE
|
||||
tc-vcs checkout --force-clone libdmg-hfsplus $LIBDMG_REPOSITORY $LIBDMG_REPOSITORY $LIBDMG_REV
|
||||
cd libdmg-hfsplus
|
||||
# Make a source archive
|
||||
git archive ${LIBDMG_REV} | xz > $UPLOAD_DIR/libdmg-hfsplus.tar.xz
|
||||
cmake .
|
||||
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}`.
|
||||
Source is available in tooltool, digest `sha512sum $UPLOAD_DIR/libdmg-hfsplus.tar.xz`.
|
||||
EOF
|
||||
tar cf - -C $WORKSPACE `basename $STAGE` | xz > $UPLOAD_DIR/dmg.tar.xz
|
Loading…
Reference in New Issue
Block a user