commit 1b79a12ecc1b918c379c29b58954d2680672e201 Author: Nicolas Vigier boklm@torproject.org Date: Wed Apr 25 15:10:30 2018 +0200
Bug 25876: Generate source tarballs during build
We now generate source tarballs for firefox, torbutton and tor-launcher during stable, alpha and nightly builds. We don't generate them with |make testbuild|, but they can be generated with |make testbuild-src|. --- Makefile | 15 +++++++++++++++ README.MAKEFILE | 11 ++++++++--- projects/firefox/config | 12 ++++++++++++ projects/release/build | 6 ++++++ projects/release/config | 32 ++++++++++++++++++++++++++++++++ projects/tor-launcher/config | 8 ++++++++ projects/torbutton/config | 8 ++++++++ rbm.conf | 9 +++++++++ 8 files changed, 98 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile index d419422..285b49d 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,9 @@ release-windows-x86_64: submodule-update release-osx-x86_64: submodule-update $(rbm) build release --target release --target torbrowser-osx-x86_64
+release-src: submodule-update + $(rbm) build release --target release --target torbrowser-src + alpha: submodule-update $(rbm) build release --target alpha --target torbrowser-all
@@ -56,6 +59,9 @@ alpha-windows-x86_64: submodule-update alpha-osx-x86_64: submodule-update $(rbm) build release --target alpha --target torbrowser-osx-x86_64
+alpha-src: submodule-update + $(rbm) build release --target alpha --target torbrowser-src + nightly: submodule-update $(rbm) build release --target nightly --target torbrowser-all
@@ -83,6 +89,9 @@ nightly-windows-x86_64: submodule-update nightly-osx-x86_64: submodule-update $(rbm) build release --target nightly --target torbrowser-osx-x86_64
+nightly-src: submodule-update + $(rbm) build release --target nightly --target torbrowser-src + alpha_nightly: submodule-update $(rbm) build release --target alpha_nightly --target torbrowser-all
@@ -107,6 +116,9 @@ alpha_nightly-windows-x86_64: submodule-update alpha_nightly-osx-x86_64: submodule-update $(rbm) build release --target alpha_nightly --target torbrowser-osx-x86_64
+alpha_nightly-src: submodule-update + $(rbm) build release --target alpha_nightly --target torbrowser-src + testbuild: submodule-update $(rbm) build release --target testbuild --target torbrowser-all
@@ -134,6 +146,9 @@ testbuild-windows-i686: submodule-update testbuild-osx-x86_64: submodule-update $(rbm) build release --target testbuild --target torbrowser-osx-x86_64
+testbuild-src: submodule-update + $(rbm) build release --target testbuild --target torbrowser-src-testbuild + signtag-release: submodule-update $(rbm) build release --step signtag --target release
diff --git a/README.MAKEFILE b/README.MAKEFILE index 1514780..7351c5f 100644 --- a/README.MAKEFILE +++ b/README.MAKEFILE @@ -46,14 +46,19 @@ The same as alpha_nightly, for the selected platform only. testbuild --------- Build a Tor Browser test build. To make the build faster, only the en-US -locale is created, without mar files. By default it is based on the -alpha channel, but you can change that by editing rbm.local.conf. -The resulting build can be found in directory testbuild. +locale is created, without mar files, and without the source tarballs. +By default it is based on the alpha channel, but you can change that by +editing rbm.local.conf. The resulting build can be found in directory +testbuild.
{release,alpha,nightly,testbuild}-linux-x86_64-debug ---------------------------------------------------- Create a debug build for Linux x86_64 with debug features such as ASan.
+{release,alpha,nightly,testbuild}-src +------------------------------------- +Create source tarballs for firefox, torbutton and tor-launcher. + fetch ----- Fetch new commits from all components. This is useful when you want to diff --git a/projects/firefox/config b/projects/firefox/config index 4d68969..2f40fe2 100644 --- a/projects/firefox/config +++ b/projects/firefox/config @@ -28,6 +28,18 @@ var: # used by projects/firefox-locale-bundle l10n-changesets.json: '[% exec("cat mobile/locales/l10n-changesets.json") %]'
+steps: + src-tarballs: + filename: 'src-[% project %]-[% c("version") %].tar.xz' + version: '[% c("git_hash") %]' + input_files: [] + var: + container: + use_container: 0 + targets: + nightly: + version: '[% c("abbrev") %]' + targets: release: var: diff --git a/projects/release/build b/projects/release/build index ca7b26d..af9d673 100644 --- a/projects/release/build +++ b/projects/release/build @@ -27,6 +27,12 @@ mkdir -p "$destdir" [% IF c("var/torbrowser-linux-x86_64") -%] mv [% c('input_files_by_name/linux-x86_64') %]/* "$destdir"/ [% END -%] +[% IF c("var/torbrowser-src") -%] + mv [% c('input_files_by_name/src-firefox') %] \ + [% c('input_files_by_name/src-torbutton') %] \ + [% c('input_files_by_name/src-tor-launcher') %] \ + "$destdir"/ +[% END -%] cd "$destdir" cat > .htaccess <<EOF RewriteEngine On diff --git a/projects/release/config b/projects/release/config index 1a742ac..52a416a 100644 --- a/projects/release/config +++ b/projects/release/config @@ -16,6 +16,7 @@ targets: - torbrowser-osx-x86_64 - torbrowser-android-armv7 - torbrowser-android-x86 + - torbrowser-src torbrowser-android-armv7: var: torbrowser-android-armv7: 1 @@ -41,6 +42,12 @@ targets: torbrowser-osx-x86_64: var: torbrowser-osx-x86_64: 1 + torbrowser-src: + var: + torbrowser-src: '[% ! c("var/testbuild") %]' + torbrowser-src-testbuild: + var: + torbrowser-src: 1
notarget: - release @@ -74,6 +81,7 @@ targets: testbuild: output_dir: 'testbuild' var: + testbuild: 1 build_target: torbrowser-testbuild publish_dir: ''
@@ -153,6 +161,30 @@ input_files: - torbrowser-windows-x86_64 - expert-bundle
+ - name: src-firefox + project: firefox + enable: '[% c("var/torbrowser-src") %]' + pkg_type: src-tarballs + target: + - '[% c("var/build_target") %]' + - torbrowser-src + + - name: src-torbutton + project: torbutton + enable: '[% c("var/torbrowser-src") %]' + pkg_type: src-tarballs + target: + - '[% c("var/build_target") %]' + - torbrowser-src + + - name: src-tor-launcher + project: tor-launcher + enable: '[% c("var/torbrowser-src") %]' + pkg_type: src-tarballs + target: + - '[% c("var/build_target") %]' + - torbrowser-src + steps: signtag: build_log: '-' diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config index 4f2d2b7..8087727 100644 --- a/projects/tor-launcher/config +++ b/projects/tor-launcher/config @@ -11,6 +11,14 @@ var: input_files: - project: container-image
+steps: + src-tarballs: + filename: 'src-[% project %]-[% c("version") %].tar.xz' + input_files: [] + var: + container: + use_container: 0 + targets: nightly: version: '[% c("abbrev") %]' diff --git a/projects/torbutton/config b/projects/torbutton/config index 5d42fc5..369d7e4 100644 --- a/projects/torbutton/config +++ b/projects/torbutton/config @@ -11,6 +11,14 @@ var: input_files: - project: container-image
+steps: + src-tarballs: + filename: 'src-[% project %]-[% c("version") %].tar.xz' + input_files: [] + var: + container: + use_container: 0 + targets: nightly: version: '[% c("abbrev") %]' diff --git a/rbm.conf b/rbm.conf index 1b82e60..df31741 100644 --- a/rbm.conf +++ b/rbm.conf @@ -7,6 +7,15 @@ build_log: '[% GET ENV.RBM_LOGS_DIR ? ENV.RBM_LOGS_DIR : "logs" %]/[% project %]
pkg_type: build
+steps: + src-tarballs: + compress_tar: xz + src-tarballs: | + #!/bin/bash + set -e + mkdir -p '[% dest_dir %]' + mv -vf '[% project %]-[% c("version") %].tar.xz' '[% dest_dir %]/[% c("filename") %]' + # buildconf contains build options that the user can change in rbm.local.conf # When adding a new option to buildconf, a default value should be defined # in var/build_id, so that changing this option does not affect the build_id.
tor-commits@lists.torproject.org