The precomplete file in en-US Windows installer is incorrect
In projects/tor-browser/build
, we regenerate the precomplete
file for the en-US
bundle, in the $PKG_DIR/Browser
directory:
cp -a ${TB_STAGE_DIR} $distdir/$PKG_DIR
[% IF c("var/windows") %]
TBDIR="$distdir/$PKG_DIR/Tor Browser/Browser"
[% ELSIF c("var/osx") %]
TBDIR="$distdir/$PKG_DIR/Tor Browser.app"
[% ELSE %]
TBDIR="$distdir/$PKG_DIR/Browser"
[% END %]
pushd "$TBDIR[% IF c("var/osx") %]/Contents/Resources/[% END %]"
rm -f precomplete
python $MARTOOLS/createprecomplete.py
popd
However we generate the installer from the ${TB_STAGE_DIR}
directory, which does not have the updated precomplete
file:
[% ELSIF c("var/windows") %]
find "${TB_STAGE_DIR}" -exec [% c("var/touch") %] {} \;
pushd "${TB_STAGE_DIR}"
makensis torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
python $rootdir/pe_checksum_fix.py
mv torbrowser-install-tmp2.exe torbrowser-install.exe
rm torbrowser-install-tmp.exe
mv torbrowser-install.exe $OUTDIR/torbrowser-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
popd
[% END %]
rm -rf $distdir/${PKG_DIR}
The mar files are generated using the $TBDIR
directory, so they are using the correct precomplete
file. The installer for the other locales are also generated in the correct directory, so the wrong precomplete
file is only included in the en-US
installer.