Skip to content

Commit 719d2b6

Browse files
Noah Slaterdch
Noah Slater
authored andcommitted
Integrate Sphinx into autotools
Integrate Sphinx into autotools - Remove M4 macros and require as external dependencies instead - Skip help2man generation if help2man is not installed - ensure THANKS file is only updated during make distcheck - Add TexInfo, PDF, HTML doc targets via Sphinx - Add licenses and header compliance checking - support optional builds of PDF, HTML, texinfo via Sphinx and pdflatex - support skipping docs or compiler tests for happy developers Travis: clean up package dependencies - include sphinx via aptitude - use spidermonkey 1.8.5 instead of default libmozjs - include latex components for building PDFs
1 parent 8422665 commit 719d2b6

22 files changed

+1062
-326
lines changed

.gitignore

+66-78
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,108 @@
1+
!.gitignore
2+
!.mailmap
13
*.beam
4+
*.diff
25
*.gz
3-
*.tpl
4-
*.o
5-
*.lo
66
*.la
7-
*.m4
8-
*.in
9-
*~
7+
*.lo
8+
*.o
109
*.orig
1110
*.rej
11+
*.stamp
1212
*.sw*
13-
erl_crash.dump
14-
configure
15-
autom4te.cache
16-
build-aux
17-
*.diff
18-
!.gitignore
13+
*.tpl
14+
*~
1915
.*
20-
!.mailmap
21-
22-
# ./configure
23-
16+
INSTALL
2417
Makefile
25-
bin/Makefile
18+
Makefile.in
19+
THANKS
20+
acinclude.m4
21+
aclocal.m4
22+
apache-couchdb-*
23+
autom4te.cache
24+
bin/.deps/
25+
bin/couch-config
26+
bin/couch-config_dev
27+
bin/couchdb
28+
bin/couchdb.1
29+
bin/couchjs_dev
30+
bin/couchpw
31+
build-aux/config.*
32+
build-aux/depcomp
33+
build-aux/install-sh
34+
build-aux/ltmain.sh
35+
build-aux/missing
36+
build-aux/texinfo.tex
2637
config.h
38+
config.h.in
2739
config.log
2840
config.status
29-
etc/Makefile
30-
etc/couchdb/Makefile
31-
etc/default/Makefile
32-
etc/init/Makefile
33-
etc/init/couchdb
34-
etc/launchd/Makefile
35-
etc/logrotate.d/Makefile
36-
libtool
37-
share/Makefile
38-
src/couchdb/.deps/*
39-
src/couchdb/Makefile
40-
src/couchdb/priv/Makefile
41-
src/mochiweb/Makefile
42-
stamp-h1
43-
test/.deps/
44-
test/Makefile
45-
test/javascript/run_js_tests.sh
46-
var/Makefile
47-
48-
# for make
49-
50-
bin/couchdb
51-
bin/couchdb.1
52-
bin/couch-config
53-
bin/couch-config_dev
41+
configure
42+
couchdb.stderr
43+
couchdb.stdout
44+
cover/*
45+
erl_crash.dump
5446
etc/couchdb/default.ini
47+
etc/couchdb/default_dev.ini
48+
etc/couchdb/local_dev.ini
49+
etc/init/couchdb
5550
etc/launchd/org.apache.couchdb.plist
5651
etc/logrotate.d/couchdb
52+
libtool
53+
m4
54+
share/doc/build/CouchDB.log
55+
share/doc/build/doctrees
56+
share/doc/build/html
57+
share/doc/build/latex
58+
share/doc/build/texinfo
59+
share/server/main-coffee.js
60+
share/server/main.js
5761
src/couch_mrview/ebin/
5862
src/couch_replicator/ebin/
63+
src/couchdb/.deps/*
5964
src/couchdb/.libs/*
6065
src/couchdb/couch.app
6166
src/couchdb/couchjs
6267
src/couchdb/edoc-info
6368
src/couchdb/erlang.png
64-
src/couchdb/stylesheet.css
6569
src/couchdb/priv/.deps/
6670
src/couchdb/priv/.libs/
6771
src/couchdb/priv/couch_icu_driver.la
6872
src/couchdb/priv/couchjs
6973
src/couchdb/priv/couchjs.1
7074
src/couchdb/priv/couchspawnkillable
7175
src/couchdb/priv/stat_descriptions.cfg
72-
src/erlang-oauth/oauth.app
73-
src/ibrowse/ibrowse.app
74-
src/ejson/ejson.app
76+
src/couchdb/priv/stat_descriptions.cfg
77+
src/couchdb/stylesheet.css
7578
src/ejson/.deps/
7679
src/ejson/.libs/
80+
src/ejson/ejson.app
7781
src/ejson/priv
82+
src/erlang-oauth/oauth.app
83+
src/erlang-oauth/oauth.app
84+
src/ibrowse/ibrowse.app
85+
src/ibrowse/ibrowse.app
86+
src/mochiweb/mochiweb.app
7887
src/mochiweb/mochiweb.app
7988
src/snappy/.deps/
8089
src/snappy/.libs/
81-
src/snappy/priv
82-
src/snappy/snappy.app
90+
src/snappy/google-snappy/.deps/
8391
src/snappy/google-snappy/snappy-stubs-public.h
8492
src/snappy/google-snappy/stamp-h2
85-
src/snappy/google-snappy/.deps/
86-
test/local.ini
93+
src/snappy/priv
94+
src/snappy/snappy.app
95+
stamp-h1
96+
test/.deps/
97+
test/bench/run
8798
test/etap/.deps/
8899
test/etap/run
100+
test/etap/run
101+
test/etap/temp.*
89102
test/etap/test_cfg_register
90103
test/etap/test_util.erl
91104
test/javascript/run
92-
share/server/main.js
93-
share/server/main-coffee.js
94-
95-
# for make dev
96-
97-
bin/.deps/
98-
bin/couchjs_dev
99-
bin/couchpw
100-
etc/couchdb/default_dev.ini
101-
etc/couchdb/local_dev.ini
102-
utils/run
105+
test/javascript/run_js_tests.sh
106+
test/local.ini
103107
tmp
104-
src/couchdb/priv/stat_descriptions.cfg
105-
src/erlang-oauth/oauth.app
106-
src/ibrowse/ibrowse.app
107-
src/mochiweb/mochiweb.app
108-
test/etap/run
109-
110-
# for make check
111-
112-
test/etap/temp.*
113-
test/bench/run
114-
couchdb.stderr
115-
couchdb.stdout
116-
117-
# for make cover
118-
119-
cover/*
120-
INSTALL
108+
utils/run

.mailmap

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Randall Leeds <[email protected]> <[email protected]>
1010

1111
Paul Joseph Davis <[email protected]> Paul J. Davis <[email protected]>
1212

13-
Bob Dionne <[email protected]> bitdiddle <[email protected]>
13+
Bob Dionne <[email protected]> bitdiddle <[email protected]>

.travis.yml

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
before_install:
2-
- sudo apt-get update
3-
- sudo apt-get install libicu-dev libmozjs-dev
2+
- sudo apt-get -y update
3+
- sudo apt-get -y install libicu-dev libmozjs-dev pkg-config help2man
4+
- sudo apt-get -y install libtool automake autoconf autoconf-archive
5+
- sudo apt-get -y install texlive-latex-base texlive-latex-recommended
6+
- sudo apt-get -y install texlive-latex-extra texlive-fonts-recommended texinfo
7+
- sudo apt-get -y install python-pygments python-docutils python-sphinx
48
before_script: ./bootstrap && ./configure
59
script: make distcheck
610
language: erlang

Makefile.am

+42-38
Original file line numberDiff line numberDiff line change
@@ -43,74 +43,76 @@ EXTRA_DIST = \
4343
NOTICE \
4444
README \
4545
THANKS \
46+
build-aux/sphinx-build \
47+
build-aux/sphinx-touch \
4648
license.skip
4749

48-
AUTHORS.gz: $(top_srcdir)/AUTHORS
49-
-gzip -9 < $< > $@
50+
AUTHORS.gz: AUTHORS
51+
gzip -9 < $< > $@
5052

51-
BUGS.gz: $(top_srcdir)/BUGS
52-
-gzip -9 < $< > $@
53+
BUGS.gz: BUGS
54+
gzip -9 < $< > $@
5355

54-
CHANGES.gz: $(top_srcdir)/CHANGES
55-
-gzip -9 < $< > $@
56+
CHANGES.gz: CHANGES
57+
gzip -9 < $< > $@
5658

57-
DEVELOPERS.gz: $(top_srcdir)/DEVELOPERS
58-
-gzip -9 < $< > $@
59+
DEVELOPERS.gz: DEVELOPERS
60+
gzip -9 < $< > $@
5961

60-
INSTALL.gz: $(top_srcdir)/INSTALL
61-
-gzip -9 < $< > $@
62+
INSTALL.gz: INSTALL
63+
gzip -9 < $< > $@
6264

63-
INSTALL.Unix.gz: $(top_srcdir)/INSTALL.Unix
64-
-gzip -9 < $< > $@
65+
INSTALL.Unix.gz: INSTALL.Unix
66+
gzip -9 < $< > $@
6567

66-
INSTALL.Windows.gz: $(top_srcdir)/INSTALL.Windows
67-
-gzip -9 < $< > $@
68+
INSTALL.Windows.gz: INSTALL.Windows
69+
gzip -9 < $< > $@
6870

69-
LICENSE.gz: $(top_srcdir)/LICENSE
70-
-gzip -9 < $< > $@
71+
LICENSE.gz: LICENSE
72+
gzip -9 < $< > $@
7173

72-
NEWS.gz: $(top_srcdir)/NEWS
73-
-gzip -9 < $< > $@
74+
NEWS.gz: NEWS
75+
gzip -9 < $< > $@
7476

75-
NOTICE.gz: $(top_srcdir)/NOTICE
76-
-gzip -9 < $< > $@
77+
NOTICE.gz: NOTICE
78+
gzip -9 < $< > $@
7779

78-
README.gz: $(top_srcdir)/README
79-
-gzip -9 < $< > $@
80+
README.gz: README
81+
gzip -9 < $< > $@
8082

81-
.PHONY: THANKS.gz
82-
THANKS.gz: $(top_srcdir)/THANKS
83-
@sed -e '/^#.*/d' $< > $(top_builddir)/THANKS.tmp
84-
@git shortlog -se 6c976bd..HEAD \
85-
| grep -v @apache.org \
86-
| sed -E 's/^[[:blank:]]{5}[[:digit:]]+[[:blank:]]/ * /' \
87-
>> $(top_builddir)/THANKS.tmp
88-
@echo '\nFor a list of authors see the `AUTHORS` file.\n' \
89-
>> $(top_builddir)/THANKS.tmp
90-
-gzip -9 < $(top_builddir)/THANKS.tmp > $@
91-
@rm $(top_builddir)/THANKS.tmp
83+
THANKS.gz: THANKS
84+
gzip -9 < $< > $@
9285

