Merge lp:~charlesk/libappindicator/lp-1083425 into lp:libappindicator/13.04

Proposed by Charles Kerr
Status: Merged
Merged at revision: 248
Proposed branch: lp:~charlesk/libappindicator/lp-1083425
Merge into: lp:libappindicator/13.04
Diff against target: 306 lines (+11/-248)
5 files modified
autogen.sh (+1/-0)
configure.ac (+1/-1)
docs/reference/Makefile.am (+9/-11)
docs/reference/tmpl/libappindicator-unused.sgml (+0/-42)
gtk-doc.local.make (+0/-194)
To merge this branch: bzr merge lp:~charlesk/libappindicator/lp-1083425
Reviewer Review Type Date Requested Status
Mathieu Trudel-Lapierre Needs Fixing
Ted Gould (community) Needs Fixing
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+137267@code.launchpad.net

Commit message

Fix bug #1083399 by updating our use of gtk-doc.

Description of the change

Fix bug #1083425 by updating our use of gtk-doc from 1.9 to the the way gtk-doc's manual recommends 1.18 be used.

  1. Don't keep a local copy of gtk-doc.make. gtk-doc's manual recommends using gtkdocize ensure an up-to-date version gets copied into our directory at configure time. Also, the older version that we had been keeping in our repo contributed to bug #1083425.

  2. Use the --no-template mode of gtk-doc.

  3. Update our sanity checks in docs/references/Makefile.am from gtk-doc 1.18's examples/Makefile.am.

Some more background on the issue:

During our existing build rules, three copies of libappindicator-docs.sgml are created:

> build-area/libappindicator-12.10.1/build/gtk2/docs/reference/libappindicator-docs.sgml
> build-area/libappindicator-12.10.1/build/gtk3/docs/reference/libappindicator-docs.sgml
> build-area/libappindicator-12.10.1/build/docs/reference/libappindicator-docs.sgml

Where the first two are generated by our configure script from libappindicator-docs.sgml.in as we want, but the third is created by gtkdoc-mkdb from its own template because the older gtk-doc makefile rules looked in the srcdir.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Charles Kerr (charlesk) wrote :

This is failing in CI because this bug is blocking inline packaging from landing in libappindicator...

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

looks good to me, you can get it landing before inlining I guess :)

Revision history for this message
Allan LeSage (allanlesage) wrote :

Approving over Jenkins' objection, have reverted job to pre-inline in order to land this.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Allan LeSage (allanlesage) wrote :

Snagged on missing gtk-doc; attempting to run autogen.sh.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Allan LeSage (allanlesage) wrote :

I'm finding the packaging at lp:ubuntu/libappindicator to be broken with our recipe, and need to consult with cyphermox and didrocks the best fix. This may be the last painful reminder of what it's like to manage separate packaging and source branches? Also it maybe most efficient to just fix the inline branch first.

Revision history for this message
Ted Gould (ted) wrote :

Removes the testing of the documentation:

+#TESTS = $(GTKDOC_CHECK)

That line needs to be uncommented.

review: Needs Fixing
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

With the above line uncommented; still getting erros in the build about undocumented symbols:
make check-TESTS
make[5]: entrant dans le répertoire « /home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2/docs/reference »
Running suite(s): gtk-doc-libappindicator
libappindicator-undocumented.txt:1:E: 49 undocumented or incomplete symbols
/home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2/docs/reference/libappindicator-undeclared.txt:1:E: 47 undeclared symbols
50.0%: Checks 4, Failures: 2
FAIL: /usr/bin/gtkdoc-check
==========================================================
1 of 1 test failed
Please report to http://bugs.launchpad.net/libappindicator
==========================================================
make[5]: *** [check-TESTS] Erreur 1
make[5]: quittant le répertoire « /home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2/docs/reference »
make[4]: *** [check-am] Erreur 2
make[4]: quittant le répertoire « /home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2/docs/reference »
make[3]: *** [check-recursive] Erreur 1
make[3]: quittant le répertoire « /home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2/docs »
make[2]: *** [check-recursive] Erreur 1
make[2]: quittant le répertoire « /home/mtrudel/Public/upstream/build-area/libappindicator-12.10.1/build/gtk2 »
dh_auto_test: make -j1 check returned exit code 2
make[1]: *** [dotestgtk2-python2.7] Erreur 29

