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
=== modified file 'autogen.sh'
--- autogen.sh 2010-12-02 20:37:25 +0000
+++ autogen.sh 2012-11-30 17:25:27 +0000
@@ -7,6 +7,7 @@
7 exit 17 exit 1
8}8}
99
10gtkdocize || exit 1
10USE_GNOME2_MACROS=1 \11USE_GNOME2_MACROS=1 \
11USE_COMMON_DOC_BUILD=yes \12USE_COMMON_DOC_BUILD=yes \
12gnome-autogen.sh --enable-gtk-doc $@13gnome-autogen.sh --enable-gtk-doc $@
1314
=== modified file 'configure.ac'
--- configure.ac 2012-07-11 17:28:57 +0000
+++ configure.ac 2012-11-30 17:25:27 +0000
@@ -33,7 +33,7 @@
33# GTK Doc33# GTK Doc
34###########################34###########################
3535
36GTK_DOC_CHECK([1.9])36GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
3737
3838
39###########################39###########################
4040
=== modified file 'docs/reference/Makefile.am'
--- docs/reference/Makefile.am 2011-02-11 04:03:01 +0000
+++ docs/reference/Makefile.am 2012-11-30 17:25:27 +0000
@@ -102,7 +102,7 @@
102GTKDOC_LIBS=$(top_builddir)/src/$(APPINDICATORLIB) $(LIBRARY_LIBS)102GTKDOC_LIBS=$(top_builddir)/src/$(APPINDICATORLIB) $(LIBRARY_LIBS)
103103
104# This includes the standard gtk-doc make rules, copied by gtkdocize.104# This includes the standard gtk-doc make rules, copied by gtkdocize.
105include $(top_srcdir)/gtk-doc.local.make105include $(top_srcdir)/gtk-doc.make
106106
107# Other files to distribute107# Other files to distribute
108# e.g. EXTRA_DIST += version.xml.in108# e.g. EXTRA_DIST += version.xml.in
@@ -113,13 +113,11 @@
113# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt113# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
114#DISTCLEANFILES +=114#DISTCLEANFILES +=
115115
116# Comment this out if you want your docs-status tested during 'make check'116# Comment this out if you want 'make check' to test you doc status
117TESTS = gtkdoc-in-srcdir117# and run some sanity checks
118118if ENABLE_GTK_DOC
119gtkdoc-in-srcdir: Makefile.am119 TESTS_ENVIRONMENT = cd $(srcdir) && \
120 @echo "#!/bin/sh" > $@120 DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
121 @echo "cd \"$(srcdir)\"" >> $@121 SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
122 @echo "$(GTKDOC_CHECK)" >> $@122#TESTS = $(GTKDOC_CHECK)
123 @chmod +x $@123endif
124DISTCLEANFILES = gtkdoc-in-srcdir
125
126124
=== removed directory 'docs/reference/tmpl'
=== removed file 'docs/reference/tmpl/libappindicator-unused.sgml'
--- docs/reference/tmpl/libappindicator-unused.sgml 2011-02-24 04:21:55 +0000
+++ docs/reference/tmpl/libappindicator-unused.sgml 1970-01-01 00:00:00 +0000
@@ -1,42 +0,0 @@
1<!-- ##### MACRO APP_INDICATOR_SIGNAL_NEW_ACCESSIBLE_DESC ##### -->
2<para>
3
4</para>
5
6
7<!-- ##### SIGNAL AppIndicator::new-accessible-desc ##### -->
8<para>
9
10</para>
11
12@appindicator: the object which received the signal.
13@arg1:
14
15<!-- ##### ARG AppIndicator:accessible-desc ##### -->
16<para>
17
18</para>
19
20
21<!-- ##### ARG AppIndicator:icon-path ##### -->
22<para>
23
24</para>
25
26
27<!-- ##### FUNCTION app_indicator_get_accessible_desc ##### -->
28<para>
29
30</para>
31
32@self:
33@Returns:
34
35<!-- ##### FUNCTION app_indicator_set_accessible_desc ##### -->
36<para>
37
38</para>
39
40@self:
41@accessible_desc:
42
430
=== removed file 'gtk-doc.local.make'
--- gtk-doc.local.make 2009-12-08 21:03:27 +0000
+++ gtk-doc.local.make 1970-01-01 00:00:00 +0000
@@ -1,194 +0,0 @@
1# -*- mode: makefile -*-
2
3####################################
4# Everything below here is generic #
5####################################
6
7if GTK_DOC_USE_LIBTOOL
8GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
9GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
10GTKDOC_RUN = $(LIBTOOL) --mode=execute
11else
12GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
13GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
14GTKDOC_RUN = sh -c
15endif
16
17# We set GPATH here; this gives us semantics for GNU make
18# which are more like other make's VPATH, when it comes to
19# whether a source that is a target of one rule is then
20# searched for in VPATH/GPATH.
21#
22GPATH = $(srcdir)
23
24TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
25
26EXTRA_DIST = \
27 $(content_files) \
28 $(HTML_IMAGES) \
29 $(DOC_MAIN_SGML_FILE)
30
31DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
32 $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
33
34SCANOBJ_FILES = \
35 $(DOC_MODULE).args \
36 $(DOC_MODULE).hierarchy \
37 $(DOC_MODULE).interfaces \
38 $(DOC_MODULE).prerequisites \
39 $(DOC_MODULE).signals
40
41REPORT_FILES = \
42 $(DOC_MODULE)-undocumented.txt \
43 $(DOC_MODULE)-undeclared.txt \
44 $(DOC_MODULE)-unused.txt
45
46CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
47
48if ENABLE_GTK_DOC
49all-local: html-build.stamp
50else
51all-local:
52endif
53
54docs: html-build.stamp
55
56$(REPORT_FILES): sgml-build.stamp
57
58#### scan ####
59
60scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
61 @echo 'gtk-doc: Scanning header files'
62 @-chmod -R u+w $(srcdir)
63 cd $(srcdir) && \
64 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
65 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
66 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) ; \
67 else \
68 cd $(srcdir) ; \
69 for i in $(SCANOBJ_FILES) ; do \
70 test -f $$i || touch $$i ; \
71 done \
72 fi
73 touch scan-build.stamp
74
75$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
76 @true
77
78#### templates ####
79
80tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
81 @echo 'gtk-doc: Rebuilding template files'
82 @-chmod -R u+w $(srcdir)
83 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
84 touch tmpl-build.stamp
85
86tmpl.stamp: tmpl-build.stamp
87 @true
88
89tmpl/*.sgml:
90 @true
91
92
93#### xml ####
94
95sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
96 @echo 'gtk-doc: Building XML'
97 @-chmod -R u+w $(srcdir)
98 cd $(srcdir) && \
99 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)
100 touch sgml-build.stamp
101
102sgml.stamp: sgml-build.stamp
103 @true
104
105#### html ####
106
107html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
108 @echo 'gtk-doc: Building HTML'
109 @-chmod -R u+w $(srcdir)
110 rm -rf $(srcdir)/html
111 mkdir $(srcdir)/html
112 mkhtml_options=""; \
113 gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
114 if test "$(?)" = "0"; then \
115 mkhtml_options=--path="$(srcdir)"; \
116 fi
117 cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
118 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
119 @echo 'gtk-doc: Fixing cross-references'
120 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
121 touch html-build.stamp
122
123##############
124
125clean-local:
126 rm -f *~ *.bak
127 rm -rf .libs
128
129distclean-local:
130 cd $(srcdir) && \
131 rm -rf xml $(REPORT_FILES) \
132 $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
133
134maintainer-clean-local: clean
135 cd $(srcdir) && rm -rf xml html
136
137install-data-local:
138 installfiles=`echo $(srcdir)/html/*`; \
139 if test "$$installfiles" = '$(srcdir)/html/*'; \
140 then echo '-- Nothing to install' ; \
141 else \
142 if test -n "$(DOC_MODULE_VERSION)"; then \
143 installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
144 else \
145 installdir="$(DESTDIR)$(TARGET_DIR)"; \
146 fi; \
147 $(mkinstalldirs) $${installdir} ; \
148 for i in $$installfiles; do \
149 echo '-- Installing '$$i ; \
150 $(INSTALL_DATA) $$i $${installdir}; \
151 done; \
152 if test -n "$(DOC_MODULE_VERSION)"; then \
153 mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
154 $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
155 mv -f $${installdir}/$(DOC_MODULE).devhelp \
156 $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
157 fi; \
158 ! which gtkdoc-rebase >/dev/null 2>&1 || \
159 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
160 fi
161
162uninstall-local:
163 if test -n "$(DOC_MODULE_VERSION)"; then \
164 installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
165 else \
166 installdir="$(DESTDIR)$(TARGET_DIR)"; \
167 fi; \
168 rm -rf $${installdir}
169
170#
171# Require gtk-doc when making dist
172#
173if ENABLE_GTK_DOC
174dist-check-gtkdoc:
175else
176dist-check-gtkdoc:
177 @echo "*** gtk-doc must be installed and enabled in order to make dist"
178 @false
179endif
180
181dist-hook: dist-check-gtkdoc dist-hook-local
182 mkdir $(distdir)/tmpl
183 mkdir $(distdir)/xml
184 mkdir $(distdir)/html
185 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
186 -cp $(srcdir)/xml/*.xml $(distdir)/xml
187 -cp $(srcdir)/html/* $(distdir)/html
188 -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
189 -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
190 cd $(distdir) && rm -f $(DISTCLEANFILES)
191 ! which gtkdoc-rebase >/dev/null 2>&1 || \
192 gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
193
194.PHONY : dist-hook-local docs

Subscribers

People subscribed via source and target branches