Merge lp:~tplavcic/percona-xtrabackup/bug1156209-2.2 into lp:percona-xtrabackup/2.2

Proposed by Tomislav Plavcic
Status: Superseded
Proposed branch: lp:~tplavcic/percona-xtrabackup/bug1156209-2.2
Merge into: lp:percona-xtrabackup/2.2
Diff against target: 529 lines (+96/-319)
12 files modified
.bzrignore (+1/-1)
cmake/build_configurations/xtrabackup_release.cmake (+2/-0)
storage/innobase/xtrabackup/.bzrignore (+1/-1)
storage/innobase/xtrabackup/CMakeLists.txt (+1/-0)
storage/innobase/xtrabackup/doc/Makefile (+0/-143)
storage/innobase/xtrabackup/doc/make.bat (+0/-170)
storage/innobase/xtrabackup/doc/source/CMakeLists.txt (+78/-0)
storage/innobase/xtrabackup/utils/build-binary.sh (+1/-1)
storage/innobase/xtrabackup/utils/debian/control (+3/-1)
storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install (+1/-0)
storage/innobase/xtrabackup/utils/debian/rules (+1/-1)
storage/innobase/xtrabackup/utils/percona-xtrabackup.spec (+7/-1)
To merge this branch: bzr merge lp:~tplavcic/percona-xtrabackup/bug1156209-2.2
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Needs Fixing
Review via email: mp+247109@code.launchpad.net

This proposal supersedes a proposal from 2015-01-16.

This proposal has been superseded by a proposal from 2015-01-22.

Description of the change

Man pages were added before but they were not build and added into packages/tarball.
Changes were made to our build nodes to support sphinx-build and also made changes in cmake and packages to generate man pages on build and include them into packages.
Removed: Makefile and make.bat from utils/doc directory.
Added -DWITH_MAN_PAGES option which is turned on by default.
Added -DWITH_HTML_DOCS, -DWITH_LATEX_DOCS, -DWITH_PDF_DOCS options which are turned off by default.

To post a comment you must log in.
Revision history for this message
Tomislav Plavcic (tplavcic) wrote : Posted in a previous version of this proposal

Test packages are available here:
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.2-RELEASE/46/
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.3-RELEASE/4/
nevermind the yellow build for 2.3 for centos5-32 it was some connection problem and it was successful when restarted.

Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

General comments:

- shouldn't we remove doc/Makefile and doc/make.bat? That would also require re-imlementing the remaining bits from Makefile in doc/source/CMakeLists.txt. How much work would that require?

- please add a CMake configuration option (-DWITH_MAN_PAGES, ON by default) so that it would be possible to build xtrabackup without man pages on systems without sphinx installed.

review: Needs Fixing
Revision history for this message
Tomislav Plavcic (tplavcic) wrote : Posted in a previous version of this proposal

Thanks Alexey, some good comments.
1. Will check with Hrvoje which building options he actually uses and what it would take to move them.
2. Will do.

Revision history for this message
Tomislav Plavcic (tplavcic) wrote : Posted in a previous version of this proposal
Download full text (4.2 KiB)

Resubmitting MP - here are the changes:
Regarding #1:
I have removed Makefile and make.bat from doc and added into cmake builds for html, latex and pdf - checked with Hrvoje and it seems that are the ones we use. Also changed jenkins documentation jobs to reflect new changes.

Regarding #2: Added option -DWITH_MAN_PAGES which is turned on by default. Also new options which are turned off by default are -DWITH_HTML_DOCS, -DWITH_LATEX_DOCS and -DWITH_PDF_DOCS and those are currently used by new jenkins documentation jobs.

Here's some testing:
PXB 2.2:
--------
TEST PACKAGES:
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.2-RELEASE/47/

RPM:
plavi@zoidberg:pxb $ rpm -qlp percona-xtrabackup-2.2.7-5061.el6.x86_64.rpm|grep man
/usr/share/man/man1/innobackupex.1.gz
/usr/share/man/man1/xbcrypt.1.gz
/usr/share/man/man1/xbstream.1.gz
/usr/share/man/man1/xtrabackup.1.gz

DEB:
plavi@zoidberg:pxb $ dpkg -c percona-xtrabackup_2.2.7-5061-1.trusty_amd64.deb|grep man
drwxr-xr-x root/root 0 2015-01-20 17:11 ./usr/share/man/
drwxr-xr-x root/root 0 2015-01-20 17:11 ./usr/share/man/man1/
-rw-r--r-- root/root 24486 2015-01-20 17:11 ./usr/share/man/man1/innobackupex.1.gz
-rw-r--r-- root/root 808 2015-01-20 17:11 ./usr/share/man/man1/xbcrypt.1.gz
-rw-r--r-- root/root 20415 2015-01-20 17:11 ./usr/share/man/man1/xtrabackup.1.gz
-rw-r--r-- root/root 1230 2015-01-20 17:11 ./usr/share/man/man1/xbstream.1.gz

TAR:
plavi@zoidberg:pxb $ tar -ztvf percona-xtrabackup-2.2.7-5061-Linux-x86_64.tar.gz|grep man
drwxr-xr-x root/root 0 2015-01-20 17:09 percona-xtrabackup-2.2.7-Linux-x86_64/man/
drwxr-xr-x root/root 0 2015-01-20 17:09 percona-xtrabackup-2.2.7-Linux-x86_64/man/man1/
-rw-r--r-- root/root 69420 2015-01-20 17:07 percona-xtrabackup-2.2.7-Linux-x86_64/man/man1/xtrabackup.1
-rw-r--r-- root/root 2084 2015-01-20 17:07 percona-xtrabackup-2.2.7-Linux-x86_64/man/man1/xbcrypt.1
-rw-r--r-- root/root 92762 2015-01-20 17:07 percona-xtrabackup-2.2.7-Linux-x86_64/man/man1/innobackupex.1
-rw-r--r-- root/root 2834 2015-01-20 17:07 percona-xtrabackup-2.2.7-Linux-x86_64/man/man1/xbstream.1

JENKINS DOCUMENTATION JOBS:
http://jenkins.percona.com/view/PXB%202.2/job/percona-xtrabackup-2.2-documentation-pdf-new/3/
http://jenkins.percona.com/view/PXB%202.2/job/percona-xtrabackup-2.2-documentation-new/1/

PXB 2.3:
--------
TEST PACKAGES:
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.3-RELEASE/6/

RPM:
plavi@zoidberg:pxb $ rpm -qlp percona-xtrabackup-23-2.3.0-5062.alpha1.el7.x86_64.rpm |grep man
/usr/share/man/man1/innobackupex.1.gz
/usr/share/man/man1/xbcrypt.1.gz
/usr/share/man/man1/xbstream.1.gz
/usr/share/man/man1/xtrabackup.1.gz

DEB:
plavi@zoidberg:pxb $ dpkg -c percona-xtrabackup-23_2.3.0-5062.alpha1-1.trusty_amd64.deb|grep man
drwxr-xr-x root/root 0 2015-01-21 09:23 ./usr/share/man/
drwxr-xr-x root/root 0 2015-01-21 09:23 ./usr/share/man/man1/
-rw-r--r-- root/root 24487 2015-01-21 09:23 ./usr/share/man/man1/innobackupex.1.gz
-rw-r--r-- root/root 811 2015-01-21 09:23 ./usr/share/man/man1/xbcrypt.1.gz
-rw-r--r-- root/root 20415 2015-01-...

Read more...

Revision history for this message
Alexey Kopytov (akopytov) wrote :

- the year in the copyright notice should be 2015, not 2013 (I mentioned it in the comments for the previous MP)

- storage/innobase/xtrabackup/doc/build/ should be removed from .bzrignore (since we no longer create that diretory) and replaced with storage/innobase/xtrabackup/doc/source/build/

- I don't think using relative path in CMakeLists.txt is a good idea. One may want to do out-of-source builds, for example.

- I have configured the source tree as follows:

cmake -DWITH_HTML_DOCS=on -DWITH_LATEX_DOCS=on -DWITH_PDF_DOCS=on -DWITH_MAN_PAGES=on .

Then 'make' failed for me like this:

[ 0%] Generating build/latex/PerconaXtraBackup-2.2.pdf
make[3]: *** No rule to make target `all-pdf'. Stop.
make[2]: *** [storage/innobase/xtrabackup/doc/source/build/latex/PerconaXtraBackup-2.2.pdf] Error 2
make[1]: *** [storage/innobase/xtrabackup/doc/source/CMakeFiles/latexpdf.dir/all] Error 2
make: *** [all] Error 2

What am I missing?

review: Needs Fixing
Revision history for this message
Tomislav Plavcic (tplavcic) wrote :

Fixed:
- year in copyright
- doc/build in .bzrignore
- added relative paths in CMakeLists.txt

I have tried to do out-of-source builds and in-source builds and it worked for me - also tried to do build with all options like you did and it worked (probably didn't work before because of relative path or something).

There is some bug in sphinx regarding the html_theme_path option which has been resolved just recently and because of this I have left that the percona-theme is downloaded in source dir and removed after build - that only makes difference if you do out-of-source build of html docs.
I have left the comment in CMakeLists for this, and the bug is this one:
https://github.com/sphinx-doc/sphinx/issues/925

Test builds:
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.2-RELEASE/48/
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.3-RELEASE/7/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2014-09-15 08:52:36 +0000
3+++ .bzrignore 2015-01-22 16:34:27 +0000
4@@ -3149,5 +3149,5 @@
5 ./storage/innobase/xtrabackup/src/CMakeCache.txt
6 ./storage/innobase/xtrabackup/src/xtrabackup_version.h
7 ./storage/innobase/xtrabackup/CMakeCache.txt
8-./storage/innobase/xtrabackup/doc/build/
9+./storage/innobase/xtrabackup/doc/source/build/
10 ./storage/innobase/xtrabackup/doc/source/percona-theme/
11
12=== modified file 'cmake/build_configurations/xtrabackup_release.cmake'
13--- cmake/build_configurations/xtrabackup_release.cmake 2014-09-14 04:53:30 +0000
14+++ cmake/build_configurations/xtrabackup_release.cmake 2015-01-22 16:34:27 +0000
15@@ -52,6 +52,8 @@
16
17 # Enable fast mutexes on Linux
18 OPTION(WITH_FAST_MUTEXES "" ON)
19+ # Enable building man pages on Linux by default
20+ OPTION(WITH_MAN_PAGES "" ON)
21 ENDIF()
22
23 ENDIF()
24
25=== modified file 'storage/innobase/xtrabackup/.bzrignore'
26--- storage/innobase/xtrabackup/.bzrignore 2014-03-04 07:58:39 +0000
27+++ storage/innobase/xtrabackup/.bzrignore 2015-01-22 16:34:27 +0000
28@@ -8,4 +8,4 @@
29 percona-theme*
30 doc/source/percona-theme
31 doc/source/percona-theme/
32-doc/build
33+doc/source/build
34
35=== modified file 'storage/innobase/xtrabackup/CMakeLists.txt'
36--- storage/innobase/xtrabackup/CMakeLists.txt 2014-05-19 12:26:12 +0000
37+++ storage/innobase/xtrabackup/CMakeLists.txt 2015-01-22 16:34:27 +0000
38@@ -25,3 +25,4 @@
39
40 ADD_SUBDIRECTORY(src)
41 ADD_SUBDIRECTORY(test)
42+ADD_SUBDIRECTORY(doc/source)
43
44=== removed file 'storage/innobase/xtrabackup/doc/Makefile'
45--- storage/innobase/xtrabackup/doc/Makefile 2014-03-26 07:39:36 +0000
46+++ storage/innobase/xtrabackup/doc/Makefile 1970-01-01 00:00:00 +0000
47@@ -1,143 +0,0 @@
48-# Makefile for Sphinx documentation
49-#
50-
51-# You can set these variables from the command line.
52-SPHINXOPTS =
53-SPHINXBUILD = sphinx-build
54-PAPER =
55-BUILDDIR = build
56-
57-# Internal variables.
58-PAPEROPT_a4 = -D latex_paper_size=a4
59-PAPEROPT_letter = -D latex_paper_size=letter
60-ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
61-
62-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
63-
64-help:
65- @echo "Please use \`make <target>' where <target> is one of"
66- @echo " html to make standalone HTML files"
67- @echo " dirhtml to make HTML files named index.html in directories"
68- @echo " singlehtml to make a single large HTML file"
69- @echo " pickle to make pickle files"
70- @echo " json to make JSON files"
71- @echo " htmlhelp to make HTML files and a HTML help project"
72- @echo " qthelp to make HTML files and a qthelp project"
73- @echo " devhelp to make HTML files and a Devhelp project"
74- @echo " epub to make an epub"
75- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
76- @echo " latexpdf to make LaTeX files and run them through pdflatex"
77- @echo " text to make text files"
78- @echo " man to make manual pages"
79- @echo " changes to make an overview of all changed/added/deprecated items"
80- @echo " linkcheck to check all external links for integrity"
81- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
82-
83-clean:
84- -rm -rf $(BUILDDIR)/*
85-
86-html:
87- @echo "Downloading percona-theme ..."
88- @wget -O percona-theme.tar.gz http://percona.com/docs/theme/percona-xtrabackup/2.2
89- @echo "Extracting theme."
90- @tar -zxf percona-theme.tar.gz
91- @rm -rf source/percona-theme
92- @mv percona-theme source/percona-theme
93- @rm percona-theme.tar.gz
94- @echo "Building html doc"
95- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
96- @echo
97- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
98-
99-offhtml:
100- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
101- @echo
102- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
103-
104-dirhtml:
105- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
106- @echo
107- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
108-
109-singlehtml:
110- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
111- @echo
112- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
113-
114-pickle:
115- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
116- @echo
117- @echo "Build finished; now you can process the pickle files."
118-
119-json:
120- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
121- @echo
122- @echo "Build finished; now you can process the JSON files."
123-
124-htmlhelp:
125- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
126- @echo
127- @echo "Build finished; now you can run HTML Help Workshop with the" \
128- ".hhp project file in $(BUILDDIR)/htmlhelp."
129-
130-qthelp:
131- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
132- @echo
133- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
134- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
135- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PerconaXtraBackup.qhcp"
136- @echo "To view the help file:"
137- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PerconaXtraBackup.qhc"
138-
139-devhelp:
140- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
141- @echo
142- @echo "Build finished."
143- @echo "To view the help file:"
144- @echo "# mkdir -p $$HOME/.local/share/devhelp/PerconaXtraBackup"
145- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PerconaXtraBackup"
146- @echo "# devhelp"
147-
148-epub:
149- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
150- @echo
151- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
152-
153-latex:
154- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
155- @echo
156- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
157- @echo "Run \`make' in that directory to run these through (pdf)latex" \
158- "(use \`make latexpdf' here to do that automatically)."
159-
160-latexpdf:
161- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
162- @echo "Running LaTeX files through pdflatex..."
163- make -C $(BUILDDIR)/latex all-pdf
164- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
165-
166-text:
167- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
168- @echo
169- @echo "Build finished. The text files are in $(BUILDDIR)/text."
170-
171-man:
172- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
173- @echo
174- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
175-
176-changes:
177- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
178- @echo
179- @echo "The overview file is in $(BUILDDIR)/changes."
180-
181-linkcheck:
182- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
183- @echo
184- @echo "Link check complete; look for any errors in the above output " \
185- "or in $(BUILDDIR)/linkcheck/output.txt."
186-
187-doctest:
188- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
189- @echo "Testing of doctests in the sources finished, look at the " \
190- "results in $(BUILDDIR)/doctest/output.txt."
191
192=== removed file 'storage/innobase/xtrabackup/doc/make.bat'
193--- storage/innobase/xtrabackup/doc/make.bat 2011-07-07 05:32:50 +0000
194+++ storage/innobase/xtrabackup/doc/make.bat 1970-01-01 00:00:00 +0000
195@@ -1,170 +0,0 @@
196-@ECHO OFF
197-
198-REM Command file for Sphinx documentation
199-
200-if "%SPHINXBUILD%" == "" (
201- set SPHINXBUILD=sphinx-build
202-)
203-set BUILDDIR=build
204-set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
205-if NOT "%PAPER%" == "" (
206- set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
207-)
208-
209-if "%1" == "" goto help
210-
211-if "%1" == "help" (
212- :help
213- echo.Please use `make ^<target^>` where ^<target^> is one of
214- echo. html to make standalone HTML files
215- echo. dirhtml to make HTML files named index.html in directories
216- echo. singlehtml to make a single large HTML file
217- echo. pickle to make pickle files
218- echo. json to make JSON files
219- echo. htmlhelp to make HTML files and a HTML help project
220- echo. qthelp to make HTML files and a qthelp project
221- echo. devhelp to make HTML files and a Devhelp project
222- echo. epub to make an epub
223- echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
224- echo. text to make text files
225- echo. man to make manual pages
226- echo. changes to make an overview over all changed/added/deprecated items
227- echo. linkcheck to check all external links for integrity
228- echo. doctest to run all doctests embedded in the documentation if enabled
229- goto end
230-)
231-
232-if "%1" == "clean" (
233- for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
234- del /q /s %BUILDDIR%\*
235- goto end
236-)
237-
238-if "%1" == "html" (
239- %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
240- if errorlevel 1 exit /b 1
241- echo.
242- echo.Build finished. The HTML pages are in %BUILDDIR%/html.
243- goto end
244-)
245-
246-if "%1" == "dirhtml" (
247- %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
248- if errorlevel 1 exit /b 1
249- echo.
250- echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
251- goto end
252-)
253-
254-if "%1" == "singlehtml" (
255- %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
256- if errorlevel 1 exit /b 1
257- echo.
258- echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
259- goto end
260-)
261-
262-if "%1" == "pickle" (
263- %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
264- if errorlevel 1 exit /b 1
265- echo.
266- echo.Build finished; now you can process the pickle files.
267- goto end
268-)
269-
270-if "%1" == "json" (
271- %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
272- if errorlevel 1 exit /b 1
273- echo.
274- echo.Build finished; now you can process the JSON files.
275- goto end
276-)
277-
278-if "%1" == "htmlhelp" (
279- %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
280- if errorlevel 1 exit /b 1
281- echo.
282- echo.Build finished; now you can run HTML Help Workshop with the ^
283-.hhp project file in %BUILDDIR%/htmlhelp.
284- goto end
285-)
286-
287-if "%1" == "qthelp" (
288- %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
289- if errorlevel 1 exit /b 1
290- echo.
291- echo.Build finished; now you can run "qcollectiongenerator" with the ^
292-.qhcp project file in %BUILDDIR%/qthelp, like this:
293- echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PerconaXtraBackup.qhcp
294- echo.To view the help file:
295- echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PerconaXtraBackup.ghc
296- goto end
297-)
298-
299-if "%1" == "devhelp" (
300- %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
301- if errorlevel 1 exit /b 1
302- echo.
303- echo.Build finished.
304- goto end
305-)
306-
307-if "%1" == "epub" (
308- %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
309- if errorlevel 1 exit /b 1
310- echo.
311- echo.Build finished. The epub file is in %BUILDDIR%/epub.
312- goto end
313-)
314-
315-if "%1" == "latex" (
316- %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
317- if errorlevel 1 exit /b 1
318- echo.
319- echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
320- goto end
321-)
322-
323-if "%1" == "text" (
324- %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
325- if errorlevel 1 exit /b 1
326- echo.
327- echo.Build finished. The text files are in %BUILDDIR%/text.
328- goto end
329-)
330-
331-if "%1" == "man" (
332- %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
333- if errorlevel 1 exit /b 1
334- echo.
335- echo.Build finished. The manual pages are in %BUILDDIR%/man.
336- goto end
337-)
338-
339-if "%1" == "changes" (
340- %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
341- if errorlevel 1 exit /b 1
342- echo.
343- echo.The overview file is in %BUILDDIR%/changes.
344- goto end
345-)
346-
347-if "%1" == "linkcheck" (
348- %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
349- if errorlevel 1 exit /b 1
350- echo.
351- echo.Link check complete; look for any errors in the above output ^
352-or in %BUILDDIR%/linkcheck/output.txt.
353- goto end
354-)
355-
356-if "%1" == "doctest" (
357- %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
358- if errorlevel 1 exit /b 1
359- echo.
360- echo.Testing of doctests in the sources finished, look at the ^
361-results in %BUILDDIR%/doctest/output.txt.
362- goto end
363-)
364-
365-:end
366
367=== added file 'storage/innobase/xtrabackup/doc/source/CMakeLists.txt'
368--- storage/innobase/xtrabackup/doc/source/CMakeLists.txt 1970-01-01 00:00:00 +0000
369+++ storage/innobase/xtrabackup/doc/source/CMakeLists.txt 2015-01-22 16:34:27 +0000
370@@ -0,0 +1,78 @@
371+# Copyright (c) 2015 Percona LLC and/or its affiliates.
372+#
373+# This program is free software; you can redistribute it and/or modify
374+# it under the terms of the GNU General Public License as published by
375+# the Free Software Foundation; version 2 of the License.
376+
377+# This program is distributed in the hope that it will be useful,
378+# but WITHOUT ANY WARRANTY; without even the implied warranty of
379+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
380+# GNU General Public License for more details.
381+
382+# You should have received a copy of the GNU General Public License
383+# along with this program; if not, write to the Free Software
384+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
385+
386+# generate man pages
387+IF(WITH_MAN_PAGES)
388+ ADD_CUSTOM_COMMAND(
389+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/man
390+ COMMAND sphinx-build -b man -d ${CMAKE_CURRENT_BINARY_DIR}/build/doctrees ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build/man
391+ VERBATIM
392+ )
393+
394+ ADD_CUSTOM_TARGET(man ALL
395+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/man
396+ )
397+
398+ INSTALL(
399+ CODE "FILE( GLOB MAN1_FILES \"${CMAKE_CURRENT_BINARY_DIR}/build/man/*.1\" )"
400+ CODE "FILE( INSTALL \${MAN1_FILES} DESTINATION \"${INSTALL_MANDIR}/man1\" )"
401+ )
402+ENDIF()
403+
404+# generate html documentation
405+IF(WITH_HTML_DOCS)
406+ ADD_CUSTOM_COMMAND(
407+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/html
408+ # Downloads percona-theme into source dir because of sphinx bug:
409+ # https://github.com/sphinx-doc/sphinx/issues/925
410+ COMMAND wget -O ${CMAKE_CURRENT_SOURCE_DIR}/percona-theme.tar.gz http://percona.com/docs/theme/percona-xtrabackup/2.2
411+ COMMAND tar -zxf ${CMAKE_CURRENT_SOURCE_DIR}/percona-theme.tar.gz -C ${CMAKE_CURRENT_SOURCE_DIR}
412+ COMMAND rm -f ${CMAKE_CURRENT_SOURCE_DIR}/percona-theme.tar.gz
413+ COMMAND sphinx-build -b html -d ${CMAKE_CURRENT_BINARY_DIR}/build/doctrees ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build/html
414+ COMMAND rm -rf ${CMAKE_CURRENT_SOURCE_DIR}/percona-theme
415+ VERBATIM
416+ )
417+
418+ ADD_CUSTOM_TARGET(html ALL
419+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/html
420+ )
421+ENDIF()
422+
423+# generate latex or pdf documentation
424+IF(WITH_LATEX_DOCS OR WITH_PDF_DOCS)
425+ ADD_CUSTOM_COMMAND(
426+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/latex
427+ COMMAND sphinx-build -b latex -d ${CMAKE_CURRENT_BINARY_DIR}/build/doctrees ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build/latex
428+ VERBATIM
429+ )
430+
431+ ADD_CUSTOM_TARGET(latex ALL
432+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex
433+ )
434+
435+ IF(WITH_PDF_DOCS)
436+ ADD_CUSTOM_COMMAND(
437+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.pdf
438+ COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/build/latex all-pdf
439+ VERBATIM
440+ )
441+
442+ ADD_CUSTOM_TARGET(latexpdf ALL
443+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex
444+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.pdf
445+ )
446+ ENDIF()
447+
448+ENDIF()
449
450=== modified file 'storage/innobase/xtrabackup/utils/build-binary.sh'
451--- storage/innobase/xtrabackup/utils/build-binary.sh 2014-03-28 10:35:52 +0000
452+++ storage/innobase/xtrabackup/utils/build-binary.sh 2015-01-22 16:34:27 +0000
453@@ -110,7 +110,7 @@
454 # Install the files
455 mkdir -p "$INSTALLDIR"
456 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" \
457- -DINSTALL_MYSQLTESTDIR=percona-xtrabackup-${XB_VERSION_MAJOR}.${XB_VERSION_MINOR}-test .
458+ -DINSTALL_MYSQLTESTDIR=percona-xtrabackup-${XB_VERSION_MAJOR}.${XB_VERSION_MINOR}-test -DINSTALL_MANDIR=${INSTALLDIR}/man .
459 make $MAKE_JFLAG
460 make install
461
462
463=== modified file 'storage/innobase/xtrabackup/utils/debian/control'
464--- storage/innobase/xtrabackup/utils/debian/control 2014-08-22 10:40:29 +0000
465+++ storage/innobase/xtrabackup/utils/debian/control 2015-01-22 16:34:27 +0000
466@@ -14,7 +14,9 @@
467 libtool,
468 libz-dev,
469 libgcrypt-dev,
470- lsb-release
471+ lsb-release,
472+ python-sphinx (>= 1.0.1),
473+ python-docutils (>= 0.6)
474 Standards-Version: 3.9.5
475 Homepage: http://www.percona.com/software/percona-xtrabackup
476
477
478=== modified file 'storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install'
479--- storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install 2014-06-10 11:24:27 +0000
480+++ storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install 2015-01-22 16:34:27 +0000
481@@ -1,1 +1,2 @@
482 /usr/bin
483+/usr/share/man/man1
484
485=== modified file 'storage/innobase/xtrabackup/utils/debian/rules'
486--- storage/innobase/xtrabackup/utils/debian/rules 2014-07-22 12:46:09 +0000
487+++ storage/innobase/xtrabackup/utils/debian/rules 2015-01-22 16:34:27 +0000
488@@ -19,7 +19,7 @@
489
490 ifeq "$(DEB_DUMMY)" ""
491 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX=/usr \
492- -DINSTALL_MYSQLTESTDIR=/usr/share/percona-xtrabackup-test .
493+ -DINSTALL_MYSQLTESTDIR=/usr/share/percona-xtrabackup-test -DINSTALL_MANDIR=/usr/share/man .
494 else
495 # Dummy binaries that avoid compilation
496 echo 'main() { return 300; }' | gcc -x c - -o xtrabackup
497
498=== modified file 'storage/innobase/xtrabackup/utils/percona-xtrabackup.spec'
499--- storage/innobase/xtrabackup/utils/percona-xtrabackup.spec 2015-01-12 09:58:23 +0000
500+++ storage/innobase/xtrabackup/utils/percona-xtrabackup.spec 2015-01-22 16:34:27 +0000
501@@ -17,6 +17,11 @@
502 Source: percona-xtrabackup-%{version}%{xb_version_extra}.tar.gz
503
504 BuildRequires: cmake, libaio-devel, libgcrypt-devel, ncurses-devel, readline-devel, zlib-devel
505+%if 0%{?rhel} > 6
506+BuildRequires: python-sphinx >= 1.0.1, python-docutils >= 0.6
507+%else
508+BuildRequires: python-sphinx10 >= 1.0.1, python-docutils >= 0.6
509+%endif
510 Requires: perl(DBD::mysql), rsync
511 BuildRoot: %{_tmppath}/%{name}-%{version}-root
512
513@@ -54,7 +59,7 @@
514 export CXXFLAGS="$CXXFLAGS -DXTRABACKUP_VERSION=\\\"%{xtrabackup_version}\\\" -DXTRABACKUP_REVISION=\\\"%{xtrabackup_revision}\\\""
515 #
516 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX=%{_prefix} \
517- -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test .
518+ -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test -DINSTALL_MANDIR=%{_mandir} .
519 #
520 make %{?_smp_mflags}
521 #
522@@ -74,6 +79,7 @@
523 %{_bindir}/xbstream
524 %{_bindir}/xbcrypt
525 %doc COPYING
526+%doc %{_mandir}/man1/*.1.gz
527
528 %files -n percona-xtrabackup-test
529 %defattr(-,root,root,-)

Subscribers

People subscribed via source and target branches