Bug 1197325 - Generate mkfs.hfsplus. r=ted

MozReview-Commit-ID: Dl0eBQR8XFR

--HG--
extra : rebase_source : bc20b8c35b8d62b2230f52a076c619fc674047e1
This commit is contained in:
Justin Wood 2017-01-30 13:12:57 -05:00
Родитель 996bc104f2
Коммит 8cf804e40f
3 изменённых файлов: 83 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,46 @@
#!/bin/bash
set -x
hfplus_version=540.1.linux3
md5sum=0435afc389b919027b69616ad1b05709
filename=diskdev_cmds-${hfplus_version}.tar.gz
make_flags="-j$(getconf _NPROCESSORS_ONLN)"
root_dir="$1"
if [ -z "$root_dir" -o ! -d "$root_dir" ]; then
root_dir=$(mktemp -d)
fi
cd $root_dir
if test -z $TMPDIR; then
TMPDIR=/tmp/
fi
# Install clang first
yum install -y clang
# Set an md5 check file to validate input
echo "${md5sum} *${TMPDIR}/${filename}" > $TMPDIR/hfsplus.MD5
# Most-upstream is https://opensource.apple.com/source/diskdev_cmds/
# Download the source of the specified version of binutils
wget -c -P $TMPDIR http://pkgs.fedoraproject.org/repo/pkgs/hfsplus-tools/${filename}/${md5sum}/${filename} || exit 1
md5sum -c $TMPDIR/hfsplus.MD5 || exit 1
mkdir hfsplus-source
tar xzf $TMPDIR/${filename} -C hfsplus-source --strip-components=1
# Build
cd hfsplus-source
make $make_flags || exit 1
cd ..
mkdir hfsplus-tools
cp hfsplus-source/newfs_hfs.tproj/newfs_hfs hfsplus-tools/newfs_hfs
## XXX fsck_hfs is unused, but is small and built from the package.
cp hfsplus-source/fsck_hfs.tproj/fsck_hfs hfsplus-tools/fsck_hfs
# Make a package of the built utils
cd $root_dir
tar caf $root_dir/hfsplus-tools.tar.xz hfsplus-tools

Просмотреть файл

@ -111,3 +111,24 @@ linux64-cctools-port/opt:
files-changed:
- 'taskcluster/scripts/misc/build-cctools-port.sh'
- 'taskcluster/taskgraph/transforms/job/toolchain.py'
linux64-hfsplus/opt:
description: "hfplus toolchain build"
treeherder:
kind: build
platform: linux64/opt
symbol: Cc(hfsplus)
tier: 1
run:
using: toolchain-script
script: build-hfsplus-linux.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:
- 'build/unix/build-hfsplus/**'
- 'taskcluster/scripts/misc/build-hfsplus-linux.sh'
- 'taskcluster/taskgraph/transforms/job/toolchain.py'

Просмотреть файл

@ -0,0 +1,16 @@
#!/bin/bash
set -x -e -v
# This script is for building hfsplus for Linux.
WORKSPACE=$HOME/workspace
HOME_DIR=$WORKSPACE/build
UPLOAD_DIR=$WORKSPACE/artifacts
cd $HOME_DIR/src
build/unix/build-hfsplus/build-hfsplus.sh $HOME_DIR
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp $HOME_DIR/hfsplus-tools.tar.* $UPLOAD_DIR