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

Proposed by Tomislav Plavcic on 2015-01-22
Status: Merged
Approved by: Alexey Kopytov on 2015-02-06
Approved revision: 5062
Merged at revision: 5064
Proposed branch: lp:~tplavcic/percona-xtrabackup/bug1156209-2.2
Merge into: lp:percona-xtrabackup/2.2
Diff against target: 531 lines (+98/-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 (+80/-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) 2015-01-22 Approve on 2015-02-06
Review via email: mp+247329@code.launchpad.net

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

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.
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.

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
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.

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...

Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

- 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
Tomislav Plavcic (tplavcic) wrote : Posted in a previous version of this proposal

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/

Alexey Kopytov (akopytov) wrote :

I still can reproduce it as follows:

$ bzr branch lp:~tplavcic/percona-xtrabackup/bug1156209-2.2
$ cd bug1156209-2.2
$ cmake -DWITH_HTML_DOCS=on -DWITH_LATEX_DOCS=on -DWITH_PDF_DOCS=on -DWITH_MAN_PAGES=on .
$ make -j3

If I do "cd storage/innobase/xtrabackup/doc/source; make -j3" after the above fails, everything builds successfully.

review: Needs Fixing
Tomislav Plavcic (tplavcic) wrote :

Yep, you're right.
Seems the problem was in badly defined outputs and dependencies for latexpdf target since it depends on the output of latex target - it needs Makefile which is produced there and tex file also - when parallel building was done it only looked for existance of doc/source/build/latex directory but final and needed outputs maybe were not created yet - at least that is my current understanding.

So I managed to reproduce your error and with this new commit I cannot reproduce it so please check.

Here's jenkins jobs with some testing:
TEST:
pdf job
http://jenkins.percona.com/view/PXB%202.2/job/percona-xtrabackup-2.2-documentation-pdf-new/5/
html job:
http://jenkins.percona.com/view/PXB%202.2/job/percona-xtrabackup-2.2-documentation-new/4/
release packages job:
http://jenkins.percona.com/view/Percona-RELEASES/job/percona-xtrabackup-2.2-RELEASE/50/

Alexey Kopytov (akopytov) :
review: Approve
5063. By Tomislav Plavcic on 2015-02-06

Merged trunk

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-02-06 14:10:42 +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-02-06 14:10:42 +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-02-06 14:10:42 +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-02-06 14:10:42 +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-02-06 14:10:42 +0000
370@@ -0,0 +1,80 @@
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/PerconaXtraBackup-2.2.tex
427+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/latex/Makefile
428+ COMMAND sphinx-build -b latex -d ${CMAKE_CURRENT_BINARY_DIR}/build/doctrees ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build/latex
429+ VERBATIM
430+ )
431+
432+ ADD_CUSTOM_TARGET(latex ALL
433+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.tex
434+ )
435+
436+ IF(WITH_PDF_DOCS)
437+ ADD_CUSTOM_COMMAND(
438+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.pdf
439+ COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/build/latex all-pdf
440+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.tex
441+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex/Makefile
442+ VERBATIM
443+ )
444+
445+ ADD_CUSTOM_TARGET(latexpdf ALL
446+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/latex/PerconaXtraBackup-2.2.pdf
447+ )
448+ ENDIF()
449+
450+ENDIF()
451
452=== modified file 'storage/innobase/xtrabackup/utils/build-binary.sh'
453--- storage/innobase/xtrabackup/utils/build-binary.sh 2014-03-28 10:35:52 +0000
454+++ storage/innobase/xtrabackup/utils/build-binary.sh 2015-02-06 14:10:42 +0000
455@@ -110,7 +110,7 @@
456 # Install the files
457 mkdir -p "$INSTALLDIR"
458 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" \
459- -DINSTALL_MYSQLTESTDIR=percona-xtrabackup-${XB_VERSION_MAJOR}.${XB_VERSION_MINOR}-test .
460+ -DINSTALL_MYSQLTESTDIR=percona-xtrabackup-${XB_VERSION_MAJOR}.${XB_VERSION_MINOR}-test -DINSTALL_MANDIR=${INSTALLDIR}/man .
461 make $MAKE_JFLAG
462 make install
463
464
465=== modified file 'storage/innobase/xtrabackup/utils/debian/control'
466--- storage/innobase/xtrabackup/utils/debian/control 2014-08-22 10:40:29 +0000
467+++ storage/innobase/xtrabackup/utils/debian/control 2015-02-06 14:10:42 +0000
468@@ -14,7 +14,9 @@
469 libtool,
470 libz-dev,
471 libgcrypt-dev,
472- lsb-release
473+ lsb-release,
474+ python-sphinx (>= 1.0.1),
475+ python-docutils (>= 0.6)
476 Standards-Version: 3.9.5
477 Homepage: http://www.percona.com/software/percona-xtrabackup
478
479
480=== modified file 'storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install'
481--- storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install 2014-06-10 11:24:27 +0000
482+++ storage/innobase/xtrabackup/utils/debian/percona-xtrabackup.install 2015-02-06 14:10:42 +0000
483@@ -1,1 +1,2 @@
484 /usr/bin
485+/usr/share/man/man1
486
487=== modified file 'storage/innobase/xtrabackup/utils/debian/rules'
488--- storage/innobase/xtrabackup/utils/debian/rules 2014-07-22 12:46:09 +0000
489+++ storage/innobase/xtrabackup/utils/debian/rules 2015-02-06 14:10:42 +0000
490@@ -19,7 +19,7 @@
491
492 ifeq "$(DEB_DUMMY)" ""
493 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX=/usr \
494- -DINSTALL_MYSQLTESTDIR=/usr/share/percona-xtrabackup-test .
495+ -DINSTALL_MYSQLTESTDIR=/usr/share/percona-xtrabackup-test -DINSTALL_MANDIR=/usr/share/man .
496 else
497 # Dummy binaries that avoid compilation
498 echo 'main() { return 300; }' | gcc -x c - -o xtrabackup
499
500=== modified file 'storage/innobase/xtrabackup/utils/percona-xtrabackup.spec'
501--- storage/innobase/xtrabackup/utils/percona-xtrabackup.spec 2015-01-12 09:58:23 +0000
502+++ storage/innobase/xtrabackup/utils/percona-xtrabackup.spec 2015-02-06 14:10:42 +0000
503@@ -17,6 +17,11 @@
504 Source: percona-xtrabackup-%{version}%{xb_version_extra}.tar.gz
505
506 BuildRequires: cmake, libaio-devel, libgcrypt-devel, ncurses-devel, readline-devel, zlib-devel
507+%if 0%{?rhel} > 6
508+BuildRequires: python-sphinx >= 1.0.1, python-docutils >= 0.6
509+%else
510+BuildRequires: python-sphinx10 >= 1.0.1, python-docutils >= 0.6
511+%endif
512 Requires: perl(DBD::mysql), rsync
513 BuildRoot: %{_tmppath}/%{name}-%{version}-root
514
515@@ -54,7 +59,7 @@
516 export CXXFLAGS="$CXXFLAGS -DXTRABACKUP_VERSION=\\\"%{xtrabackup_version}\\\" -DXTRABACKUP_REVISION=\\\"%{xtrabackup_revision}\\\""
517 #
518 cmake -DBUILD_CONFIG=xtrabackup_release -DCMAKE_INSTALL_PREFIX=%{_prefix} \
519- -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test .
520+ -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test -DINSTALL_MANDIR=%{_mandir} .
521 #
522 make %{?_smp_mflags}
523 #
524@@ -74,6 +79,7 @@
525 %{_bindir}/xbstream
526 %{_bindir}/xbcrypt
527 %doc COPYING
528+%doc %{_mandir}/man1/*.1.gz
529
530 %files -n percona-xtrabackup-test
531 %defattr(-,root,root,-)

Subscribers

People subscribed via source and target branches