9386
check: dev check-js
87+
if TESTS
9488
$(top_builddir)/test/etap/run $(top_srcdir)/test/etap
89+
endif
9590

9691
check-js: dev
92+
if TESTS
9793
if USE_CURL
9894
$(top_builddir)/test/javascript/run
9995
endif
96+
endif
10097

10198
check-etap: dev
99+
if TESTS
102100
$(top_builddir)/test/etap/run $(top_srcdir)/test/etap
101+
endif
103102

104103
cover: dev
104+
if TESTS
105105
rm -f cover/*.coverdata
106106
COVER=1 COVER_BIN=./src/couchdb/ $(top_builddir)/test/etap/run
107107
SRC=./src/couchdb/ \
108108
$(ERL) -noshell \
109-
-pa src/etap \
110-
-eval 'etap_report:create()' \
109+
-pa src/etap \
110+
-eval 'etap_report:create()' \
111111
-s init stop > /dev/null 2>&1
112+
endif
112113

113114
dev: all
115+
if TESTS
114116
@echo "This command is intended for developers to use;"
115117
@echo "it creates development ini files as well as a"
116118
@echo "$(top_builddir)/tmp structure for development runtime files."
@@ -120,6 +122,7 @@ dev: all
120122
mkdir -p $(top_builddir)/tmp/lib
121123
mkdir -p $(top_builddir)/tmp/log
122124
mkdir -p $(top_builddir)/tmp/run/couchdb
125+
endif
123126

124127
install-data-hook:
125128
@echo
@@ -151,14 +154,15 @@ dist-hook:
151154
find $(top_builddir) -type f -name "._*" -exec rm -f {} \;
152155

153156
distcheck-hook:
157+
$(MAKE) -C bin distcheck-hook
158+
$(MAKE) -C src/couchdb/priv distcheck-hook
159+
$(MAKE) -C share/doc/build distcheck-hook
154160
grep -rL 'http://www.apache.org/licenses/LICENSE-2.0' * \
155-
| grep -vEf license.skip; \
161+
| grep --include= -vEf license.skip; \
156162
test "$$?" -eq 1
157163

158164
.PHONY: distsign
159165
distsign: distcheck check
160-
@# @@ unpack archive and run diff -r to double check missing files
161-
@# @@ does automake have anything that does this?
162166
gpg --armor --detach-sig $(GPG_ARGS) \
163167
< $(top_srcdir)/$(distdir).tar.gz \
164168
> $(top_srcdir)/$(distdir).tar.gz.asc

THANKS renamed to THANKS.in

+4-5
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ suggesting improvements or submitting changes. Some of these people are:
9393
* Gavin McDonald <[email protected]>
9494
* Fedor Indutny <[email protected]>
9595
* Tim Blair
96-
# Dear committer who merges a commit from a non-committer:
97-
# You don't have to manually maintain the THANKS file anymore (yay!).
98-
# Non-committer authors get automatically appended to THANKS and
99-
# moved into THANKS.gz by `make`. This note will be stripped as well.
100-
# Authors from commit 6c976bd and onwards are auto-inserted.
96+
* Tady Walsh <[email protected]>
97+
# Authors from commit 6c976bd and onwards are auto-inserted. If you are merging
98+
# a commit from a non-committer, you should not add an entry to this file. When
99+
# `bootstrap` is run, the actual THANKS file will be generated.

0 commit comments

Comments
 (0)