@@ -217,26 +217,32 @@ In production, we use a few tools in `tor-browser-build` to create the update re
...
@@ -217,26 +217,32 @@ In production, we use a few tools in `tor-browser-build` to create the update re
They are located in `tools/update-responses`.
They are located in `tools/update-responses`.
### Create/update the `config.yml`
### Generate the incrementals
`config.yml` is a non-versioned file that is generated automatically at a certain point during the usual builds, so you might have already one, and you can adapt it to your test needs.
Generating the incrementals has the "side" effect of creating a configuration to create the update responses.
If you do not have one already, you can copy `tools/signing/nightly/update-responses-base-config.yml` to it and start from there.
You should update at least the `releases_dir` and `download/mars_url` properties and replace occurrences of `nightly_version` with the actual version you have built. You might need to update `platformVersion`, too.
```shell
make torbrowser-incrementals-nightly
```
The resulting incremental mars are not signed (maybe we could add a `config.yml` entry to specify the nssdb path and the nickname of the key to use), so you will need to sign them with the instructions you can find above.
For example (only the changes, not the full file):
Otherwise, if you really don't want to generate the incrementals, you can simply use this command to make the updated configuration:
`~/public_html/torbrowser` in this case is a link to the `torbrowser` directory in the clone of `tor-browser-build` when I ran the build.
`~/public_html/torbrowser` in this case is a link to the `torbrowser` directory in the clone of `tor-browser-build` when I ran the build.
...
@@ -244,25 +250,11 @@ versions:
...
@@ -244,25 +250,11 @@ versions:
If you have used a build server, but are creating the update responses locally, you can use the `releases_dir` property to tell the scripts where they can find your builds.
If you have used a build server, but are creating the update responses locally, you can use the `releases_dir` property to tell the scripts where they can find your builds.
It must contain at least the `.mar` archives and the `mar-tools`.
It must contain at least the `.mar` archives and the `mar-tools`.
Finally, if you want to generate incrementals, you need to create a `versions/$yourVersion/incremental_from` array, with the version(s) you want to generate incrementals from.
### Generate the incrementals (optional)
Normally, we would generate the incrementals with some `make` command.
However, we do not have a recipe for that in the `Makefile`, so you will need to run this command:
```sh
NO_CODESIGNATURE=1 ./gen_incrementals nightly
```
`NO_CODESIGNATURE=1` is needed only on macOS (unless you signed your nightly build for some reason).
The resulting incremental mars are not signed (maybe we could add a `config.yml` entry to specify the nssdb path and the nickname of the key to use), so you will need to sign them with the instructions you can find above.
### Generate the update responses
### Generate the update responses
Finally, creating the update responses is very easy, just run this command:
Before creating the update responses, **be sure of having signed the `.mar`s**: Tor Browser update responses will contain hash ans size, and signing will change them.
If you have done that, creating the update responses is very easy, just run this command: