On Sat, 2020-07-11 at 11:00 +0200, Federico Bruni wrote: > > On Fri, 10 Jul, 2020 at 17:23, David Sumbler <da...@aeolia.co.uk> > wrote: > > I downloaded Lilypond version 2.21.2 today. When I ran the script > > with > > the --doc option, Lilypond installs but the docs can't be > > downloaded. > > > > I also tried with version 2.20.1, with the same result. > > > > I get the following output: > > > > No ./Downloads/lilypond-2.21.2-1.documentation.tar.bz2 found, > > downloading. > > --2020-07-10 17:15:04-- > > http://lilypond.org/downloads/binaries/documentation/Downloads/lilypond-2.21.2-1.documentation.tar.bz2 > > Resolving lilypond.org (lilypond.org)... 35.206.114.173 > > Connecting to lilypond.org (lilypond.org)|35.206.114.173|:80... > > connected. > > HTTP request sent, awaiting response... 404 Not Found > > 2020-07-10 17:15:04 ERROR 404: Not Found. > > > > Is this a temporary problem with the server, or is there something > > else I should know or do? > > > > Hi David > > I've just tried and it works. > Perhaps it was a temporary server error. > > Do you know that you can use the --doc switch only when your working > directory is the same as the directory where the install script is > saved? > https://gitlab.com/lilypond/lilypond/-/issues/3768 > > Well, at least 6 years ago.. I haven't tried it recently.
You hit the nail on the head! Yes, I fell foul of this bug. If I cd into the directory where the script is, then the documentation downloads as expected. But if my working directory is elsewhere and I give a path to the script in my command line, then it fails. In more detail, calling the script from its own directory with ./lilypond-2.21.2-1.linux-64.sh --doc causes the script to download the documentation from http://lilypond.org/downloads/binaries/documentation/./lilypond-2.21.2-1.documentation.tar.bz2 Whereas calling the script with, say, Downloads/lilypond-2.21.2-1.linux-64.sh --doc makes the script attempt to download from http://lilypond.org/downloads/binaries/documentation/Downloads/lilypond-2.21.2-1.documentation.tar.bz2 This arises from the use of the variable $me in the script set to the value of $0, which contains the full path of the script as called. But only the basename is required to extract the name of the Lilypond version. I have tried to modify the script to get around this but without success. It could be done either by creating a new variable containing just the basename, or by modifying the 'sed' line (line 293) which extracts the Lilypond version's name. I am pretty sure, however, that my failure is merely a result of my poor scripting abilities, rather than any inherent difficulty. I'm sure that somebody competent could modify the script and lose the bug in about 5 minutes! David