[tor-bugs] #31253 [Circumvention/Snowflake]: Add a webext packaging target to the build script

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Oct 10 17:09:32 UTC 2019


#31253: Add a webext packaging target to the build script
-------------------------------------+------------------------------
 Reporter:  arlolra                  |          Owner:  (none)
     Type:  defect                   |         Status:  needs_review
 Priority:  Medium                   |      Milestone:
Component:  Circumvention/Snowflake  |        Version:
 Severity:  Normal                   |     Resolution:
 Keywords:                           |  Actual Points:
Parent ID:                           |         Points:
 Reviewer:                           |        Sponsor:
-------------------------------------+------------------------------

Comment (by dcf):

 {{{
 +  execSync(`git clean -x -d -f .`);
 }}}

 `git clean` makes me nervous because it has the potential to delete work
 in progress. Instead of archiving files directly in the working directory,
 would it be possible to cpoy the files into a temporary directory, and
 leave the working directory untouched? Something like this may be safer:

 {{{
 npm run webext
 TMPDIR=$(mktemp -d webext.XXXXXXXX)
 git archive HEAD ./webext | tar -C "$TMPDIR" -xf -
 cp webext/snowflake.js "$TMPDIR/webext/"
 rm -f webext.zip
 (cd "$TMPDIR/webext" && zip -rX ../../webext.zip .)
 }}}

 You need to `rm -f webext.zip` first, because otherwise `zip` will modify
 an existing file, potentially leaving garbage in it. The `-X` option to
 `zip` omits filesystem metadata such as uid/gid. (You can inspect the
 difference using `zipinfo -v webext.zip`.)

 Here's potentially a better way to make source.zip, that only includes
 versioned files without the need for `git clean`:
 {{{
 snowflake/proxy$ git archive -o source.zip HEAD .
 }}}

 What happens if one of the `execSync` calls fails? Does the whole `pack-
 webext` task fail, or does it try to execute the remaining code?

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/31253#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list