Closed Bug 1286533 Opened 3 years ago Closed 3 years ago

Provide OpenH264 v1.6 build

Categories

(Release Engineering :: Custom Release Requests, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Callek, Assigned: Callek)

References

Details

Attachments

(2 files)

As in Bug 1227182 we need to create a new round of OpenH264 builds
From the blocked (restricted) bug:

The gmp-openh264 v1.6 is ready to pick up. The code branch is v1.6-Firefox39: https://github.com/cisco/openh264/tree/v1.6-Firefox39.

The current tip commit is: https://github.com/cisco/openh264/commit/4fa3a4ec0367e11e779c202a09a94c3d18df3802. 

Please note that due to the fix of https://bugzilla.mozilla.org/show_bug.cgi?id=1225488 "Fix build process to automatically put openh264 pdb file into FF symbol server to help debug crash", now when build with option "BUILDTYPE=Release DEBUGSYMBOLS=True", the output binary libgmpopenh264.a/so is the stripped version and libgmpopenh264_debug_symbols.a/so contains the symbols for debugging. 
Please update your build script when integrating the new version of gmp-openh264 plugin.
Comment on attachment 8770575 [details]
Bug 1286533 - Rebased patch from bug 1227182 to support OpenH264

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/64022/diff/1-2/
Comment on attachment 8770575 [details]
Bug 1286533 - Rebased patch from bug 1227182 to support OpenH264

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/64022/diff/2-3/
Depends on: 1286597
Using 4b0ff58b98a0e1e5d60d4c027fad0e23844ac9f6 from the v1.6-Openh264 branch

And a try rev of 3efc2a760568 with the mozharness patch in c#4


==========
Noteable Changes in steps since 1.5.3:

* Cannot upload via script, the server we were using is no long "a thing".
** TODO upload via taskcluster somehow.

* No longer uses google code's gtest from svn (now using github)

Running --dump-symbols everywhere.

==========

STEPS:

OSX:

export OPENH264_REV=...
export TRY_REV=...
cd /builds/slave
rm -rf openh264*
for config in macosx32 macosx64; do mkdir openh264_$config; pushd openh264_$config; hg clone https://hg.mozilla.org/build/tools; bash -c 'python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug'; python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV; python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols; popd; done


