Merge lp:~xnox/ubuntu/raring/libnih/gtkdoc into lp:ubuntu/raring/libnih

Proposed by Dimitri John Ledkov
Status: Work in progress
Proposed branch: lp:~xnox/ubuntu/raring/libnih/gtkdoc
Merge into: lp:ubuntu/raring/libnih
Diff against target: 268 lines (+147/-6) (has conflicts)
11 files modified
Makefile.am (+2/-1)
configure.ac (+11/-0)
debian/changelog (+9/-0)
debian/clean (+2/-0)
debian/control (+15/-3)
debian/libnih-doc.doc-base.nih (+11/-0)
debian/libnih-doc.install (+2/-0)
debian/libnih-doc.links (+2/-0)
debian/rules (+7/-2)
docs/reference/nih/Makefile.am (+23/-0)
docs/reference/nih/nih-docs.sgml (+63/-0)
Text conflict in debian/changelog
To merge this branch: bzr merge lp:~xnox/ubuntu/raring/libnih/gtkdoc
Reviewer Review Type Date Requested Status
Steve Langasek Needs Fixing
Review via email: mp+139660@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) wrote :

> +DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc

Can you explain why this is needed? I can't see what this has to do with adding support for gtk-doc.

> -Build-Depends: debhelper (>= 8.1.3~), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~)
> +Build-Depends: debhelper (>= 8.1.3~), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~), dh-autoreconf

Seems to be missing a build-dependency on gtk-doc-tools, which provides the 'gtkdocize' tool you call in debian/rules.

Would it be possible to trim the dead code out of docs/reference/nih/Makefile.am? It would be easier to read if it weren't full of commented examples of things we're not using. Since this is a locally modified file already, there doesn't seem to be any value in keeping it close to the gtkdoc template.

