[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser-build][main] 2 commits: Make Firefox build script more coherent.



Title: GitLab

Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build

Commits:

  • 9ddef518
    by Pier Angelo Vendrame at 2023-07-26T17:14:18+02:00
    Make Firefox build script more coherent.
    
    Adjust indentation and always trim newlines after the template blocks.
    
  • ad7a5170
    by Pier Angelo Vendrame at 2023-07-26T17:14:35+02:00
    Bug 31546: Copy Firefox PDBs for Windows
    
    Also copy debug symbols after stripping on Linux 32-bit (we only copied
    them in Linux 64-bit) and for all our browsers (previously we copied
    them only for Tor Browser).
    
    Include the headers directory with the symbols, because some of them
    are generated during the build, but they are needed for debugging.
    

2 changed files:

Changes:

  • projects/browser/build
    ... ... @@ -401,13 +401,13 @@ SCRIPT_EOF
    401 401
     [% IF c("var/updater_enabled") -%]
    
    402 402
       cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
    
    403 403
     [% END -%]
    
    404
    -[% IF c("var/linux-x86_64") -%]
    
    405
    -  [% IF c("var/tor-browser") -%]
    
    406
    -    cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR"/[% c("var/project-name") %]-[% c("var/mar_osname") %]-debug.tar.xz
    
    407
    -  [% END -%]
    
    408
    -  [% IF !c("var/asan") -%]
    
    409
    -    cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver-linux64.tar.xz "$OUTDIR"/
    
    404
    +[% IF c("var/linux") -%]
    
    405
    +  cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.tar.xz"
    
    406
    +  [% IF c("var/linux-x86_64") && !c("var/asan") -%]
    
    407
    +    cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver.tar.xz "$OUTDIR/geckodriver-[% c('var/mar_osname') %].tar.xz"
    
    410 408
       [% END -%]
    
    409
    +[% ELSIF c("var/windows") -%]
    
    410
    +  cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.zip "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.zip"
    
    411 411
     [% END -%]
    
    412 412
     [%IF c("var/tor-browser") -%]
    
    413 413
       tor_expert_bundle_src="[% c("input_files_by_name/tor-expert-bundle") %]"
    

  • projects/firefox/build
    ... ... @@ -8,7 +8,7 @@ distdir=/var/tmp/dist/[% project %]
    8 8
     mkdir -p /var/tmp/build
    
    9 9
     mkdir -p [% dest_dir _ '/' _ c('filename') %]
    
    10 10
     
    
    11
    -[% IF c("var/windows") %]
    
    11
    +[% IF c("var/windows") -%]
    
    12 12
       # Setting up fxc2
    
    13 13
       tar -C /var/tmp/dist -xf [% c('input_files_by_name/fxc2') %]
    
    14 14
       export PATH="/var/tmp/dist/fxc2/bin:$PATH"
    
    ... ... @@ -20,7 +20,7 @@ tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
    20 20
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/node') %]
    
    21 21
     export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/node/bin:$PATH"
    
    22 22
     
    
    23
    -[% IF c("var/linux") %]
    
    23
    +[% IF c("var/linux") -%]
    
    24 24
       tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %]
    
    25 25
       tar -C /var/tmp/dist -xf [% c('input_files_by_name/python') %]
    
    26 26
       export PATH="/var/tmp/dist/python/bin:$PATH"
    
    ... ... @@ -30,7 +30,7 @@ export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bi
    30 30
       [% IF ! c("var/asan") -%]
    
    31 31
         export PATH="/var/tmp/dist/clang/bin:$PATH"
    
    32 32
       [% END -%]
    
    33
    -  [% IF c("var/linux-i686") %]
    
    33
    +  [% IF c("var/linux-i686") -%]
    
    34 34
         # Exporting `PKG_CONFIG_PATH` in the mozconfig file is causing build
    
    35 35
         # breakage in Rust code. It seems that environment variable is not passed
    
    36 36
         # down properly in that case. Thus, we set it here in the build script.
    
    ... ... @@ -72,7 +72,7 @@ MOZCONFIG_EOF
    72 72
     
    
    73 73
     [% c("var/set_MOZ_BUILD_DATE") %]
    
    74 74
     
    
    75
    -[% IF c("var/windows") %]
    
    75
    +[% IF c("var/windows") -%]
    
    76 76
       # Make sure widl is not inserting random timestamps, see #21837.
    
    77 77
       export WIDL_TIME_OVERRIDE="0"
    
    78 78
       patch -p1 < $rootdir/nsis-uninstall.patch
    
    ... ... @@ -80,15 +80,15 @@ MOZCONFIG_EOF
    80 80
       export LDFLAGS="[% c('var/flag_noSEH') %]"
    
    81 81
     [% END -%]
    
    82 82
     
    
    83
    -[% IF c("var/namecoin") %]
    
    83
    +[% IF c("var/namecoin") -%]
    
    84 84
       patch -p1 < $rootdir/namecoin-etld.patch
    
    85 85
     [% END -%]
    
    86 86
     
    
    87
    -[% IF c("var/namecoin") %]
    
    87
    +[% IF c("var/namecoin") -%]
    
    88 88
       pushd toolkit/torbutton
    
    89 89
       patch -p1 < $rootdir/namecoin-torbutton.patch
    
    90 90
       popd
    
    91
    -[% END %]
    
    91
    +[% END -%]
    
    92 92
     
    
    93 93
     [% IF c("var/override_updater_url") -%]
    
    94 94
       sed -i 's|^URL="" c("var/override_updater_url") %]|' build/application.ini.in
    
    ... ... @@ -166,23 +166,21 @@ export LANG=C.UTF-8
    166 166
     ./mach configure \
    
    167 167
       --with-distribution-id=org.torproject \
    
    168 168
       --with-base-browser-version=[% c("var/torbrowser_version") %] \
    
    169
    -  [% IF c("var/updater_enabled") -%]
    
    170
    -        --enable-update-channel=[% c("var/channel") %] \
    
    171
    -  [% END %] \
    
    169
    +  [% IF c("var/updater_enabled") -%]--enable-update-channel=[% c("var/channel") %][% END %] \
    
    172 170
       [% IF !c("var/base-browser") -%]--with-branding=browser/branding/[% c("var/branding_directory_prefix") %]-[% c("var/channel") %][% END %] \
    
    173 171
       [% IF !c("var/rlbox") -%]--without-wasm-sandboxed-libraries[% END %]
    
    174 172
     
    
    175 173
     ./mach build --verbose
    
    176
    -[% IF c("var/has_l10n") %]
    
    174
    +[% IF c("var/has_l10n") -%]
    
    177 175
       export MOZ_CHROME_MULTILOCALE="$supported_locales"
    
    178 176
       # No quotes on purpose, see https://firefox-source-docs.mozilla.org/build/buildsystem/locales.html#instructions-for-multi-locale-builds
    
    179 177
       ./mach package-multi-locale --locales en-US $MOZ_CHROME_MULTILOCALE
    
    180 178
       AB_CD=multi ./mach build stage-package
    
    181
    -[% ELSE %]
    
    179
    +[% ELSE -%]
    
    182 180
       ./mach build stage-package
    
    183
    -[% END %]
    
    181
    +[% END -%]
    
    184 182
     
    
    185
    -[% IF c("var/macos") %]
    
    183
    +[% IF c("var/macos") -%]
    
    186 184
       cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir
    
    187 185
       [% IF c("var/base-browser") -%]
    
    188 186
         mv "$distdir/Firefox.app" "$distdir/[% c('var/Project_Name') %].app"
    
    ... ... @@ -198,13 +196,17 @@ export LANG=C.UTF-8
    198 196
         '[% c("var/torbrowser_version") %]' \
    
    199 197
         '[% c("var/copyright_year") %]' \
    
    200 198
         [% IF c("var/mullvad-browser") -%]'Mullvad, Tor Browser and Mozilla Developers'[% ELSE -%]'The Tor Project'[% END %]
    
    201
    -[% END %]
    
    199
    +[% END -%]
    
    202 200
     
    
    203
    -[% IF c("var/linux") %]
    
    204
    -  [% IF c("var/linux-x86_64") && !c("var/asan") %]
    
    201
    +[% IF c("var/linux") -%]
    
    202
    +  [% IF c("var/linux-x86_64") && !c("var/asan") -%]
    
    205 203
         cp obj-*/x86_64-unknown-linux-gnu/release/geckodriver $distdir
    
    206
    -  [% END %]
    
    204
    +  [% END -%]
    
    207 205
       cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir/Browser/
    
    206
    +  mkdir -p $distdir/Debug
    
    207
    +  # Some include files are symlinks, so use -Lr, or the tarball will fail
    
    208
    +  # silently. Also, on Linux we populate the debug symbols by stripping later.
    
    209
    +  cp -Lr obj-*/dist/include $distdir/Debug/
    
    208 210
       # Remove firefox-bin (we don't use it, see ticket #10126)
    
    209 211
       rm -f "$distdir/Browser/[% c('var/exe_name') %]-bin"
    
    210 212
       # TODO: There goes FIPS-140.. We could upload these somewhere unique and
    
    ... ... @@ -217,16 +219,21 @@ export LANG=C.UTF-8
    217 219
     [% INCLUDE 'start-firefox' -%]
    
    218 220
     RBM_TB_EOF
    
    219 221
       chmod 755 "$distdir/Browser/[% c('var/exe_name') %]"
    
    220
    -[% END %]
    
    222
    +[% END -%]
    
    221 223
     
    
    222
    -[% IF c("var/windows") %]
    
    224
    +[% IF c("var/windows") -%]
    
    223 225
       cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir/Browser/
    
    224
    -  [% IF c("var/windows-i686") %]
    
    226
    +  [% IF c("var/windows-i686") -%]
    
    225 227
         cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47_32.dll $distdir/Browser/d3dcompiler_47.dll
    
    226
    -  [% ELSE %]
    
    228
    +  [% ELSE -%]
    
    227 229
         cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47.dll $distdir/Browser
    
    228
    -  [% END %]
    
    229
    -[% END %]
    
    230
    +  [% END -%]
    
    231
    +  mkdir -p $distdir/Debug/Browser
    
    232
    +  pushd obj-*
    
    233
    +  cp -Lr dist/include $distdir/Debug/
    
    234
    +  find . \( -path ./dist -o -path ./_tests \) -prune -o -name '*.pdb' -exec cp -l {} $distdir/Debug/Browser/ \;
    
    235
    +  popd
    
    236
    +[% END -%]
    
    230 237
     
    
    231 238
     [% IF c("var/updater_enabled") -%]
    
    232 239
       # Make MAR-based update tools available for use during the bundle phase.
    
    ... ... @@ -240,23 +247,23 @@ RBM_TB_EOF
    240 247
       cp -p tools/update-packaging/*.sh $MARTOOLS/
    
    241 248
       cp -p obj-*/dist/host/bin/mar $MARTOOLS/
    
    242 249
       cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
    
    243
    -  [% IF c("var/linux") || c("var/macos") %]
    
    250
    +  [% IF c("var/linux") || c("var/macos") -%]
    
    244 251
         cp -p obj-*/dist/bin/signmar $MARTOOLS/
    
    245 252
         cp -p obj-*/dist/bin/certutil $MARTOOLS/
    
    246 253
         cp -p obj-*/dist/bin/pk12util $MARTOOLS/
    
    247
    -    [% IF c("var/linux") %]
    
    254
    +    [% IF c("var/linux") -%]
    
    248 255
           NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so"
    
    249 256
           NSPR_LIBS="libnspr4.so libplc4.so libplds4.so"
    
    250
    -    [% ELSE %]
    
    257
    +    [% ELSE -%]
    
    251 258
           NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libnssckbi.dylib libsoftokn3.dylib"
    
    252 259
           # No NSPR_LIBS for macOS
    
    253 260
           NSPR_LIBS=""
    
    254
    -    [% END %]
    
    261
    +    [% END -%]
    
    255 262
         for LIB in $NSS_LIBS $NSPR_LIBS; do
    
    256 263
           cp -p obj-*/dist/bin/$LIB $MARTOOLS/
    
    257 264
         done
    
    258
    -  [% END %]
    
    259
    -  [% IF c("var/windows") %]
    
    265
    +  [% END -%]
    
    266
    +  [% IF c("var/windows") -%]
    
    260 267
         cp -p obj-*/dist/bin/signmar.exe $MARTOOLS/
    
    261 268
         cp -p obj-*/dist/bin/certutil.exe $MARTOOLS/
    
    262 269
         cp -p obj-*/dist/bin/pk12util.exe $MARTOOLS/
    
    ... ... @@ -264,38 +271,38 @@ RBM_TB_EOF
    264 271
         for LIB in $NSS_LIBS; do
    
    265 272
             cp -p obj-*/dist/bin/$LIB $MARTOOLS/
    
    266 273
         done
    
    267
    -  [% END %]
    
    274
    +  [% END -%]
    
    268 275
     [% END -%]
    
    269 276
     
    
    270 277
     cd $distdir
    
    271 278
     
    
    272
    -[% IF c("var/linux-x86_64") %]
    
    273
    -  [% IF !c("var/asan") %]
    
    279
    +[% IF c("var/linux") -%]
    
    280
    +  [% IF c("var/linux-x86_64") && !c("var/asan") -%]
    
    274 281
         # No need for an unstripped geckodriver
    
    275 282
         strip geckodriver
    
    276
    -  [% END %]
    
    283
    +  [% END -%]
    
    277 284
       mkdir -p $distdir/Debug/Browser
    
    278 285
       # Strip and generate debuginfo for the firefox binary that we keep, all *.so
    
    279 286
       # files, the plugin-container, and the updater (see ticket #10126)
    
    280 287
       for LIB in Browser/*.so "Browser/[% c('var/exe_name') %].real" Browser/plugin-container [% IF c("var/updater_enabled") -%]Browser/updater[% END %]
    
    281 288
       do
    
    282
    -      objcopy --only-keep-debug $LIB Debug/$LIB
    
    283
    -      strip $LIB
    
    284
    -      objcopy --add-gnu-debuglink=./Debug/$LIB $LIB
    
    289
    +    objcopy --only-keep-debug $LIB Debug/$LIB
    
    290
    +    strip $LIB
    
    291
    +    objcopy --add-gnu-debuglink=./Debug/$LIB $LIB
    
    285 292
       done
    
    286
    -[% END %]
    
    293
    +[% END -%]
    
    287 294
     
    
    288 295
     # Re-zipping the omni.ja files is not needed to make them reproductible,
    
    289 296
     # however if we don't re-zip them, the files become corrupt when we
    
    290 297
     # update them using 'zip' and firefox will silently fail to load some
    
    291 298
     # parts.
    
    292
    -[% IF c("var/windows") || c("var/linux") %]
    
    299
    +[% IF c("var/windows") || c("var/linux") -%]
    
    293 300
       [% c("var/rezip", { rezip_file => 'Browser/omni.ja' }) %]
    
    294 301
       [% c("var/rezip", { rezip_file => 'Browser/browser/omni.ja' }) %]
    
    295
    -[% ELSIF c("var/macos") %]
    
    302
    +[% ELSIF c("var/macos") -%]
    
    296 303
       [% c("var/rezip", { rezip_file => '"' _ c("var/Project_Name") _ '.app/Contents/Resources/omni.ja"' }) %]
    
    297 304
       [% c("var/rezip", { rezip_file => '"' _ c("var/Project_Name") _ '.app/Contents/Resources/browser/omni.ja"' }) %]
    
    298
    -[% END %]
    
    305
    +[% END -%]
    
    299 306
     
    
    300 307
     [%
    
    301 308
     IF c("var/macos");
    
    ... ... @@ -305,9 +312,9 @@ ELSE;
    305 312
     END;
    
    306 313
     %]
    
    307 314
     
    
    308
    -[% IF c("var/linux") %]
    
    315
    +[% IF c("var/linux") -%]
    
    309 316
       /var/tmp/dist/gcc/bin/g++ $rootdir/abicheck.cc -o Browser/abicheck -std=c++17
    
    310
    -  [% IF !c("var/torbrowser") %]
    
    317
    +  [% IF !c("var/torbrowser") -%]
    
    311 318
         libdest=Browser/libstdc++
    
    312 319
         mkdir -p "$libdest"
    
    313 320
         # FIXME: tor-browser-build#40749
    
    ... ... @@ -316,32 +323,37 @@ END;
    316 323
           cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.* "$libdest"
    
    317 324
           cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.* "$libdest"
    
    318 325
         [% END -%]
    
    319
    -  [% END %]
    
    320
    -[% END %]
    
    326
    +  [% END -%]
    
    327
    +[% END -%]
    
    321 328
     
    
    322 329
     [% c('tar', {
    
    323 330
             tar_src => [ browserdir ],
    
    324 331
             tar_args => '-caf ' _ dest_dir _ '/' _ c('filename') _ '/browser.tar.' _ c('compress_tar'),
    
    325 332
         }) %]
    
    326 333
     
    
    327
    -[% IF c("var/linux-x86_64") %]
    
    328
    -[% c('tar', {
    
    329
    -        tar_src => [ 'Debug' ],
    
    330
    -        tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/browser-debug.tar.xz',
    
    334
    +[% IF c("var/linux") -%]
    
    335
    +  [% c('tar', {
    
    336
    +      tar_src => [ 'Debug' ],
    
    337
    +      tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/browser-debug.tar.xz',
    
    331 338
         }) %]
    
    332
    -  [% IF !c("var/asan") %]
    
    339
    +  [% IF c("var/linux-x86_64") && !c("var/asan") -%]
    
    333 340
         [% c('tar', {
    
    334
    -            tar_src => [ 'geckodriver' ],
    
    335
    -            tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/geckodriver-linux64.tar.xz',
    
    336
    -        }) %]
    
    337
    -  [% END %]
    
    338
    -[% END %]
    
    341
    +        tar_src => [ 'geckodriver' ],
    
    342
    +        tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/geckodriver.tar.xz',
    
    343
    +      }) %]
    
    344
    +  [% END -%]
    
    345
    +[% ELSIF c("var/windows") -%]
    
    346
    +  [% c('zip', {
    
    347
    +      zip_src => [ 'Debug' ],
    
    348
    +      zip_args => dest_dir _ '/' _ c('filename') _ '/browser-debug.zip',
    
    349
    +    }) %]
    
    350
    +[% END -%]
    
    339 351
     
    
    340 352
     [% IF c("var/updater_enabled") -%]
    
    341 353
       [% c('zip', {
    
    342
    -          zip_src => [ 'mar-tools' ],
    
    343
    -          zip_args => dest_dir _ '/' _ c('filename') _ '/' _ c('var/martools_filename'),
    
    344
    -      }) %]
    
    354
    +      zip_src => [ 'mar-tools' ],
    
    355
    +      zip_args => dest_dir _ '/' _ c('filename') _ '/' _ c('var/martools_filename'),
    
    356
    +    }) %]
    
    345 357
     [% END -%]
    
    346 358
     
    
    347 359
     [% IF c("var/build_infos_json") -%]
    

  • _______________________________________________
    tor-commits mailing list
    tor-commits@xxxxxxxxxxxxxxxxxxxx
    https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits