boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
69317005
by Nicolas Vigier at 2023-07-14T09:49:46+02:00
9 changed files:
- projects/android-components/build
- − projects/common/get-moz-build-date
- projects/fenix/build
- projects/firefox/build
- projects/firefox/config
- − projects/firefox/get-moz-build-date
- projects/geckoview/build
- projects/geckoview/config
- rbm.conf
Changes:
| ... | ... | @@ -9,10 +9,6 @@ builddir=/var/tmp/build/[% project %] |
| 9 | 9 | mkdir $distdir/[% project %]
|
| 10 | 10 | mkdir /var/tmp/build
|
| 11 | 11 | |
| 12 | -cat > get-moz-build-date << "EOF"
|
|
| 13 | -[% INCLUDE "get-moz-build-date" %]
|
|
| 14 | -EOF
|
|
| 15 | - |
|
| 16 | 12 | [% IF !c("var/fetch_gradle_dependencies") %]
|
| 17 | 13 | tar -C $distdir -xf [% c('input_files_by_name/geckoview') %]
|
| 18 | 14 | gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
|
| ... | ... | @@ -60,12 +56,7 @@ sed -i 's/tag = getGitHash()/tag = \"[% c('abbrev') %]\"/' publish.gradle |
| 60 | 56 | export LANG=C.UTF-8
|
| 61 | 57 | patch -p1 < $rootdir/mavenLocal.patch
|
| 62 | 58 | |
| 63 | - eval $(perl $rootdir/get-moz-build-date [% pc("fenix", "var/copyright_year") %] [% pc("fenix", "var/torbrowser_version") %])
|
|
| 64 | - if [ -z $MOZ_BUILD_DATE ]
|
|
| 65 | - then
|
|
| 66 | - echo "MOZ_BUILD_DATE is not set"
|
|
| 67 | - exit 1
|
|
| 68 | - fi
|
|
| 59 | + [% c("var/set_MOZ_BUILD_DATE") %]
|
|
| 69 | 60 | |
| 70 | 61 | # Increase the maximum memory usage, for when compiling with --disable-install-strip
|
| 71 | 62 | gradle_args="--offline --no-daemon -Dmaven.repo.local=$gradle_repo -Dorg.gradle.jvmargs=-Xmx8g"
|
| 1 | -#!/usr/bin/perl -w
|
|
| 2 | -# Generate a MOZ_BUILD_DATE based on Tor Browser version number
|
|
| 3 | - |
|
| 4 | -use strict;
|
|
| 5 | - |
|
| 6 | -die "wrong number of arguments" unless @ARGV == 2;
|
|
| 7 | -my ($year, $version) = @ARGV;
|
|
| 8 | -my $date;
|
|
| 9 | -if ($version =~ m/^tbb-nightly\.([^\.]+)\.([^\.]+)\.([^\.]+)$/) {
|
|
| 10 | - $date = sprintf("%d%02d%02d010101", $1, $2, $3);
|
|
| 11 | -} elsif ($version eq 'testbuild') {
|
|
| 12 | - # There is no need for an increasing build date in test builds. Just hardcode
|
|
| 13 | - # it to a value that is compatible with the v1 versionCode scheme on Android,
|
|
| 14 | - # see: #34163. We adjust the date to the new cutoff according to
|
|
| 15 | - # https://github.com/mozilla-mobile/fenix/pull/14952, following Mozilla.
|
|
| 16 | - # This should be unproblematic for test builds anyway.
|
|
| 17 | - $date = 20141228000000;
|
|
| 18 | -} else {
|
|
| 19 | - my @v = split(/[\.ab]/, $version);
|
|
| 20 | - push @v, '0' if @v < 4;
|
|
| 21 | - push @v, '0' if @v < 4;
|
|
| 22 | - # When MOZ_BUILD_DATE was based on the firefox version, with
|
|
| 23 | - # Tor Browser 8.0.6 and firefox 60.5.1 it was 20190204060201
|
|
| 24 | - # We can remove 5 from the month, while keeping it increasing.
|
|
| 25 | - my $month = $v[0] - 5;
|
|
| 26 | - $date = 1010101 + $year * 10000000000 + $month * 100000000
|
|
| 27 | - + $v[1] * 1000000 + $v[2] * 10000 + $v[3];
|
|
| 28 | - $date += 1000000 unless $version =~ m/[ab]/;
|
|
| 29 | -}
|
|
| 30 | -print "export MOZ_BUILD_DATE=$date\n"; |
| ... | ... | @@ -9,10 +9,6 @@ builddir=/var/tmp/build/[% project %] |
| 9 | 9 | mkdir -p $distdir/[% project %]
|
| 10 | 10 | mkdir -p /var/tmp/build
|
| 11 | 11 | |
| 12 | -cat > get-moz-build-date << "EOF"
|
|
| 13 | -[% INCLUDE "get-moz-build-date" %]
|
|
| 14 | -EOF
|
|
| 15 | - |
|
| 16 | 12 | [% IF !c("var/fetch_gradle_dependencies") %]
|
| 17 | 13 | tar -C $distdir -xf [% c('input_files_by_name/geckoview') %]
|
| 18 | 14 | gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
|
| ... | ... | @@ -71,12 +67,7 @@ v=[% c("variant") %] |
| 71 | 67 | export LANG=C.UTF-8
|
| 72 | 68 | patch -p1 < $rootdir/mavenLocal.patch
|
| 73 | 69 | |
| 74 | - eval $(perl $rootdir/get-moz-build-date [% c("var/copyright_year") %] [% c("var/torbrowser_version") %])
|
|
| 75 | - if [ -z $MOZ_BUILD_DATE ]
|
|
| 76 | - then
|
|
| 77 | - echo "MOZ_BUILD_DATE is not set"
|
|
| 78 | - exit 1
|
|
| 79 | - fi
|
|
| 70 | + [% c("var/set_MOZ_BUILD_DATE") %]
|
|
| 80 | 71 | |
| 81 | 72 | # Bug 40485: Inject deterministic build date into Glean.
|
| 82 | 73 | echo "ext.gleanBuildDate = \"0\"" >> app/build.gradle
|
| ... | ... | @@ -70,12 +70,7 @@ MOZCONFIG_EOF |
| 70 | 70 | export ASAN_OPTIONS="detect_leaks=0"
|
| 71 | 71 | [% END -%]
|
| 72 | 72 | |
| 73 | -eval $(perl $rootdir/get-moz-build-date [% c("var/copyright_year") %] [% c("var/torbrowser_version") %])
|
|
| 74 | -if [ -z $MOZ_BUILD_DATE ]
|
|
| 75 | -then
|
|
| 76 | - echo "MOZ_BUILD_DATE is not set"
|
|
| 77 | - exit 1
|
|
| 78 | -fi
|
|
| 73 | +[% c("var/set_MOZ_BUILD_DATE") %]
|
|
| 79 | 74 | |
| 80 | 75 | [% IF c("var/windows") %]
|
| 81 | 76 | # Make sure widl is not inserting random timestamps, see #21837.
|
| ... | ... | @@ -153,7 +153,6 @@ input_files: |
| 153 | 153 | - project: container-image
|
| 154 | 154 | - name: '[% c("var/compiler") %]'
|
| 155 | 155 | project: '[% c("var/compiler") %]'
|
| 156 | - - filename: get-moz-build-date
|
|
| 157 | 156 | - project: binutils
|
| 158 | 157 | name: binutils
|
| 159 | 158 | enable: '[% c("var/linux") %]'
|
| 1 | -#!/usr/bin/perl -w
|
|
| 2 | -# Generate a MOZ_BUILD_DATE based on Tor Browser version number
|
|
| 3 | - |
|
| 4 | -use strict;
|
|
| 5 | - |
|
| 6 | -die "wrong number of arguments" unless @ARGV == 2;
|
|
| 7 | -my ($year, $version) = @ARGV;
|
|
| 8 | -my $date;
|
|
| 9 | -if ($version =~ m/^tbb-nightly\.([^\.]+)\.([^\.]+)\.([^\.]+)$/) {
|
|
| 10 | - $date = sprintf("%d%02d%02d010101", $1, $2, $3);
|
|
| 11 | -} elsif ($version eq 'testbuild') {
|
|
| 12 | - # There is no need for an increasing build date in test builds. Just hardcode
|
|
| 13 | - # it.
|
|
| 14 | - $date = 20010101010101;
|
|
| 15 | -} else {
|
|
| 16 | - my @v = split(/[\.ab]/, $version);
|
|
| 17 | - push @v, '0' if @v < 4;
|
|
| 18 | - push @v, '0' if @v < 4;
|
|
| 19 | - # When MOZ_BUILD_DATE was based on the firefox version, with
|
|
| 20 | - # Tor Browser 8.0.6 and firefox 60.5.1 it was 20190204060201
|
|
| 21 | - # We can remove 5 from the month, while keeping it increasing.
|
|
| 22 | - my $month = $v[0] - 5;
|
|
| 23 | - $date = 1010101 + $year * 10000000000 + $month * 100000000
|
|
| 24 | - + $v[1] * 1000000 + $v[2] * 10000 + $v[3];
|
|
| 25 | - $date += 1000000 unless $version =~ m/[ab]/;
|
|
| 26 | -}
|
|
| 27 | -print "export MOZ_BUILD_DATE=$date\n"; |
| ... | ... | @@ -8,13 +8,6 @@ distdir=/var/tmp/dist |
| 8 | 8 | mkdir -p /var/tmp/build
|
| 9 | 9 | mkdir -p $distdir/[% project %]
|
| 10 | 10 | |
| 11 | -# We need to have the get-moz-build-date script available in the container
|
|
| 12 | -# but we can't include it via input_files as it is a script shared between
|
|
| 13 | -# projects.
|
|
| 14 | -cat > get-moz-build-date << "EOF"
|
|
| 15 | -[% INCLUDE "get-moz-build-date" %]
|
|
| 16 | -EOF
|
|
| 17 | - |
|
| 18 | 11 | tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
|
| 19 | 12 | tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
|
| 20 | 13 | tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
|
| ... | ... | @@ -49,12 +42,7 @@ export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]" |
| 49 | 42 | export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %]
|
| 50 | 43 | MOZCONFIG_EOF
|
| 51 | 44 | |
| 52 | -eval $(perl $rootdir/get-moz-build-date [% c("var/copyright_year") %] [% c("var/torbrowser_version") %])
|
|
| 53 | -if [ -z $MOZ_BUILD_DATE ]
|
|
| 54 | -then
|
|
| 55 | - echo "MOZ_BUILD_DATE is not set"
|
|
| 56 | - exit 1
|
|
| 57 | -fi
|
|
| 45 | +[% c("var/set_MOZ_BUILD_DATE") %]
|
|
| 58 | 46 | |
| 59 | 47 | export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
|
| 60 | 48 | gradle_repo=/var/tmp/dist/gradle-dependencies
|
| ... | ... | @@ -48,10 +48,6 @@ steps: |
| 48 | 48 | mkdir -p /var/tmp/build
|
| 49 | 49 | mkdir -p $distdir/[% project %]
|
| 50 | 50 | |
| 51 | - cat > get-moz-build-date << "EOF"
|
|
| 52 | - [% INCLUDE "get-moz-build-date" %]
|
|
| 53 | - EOF
|
|
| 54 | - |
|
| 55 | 51 | tar -C $distdir -xf [% c('input_files_by_name/node') %]
|
| 56 | 52 | export PATH="/var/tmp/dist/node/bin:$PATH"
|
| 57 | 53 | |
| ... | ... | @@ -73,12 +69,7 @@ steps: |
| 73 | 69 | ln -s mozconfig-android-all .mozconfig
|
| 74 | 70 | echo 'mk_add_options MOZ_PARALLEL_BUILD=[% c("num_procs") %]' >> .mozconfig
|
| 75 | 71 | |
| 76 | - eval $(perl $rootdir/get-moz-build-date [% c("var/copyright_year") %] [% c("var/torbrowser_version") %])
|
|
| 77 | - if [ -z $MOZ_BUILD_DATE ]
|
|
| 78 | - then
|
|
| 79 | - echo "MOZ_BUILD_DATE is not set"
|
|
| 80 | - exit 1
|
|
| 81 | - fi
|
|
| 72 | + [% c("var/set_MOZ_BUILD_DATE") %]
|
|
| 82 | 73 | |
| 83 | 74 | export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
|
| 84 | 75 | gradle_repo=/var/tmp/dist/gradle-dependencies
|
| ... | ... | @@ -218,6 +218,7 @@ var: |
| 218 | 218 | [% END -%]
|
| 219 | 219 | |
| 220 | 220 | DOCSDIR_project: '[% project %]'
|
| 221 | + set_MOZ_BUILD_DATE: 'export MOZ_BUILD_DATE=[% c("var_p/MOZ_BUILD_DATE") %]'
|
|
| 221 | 222 | |
| 222 | 223 | targets:
|
| 223 | 224 | notarget: linux-x86_64
|
| ... | ... | @@ -717,5 +718,31 @@ gpg_allow_expired_keys: 1 |
| 717 | 718 | }
|
| 718 | 719 | return [@res];
|
| 719 | 720 | },
|
| 721 | + MOZ_BUILD_DATE => sub {
|
|
| 722 | + use POSIX qw(strftime);
|
|
| 723 | + my ($project, $options) = @_;
|
|
| 724 | + my $nightly = project_config($project, 'var/nightly', $options);
|
|
| 725 | + my $testbuild = project_config($project, 'var/testbuild', $options);
|
|
| 726 | + |
|
| 727 | + if ($nightly && !$testbuild) {
|
|
| 728 | + my $torbrowser_version = project_config($project, 'var/torbrowser_version', $options);
|
|
| 729 | + return sprintf("%d%02d%02d000001", $1, $2, $3)
|
|
| 730 | + if $torbrowser_version =~ m/^tbb-nightly\.([^\.]+)\.([^\.]+)\.([^\.]+)$/;
|
|
| 731 | + return strftime("%Y%m%d000001", gmtime);
|
|
| 732 | + }
|
|
| 733 | + |
|
| 734 | + my $timestamp = project_config($project, 'timestamp', $options);
|
|
| 735 | + if (!$nightly) {
|
|
| 736 | + my $torbrowser_version = project_config($project, 'var/torbrowser_version', $options);
|
|
| 737 | + my @n = reverse split /[\.\D]/, $torbrowser_version;
|
|
| 738 | + my $i = 1;
|
|
| 739 | + unshift @n, 0 if @n < 3;
|
|
| 740 | + for my $n (@n) {
|
|
| 741 | + $timestamp += $n * $i;
|
|
| 742 | + $i = $i * 10;
|
|
| 743 | + }
|
|
| 744 | + }
|
|
| 745 | + return strftime "%Y%m%d%H%M%S", gmtime($timestamp);
|
|
| 746 | + },
|
|
| 720 | 747 | },
|
| 721 | 748 | ) |