review: Needs Fixing

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'autogen.sh'
2--- autogen.sh 2010-12-02 20:37:25 +0000
3+++ autogen.sh 2012-11-30 17:25:27 +0000
4@@ -7,6 +7,7 @@
5 exit 1
6 }
7
8+gtkdocize || exit 1
9 USE_GNOME2_MACROS=1 \
10 USE_COMMON_DOC_BUILD=yes \
11 gnome-autogen.sh --enable-gtk-doc $@
12
13=== modified file 'configure.ac'
14--- configure.ac 2012-07-11 17:28:57 +0000
15+++ configure.ac 2012-11-30 17:25:27 +0000
16@@ -33,7 +33,7 @@
17 # GTK Doc
18 ###########################
19
20-GTK_DOC_CHECK([1.9])
21+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
22
23
24 ###########################
25
26=== modified file 'docs/reference/Makefile.am'
27--- docs/reference/Makefile.am 2011-02-11 04:03:01 +0000
28+++ docs/reference/Makefile.am 2012-11-30 17:25:27 +0000
29@@ -102,7 +102,7 @@
30 GTKDOC_LIBS=$(top_builddir)/src/$(APPINDICATORLIB) $(LIBRARY_LIBS)
31
32 # This includes the standard gtk-doc make rules, copied by gtkdocize.
33-include $(top_srcdir)/gtk-doc.local.make
34+include $(top_srcdir)/gtk-doc.make
35
36 # Other files to distribute
37 # e.g. EXTRA_DIST += version.xml.in
38@@ -113,13 +113,11 @@
39 # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
40 #DISTCLEANFILES +=
41
42-# Comment this out if you want your docs-status tested during 'make check'
43-TESTS = gtkdoc-in-srcdir
44-
45-gtkdoc-in-srcdir: Makefile.am
46- @echo "#!/bin/sh" > $@
47- @echo "cd \"$(srcdir)\"" >> $@
48- @echo "$(GTKDOC_CHECK)" >> $@
49- @chmod +x $@
50-DISTCLEANFILES = gtkdoc-in-srcdir
51-
52+# Comment this out if you want 'make check' to test you doc status
53+# and run some sanity checks
54+if ENABLE_GTK_DOC
55+ TESTS_ENVIRONMENT = cd $(srcdir) && \
56+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
57+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
58+#TESTS = $(GTKDOC_CHECK)
59+endif
60
61=== removed directory 'docs/reference/tmpl'
62=== removed file 'docs/reference/tmpl/libappindicator-unused.sgml'
63--- docs/reference/tmpl/libappindicator-unused.sgml 2011-02-24 04:21:55 +0000
64+++ docs/reference/tmpl/libappindicator-unused.sgml 1970-01-01 00:00:00 +0000
65@@ -1,42 +0,0 @@
66-<!-- ##### MACRO APP_INDICATOR_SIGNAL_NEW_ACCESSIBLE_DESC ##### -->
67-<para>
68-
69-</para>
70-
71-
72-<!-- ##### SIGNAL AppIndicator::new-accessible-desc ##### -->
73-<para>
74-
75-</para>
76-
77-@appindicator: the object which received the signal.
78-@arg1:
79-
80-<!-- ##### ARG AppIndicator:accessible-desc ##### -->
81-<para>
82-
83-</para>
84-
85-
86-<!-- ##### ARG AppIndicator:icon-path ##### -->
87-<para>
88-
89-</para>
90-
91-
92-<!-- ##### FUNCTION app_indicator_get_accessible_desc ##### -->
93-<para>
94-
95-</para>
96-
97-@self:
98-@Returns:
99-
100-<!-- ##### FUNCTION app_indicator_set_accessible_desc ##### -->
101-<para>
102-
103-</para>
104-
105-@self:
106-@accessible_desc:
107-
108
109=== removed file 'gtk-doc.local.make'
110--- gtk-doc.local.make 2009-12-08 21:03:27 +0000
111+++ gtk-doc.local.make 1970-01-01 00:00:00 +0000
112@@ -1,194 +0,0 @@
113-# -*- mode: makefile -*-
114-
115-####################################
116-# Everything below here is generic #
117-####################################
118-
119-if GTK_DOC_USE_LIBTOOL
120-GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
121-GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
122-GTKDOC_RUN = $(LIBTOOL) --mode=execute
123-else
124-GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
125-GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
126-GTKDOC_RUN = sh -c
127-endif
128-
129-# We set GPATH here; this gives us semantics for GNU make
130-# which are more like other make's VPATH, when it comes to
131-# whether a source that is a target of one rule is then
132-# searched for in VPATH/GPATH.
133-#
134-GPATH = $(srcdir)
135-
136-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
137-
138-EXTRA_DIST = \
139- $(content_files) \
140- $(HTML_IMAGES) \
141- $(DOC_MAIN_SGML_FILE)
142-
143-DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
144- $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
145-
146-SCANOBJ_FILES = \
147- $(DOC_MODULE).args \
148- $(DOC_MODULE).hierarchy \
149- $(DOC_MODULE).interfaces \
150- $(DOC_MODULE).prerequisites \
151- $(DOC_MODULE).signals
152-
153-REPORT_FILES = \
154- $(DOC_MODULE)-undocumented.txt \
155- $(DOC_MODULE)-undeclared.txt \
156- $(DOC_MODULE)-unused.txt
157-
158-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
159-
160-if ENABLE_GTK_DOC
161-all-local: html-build.stamp
162-else
163-all-local:
164-endif
165-
166-docs: html-build.stamp
167-
168-$(REPORT_FILES): sgml-build.stamp
169-
170-#### scan ####
171-
172-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
173- @echo 'gtk-doc: Scanning header files'
174- @-chmod -R u+w $(srcdir)
175- cd $(srcdir) && \
176- gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
177- if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
178- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
179- else \
180- cd $(srcdir) ; \
181- for i in $(SCANOBJ_FILES) ; do \
182- test -f $$i || touch $$i ; \
183- done \
184- fi
185- touch scan-build.stamp
186-
187-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
188- @true
189-
190-#### templates ####
191-
192-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
193- @echo 'gtk-doc: Rebuilding template files'
194- @-chmod -R u+w $(srcdir)
195- cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
196- touch tmpl-build.stamp
197-
198-tmpl.stamp: tmpl-build.stamp
199- @true
200-
201-tmpl/*.sgml:
202- @true
203-
204-
205-#### xml ####
206-
207-sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
208- @echo 'gtk-doc: Building XML'
209- @-chmod -R u+w $(srcdir)
210- cd $(srcdir) && \
211- gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
212- touch sgml-build.stamp
213-
214-sgml.stamp: sgml-build.stamp
215- @true
216-
217-#### html ####
218-
219-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
220- @echo 'gtk-doc: Building HTML'
221- @-chmod -R u+w $(srcdir)
222- rm -rf $(srcdir)/html
223- mkdir $(srcdir)/html
224- mkhtml_options=""; \
225- gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
226- if test "$(?)" = "0"; then \
227- mkhtml_options=--path="$(srcdir)"; \
228- fi
229- cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
230- test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
231- @echo 'gtk-doc: Fixing cross-references'
232- cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
233- touch html-build.stamp
234-
235-##############
236-
237-clean-local:
238- rm -f *~ *.bak
239- rm -rf .libs
240-
241-distclean-local:
242- cd $(srcdir) && \
243- rm -rf xml $(REPORT_FILES) \
244- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
245-
246-maintainer-clean-local: clean
247- cd $(srcdir) && rm -rf xml html
248-
249-install-data-local:
250- installfiles=`echo $(srcdir)/html/*`; \
251- if test "$$installfiles" = '$(srcdir)/html/*'; \
252- then echo '-- Nothing to install' ; \
253- else \
254- if test -n "$(DOC_MODULE_VERSION)"; then \
255- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
256- else \
257- installdir="$(DESTDIR)$(TARGET_DIR)"; \
258- fi; \
259- $(mkinstalldirs) $${installdir} ; \
260- for i in $$installfiles; do \
261- echo '-- Installing '$$i ; \
262- $(INSTALL_DATA) $$i $${installdir}; \
263- done; \
264- if test -n "$(DOC_MODULE_VERSION)"; then \
265- mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
266- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
267- mv -f $${installdir}/$(DOC_MODULE).devhelp \
268- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
269- fi; \
270- ! which gtkdoc-rebase >/dev/null 2>&1 || \
271- gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
272- fi
273-
274-uninstall-local:
275- if test -n "$(DOC_MODULE_VERSION)"; then \
276- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
277- else \
278- installdir="$(DESTDIR)$(TARGET_DIR)"; \
279- fi; \
280- rm -rf $${installdir}
281-
282-#
283-# Require gtk-doc when making dist
284-#
285-if ENABLE_GTK_DOC
286-dist-check-gtkdoc:
287-else
288-dist-check-gtkdoc:
289- @echo "*** gtk-doc must be installed and enabled in order to make dist"
290- @false
291-endif
292-
293-dist-hook: dist-check-gtkdoc dist-hook-local
294- mkdir $(distdir)/tmpl
295- mkdir $(distdir)/xml
296- mkdir $(distdir)/html
297- -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
298- -cp $(srcdir)/xml/*.xml $(distdir)/xml
299- -cp $(srcdir)/html/* $(distdir)/html
300- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
301- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
302- cd $(distdir) && rm -f $(DISTCLEANFILES)
303- ! which gtkdoc-rebase >/dev/null 2>&1 || \
304- gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
305-
306-.PHONY : dist-hook-local docs

Subscribers

People subscribed via source and target branches