Fossil SCM
The recommendation to configure Fossil with the --static flag is semi-obsolete, and the following advice to look further down in the same document for the Docker workaround was wholly obsolete since moving all of this into the dedicated containers.md doc. Fixed all this up, and linked to the "why" answers on Stack Overflow about all of this in a few more places.
Commit
d282e42cd22cf71287bfdacaf6e33196b02dbad62f924b12f8497fcaf4f51db9
Parent
4717db33f0033b4…
2 files changed
+6
-3
+3
-1
+6
-3
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -111,13 +111,16 @@ | ||
| 111 | 111 | |
| 112 | 112 | <p>For more advanced use cases, see the [./ssl.wiki#openssl-bin|OpenSSL |
| 113 | 113 | discussion in the "TLS and Fossil" document].</p> |
| 114 | 114 | |
| 115 | 115 | <li><p> |
| 116 | -To build a statically linked binary (suitable for use inside a chroot | |
| 117 | -jail) add the <b>--static</b> option. (See the [#docker | Docker section | |
| 118 | -below].) | |
| 116 | +To build a statically linked binary, you can <i>try</i> adding | |
| 117 | +the <b>--static</b> option, but | |
| 118 | +[https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead | |
| 119 | +| it may well not work]. If your platform of choice is affected by this, | |
| 120 | +the simplest workaround we're aware of is to build a Fossil container, | |
| 121 | +then [./containers.md#static | extract the static executable from it]. | |
| 119 | 122 | |
| 120 | 123 | <li><p> |
| 121 | 124 | To enable the native [./th1.md#tclEval | Tcl integration feature] feature, |
| 122 | 125 | add the <b>--with-tcl=1</b> and <b>--with-tcl-private-stubs=1</b> options. |
| 123 | 126 | |
| 124 | 127 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -111,13 +111,16 @@ | |
| 111 | |
| 112 | <p>For more advanced use cases, see the [./ssl.wiki#openssl-bin|OpenSSL |
| 113 | discussion in the "TLS and Fossil" document].</p> |
| 114 | |
| 115 | <li><p> |
| 116 | To build a statically linked binary (suitable for use inside a chroot |
| 117 | jail) add the <b>--static</b> option. (See the [#docker | Docker section |
| 118 | below].) |
| 119 | |
| 120 | <li><p> |
| 121 | To enable the native [./th1.md#tclEval | Tcl integration feature] feature, |
| 122 | add the <b>--with-tcl=1</b> and <b>--with-tcl-private-stubs=1</b> options. |
| 123 | |
| 124 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -111,13 +111,16 @@ | |
| 111 | |
| 112 | <p>For more advanced use cases, see the [./ssl.wiki#openssl-bin|OpenSSL |
| 113 | discussion in the "TLS and Fossil" document].</p> |
| 114 | |
| 115 | <li><p> |
| 116 | To build a statically linked binary, you can <i>try</i> adding |
| 117 | the <b>--static</b> option, but |
| 118 | [https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead |
| 119 | | it may well not work]. If your platform of choice is affected by this, |
| 120 | the simplest workaround we're aware of is to build a Fossil container, |
| 121 | then [./containers.md#static | extract the static executable from it]. |
| 122 | |
| 123 | <li><p> |
| 124 | To enable the native [./th1.md#tclEval | Tcl integration feature] feature, |
| 125 | add the <b>--with-tcl=1</b> and <b>--with-tcl-private-stubs=1</b> options. |
| 126 | |
| 127 |
+3
-1
| --- www/containers.md | ||
| +++ www/containers.md | ||
| @@ -350,11 +350,11 @@ | ||
| 350 | 350 | we’ve got everything reduced to the two key static binaries — Fossil and |
| 351 | 351 | BusyBox — we throw all the rest of it away. |
| 352 | 352 | |
| 353 | 353 | A secondary benefit falls out of this process for free: it’s arguably |
| 354 | 354 | the easiest way to build a purely static Fossil binary for Linux. Most |
| 355 | -modern Linux distros make this surprisingly difficult, but Alpine’s | |
| 355 | +modern Linux distros make this [surprisingly difficult][lsl], but Alpine’s | |
| 356 | 356 | back-to-basics nature makes static builds work the way they used to, |
| 357 | 357 | back in the day. If that’s all you’re after, you can do so as easily as |
| 358 | 358 | this: |
| 359 | 359 | |
| 360 | 360 | ``` |
| @@ -364,10 +364,12 @@ | ||
| 364 | 364 | $ docker container rm fossil-static-tmp |
| 365 | 365 | ``` |
| 366 | 366 | |
| 367 | 367 | The resulting binary is the single largest file inside that container, |
| 368 | 368 | at about 6 MiB. (It’s built stripped.) |
| 369 | + | |
| 370 | +[lsl]: https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead | |
| 369 | 371 | |
| 370 | 372 | |
| 371 | 373 | ## 5. <a id="args"></a>Container Build Arguments |
| 372 | 374 | |
| 373 | 375 | ### <a id="pkg-vers"></a> 5.1 Package Versions |
| 374 | 376 |
| --- www/containers.md | |
| +++ www/containers.md | |
| @@ -350,11 +350,11 @@ | |
| 350 | we’ve got everything reduced to the two key static binaries — Fossil and |
| 351 | BusyBox — we throw all the rest of it away. |
| 352 | |
| 353 | A secondary benefit falls out of this process for free: it’s arguably |
| 354 | the easiest way to build a purely static Fossil binary for Linux. Most |
| 355 | modern Linux distros make this surprisingly difficult, but Alpine’s |
| 356 | back-to-basics nature makes static builds work the way they used to, |
| 357 | back in the day. If that’s all you’re after, you can do so as easily as |
| 358 | this: |
| 359 | |
| 360 | ``` |
| @@ -364,10 +364,12 @@ | |
| 364 | $ docker container rm fossil-static-tmp |
| 365 | ``` |
| 366 | |
| 367 | The resulting binary is the single largest file inside that container, |
| 368 | at about 6 MiB. (It’s built stripped.) |
| 369 | |
| 370 | |
| 371 | ## 5. <a id="args"></a>Container Build Arguments |
| 372 | |
| 373 | ### <a id="pkg-vers"></a> 5.1 Package Versions |
| 374 |
| --- www/containers.md | |
| +++ www/containers.md | |
| @@ -350,11 +350,11 @@ | |
| 350 | we’ve got everything reduced to the two key static binaries — Fossil and |
| 351 | BusyBox — we throw all the rest of it away. |
| 352 | |
| 353 | A secondary benefit falls out of this process for free: it’s arguably |
| 354 | the easiest way to build a purely static Fossil binary for Linux. Most |
| 355 | modern Linux distros make this [surprisingly difficult][lsl], but Alpine’s |
| 356 | back-to-basics nature makes static builds work the way they used to, |
| 357 | back in the day. If that’s all you’re after, you can do so as easily as |
| 358 | this: |
| 359 | |
| 360 | ``` |
| @@ -364,10 +364,12 @@ | |
| 364 | $ docker container rm fossil-static-tmp |
| 365 | ``` |
| 366 | |
| 367 | The resulting binary is the single largest file inside that container, |
| 368 | at about 6 MiB. (It’s built stripped.) |
| 369 | |
| 370 | [lsl]: https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead |
| 371 | |
| 372 | |
| 373 | ## 5. <a id="args"></a>Container Build Arguments |
| 374 | |
| 375 | ### <a id="pkg-vers"></a> 5.1 Package Versions |
| 376 |