Can you add information to debian/clean to reverse the effect of gtkdocize in the clean target? (dh-autoreconf's dh sequence already takes care of this for the files that autoreconf creates/modifies.)

review: Needs Fixing
lp:~xnox/ubuntu/raring/libnih/gtkdoc updated
1071. By Dimitri John Ledkov

* Undo gtkdocize with debian/clean
* Don't change dist config flags (upstream should do that)
* add gtk-doc-tools build-dep
* Remove boilerplate from copied reference Makefile.am
* "Avoid" in configure.ac build-dep on glib & gobject (we don't need
  gtk-doc signal scanner)

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

pushed an update, addressing your comments as well as getting it to build in clean environment.
It's still a bit rough - many gtk-doc warnings & undocumented things & not all code is scanned.
So it will require further tweaking.
Should we have this in the package at all? Or only publish it online somewhere?

Revision history for this message
James Hunt (jamesodhunt) wrote :

Hi Dmitrijs,

LP is still showing merge conflicts with your branch...?

> Should we have this in the package at all? Or only publish it online somewhere?
How big is the generated output and in what format(s)? Presumably libnih-dev would be a good place if it isn't huge (and can be compressed).

I appreciate we don't have the ability to action it, but I do think this MP should be raised on lp:libnih first to avoid the Ubuntu package deviating from the upstream.

Revision history for this message
Steve Langasek (vorlon) wrote :

Still seeing merge conflicts here. Happy to merge this once that's addressed.

> Should we have this in the package at all? Or only publish it online somewhere?

I think this is reasonable to package up and include in libnih-dev, regardless of size (or a new libnih-doc, if someone objects to the size).

Unmerged revisions

1071. By Dimitri John Ledkov

* Undo gtkdocize with debian/clean
* Don't change dist config flags (upstream should do that)
* add gtk-doc-tools build-dep
* Remove boilerplate from copied reference Makefile.am
* "Avoid" in configure.ac build-dep on glib & gobject (we don't need
  gtk-doc signal scanner)

1070. By Dimitri John Ledkov

Add gtk-doc documentation for nih.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Makefile.am'
2--- Makefile.am 2010-02-04 22:30:23 +0000
3+++ Makefile.am 2012-12-13 23:49:21 +0000
4@@ -1,7 +1,8 @@
5 ## Process this file with automake to produce Makefile.in
6
7-SUBDIRS = m4 intl nih nih-dbus nih-dbus-tool po
8+SUBDIRS = m4 intl nih nih-dbus nih-dbus-tool po docs/reference/nih
9
10 EXTRA_DIST = HACKING
11
12 ACLOCAL_AMFLAGS = --install -I m4
13+
14
15=== modified file 'configure.ac'
16--- configure.ac 2010-12-23 22:08:49 +0000
17+++ configure.ac 2012-12-13 23:49:21 +0000
18@@ -58,10 +58,21 @@
19 AC_SUBST([NIH_DBUS_TOOL], ["\${top_builddir}/nih-dbus-tool/nih-dbus-tool"])])],
20 [AC_SUBST([NIH_DBUS_TOOL], ["\${top_builddir}/nih-dbus-tool/nih-dbus-tool"])])
21
22+# check for gtk-doc
23+m4_ifdef([GTK_DOC_CHECK], [
24+_PACKAGE_NAME=$PACKAGE_NAME
25+PACKAGE_NAME="glib"
26+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
27+PACKAGE_NAME=_PACKAGE_NAME
28+],[
29+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
30+])
31+
32 AC_CONFIG_FILES([ Makefile m4/Makefile intl/Makefile
33 nih/Makefile nih/libnih.pc
34 nih-dbus/Makefile nih-dbus/libnih-dbus.pc
35 nih-dbus-tool/Makefile
36+ docs/reference/nih/Makefile
37 po/Makefile.in ])
38 AC_CONFIG_HEADERS([config.h])
39 AC_OUTPUT
40
41=== modified file 'debian/changelog'
42--- debian/changelog 2012-12-13 15:00:30 +0000
43+++ debian/changelog 2012-12-13 23:49:21 +0000
44@@ -1,3 +1,4 @@
45+<<<<<<< TREE
46 libnih (1.0.3-4ubuntu14) raring; urgency=low
47
48 * Update dbus code generator to allow for empty lists for type 'as'.
49@@ -6,6 +7,14 @@
50
51 -- Stéphane Graber <stgraber@ubuntu.com> Thu, 13 Dec 2012 10:00:27 -0500
52
53+=======
54+libnih (1.0.3-4ubuntu14) UNRELEASED; urgency=low
55+
56+ * Add gtk-doc documentation for nih.
57+
58+ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com> Thu, 13 Dec 2012 00:27:35 +0000
59+
60+>>>>>>> MERGE-SOURCE
61 libnih (1.0.3-4ubuntu13) raring; urgency=low
62
63 [ Petr Lautrbach <plautrba@redhat.com>, Dmitrijs Ledkovs ]
64
65=== added file 'debian/clean'
66--- debian/clean 1970-01-01 00:00:00 +0000
67+++ debian/clean 2012-12-13 23:49:21 +0000
68@@ -0,0 +1,2 @@
69+m4/gtk-doc.m4
70+gtk-doc.make
71\ No newline at end of file
72
73=== modified file 'debian/control'
74--- debian/control 2012-02-16 06:57:48 +0000
75+++ debian/control 2012-12-13 23:49:21 +0000
76@@ -4,7 +4,7 @@
77 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
78 XSBC-Original-Maintainer: Scott James Remnant <scott@netsplit.com>
79 Standards-Version: 3.9.1
80-Build-Depends: debhelper (>= 8.1.3~), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~)
81+Build-Depends: debhelper (>= 8.1.3~), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~), dh-autoreconf, gtk-doc-tools
82 Vcs-Git: git://git.debian.org/git/collab-maint/libnih.git
83 Vcs-Browser: http://git.debian.org/?p=collab-maint/libnih.git;a=summary
84 Homepage: https://launchpad.net/libnih
85@@ -14,8 +14,8 @@
86 Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}, ${misc:Depends}
87 Multi-Arch: same
88 Description: NIH Utility Library
89- libnih is a light-weight "standard library" of C functions to ease the
90- development of other libraries and applications, especially those
91+ libnih is a light-weight "standard library" of C functions to ease
92+ the development of other libraries and applications, especially those
93 normally found in /lib.
94 .
95 This package contains the shared library.
96@@ -73,3 +73,15 @@
97 remote objects easier.
98 .
99 The generated code requires libnih-dbus-dev to be compiled.
100+
101+Package: libnih-doc
102+Priority: optional
103+Section: doc
104+Architecture: all
105+Depends: ${shlibs:Depends}, ${misc:Depends}
106+Description: NIH Utility Library (API reference)
107+ libnih is a light-weight "standard library" of C functions to ease the
108+ development of other libraries and applications, especially those
109+ normally found in /lib.
110+ .
111+ This package contains the API reference documentation.
112
113=== added file 'debian/libnih-doc.doc-base.nih'
114--- debian/libnih-doc.doc-base.nih 1970-01-01 00:00:00 +0000
115+++ debian/libnih-doc.doc-base.nih 2012-12-13 23:49:21 +0000
116@@ -0,0 +1,11 @@
117+Document: nih
118+Title: NIH Utility Library Reference Manual
119+Author: Scott James Remnant
120+Abstract: libnih is a light-weight "standard library" of C functions to ease
121+ the development of other libraries and applications, especially those
122+ normally found in /lib.
123+Section: Programming/C
124+
125+Format: HTML
126+Index: /usr/share/doc/libnih-doc/nih/index.html
127+Files: /usr/share/doc/libnih-doc/nih/*.html
128
129=== added file 'debian/libnih-doc.install'
130--- debian/libnih-doc.install 1970-01-01 00:00:00 +0000
131+++ debian/libnih-doc.install 2012-12-13 23:49:21 +0000
132@@ -0,0 +1,2 @@
133+usr/share/gtk-doc/html/* usr/share/doc/libnih-doc
134+
135
136=== added file 'debian/libnih-doc.links'
137--- debian/libnih-doc.links 1970-01-01 00:00:00 +0000
138+++ debian/libnih-doc.links 2012-12-13 23:49:21 +0000
139@@ -0,0 +1,2 @@
140+usr/share/doc/libnih-doc/nih usr/share/gtk-doc/html/nih
141+
142
143=== modified file 'debian/rules'
144--- debian/rules 2012-02-08 23:43:21 +0000
145+++ debian/rules 2012-12-13 23:49:21 +0000
146@@ -1,6 +1,6 @@
147 #!/usr/bin/make -f
148 %:
149- dh $@
150+ dh $@ --with autoreconf --parallel
151
152
153 CFLAGS := -Wall -fstack-protector -fPIE $(shell dpkg-buildflags --get CFLAGS)
154@@ -8,9 +8,14 @@
155
156 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
157
158+override_dh_autoreconf:
159+ gtkdocize
160+ dh_autoreconf
161+
162 override_dh_auto_configure:
163 dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
164- --libdir=/lib/$(DEB_HOST_MULTIARCH)
165+ --libdir=/lib/$(DEB_HOST_MULTIARCH) \
166+ --enable-gtk-doc
167
168 override_dh_auto_install:
169 dh_auto_install -- pkgconfigdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
170
171=== added directory 'docs'
172=== added directory 'docs/reference'
173=== added directory 'docs/reference/nih'
174=== added file 'docs/reference/nih/Makefile.am'
175--- docs/reference/nih/Makefile.am 1970-01-01 00:00:00 +0000
176+++ docs/reference/nih/Makefile.am 2012-12-13 23:49:21 +0000
177@@ -0,0 +1,23 @@
178+## Taken from gtk-doc/examples/Makefile.am
179+DOC_MODULE=nih
180+DOC_MODULE_VERSION=$(VERSION)
181+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
182+DOC_SOURCE_DIR=$(top_srcdir)/nih
183+HFILE_GLOB=$(top_srcdir)/nih/*.h
184+CFILE_GLOB=$(top_srcdir)/nih/*.c
185+
186+AUTOMAKE_OPTIONS = 1.6
187+MKDB_OPTIONS=--xml-mode --output-format=xml
188+
189+# This includes the standard gtk-doc make rules, copied by gtkdocize.
190+include $(top_srcdir)/gtk-doc.make
191+
192+if ENABLE_GTK_DOC
193+TESTS_ENVIRONMENT = cd $(srcdir) && \
194+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
195+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
196+#TESTS = $(GTKDOC_CHECK)
197+# gtkdoc-check currently fails...
198+check-local:
199+ -$(TESTS_ENVIRONMENT) $(GTKDOC_CHECK)
200+endif
201
202=== added file 'docs/reference/nih/nih-docs.sgml'
203--- docs/reference/nih/nih-docs.sgml 1970-01-01 00:00:00 +0000
204+++ docs/reference/nih/nih-docs.sgml 2012-12-13 23:49:21 +0000
205@@ -0,0 +1,63 @@
206+<?xml version="1.0"?>
207+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
208+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
209+[
210+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
211+]>
212+<book id="index">
213+ <bookinfo>
214+ <title>nih Reference Manual</title>
215+ <releaseinfo>
216+ for nih 1.0.
217+ The latest version of this documentation can be found on-line at
218+ <ulink role="online-location" url="http://[SERVER]/nih/index.html">http://[SERVER]/nih/</ulink>.
219+ </releaseinfo>
220+ </bookinfo>
221+
222+ <chapter>
223+ <title>NIH Utility Library</title>
224+ <xi:include href="xml/alloc.xml"/>
225+ <xi:include href="xml/child.xml"/>
226+ <xi:include href="xml/command.xml"/>
227+ <xi:include href="xml/config.xml"/>
228+ <xi:include href="xml/error.xml"/>
229+ <xi:include href="xml/errors.xml"/>
230+ <xi:include href="xml/file.xml"/>
231+ <xi:include href="xml/hash.xml"/>
232+ <xi:include href="xml/io.xml"/>
233+ <xi:include href="xml/list.xml"/>
234+ <xi:include href="xml/logging.xml"/>
235+ <xi:include href="xml/macros.xml"/>
236+ <xi:include href="xml/main.xml"/>
237+ <xi:include href="xml/option.xml"/>
238+ <xi:include href="xml/signal.xml"/>
239+ <xi:include href="xml/string.xml"/>
240+ <xi:include href="xml/test.xml"/>
241+ <xi:include href="xml/test_alloc.xml"/>
242+ <xi:include href="xml/test_divert.xml"/>
243+ <xi:include href="xml/test_files.xml"/>
244+ <xi:include href="xml/test_hash.xml"/>
245+ <xi:include href="xml/test_list.xml"/>
246+ <xi:include href="xml/test_output.xml"/>
247+ <xi:include href="xml/test_process.xml"/>
248+ <xi:include href="xml/test_values.xml"/>
249+ <xi:include href="xml/timer.xml"/>
250+ <xi:include href="xml/tree.xml"/>
251+ <xi:include href="xml/watch.xml"/>
252+
253+ </chapter>
254+ <chapter id="object-tree">
255+ <title>Object Hierarchy</title>
256+ <xi:include href="xml/tree_index.sgml"/>
257+ </chapter>
258+ <index id="api-index-full">
259+ <title>API Index</title>
260+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
261+ </index>
262+ <index id="deprecated-api-index" role="deprecated">
263+ <title>Index of deprecated API</title>
264+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
265+ </index>
266+
267+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
268+</book>

Subscribers

People subscribed via source and target branches