(Fetch from OSX):
scp <user>@<host>:/builds/slave/openh264*/build/upload/*.zip ./


Linux/Android (BUSTED at this REV combo, see Bug 1286597):

for config in linux32 linux64 android-arm android-x86; do mkdir openh264_$config;
pushd openh264_$config;
hg clone https://hg.mozilla.org/build/tools;
bash -c 'python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug';
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV;
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols; popd; done

Windows (Untested due to an unrelated problem -- cliff notes below):

# start-msvc2010.bat
cd /c/builds/moz2_slave
export
PATH=/C/mozilla-build/nsis-2.46u:/C/mozilla-build/python27:/C/mozilla-build/buildbotve/scripts:/C/mozilla-build/msys/local/bin:/c/mozilla-build/wget:/c/mozilla-build/7zip:/c/mozilla-build/blat261/full:/c/mozilla-build/python:/c/mozilla-build/svn-win32-1.6.3/bin:/c/mozilla-build/upx203w:/c/mozilla-build/emacs-22.3/bin:/c/mozilla-build/info-zip:/c/mozilla-build/nsis-2.22:/c/mozilla-build/nsis-2.33u:/c/mozilla-build/nsis-2.46u:/c/mozilla-build/wix-351728:/c/mozilla-build/hg:/c/mozilla-build/python/Scripts:/c/mozilla-build/kdiff3:/c/mozilla-build/yasm:.:/C/mozilla-build/msys/local/bin:/C/mozilla-build/msys/mingw/bin:/C/mozilla-build/msys/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/windows/System32/WindowsPowerShell/v1.0/:/c/mozilla-build:/c/mozilla-build/python27:/c/mozilla-build/python27/Scripts:/C/mozilla-build/msys/bin:/c/mozilla-build/vim/vim72:/c/mozilla-build/wget:/c/mozilla-build/info-zip:/c/CoreUtils/bin:/c/mozilla-build/buildbotve/scripts:/c/Program\
Files\ \(x86\)/Microsoft\ SQL\ Server/100/Tools/Binn/:/c/Program\
Files/Microsoft\ SQL\ Server/100/Tools/Binn/:/c/Program\ Files/Microsoft\ SQL\
Server/100/DTS/Binn/:/c/Program\ Files\ \(x86\)/Windows\ Kits/8.0/Windows\
Performance\
Toolkit/:/c/mozilla-build/moztools-x64/bin:/c/mozilla-build/vim/vim72:${PATH}:/c/mozilla-build/Git/bin/

rm -rf openh264*
for config in win32 win64; do mkdir openh264_$config;
pushd openh264_$config;
hg clone https://hg.mozilla.org/build/tools;
bash -c 'python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug';
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV;
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols;
popd;
done
I'll be pushing the current mozharness patch in moments. The following is current steps (including signing)

Signing used sha2signcode on windows, and detached gpg on everything else, also signed the shasum file.




Used:

TRY_REV=352fee32de5d
OPENH264_REV=0410d336bb748149a4f560eb6108090f078254b1

(I made a slight mistake in configs alone for linux, didn't use tooltool to be able to dump the symbols -- so I used a different TRY REV for linux32/linux64 ---- TRY_REV=26b75672c2ad)

:::OSX:::

export OPENH264_REV=...
export TRY_REV=...
cd /builds/slave
rm -rf openh264*
for config in macosx32 macosx64; do mkdir openh264_$config; pushd openh264_$config; hg clone https://hg.mozilla.org/build/tools; bash -c 'python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug'; python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV; python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols; popd; done

(Fetch from OSX):
scp <user>@<host>:/builds/slave/openh264*/build/upload/*.zip ./


:::Linux/Android:::


for config in linux32 linux64 android-arm android-x86; do mkdir openh264_$config;
pushd openh264_$config;
hg clone https://hg.mozilla.org/build/tools;
bash -c 'python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug';
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV;
python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols; popd; done



:::Windows:::

# start msvc-2010.bat
export OPENH264_REV=...
export TRY_REV=...
# Make git work (for now) on loaner, TODO: file a bug for this step
mkdir -p /c/mozilla-build/Git/mingw32/libexec/ssl/certs
cp /c/mozilla-build/msys/etc/ca-bundle.crt /c/mozilla-build/Git/mingw32/libexec/ssl
/certs/
# Actually do it.
rm -rf openh264*
for config in win32 win64; do mkdir openh264_$config;
pushd openh264_$config;
hg clone https://hg.mozilla.org/build/tools;
bash -c '/c/mozilla-build/python27/python tools/buildfarm/utils/archiver_client.py mozharness --repo try --rev $TRY_REV --destination scripts --debug';
/c/mozilla-build/python27/python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV;
/c/mozilla-build/python27/python scripts/scripts/openh264_build.py --config scripts/configs/openh264/$config.py --rev $OPENH264_REV --dump-symbols;
popd;
done


==========================

Then fetch them all to a local folder, and push them to cltbld@partner-repacks1:~/callek/

partner-repack1:~ cltbld$ cd callek
partner-repack1:callek cltbld$ ./signing-server-setup.sh
# INPUT PASSWORD AS NEEDED
# export MOZ_SIGN_CMD=...

# remove symbols from this part...
rm -rf *.symbols.zip to_sign signed
mkdir to_sign signed
for f in openh264*win*.zip; 
  do
    unzip ./$f -d ./to_sign/
    pushd to_sign;
    $MOZ_SIGN_CMD -f sha2signcode ./*.dll
    zip ../signed/$f ./*
    rm -f ./*
    popd
done
for f in openh264*{linux,android,osx}*.zip; 
  do
    # Creates detached sigs
    pushd to_sign;
    cp ../$f ./
    $MOZ_SIGN_CMD -f gpg ./*.zip
    mv ./* ../signed/
    popd
done
pushd signed
shasum -a 512 ./* > ./SHA512SUMS
$MOZ_SIGN_CMD -f gpg ./SHA512SUMS 
zip ../`ls ./openh264-win64*.zip | sed "s/-win64\(.*\).zip/\1-signed.zip/"` ./*
popd
shasum -a 512 ./*-signed.zip
# Transfer file locally and compare shasums

# E-mail said file, and note shasum to Cisco.
Comment on attachment 8770575 [details]
Bug 1286533 - Rebased patch from bug 1227182 to support OpenH264

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/64022/diff/3-4/
Attached file uploadsymbols.py
For my own records,

I grabbed a socorro token from a build machine and used this to upload the symbols for all builds.

$ for i in *.symbols.zip; do python ../uploadsymbols.py $i `cat ../socorro_token.tok` ; done
Maire,

I've set this to go out on 'nightlytest' update channel just now for firefox >=45.0a1
This has been provided, and has been shipped to users on Nightly so far.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
See Also: → 1380605
You need to log in before you can comment on or make changes to this bug.