View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007486 | Taler | Web site(s) | public | 2022-11-19 17:25 | 2023-02-17 16:33 |
Reporter | nervuri | Assigned To | Stefan | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | reopened | ||
Fixed in Version | 0.9.1 | ||||
Summary | 0007486: tsc no longer used, but build fails if it is not installed | ||||
Description | I cloned the www.git repo, followed the instructions in 'INSTALL', but got the following error when running 'configure': Error: tool 'tsc' not available The 'tsc' tool was used in the Makefile for compiling TypeScript (see commit bddc04c). Now I can't find it anywhere. It looks like tsc is no longer used and can be removed from 'build-system/configure.py'. I did, and the build works. The attached patch also corrects a comment in the Makefile. | ||||
Tags | No tags attached. | ||||
|
tsc.patch (653 bytes)
diff --git a/Makefile b/Makefile index 3b89192..42255a2 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ include build-system/config.mk -# All: build HTML pages in all languages and compile the +# All: build HTML pages in all languages. .PHONY: all all: ./inc/update-messages diff --git a/build-system/configure.py b/build-system/configure.py index e1eadc8..e841dca 100644 --- a/build-system/configure.py +++ b/build-system/configure.py @@ -22,7 +22,6 @@ b.use(PosixTool("mkdir")) b.use(PosixTool("rm")) b.use(PosixTool("sh")) b.use(PosixTool("msgmerge")) -b.use(PosixTool("tsc")) b.use(PosixTool("git")) b.use(BrowserTool()) b.run() |
|
Hi Nervuri, just skip the command ./configure. Stefan |
|
or use ./configure --variant=tmp which should work (at least on my local machine) Thank you for reporting. Stefan |
|
Even though I did manage to build the site, I tried your suggestions out of curiosity. If you start with a fresh clone of www.git and skip the ./configure command, 'make' then says: Makefile:3: build-system/config.mk: No such file or directory make: *** No rule to make target 'build-system/config.mk'. Stop. And `./configure --variant=tmp` does not work unless you have 'tsc' installed. So, like I said, tsc should be removed from 'build-system/configure.py' (see tsc.patch above). --- Also, the INSTALL file contains this bit: > Then invoke "bootstrap" and "configure". You must pass > "--prefix=$P" and "--variant=$V" for some values of > $P and $V to configure. The actual Web site > will be installed at $P/$V. However, that is not true, the website is installed in the `rendered` directory. So what are --prefix and --variant actually used for? Maybe that should be explained in the INSTALL file - which feels like it needs an overhaul, by the way, since it's rather confusing. I made some changes to it, to clarify it for myself. Check the patch below, tell me what you think. I removed `make submodules/init` and `make submodules/update`, since ./bootstrap already takes care of that (also, `make submodules/init` doesn't even work). clarify-installation-instructions.patch (1,565 bytes)
From f5593e89e6cbdabe3ee5fe0ecb7cc3b3d2bc7ee3 Mon Sep 17 00:00:00 2001 From: nervuri <seva@nervuri.net> Date: Sat, 19 Nov 2022 17:48:00 +0000 Subject: [PATCH Taler website] clarify installation instructions --- INSTALL | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/INSTALL b/INSTALL index 45dadf7..b53c10e 100644 --- a/INSTALL +++ b/INSTALL @@ -1,21 +1,16 @@ Installation instructions ------------------------- -For Debian: -=========== +Debian prerequisites +==================== Simply install: -# apt-install python3-ruamel.yaml python3-jinja2 python3-babel git - -Then invoke "bootstrap" and "configure". You must pass -"--prefix=$P" and "--variant=$V" for some values of -$P and $V to configure. The actual Web site -will be installed at $P/$V. +# apt install python3-ruamel.yaml python3-jinja2 python3-babel git -For NetBSD: -=========== +NetBSD prerequisites +==================== Install python3.7, py37-babel, npm, nodejs from pkgsrc. @@ -24,10 +19,21 @@ Adjust the values in config.mk: PYTHON=python3.7 BABEL=pybabel-3.7 -make submodules/init -make submodules/update + +Build website +============= + +Invoke "bootstrap" and "configure". You must pass +"--prefix=$P" and "--variant=$V" for some values of +$P and $V to configure. Then run "make". The actual +Web site will be installed at $P/$V. + +./bootstrap +./configure --prefix=$P --variant=$V make -Use + +Run website +=========== + env BROWSER=firefox make run -to run the website -- 2.35.1 |
|
While we're at it, here's one more small fix, which gets `make run` to start the python http server in the "rendered/" dir. This gets the browser to display the favicon. Also, it just makes more sense. If I ought to make separate issues for these other patches, let me know. start-python-http-server-in-rendered-dir.patch (695 bytes)
From 3827b6de552e2d77c915484078f41653b01774b2 Mon Sep 17 00:00:00 2001 From: nervuri <seva@nervuri.net> Date: Sat, 19 Nov 2022 16:32:58 +0000 Subject: [PATCH Taler website] start python http server in "rendered/" dir Makes more sense. Also, the browser now shows the favicon. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 42255a2..b3c9dc9 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,8 @@ all: .PHONY: run run: all - $(browser) http://0.0.0.0:8000/rendered/en & - $(python) -m http.server + $(browser) http://0.0.0.0:8000/en/ & + $(python) -m http.server --directory rendered/ variant = $(opt_variant) -- 2.35.1 |
|
Your suggestions are good points indeed. Let me assign this bugfix issue to Marcello as he might be more familiar with the build process. I will update all other 'Install' guidelines for the other web sites in the aftermath. Stefan |
|
Applied for taler-systems.com - The remainder of web pages is about to follow. |
|
Successfully applied for anastasis.lu |
|
Done for taler.net |
|
Resolved for all web pages. Websites will be installed in the /rendered/ directory after building them with ./bootstrap ./configure make If ./configure without parameters does not work, try ./configure --variant=/rendered/ Generally, ./configure tries to be smart about detecting names, if it doesn't find them for you, run ./configure --help or ./configure -h to find out what could be fitting for you and report this as a bug. |
|
I tested the new code. ./configure without --variant does not work. What is --variant used for, anyway? The website is installed in rendered/ no matter what value I pass to --variant. The README now says: > Eventually you must install node-typescript, when your system is demanding for tsc. But, again, this is not true. If I remove tsc from build-system/configure.py, the build works just fine; tsc is not called anywhere in the code. Am I missing something? What is typescript used for? And if the node-typescript package is really required, why not add it to the installation instructions at the beginning (apt install node-typescript)? Also, now that the installation instructions are in the README, you should probably remove the INSTALL file, which contains the old instructions. One more thing: `git clone git+ssh://git@git.taler.net/www.git` won't work unless you have SSH access. For the rest of us, the appropriate command is `git clone https://git.taler.net/www.git`. |
|
Hi Nervuri, as I pointed out before, just skip the command ./configure. On my machine it suffices to pass: ./bootstrap make Maybe other systems will need to pass /.configure --variant=/<folder>/ /.configure --variant=/rendered/ works for me but does not affect the result. True: tsc is not used anymore. I removed the INSTALL file. Thanks for the hint! |
|
Hi Stefan, I already replied to you that ./configure can't be skipped. The `make` command requires the build-system/config.mk file, which is generated by ./configure. If you test using a fresh clone of the repo, I'm pretty sure you'll run into the same problem. And ./configure doesn't work without --variant. However, since --variant is useless, you can remove this line from configure.py: b.use(Option("variant", "Variant (used as output directory)")) Once that's done, ./configure will work without any parameters. |
|
Done. |
|
This issue has been resolved for all web pages including gnunet.org. |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-11-19 17:25 | nervuri | New Issue | |
2022-11-19 17:25 | nervuri | Status | new => assigned |
2022-11-19 17:25 | nervuri | Assigned To | => Stefan |
2022-11-19 17:25 | nervuri | File Added: tsc.patch | |
2022-11-19 17:33 | Stefan | Note Added: 0019455 | |
2022-11-19 17:37 | Stefan | Note Added: 0019456 | |
2022-11-19 19:04 | nervuri | Note Added: 0019457 | |
2022-11-19 19:04 | nervuri | File Added: clarify-installation-instructions.patch | |
2022-11-19 19:15 | nervuri | Note Added: 0019458 | |
2022-11-19 19:15 | nervuri | File Added: start-python-http-server-in-rendered-dir.patch | |
2022-11-19 19:32 | Stefan | Note Added: 0019459 | |
2022-11-19 19:32 | Stefan | Assigned To | Stefan => MS |
2022-12-05 19:21 | Stefan | Assigned To | MS => Stefan |
2022-12-06 14:48 | Stefan | Note Added: 0019503 | |
2022-12-08 01:10 | Stefan | Note Added: 0019504 | |
2022-12-08 18:18 | Stefan | Note Added: 0019508 | |
2022-12-09 07:51 | Stefan | Note Added: 0019510 | |
2022-12-09 07:52 | Stefan | Status | assigned => resolved |
2022-12-09 07:52 | Stefan | Resolution | open => fixed |
2022-12-09 07:52 | Stefan | Fixed in Version | => 0.9.1 |
2022-12-09 17:21 | nervuri | Status | resolved => feedback |
2022-12-09 17:21 | nervuri | Resolution | fixed => reopened |
2022-12-09 17:21 | nervuri | Note Added: 0019511 | |
2022-12-09 17:46 | Stefan | Note Added: 0019512 | |
2022-12-11 10:18 | nervuri | Note Added: 0019513 | |
2022-12-11 10:18 | nervuri | Status | feedback => assigned |
2022-12-21 13:47 | Stefan | Note Added: 0019535 | |
2022-12-25 14:27 | Stefan | Status | assigned => resolved |
2022-12-25 14:27 | Stefan | Note Added: 0019539 | |
2023-02-17 16:33 | Christian Grothoff | Status | resolved => closed |