June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On 6/8/15 3:05 PM, Vladimir Panteleev wrote:
> On Monday, 8 June 2015 at 21:53:07 UTC, Vladimir Panteleev wrote:
>> On Monday, 8 June 2015 at 19:51:28 UTC, Andrei Alexandrescu wrote:
>>> Yah, you'd need to pass LATEST=2.067.1 in the command line. Then the
>>> build process won't need to connect to the internet to fetch the
>>> latest version.
>>
>> "LATEST" detection must go. It makes bisecting impossible.
>
> Actually, I can work around this fairly easily with Digger by
> calculating the correct LATEST value at the time and passing it as a
> make parameter :)
... and there's the well-engineered improvement right there. Bravo. -- Andrei
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On Monday, 8 June 2015 at 22:25:41 UTC, Andrei Alexandrescu wrote:
> Well I trust you can come up with a well-engineered improvement. -- Andrei
1. We can just put it in the makefile (or elsewhere in the repository). New releases need website updates anyway (front page, changelog...).
Currently, the front page hard-codes the current version number - it could use LATEST instead.
2. DMD has a "VERSION" file. It could also have a "STABLE_VERSION" file (which is equal to the "VERSION" file only for release builds).
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On Monday, 8 June 2015 at 22:26:23 UTC, Andrei Alexandrescu wrote:
> ... and there's the well-engineered improvement right there. Bravo. -- Andrei
The network activity for the autodetection is still a minor nuisance.
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On 6/8/15 3:29 PM, Vladimir Panteleev wrote:
> On Monday, 8 June 2015 at 22:26:23 UTC, Andrei Alexandrescu wrote:
>> ... and there's the well-engineered improvement right there. Bravo. --
>> Andrei
>
> The network activity for the autodetection is still a minor nuisance.
It can be set in the command line, something we should clarify. Actually let me work on a PR real quick. -- Andrei
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On 6/8/15 3:31 PM, Andrei Alexandrescu wrote: > On 6/8/15 3:29 PM, Vladimir Panteleev wrote: >> On Monday, 8 June 2015 at 22:26:23 UTC, Andrei Alexandrescu wrote: >>> ... and there's the well-engineered improvement right there. Bravo. -- >>> Andrei >> >> The network activity for the autodetection is still a minor nuisance. > > It can be set in the command line, something we should clarify. Actually > let me work on a PR real quick. -- Andrei Destroy: https://github.com/D-Programming-Language/dlang.org/pull/1012 Andrei | |||
June 13, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
On 08/06/15 21:53, Joseph Rushton Wakeling via Digitalmars-d wrote: > On 08/06/15 19:06, Joseph Rushton Wakeling via Digitalmars-d wrote: >> Well, just for one, I tried building phobos docs a couple of days ago while >> disconnected from the internet; the whole thing failed because the clones of >> stable release repos couldn't be done. >> >> No doubt I'm missing a trick, but it didn't seem very obvious, on browsing the >> makefile, what would get me the simple case of building the development phobos >> docs using my development dmd, without needing to worry about any of the other >> options out there. > > Well, whaddayaknow, make -f posix.mak clean; make -f posix.mak phobos-prerelease > just worked. I'd swear I was trying to build the phobos-prerelease target > before, but maybe forgetting the 'clean' first had some kind of weird effect on > how build targets interacted. Ho hum, spoken too soon. I don't know what was going on, but I fear I was using some weird checkout of dlang.org at the time I wrote the above. After upgrading to latest master, I couldn't even issue 'make -f posix.mak clean' without generating a network-connectivity-related error: ----------------- $ make -f posix.mak clean fatal: unable to access 'https://github.com/D-Programming-Language/dmd/': Could not resolve host: github.com LATEST= <-- place in the command line to skip network traffic. posix.mak:69: *** Could not fetch latest version, place LATEST=2.xxx.y in the command line. Stop. ----------------- Adding LATEST=2.067.1 to the command indeed allows clean to run, but then -- joy! -- I can no longer rebuild anything, because the cached DMD 2.067 is deleted and I need internet connectivity to get it back. It's also a major "WTF??!!" that 'make clean' should need network connectivity in any circumstances. The bottom line of this for me is that I have dmd, druntime, phobos and tools repos all in the "standard" locations relative to my dlang.org repo; all of those are built (or I can build them). It's therefore really baffling to me that I should need more than that in order to be able to issue 'make phobos-prerelease' and see what my updated docs look like. Force me to add LATEST=dev or something like that to the command if necessary, but _don't_ force me to either download or already have cached a separate copy of the compiler. I cannot speak to how infuriating it was to be on a plane with hours to spare to work on phobos material, only to find myself flying blind unable to validate my documentation work, because the doc build system assumes network connectivity and has no obvious fallback or workaround. Sorry if the above sounds abrasive, but take it as a measure of how much I was enjoying working on phobos again :-) | ||||
June 13, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Joseph Rushton Wakeling | On 6/13/15 1:10 AM, Joseph Rushton Wakeling via Digitalmars-d wrote: > Adding LATEST=2.067.1 to the command indeed allows clean to run, but > then -- joy! -- I can no longer rebuild anything, because the cached > DMD 2.067 is deleted and I need internet connectivity to get it > back. I don't think make clean deletes dmd2.067.1. It does instruct you to do so if you so want. > It's also a major "WTF??!!" that 'make clean' should need network > connectivity in any circumstances. Yah, supporting 100% disconnected builds was a corner case that's not properly supported yet. It's just difficult in make to set a variable efficiently only for some targets. > > The bottom line of this for me is that I have dmd, druntime, phobos > and tools repos all in the "standard" locations relative to my > dlang.org repo; all of those are built (or I can build them). It's > therefore really baffling to me that I should need more than that in > order to be able to issue 'make phobos-prerelease' and see what my > updated docs look like. Force me to add LATEST=dev or something like > that to the command if necessary, but _don't_ force me to either > download or already have cached a separate copy of the compiler. > > I cannot speak to how infuriating it was to be on a plane with hours > to spare to work on phobos material, only to find myself flying blind > unable to validate my documentation work, because the doc build > system assumes network connectivity and has no obvious fallback or > workaround. > > Sorry if the above sounds abrasive, but take it as a measure of how > much I was enjoying working on phobos again :) There's no surprise that things we didn't focus much effort don't work well. That said, I'm not sure what's happening there - things should have worked; phobos-prerelease doesn't require the legacy stuff. Should be reported as a bug. Perhaps it's dub that insists on a specific version. Could you please try "make -f posix.mak html" while disconnected and see if that goes through? Andrei | |||
June 15, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On 13/06/15 17:30, Andrei Alexandrescu via Digitalmars-d wrote: > On 6/13/15 1:10 AM, Joseph Rushton Wakeling via Digitalmars-d wrote: >> Adding LATEST=2.067.1 to the command indeed allows clean to run, but >> then -- joy! -- I can no longer rebuild anything, because the cached >> DMD 2.067 is deleted and I need internet connectivity to get it >> back. > > I don't think make clean deletes dmd2.067.1. It does instruct you to do > so if you so want. Just for clarity, I'm talking about the auto-downloaded executable, not the git clones of the stable version to ../dmd-2.067 etc. In other words right after the make command is issued, this gets run: $ make -j2 -f posix.mak LATEST=2.067.1 phobos-prerelease mkdir -p .generated/ echo "LATEST=2.067.1" >.generated/2.067.1.ddoc mkdir -p /tmp/.stable_dmd-2.067.1 TMPFILE=$(mktemp deleteme.XXXXXXXX) && curl -fsSL http://downloads.dlang.org/releases/2.x/2.067.1/dmd.2.067.1.linux.zip > ${TMPFILE}.zip && \ unzip -qd /tmp/.stable_dmd-2.067.1 ${TMPFILE}.zip && rm ${TMPFILE}.zip Anyway, I believe you're right that this temporary download doesn't get cleaned up by "make clean" but I believe it can get lost through cleanup of the /tmp dir without any user intent. I'm just trying a general "make -f posix.mak" build (which will recreate the clones of stable dmd etc.) and will see if this allows avoiding the curl download of prebuilt dmd. > There's no surprise that things we didn't focus much effort don't work well. > That said, I'm not sure what's happening there - things should have worked; > phobos-prerelease doesn't require the legacy stuff. Should be reported as a bug. > Perhaps it's dub that insists on a specific version. Could you please try "make > -f posix.mak html" while disconnected and see if that goes through? I'll give it a go. Will report back on results. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply