Message ID | 20200306134751.2572-1-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 373c7068dd610e97f0b551b5a6d0a27cd6da4506 |
Headers | show |
Series | qemu.nsi: Install Sphinx documentation | expand |
On 3/6/20 2:47 PM, Peter Maydell wrote: > The old qemu-doc.html is no longer built, so update the Windows > installer to install the new Sphinx manual sets. > > We install all five of the manuals, even though some of them > (notably the user-mode manual) will not be very useful to Windows > users, because skipping some of them would mean broken links > in the top level 'index.html' page. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > I've tested this (building it via the fedora docker image > and installing into a Windows VM) but I don't know anything > much about the installer so there might be neater ways to do it... > > NB: I didn't realize that patchew included a test of building > the Windows installer, so until we get this (or some variant) > into master I'm afraid patchew will be emailing failure reports > to every submitted patchseries. Sorry about that :-( > --- > qemu.nsi | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/qemu.nsi b/qemu.nsi > index 0c29ba359cd..1a0112265b0 100644 > --- a/qemu.nsi > +++ b/qemu.nsi > @@ -177,9 +177,20 @@ SectionEnd > !ifdef CONFIG_DOCUMENTATION > Section "Documentation" SectionDoc > SetOutPath "$INSTDIR" Now that we have multiple files installed, I'd move them into a separate directory: ${INSTDIR}/docs/ seems appropriate. Can be done later. > - File "${BINDIR}\qemu-doc.html" > + File "${BINDIR}\index.html" > + SetOutPath "$INSTDIR\interop" > + FILE /r "${BINDIR}\interop\*.*" > + SetOutPath "$INSTDIR\specs" > + FILE /r "${BINDIR}\specs\*.*" > + SetOutPath "$INSTDIR\system" > + FILE /r "${BINDIR}\system\*.*" > + SetOutPath "$INSTDIR\tools" > + FILE /r "${BINDIR}\tools\*.*" > + SetOutPath "$INSTDIR\user" > + FILE /r "${BINDIR}\user\*.*" > + SetOutPath "$INSTDIR" The last SetOutPath seems alone (copy/paste mistake I suppose). Otherwise looks good. > CreateDirectory "$SMPROGRAMS\${PRODUCT}" > - CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0 > + CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\index.html" "" "$INSTDIR\index.html" 0 > SectionEnd > !endif > > @@ -227,7 +238,12 @@ Section "Uninstall" > Delete "$INSTDIR\qemu-io.exe" > Delete "$INSTDIR\qemu.exe" > Delete "$INSTDIR\qemu-system-*.exe" > - Delete "$INSTDIR\qemu-doc.html" > + Delete "$INSTDIR\index.html" > + RMDir /r "$INSTDIR\interop" > + RMDir /r "$INSTDIR\specs" > + RMDir /r "$INSTDIR\system" > + RMDir /r "$INSTDIR\tools" > + RMDir /r "$INSTDIR\user" > RMDir /r "$INSTDIR\keymaps" > RMDir /r "$INSTDIR\share" > ; Remove generated files >
On Fri, 6 Mar 2020 at 14:32, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > On 3/6/20 2:47 PM, Peter Maydell wrote: > > The old qemu-doc.html is no longer built, so update the Windows > > installer to install the new Sphinx manual sets. > > > > We install all five of the manuals, even though some of them > > (notably the user-mode manual) will not be very useful to Windows > > users, because skipping some of them would mean broken links > > in the top level 'index.html' page. > > > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > --- > > I've tested this (building it via the fedora docker image > > and installing into a Windows VM) but I don't know anything > > much about the installer so there might be neater ways to do it... > > > > NB: I didn't realize that patchew included a test of building > > the Windows installer, so until we get this (or some variant) > > into master I'm afraid patchew will be emailing failure reports > > to every submitted patchseries. Sorry about that :-( > > --- > > qemu.nsi | 22 +++++++++++++++++++--- > > 1 file changed, 19 insertions(+), 3 deletions(-) > > > > diff --git a/qemu.nsi b/qemu.nsi > > index 0c29ba359cd..1a0112265b0 100644 > > --- a/qemu.nsi > > +++ b/qemu.nsi > > @@ -177,9 +177,20 @@ SectionEnd > > !ifdef CONFIG_DOCUMENTATION > > Section "Documentation" SectionDoc > > SetOutPath "$INSTDIR" > > Now that we have multiple files installed, I'd move them into a separate > directory: ${INSTDIR}/docs/ seems appropriate. Can be done later. > > > - File "${BINDIR}\qemu-doc.html" > > + File "${BINDIR}\index.html" > > + SetOutPath "$INSTDIR\interop" > > + FILE /r "${BINDIR}\interop\*.*" > > + SetOutPath "$INSTDIR\specs" > > + FILE /r "${BINDIR}\specs\*.*" > > + SetOutPath "$INSTDIR\system" > > + FILE /r "${BINDIR}\system\*.*" > > + SetOutPath "$INSTDIR\tools" > > + FILE /r "${BINDIR}\tools\*.*" > > + SetOutPath "$INSTDIR\user" > > + FILE /r "${BINDIR}\user\*.*" > > + SetOutPath "$INSTDIR" > > The last SetOutPath seems alone (copy/paste mistake I suppose). > Otherwise looks good. No, it's deliberate. I wanted to put the output path back to what it was at the start of this section, because I wasn't sure if any of the commands below this point implicitly depended on it. > > CreateDirectory "$SMPROGRAMS\${PRODUCT}" > > - CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0 > > + CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\index.html" "" "$INSTDIR\index.html" 0 > > SectionEnd > > !endif thanks -- PMM
On 3/6/20 3:54 PM, Peter Maydell wrote: > On Fri, 6 Mar 2020 at 14:32, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: >> >> On 3/6/20 2:47 PM, Peter Maydell wrote: >>> The old qemu-doc.html is no longer built, so update the Windows >>> installer to install the new Sphinx manual sets. >>> >>> We install all five of the manuals, even though some of them >>> (notably the user-mode manual) will not be very useful to Windows >>> users, because skipping some of them would mean broken links >>> in the top level 'index.html' page. >>> >>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> >>> --- >>> I've tested this (building it via the fedora docker image >>> and installing into a Windows VM) but I don't know anything >>> much about the installer so there might be neater ways to do it... >>> >>> NB: I didn't realize that patchew included a test of building >>> the Windows installer, so until we get this (or some variant) >>> into master I'm afraid patchew will be emailing failure reports >>> to every submitted patchseries. Sorry about that :-( >>> --- >>> qemu.nsi | 22 +++++++++++++++++++--- >>> 1 file changed, 19 insertions(+), 3 deletions(-) >>> >>> diff --git a/qemu.nsi b/qemu.nsi >>> index 0c29ba359cd..1a0112265b0 100644 >>> --- a/qemu.nsi >>> +++ b/qemu.nsi >>> @@ -177,9 +177,20 @@ SectionEnd >>> !ifdef CONFIG_DOCUMENTATION >>> Section "Documentation" SectionDoc >>> SetOutPath "$INSTDIR" >> >> Now that we have multiple files installed, I'd move them into a separate >> directory: ${INSTDIR}/docs/ seems appropriate. Can be done later. >> >>> - File "${BINDIR}\qemu-doc.html" >>> + File "${BINDIR}\index.html" >>> + SetOutPath "$INSTDIR\interop" >>> + FILE /r "${BINDIR}\interop\*.*" >>> + SetOutPath "$INSTDIR\specs" >>> + FILE /r "${BINDIR}\specs\*.*" >>> + SetOutPath "$INSTDIR\system" >>> + FILE /r "${BINDIR}\system\*.*" >>> + SetOutPath "$INSTDIR\tools" >>> + FILE /r "${BINDIR}\tools\*.*" >>> + SetOutPath "$INSTDIR\user" >>> + FILE /r "${BINDIR}\user\*.*" >>> + SetOutPath "$INSTDIR" >> >> The last SetOutPath seems alone (copy/paste mistake I suppose). >> Otherwise looks good. > > No, it's deliberate. I wanted to put the output path back > to what it was at the start of this section, because I > wasn't sure if any of the commands below this point > implicitly depended on it. Ah good point. As this patch unbreaks patchew: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> >>> CreateDirectory "$SMPROGRAMS\${PRODUCT}" >>> - CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0 >>> + CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\index.html" "" "$INSTDIR\index.html" 0 >>> SectionEnd >>> !endif > > thanks > -- PMM >
On Fri, 6 Mar 2020 at 15:02, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > On 3/6/20 3:54 PM, Peter Maydell wrote: > > On Fri, 6 Mar 2020 at 14:32, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > >> > >> On 3/6/20 2:47 PM, Peter Maydell wrote: > >>> The old qemu-doc.html is no longer built, so update the Windows > >>> installer to install the new Sphinx manual sets. > >>> > >>> We install all five of the manuals, even though some of them > >>> (notably the user-mode manual) will not be very useful to Windows > >>> users, because skipping some of them would mean broken links > >>> in the top level 'index.html' page. > >>> > >>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > As this patch unbreaks patchew: > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Thanks. Stefan, I've applied this to master as it unbreaks one of the patchew configs, but feel free to let me know if there are changes you'd like me to make and I'll send a followup patch. -- PMM
diff --git a/qemu.nsi b/qemu.nsi index 0c29ba359cd..1a0112265b0 100644 --- a/qemu.nsi +++ b/qemu.nsi @@ -177,9 +177,20 @@ SectionEnd !ifdef CONFIG_DOCUMENTATION Section "Documentation" SectionDoc SetOutPath "$INSTDIR" - File "${BINDIR}\qemu-doc.html" + File "${BINDIR}\index.html" + SetOutPath "$INSTDIR\interop" + FILE /r "${BINDIR}\interop\*.*" + SetOutPath "$INSTDIR\specs" + FILE /r "${BINDIR}\specs\*.*" + SetOutPath "$INSTDIR\system" + FILE /r "${BINDIR}\system\*.*" + SetOutPath "$INSTDIR\tools" + FILE /r "${BINDIR}\tools\*.*" + SetOutPath "$INSTDIR\user" + FILE /r "${BINDIR}\user\*.*" + SetOutPath "$INSTDIR" CreateDirectory "$SMPROGRAMS\${PRODUCT}" - CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0 + CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\index.html" "" "$INSTDIR\index.html" 0 SectionEnd !endif @@ -227,7 +238,12 @@ Section "Uninstall" Delete "$INSTDIR\qemu-io.exe" Delete "$INSTDIR\qemu.exe" Delete "$INSTDIR\qemu-system-*.exe" - Delete "$INSTDIR\qemu-doc.html" + Delete "$INSTDIR\index.html" + RMDir /r "$INSTDIR\interop" + RMDir /r "$INSTDIR\specs" + RMDir /r "$INSTDIR\system" + RMDir /r "$INSTDIR\tools" + RMDir /r "$INSTDIR\user" RMDir /r "$INSTDIR\keymaps" RMDir /r "$INSTDIR\share" ; Remove generated files
The old qemu-doc.html is no longer built, so update the Windows installer to install the new Sphinx manual sets. We install all five of the manuals, even though some of them (notably the user-mode manual) will not be very useful to Windows users, because skipping some of them would mean broken links in the top level 'index.html' page. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- I've tested this (building it via the fedora docker image and installing into a Windows VM) but I don't know anything much about the installer so there might be neater ways to do it... NB: I didn't realize that patchew included a test of building the Windows installer, so until we get this (or some variant) into master I'm afraid patchew will be emailing failure reports to every submitted patchseries. Sorry about that :-( --- qemu.nsi | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) -- 2.20.1