summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml31
-rw-r--r--.version2
-rw-r--r--ChangeLog332
-rw-r--r--MANIFEST26
-rw-r--r--MANIFEST.in26
-rw-r--r--Makefile.am140
-rw-r--r--Makefile.in254
-rw-r--r--NEWS24
-rw-r--r--PKG-INFO53
-rw-r--r--README27
-rw-r--r--aclocal.m41
-rwxr-xr-xbuild-aux/config.guess487
-rwxr-xr-xbuild-aux/config.sub203
-rw-r--r--build-aux/ltmain.sh552
-rwxr-xr-xconfigure483
-rw-r--r--configure.ac96
-rw-r--r--dbus-gmain/Makefile.in4
-rw-r--r--dbus/__init__.py6
-rw-r--r--dbus/gi_service.py4
-rw-r--r--dbus/gobject_service.py2
-rw-r--r--dbus/service.py10
-rw-r--r--dbus_bindings/bytes.c22
-rw-r--r--dbus_bindings/conn.c6
-rw-r--r--dbus_bindings/containers.c56
-rw-r--r--dbus_bindings/int.c106
-rw-r--r--dbus_bindings/message-append.c3
-rw-r--r--dbus_bindings/message-get-args.c6
-rw-r--r--dbus_bindings/message.c32
-rw-r--r--dbus_bindings/signature.c12
-rw-r--r--dbus_bindings/string.c56
-rw-r--r--dbus_bindings/unixfd.c12
-rw-r--r--dbus_python.egg-info/PKG-INFO53
-rw-r--r--dbus_python.egg-info/SOURCES.txt171
-rw-r--r--dbus_python.egg-info/dependency_links.txt1
-rw-r--r--dbus_python.egg-info/top_level.txt3
-rw-r--r--doc/HACKING.txt6
-rw-r--r--doc/PY3PORT.txt6
-rw-r--r--doc/_static/.gitignore0
-rw-r--r--doc/conf.py165
-rw-r--r--doc/dbus.bus.rst7
-rw-r--r--doc/dbus.connection.rst7
-rw-r--r--doc/dbus.decorators.rst7
-rw-r--r--doc/dbus.exceptions.rst7
-rw-r--r--doc/dbus.gi_service.rst7
-rw-r--r--doc/dbus.glib.rst7
-rw-r--r--doc/dbus.gobject_service.rst36
-rw-r--r--doc/dbus.lowlevel.rst7
-rw-r--r--doc/dbus.mainloop.rst18
-rw-r--r--doc/dbus.proxies.rst7
-rw-r--r--doc/dbus.rst35
-rw-r--r--doc/dbus.server.rst7
-rw-r--r--doc/dbus.service.rst7
-rw-r--r--doc/dbus.types.rst7
-rw-r--r--doc/index.rst53
-rw-r--r--doc/news.rst5
-rw-r--r--doc/redirects138
-rw-r--r--doc/redirects.py43
-rw-r--r--doc/tutorial.txt115
-rw-r--r--m4/dbus-py-add-rst2htmlflag.m421
-rwxr-xr-xsetup.py1
60 files changed, 2428 insertions, 1593 deletions
diff --git a/.travis.yml b/.travis.yml
index 12840a4..fce7573 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,37 +28,8 @@ cache:
directories:
- $HOME/.ccache
install:
- - 'sudo apt-get -qq -y update'
- - >
- sudo apt-get -qq -y install
- autoconf
- automake
- ccache
- dbus
- gnome-desktop-testing
- libdbus-1-dev
- libtool
- - >
- test -z "$dbus_ci_system_python" || sudo apt-get -qq -y install
- ${dbus_ci_system_python}
- ${dbus_ci_system_python%-dbg}-docutils
- ${dbus_ci_system_python%-dbg}-gi
- - >
- test "${dbus_ci_system_python%-dbg}" = "${dbus_ci_system_python}" ||
- sudo apt-get -qq -y install
- ${dbus_ci_system_python%-dbg}-gi-dbg
- - >
- if test "$dbus_ci_system_python" = python; then
- sudo apt-get -qq -y install python-epydoc python-gobject-2;
- fi
- - >
- wget
- http://deb.debian.org/debian/pool/main/a/autoconf-archive/autoconf-archive_20160916-1_all.deb
- - 'sudo dpkg -i autoconf-archive_*_all.deb'
- - 'rm autoconf-archive_*_all.deb'
- - test -n "$dbus_ci_system_python" || pip install tap.py
- test -z "$dbus_ci_system_python" || deactivate
- - test -z "$dbus_ci_system_python" || pip install --user tap.py
+ - tools/travis-ci-setup.sh
python:
- "3.5"
- "3.5-dev"
diff --git a/.version b/.version
index 3c43790..db6fb4a 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.2.6
+1.2.8
diff --git a/ChangeLog b/ChangeLog
index db3e126..0b97f81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,336 @@
+commit b7f3f7757c28fdc25ce413ccb3c2c6f7e16cbb51
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-04 16:29:05 +0100
+
+ 1.2.8
+
+M NEWS
+M configure.ac
+
+commit c50a1c9fc86c598d49ea85f7c383777ab165c9a1
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-04 17:14:11 +0100
+
+ Revert "Generate a devhelp index for the HTML documentation"
+
+ This reverts commit c57180785096f4271d45ccb1488086c468abcec1.
+ The devhelp
+ mode produces different HTML, and currently breaks Debian's
+ dh_sphinxdoc.
+
+M Makefile.am
+
+commit c57180785096f4271d45ccb1488086c468abcec1
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 14:59:58 +0100
+
+ Generate a devhelp index for the HTML documentation
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit 8c01125643e5ff94c9baa898dd61add8d4739680
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 13:14:37 +0100
+
+ Travis-CI: Use system Python to run pip for system Python
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .travis.yml
+A tools/travis-ci-setup.sh
+
+commit 25923e84c44965c5ebdac0567133d5a88885015e
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 10:44:38 +0100
+
+ Travis-CI: Install sphinx from PyPI
+
+ The one in Ubuntu 14.04 is too old for "python -m sphinx", and we
+ weren't installing it at all for non-system Pythons.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .travis.yml
+
+commit 224012fb6557c775513d8719af6e9129717db791
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 10:30:46 +0100
+
+ build: Don't install redirect pages intended for dbus.freedesktop.org
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit 08be9858414f257f047c1d4f11bcd6f26ee884f1
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 10:30:30 +0100
+
+ build: Don't install stamp file for documentation build
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit b6f7db7fea9bc25901ebd8bd4a1d3a4ea4058965
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 10:14:51 +0100
+
+ build: Install Sphinx documentation
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit b15465fde6dfa4d088d694ec9542ad99d7210d5e
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-03 10:22:32 +0100
+
+ build: Enable Sphinx documentation if dependencies are available
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M configure.ac
+
+commit 174570d94e3000a91aac1ea1276292e5e154c36a
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 19:30:33 +0100
+
+ Travis-CI: Pull in setuptools
+
+ distcheck now requires it, to generate the egg_info.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .travis.yml
+
+commit 721ef6373069bfc6955018681204e20e1ad836e4
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 19:15:39 +0100
+
+ Remove remnants of old documentation
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+M configure.ac
+D m4/dbus-py-add-rst2htmlflag.m4
+
+commit 48572c4dd8cea6c7a2661c4dacd73eb8d0d916c5
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 18:53:46 +0100
+
+ Travis-CI: Install sphinx
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .travis.yml
+
+commit 72957e9f4af2ffd6308afaf7f5b30cebe5b278fe
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 15:18:32 +0100
+
+ Use README as the long description
+
+ PyPI no longer renders README by default.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M setup.py
+
+commit 5f8122b0d1b340c6a1330c0f8f729c60d3b96359
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 12:51:29 +0100
+
+ Update NEWS
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M NEWS
+
+commit 5421e3703ca98ba278f67cab133e030949b01997
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 12:38:05 +0100
+
+ Fix distcheck
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit 9dbabdb569c949bd319a294c822d945dfe18bfa4
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 12:32:50 +0100
+
+ Add redirection from the old epydoc documentation to the new versions
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+A doc/redirects
+A doc/redirects.py
+
+commit b81df570c8e7a450cfcbd09663f2f15725906b7a
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 12:05:30 +0100
+
+ Improve documentation for Sphinx
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M dbus_bindings/bytes.c
+M dbus_bindings/conn.c
+M dbus_bindings/containers.c
+M dbus_bindings/int.c
+M dbus_bindings/message.c
+M dbus_bindings/signature.c
+M dbus_bindings/string.c
+M dbus_bindings/unixfd.c
+
+commit 780e299bc7cd72c30473162e266479656f3ab9ff
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 11:11:00 +0100
+
+ doc: Be more clear about bytes vs. unicode
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M dbus_bindings/bytes.c
+M dbus_bindings/message-get-args.c
+M doc/tutorial.txt
+
+commit 7457ebb162febe9033ebcc7e6ef44e6f79d19410
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 11:09:42 +0100
+
+ Improve UTF8String documentation
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M dbus_bindings/string.c
+
+commit f78b1afbc01efbe58eff8d3fe5040733124027d5
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 11:08:28 +0100
+
+ dbus-gmain: Ignore more generated files
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M dbus-gmain/.gitignore
+
+commit 6c630a819f6504d48a3a205ab323b2d0458913e5
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 11:08:09 +0100
+
+ Convert documentation from epydoc to Sphinx
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .gitignore
+M Makefile.am
+M README
+M configure.ac
+M dbus/__init__.py
+M dbus/gi_service.py
+M dbus/gobject_service.py
+M dbus/service.py
+M dbus_bindings/bytes.c
+M dbus_bindings/containers.c
+M dbus_bindings/int.c
+M dbus_bindings/message-append.c
+M dbus_bindings/signature.c
+M dbus_bindings/string.c
+M dbus_bindings/unixfd.c
+M doc/HACKING.txt
+M doc/PY3PORT.txt
+A doc/_static/.gitignore
+A doc/conf.py
+A doc/dbus.bus.rst
+A doc/dbus.connection.rst
+A doc/dbus.decorators.rst
+A doc/dbus.exceptions.rst
+A doc/dbus.gi_service.rst
+A doc/dbus.glib.rst
+A doc/dbus.gobject_service.rst
+A doc/dbus.lowlevel.rst
+A doc/dbus.mainloop.rst
+A doc/dbus.proxies.rst
+A doc/dbus.rst
+A doc/dbus.server.rst
+A doc/dbus.service.rst
+A doc/dbus.types.rst
+C056 README doc/index.rst
+A doc/news.rst
+
+commit 2d7f71cc7002b5d968f83adffe09e2fc8fd63eb5
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-05-02 11:02:38 +0100
+
+ .gitignore: Ignore more test logs
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .gitignore
+
+commit 8a0dc04483ae99c1c92e34c979b571eba3afb88e
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-04-21 16:10:15 +0100
+
+ Remove obsolete COMPAT.txt
+
+ This was about compatibility with the rename and rewrite of
+ dbus_bindings as _dbus_bindings, which took place over a decade ago.
+ If any projects are still not compatible with the "new" dbus-python
+ then there is no hope for them.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+D COMPAT.txt
+
+commit fd4bd409e757dca1cee47188f5fb8a50ee9744c7
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-04-21 11:52:49 +0100
+
+ Include PKG-INFO and egg_info in dist tarballs
+
+ PyPI no longer accepts uploads without these.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M .gitignore
+M Makefile.am
+
+commit cf961cbdc28a886fbaffb1d14bb73d8683ff8363
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-01-30 22:52:15 +0000
+
+ Create directories to hold .test files
+
+ Some of the corresponding test scripts are in $(srcdir)/test, so there
+ is no guarantee that $(builddir)/test will exist before these recipes
+ run. This usually works, but can cause highly parallel builds to fail.
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M Makefile.am
+
+commit 94672070f0756c1c3123796761c74a5fb43325a9
+Author: Simon McVittie <smcv@collabora.com>
+Date: 2018-01-29 19:47:44 +0000
+
+ Start towards 1.2.8
+
+ Signed-off-by: Simon McVittie <smcv@collabora.com>
+
+M NEWS
+M configure.ac
+
commit bf54889b7bd2eee361843310c86bd6d7701110fc
Author: Simon McVittie <smcv@collabora.com>
-Date: 2018-01-29 12:41:57 +0000
+Date: 2018-01-29 12:41:57 +0000
Prepare 1.2.6
diff --git a/MANIFEST b/MANIFEST
index 3c04e34..93abb63 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -9,6 +9,7 @@ MANIFEST.in
Makefile.am
Makefile.in
NEWS
+PKG-INFO
README
aclocal.m4
build-aux/compile
@@ -86,9 +87,33 @@ dbus_bindings/types-internal.h
dbus_bindings/unixfd.c
dbus_bindings/validation.c
dbus_glib_bindings/module.c
+dbus_python.egg-info/PKG-INFO
+dbus_python.egg-info/SOURCES.txt
+dbus_python.egg-info/dependency_links.txt
+dbus_python.egg-info/top_level.txt
doc/API_CHANGES.txt
doc/HACKING.txt
doc/PY3PORT.txt
+doc/_static/.gitignore
+doc/conf.py
+doc/dbus.bus.rst
+doc/dbus.connection.rst
+doc/dbus.decorators.rst
+doc/dbus.exceptions.rst
+doc/dbus.gi_service.rst
+doc/dbus.glib.rst
+doc/dbus.gobject_service.rst
+doc/dbus.lowlevel.rst
+doc/dbus.mainloop.rst
+doc/dbus.proxies.rst
+doc/dbus.rst
+doc/dbus.server.rst
+doc/dbus.service.rst
+doc/dbus.types.rst
+doc/index.rst
+doc/news.rst
+doc/redirects
+doc/redirects.py
doc/tutorial.txt
examples/example-async-client.py
examples/example-client.py
@@ -115,7 +140,6 @@ m4/ax_is_release.m4
m4/ax_python_devel.m4
m4/ax_python_module.m4
m4/ax_require_defined.m4
-m4/dbus-py-add-rst2htmlflag.m4
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
diff --git a/MANIFEST.in b/MANIFEST.in
index ab1af64..5a82290 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -9,6 +9,7 @@ include MANIFEST.in
include Makefile.am
include Makefile.in
include NEWS
+include PKG-INFO
include README
include aclocal.m4
include build-aux/compile
@@ -86,9 +87,33 @@ include dbus_bindings/types-internal.h
include dbus_bindings/unixfd.c
include dbus_bindings/validation.c
include dbus_glib_bindings/module.c
+include dbus_python.egg-info/PKG-INFO
+include dbus_python.egg-info/SOURCES.txt
+include dbus_python.egg-info/dependency_links.txt
+include dbus_python.egg-info/top_level.txt
include doc/API_CHANGES.txt
include doc/HACKING.txt
include doc/PY3PORT.txt
+include doc/_static/.gitignore
+include doc/conf.py
+include doc/dbus.bus.rst
+include doc/dbus.connection.rst
+include doc/dbus.decorators.rst
+include doc/dbus.exceptions.rst
+include doc/dbus.gi_service.rst
+include doc/dbus.glib.rst
+include doc/dbus.gobject_service.rst
+include doc/dbus.lowlevel.rst
+include doc/dbus.mainloop.rst
+include doc/dbus.proxies.rst
+include doc/dbus.rst
+include doc/dbus.server.rst
+include doc/dbus.service.rst
+include doc/dbus.types.rst
+include doc/index.rst
+include doc/news.rst
+include doc/redirects
+include doc/redirects.py
include doc/tutorial.txt
include examples/example-async-client.py
include examples/example-client.py
@@ -115,7 +140,6 @@ include m4/ax_is_release.m4
include m4/ax_python_devel.m4
include m4/ax_python_module.m4
include m4/ax_require_defined.m4
-include m4/dbus-py-add-rst2htmlflag.m4
include m4/libtool.m4
include m4/ltoptions.m4
include m4/ltsugar.m4
diff --git a/Makefile.am b/Makefile.am
index 13ad510..fd480d4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -16,6 +16,7 @@ EXTRA_DIST = \
COPYING \
ChangeLog \
dbus-python.pc.in \
+ doc/_static/.gitignore \
examples/example-async-client.py \
examples/example-client.py \
examples/example-service.py \
@@ -26,7 +27,6 @@ EXTRA_DIST = \
examples/list-system-services.py \
examples/unix-fd-client.py \
examples/unix-fd-service.py \
- m4/dbus-py-add-rst2htmlflag.m4 \
setup.py \
test/TestSuitePythonService.service.in \
test/tmp-session-bus.conf.in \
@@ -336,18 +336,21 @@ installed_test_metadata = \
CLEANFILES += $(installed_test_metadata)
$(patsubst %,%.test,$(dist_test_py)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(PYTHON) $(installed_testdir)/$*' >> $@.tmp; \
mv $@.tmp $@)
$(patsubst %,%.test,$(dist_test_sh)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(installed_testdir)/$*' >> $@.tmp; \
mv $@.tmp $@)
$(patsubst %,%.test,$(test_programs)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(installed_testdir)/$*$(EXEEXT)' >> $@.tmp; \
@@ -361,86 +364,96 @@ dist-hook: dist-ChangeLog
echo $(VERSION) > $(distdir)/.version
touch $(distdir)/MANIFEST
touch $(distdir)/MANIFEST.in
+ ( cd $(distdir) && $(PYTHON) setup.py egg_info )
+ cp $(distdir)/dbus_python.egg-info/PKG-INFO $(distdir)
( cd $(distdir) && find -type d -o -print ) | \
LC_ALL=C sort | \
$(SED) -e 's|^\./||' \
> $(distdir)/MANIFEST
sed -e 's/.*/include &/' < $(distdir)/MANIFEST > $(distdir)/MANIFEST.in
+ cp $(distdir)/MANIFEST $(distdir)/dbus_python.egg-info/SOURCES.txt
-TXT_RSTDOCS = \
- doc/tutorial.txt \
+maintainer-upload:
+ rsync -tvpP --chmod=ugo=r $(DIST_ARCHIVES) $(DIST_ARCHIVES:%=%.asc) \
+ dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus-python/
+
+sphinx_sources = \
doc/API_CHANGES.txt \
+ doc/conf.py \
+ doc/dbus.bus.rst \
+ doc/dbus.connection.rst \
+ doc/dbus.decorators.rst \
+ doc/dbus.exceptions.rst \
+ doc/dbus.gi_service.rst \
+ doc/dbus.glib.rst \
+ doc/dbus.gobject_service.rst \
+ doc/dbus.lowlevel.rst \
+ doc/dbus.mainloop.rst \
+ doc/dbus.proxies.rst \
+ doc/dbus.rst \
+ doc/dbus.server.rst \
+ doc/dbus.service.rst \
+ doc/dbus.types.rst \
doc/HACKING.txt \
+ doc/index.rst \
+ doc/news.rst \
doc/PY3PORT.txt \
- $(NULL)
-RSTDOCS = \
- README \
+ doc/tutorial.txt \
NEWS \
+ README \
$(NULL)
-dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS)
-
-maintainer-upload:
- rsync -tvpP --chmod=ugo=r $(DIST_ARCHIVES) $(DIST_ARCHIVES:%=%.asc) \
- dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus-python/
-
-maintainer-update-website: _maintainer-update-apidocs \
- _maintainer-update-htmldocs
-
-if ENABLE_DOCS
-_maintainer-update-htmldocs: $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
- rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX doc \
- $(patsubst %,$(srcdir)/%,$(RSTDOCS)) $(HTML_RSTDOCS) \
+EXTRA_DIST += $(sphinx_sources)
+
+# A hack used for the HTML documentation on dbus.freedesktop.org
+EXTRA_DIST += \
+ doc/redirects \
+ doc/redirects.py \
+ $(NULL)
+
+install-data-local: install-data-local-sphinx
+uninstall-local: uninstall-local-sphinx
+
+if ENABLE_DOCUMENTATION
+all: doc/_build/.stamp
+
+doc/_build/.stamp: $(nobase_python_PYTHON) \
+ _dbus_bindings.la \
+ _dbus_glib_bindings.la \
+ $(sphinx_sources) \
+ Makefile \
+ $(NULL)
+ rm -rf doc/_build
+ $(MKDIR_P) doc/_build
+ abs_top_srcdir='$(abs_top_srcdir)' \
+ abs_top_builddir='$(abs_top_builddir)' \
+ DBUS_PYTHON_NO_DEPRECATED=1 \
+ $(PYTHON) -m sphinx -b html $(abs_top_srcdir)/doc doc/_build
+ touch $@
+
+maintainer-update-website: doc/_build/.stamp
+ DBUS_TOP_SRCDIR="$(abs_top_srcdir)" \
+ $(PYTHON) $(srcdir)/doc/redirects.py
+ rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX doc/_build/ \
dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/
-HTML_TXT_RSTDOCS = $(patsubst %.txt,%.html,$(TXT_RSTDOCS))
-HTML_RSTDOCS = $(patsubst %,%.html,$(RSTDOCS))
-nodist_doc_DATA = $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
-
-CLEANFILES += $(nodist_doc_DATA)
+install-data-local-sphinx: doc/_build/.stamp
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ cp -R doc/_build/* $(DESTDIR)$(htmldir)
-$(HTML_TXT_RSTDOCS) : %.html: %.txt
- $(INSTALL) -d doc
- $(RST2HTML) $(RST2HTMLFLAGS) $< $@
-$(HTML_RSTDOCS) : %.html: %
- $(RST2HTML) $(RST2HTMLFLAGS) $< $@
+uninstall-local-sphinx:
+ rm -fr $(DESTDIR)$(htmldir)
else
-_maintainer-update-htmldocs:
- @echo "*** Not updating the HTML docs on the website - install rst2html"
- @echo "*** from http://docutils.sourceforge.net/ and configure with "
- @echo "*** --enable-html-docs"
+maintainer-update-website:
+ @echo "*** Not updating the API docs on the website - install sphinx"
+ @echo "*** and configure with --enable-api-docs"
+install-data-local-sphinx:
+ @:
+uninstall-local-sphinx:
+ @:
endif
-if ENABLE_API_DOCS
-all: api/index.html
-
clean-local:
- rm -rf api
-
-APIDOC_PYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/.libs
-
-api api/index.html: $(nobase_python_PYTHON) \
- _dbus_bindings.la \
- _dbus_glib_bindings.la
- rm -rf api
- mkdir api
- cd $(abs_top_srcdir) && \
- PYTHONPATH=$(APIDOC_PYTHONPATH) DBUS_PYTHON_NO_DEPRECATED=1 \
- $(PYTHON) -Wignore::DeprecationWarning \
- $(EPYDOC) -o $(abs_top_builddir)/api --html \
- --docformat restructuredtext -v \
- `find dbus -name '*.py' \
- | sed -e 's#/__init__\.py##g' \
- -e 's/\.py\>//g' -e 's#/#.#'g` \
- || { rm -rf api; exit 1; }
-
-_maintainer-update-apidocs: api
- rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX api/ \
- dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/api/
-else
-_maintainer-update-apidocs:
- @echo "*** Not updating the API docs on the website - install epydoc 3"
- @echo "*** alpha (or newer) and configure with --enable-api-docs"
-endif
+ rm -rf doc/_build
check_c_sources = \
$(_dbus_bindings_la_SOURCES) \
@@ -451,5 +464,4 @@ include $(top_srcdir)/tools/check-coding-style.mk
.PHONY: cross-test-compile cross-test-server cross-test-client \
always-rebuild maintainer-update-website \
- _maintainer-update-apidocs _maintainer-update-htmldocs \
maintainer-upload
diff --git a/Makefile.in b/Makefile.in
index 7d00c95..f622aa1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -115,7 +115,6 @@ TESTS = $(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_1)
@ENABLE_INSTALLED_TESTS_TRUE@nobase_installed_test_PROGRAMS = \
@ENABLE_INSTALLED_TESTS_TRUE@ $(am__EXEEXT_1)
@ENABLE_INSTALLED_TESTS_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
-@ENABLE_DOCS_TRUE@am__append_6 = $(nodist_doc_DATA)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
@@ -132,7 +131,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/m4/ax_python_devel.m4 \
$(top_srcdir)/m4/ax_python_module.m4 \
$(top_srcdir)/m4/ax_require_defined.m4 \
- $(top_srcdir)/m4/dbus-py-add-rst2htmlflag.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
@@ -143,8 +141,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__dist_noinst_SCRIPTS_DIST) \
$(am__nobase_dist_installed_test_SCRIPTS_DIST) \
$(am__nobase_dist_installed_test_PYTHON_DIST) \
- $(am__nobase_python_PYTHON_DIST) $(dist_doc_DATA) \
- $(dbusinclude_HEADERS) $(am__DIST_COMMON)
+ $(am__nobase_python_PYTHON_DIST) $(dbusinclude_HEADERS) \
+ $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -182,8 +180,8 @@ am__installdirs = "$(DESTDIR)$(installed_testdir)" \
"$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(installed_testdir)" \
"$(DESTDIR)$(installed_testdir)" \
"$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pythondir)" \
- "$(DESTDIR)$(docdir)" "$(DESTDIR)$(installed_test_metadir)" \
- "$(DESTDIR)$(installed_test_testdir)" "$(DESTDIR)$(docdir)" \
+ "$(DESTDIR)$(installed_test_metadir)" \
+ "$(DESTDIR)$(installed_test_testdir)" \
"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(dbusincludedir)"
LTLIBRARIES = $(nobase_installed_test_LTLIBRARIES) \
$(noinst_LTLIBRARIES) $(pyexec_LTLIBRARIES)
@@ -326,9 +324,8 @@ am__nobase_python_PYTHON_DIST = dbus/bus.py dbus/connection.py \
dbus/mainloop/glib.py dbus/proxies.py dbus/server.py \
dbus/service.py dbus/types.py dbus/gobject_service.py
py_compile = $(top_srcdir)/build-aux/py-compile
-DATA = $(dist_doc_DATA) $(installed_test_meta_DATA) \
- $(installed_test_test_DATA) $(nodist_doc_DATA) $(noinst_DATA) \
- $(pkgconfig_DATA)
+DATA = $(installed_test_meta_DATA) $(installed_test_test_DATA) \
+ $(noinst_DATA) $(pkgconfig_DATA)
HEADERS = $(dbusinclude_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
@@ -625,7 +622,6 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EPYDOC = @EPYDOC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GIT = @GIT@
@@ -680,8 +676,6 @@ PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
-RST2HTML = @RST2HTML@
-RST2HTMLFLAGS = @RST2HTMLFLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -753,33 +747,23 @@ installed_test_metadir = ${datadir}/installed-tests/${PACKAGE_TARNAME}
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = dbus-gmain .
CLEANFILES = test/test-service.log $(NULL) $(noinst_DATA) \
- $(installed_test_test_data) $(installed_test_metadata) \
- $(am__append_6)
-EXTRA_DIST = \
- .travis.yml \
- AUTHORS \
- COPYING \
- ChangeLog \
- dbus-python.pc.in \
- examples/example-async-client.py \
- examples/example-client.py \
- examples/example-service.py \
+ $(installed_test_test_data) $(installed_test_metadata)
+
+# A hack used for the HTML documentation on dbus.freedesktop.org
+EXTRA_DIST = .travis.yml AUTHORS COPYING ChangeLog dbus-python.pc.in \
+ doc/_static/.gitignore examples/example-async-client.py \
+ examples/example-client.py examples/example-service.py \
examples/example-signal-emitter.py \
examples/example-signal-recipient.py \
examples/gconf-proxy-client.py \
examples/gconf-proxy-service2.py \
- examples/list-system-services.py \
- examples/unix-fd-client.py \
- examples/unix-fd-service.py \
- m4/dbus-py-add-rst2htmlflag.m4 \
- setup.py \
+ examples/list-system-services.py examples/unix-fd-client.py \
+ examples/unix-fd-service.py setup.py \
test/TestSuitePythonService.service.in \
- test/tmp-session-bus.conf.in \
- tools/check-c-style.sh \
- tools/check-coding-style.mk \
- tools/check-py-style.sh \
- tools/check-whitespace.sh
-
+ test/tmp-session-bus.conf.in tools/check-c-style.sh \
+ tools/check-coding-style.mk tools/check-py-style.sh \
+ tools/check-whitespace.sh $(sphinx_sources) doc/redirects \
+ doc/redirects.py $(NULL)
# === C code ===
AM_CPPFLAGS = \
@@ -982,23 +966,32 @@ installed_test_metadata = \
$(patsubst %,%.test,$(test_programs)) \
$(NULL)
-TXT_RSTDOCS = \
- doc/tutorial.txt \
+sphinx_sources = \
doc/API_CHANGES.txt \
+ doc/conf.py \
+ doc/dbus.bus.rst \
+ doc/dbus.connection.rst \
+ doc/dbus.decorators.rst \
+ doc/dbus.exceptions.rst \
+ doc/dbus.gi_service.rst \
+ doc/dbus.glib.rst \
+ doc/dbus.gobject_service.rst \
+ doc/dbus.lowlevel.rst \
+ doc/dbus.mainloop.rst \
+ doc/dbus.proxies.rst \
+ doc/dbus.rst \
+ doc/dbus.server.rst \
+ doc/dbus.service.rst \
+ doc/dbus.types.rst \
doc/HACKING.txt \
+ doc/index.rst \
+ doc/news.rst \
doc/PY3PORT.txt \
- $(NULL)
-
-RSTDOCS = \
- README \
+ doc/tutorial.txt \
NEWS \
+ README \
$(NULL)
-dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS)
-@ENABLE_DOCS_TRUE@HTML_TXT_RSTDOCS = $(patsubst %.txt,%.html,$(TXT_RSTDOCS))
-@ENABLE_DOCS_TRUE@HTML_RSTDOCS = $(patsubst %,%.html,$(RSTDOCS))
-@ENABLE_DOCS_TRUE@nodist_doc_DATA = $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
-@ENABLE_API_DOCS_TRUE@APIDOC_PYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/.libs
check_c_sources = \
$(_dbus_bindings_la_SOURCES) \
$(_dbus_glib_bindings_la_SOURCES) \
@@ -1521,27 +1514,6 @@ uninstall-nobase_pythonPYTHON:
$(am__uninstall_files_from_dir) || st=$$?; \
done; \
exit $$st
-install-dist_docDATA: $(dist_doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-dist_docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
install-installed_test_metaDATA: $(installed_test_meta_DATA)
@$(NORMAL_INSTALL)
@list='$(installed_test_meta_DATA)'; test -n "$(installed_test_metadir)" || list=; \
@@ -1584,27 +1556,6 @@ uninstall-installed_test_testDATA:
@list='$(installed_test_test_DATA)'; test -n "$(installed_test_testdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(installed_test_testdir)'; $(am__uninstall_files_from_dir)
-install-nodist_docDATA: $(nodist_doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(nodist_doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-nodist_docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
@@ -2129,7 +2080,7 @@ all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \
$(HEADERS) config.h
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(installed_test_metadir)" "$(DESTDIR)$(installed_test_testdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(dbusincludedir)"; do \
+ for dir in "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(installed_test_metadir)" "$(DESTDIR)$(installed_test_testdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(dbusincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -2172,7 +2123,6 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-@ENABLE_API_DOCS_FALSE@clean-local:
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-local \
@@ -2199,15 +2149,14 @@ info: info-recursive
info-am:
-install-data-am: install-dbusincludeHEADERS install-dist_docDATA \
+install-data-am: install-data-local install-dbusincludeHEADERS \
install-installed_test_metaDATA \
install-installed_test_testDATA \
install-nobase_dist_installed_testPYTHON \
install-nobase_dist_installed_testSCRIPTS \
install-nobase_installed_testLTLIBRARIES \
install-nobase_installed_testPROGRAMS \
- install-nobase_pythonPYTHON install-nodist_docDATA \
- install-pkgconfigDATA
+ install-nobase_pythonPYTHON install-pkgconfigDATA
install-dvi: install-dvi-recursive
@@ -2255,15 +2204,15 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-dbusincludeHEADERS uninstall-dist_docDATA \
+uninstall-am: uninstall-dbusincludeHEADERS \
uninstall-installed_test_metaDATA \
- uninstall-installed_test_testDATA \
+ uninstall-installed_test_testDATA uninstall-local \
uninstall-nobase_dist_installed_testPYTHON \
uninstall-nobase_dist_installed_testSCRIPTS \
uninstall-nobase_installed_testLTLIBRARIES \
uninstall-nobase_installed_testPROGRAMS \
- uninstall-nobase_pythonPYTHON uninstall-nodist_docDATA \
- uninstall-pkgconfigDATA uninstall-pyexecLTLIBRARIES
+ uninstall-nobase_pythonPYTHON uninstall-pkgconfigDATA \
+ uninstall-pyexecLTLIBRARIES
.MAKE: $(am__recursive_targets) all check-am install-am install-strip
@@ -2279,31 +2228,30 @@ uninstall-am: uninstall-dbusincludeHEADERS uninstall-dist_docDATA \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dbusincludeHEADERS \
- install-dist_docDATA install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-installed_test_metaDATA \
+ install-data install-data-am install-data-local \
+ install-dbusincludeHEADERS install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-installed_test_metaDATA \
install-installed_test_testDATA install-man \
install-nobase_dist_installed_testPYTHON \
install-nobase_dist_installed_testSCRIPTS \
install-nobase_installed_testLTLIBRARIES \
install-nobase_installed_testPROGRAMS \
- install-nobase_pythonPYTHON install-nodist_docDATA install-pdf \
- install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
+ install-nobase_pythonPYTHON install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am \
install-pyexecLTLIBRARIES install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
recheck tags tags-am uninstall uninstall-am \
- uninstall-dbusincludeHEADERS uninstall-dist_docDATA \
- uninstall-installed_test_metaDATA \
- uninstall-installed_test_testDATA \
+ uninstall-dbusincludeHEADERS uninstall-installed_test_metaDATA \
+ uninstall-installed_test_testDATA uninstall-local \
uninstall-nobase_dist_installed_testPYTHON \
uninstall-nobase_dist_installed_testSCRIPTS \
uninstall-nobase_installed_testLTLIBRARIES \
uninstall-nobase_installed_testPROGRAMS \
- uninstall-nobase_pythonPYTHON uninstall-nodist_docDATA \
- uninstall-pkgconfigDATA uninstall-pyexecLTLIBRARIES
+ uninstall-nobase_pythonPYTHON uninstall-pkgconfigDATA \
+ uninstall-pyexecLTLIBRARIES
.PRECIOUS: Makefile
@@ -2365,18 +2313,21 @@ $(installed_test_test_data): test/installable/%: test/%.in
$< > $@
$(patsubst %,%.test,$(dist_test_py)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(PYTHON) $(installed_testdir)/$*' >> $@.tmp; \
mv $@.tmp $@)
$(patsubst %,%.test,$(dist_test_sh)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(installed_testdir)/$*' >> $@.tmp; \
mv $@.tmp $@)
$(patsubst %,%.test,$(test_programs)): %.test: Makefile
+ @$(MKDIR_P) $(dir $@)
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_log_compiler) $(installed_testdir)/$*$(EXEEXT)' >> $@.tmp; \
@@ -2390,60 +2341,60 @@ dist-hook: dist-ChangeLog
echo $(VERSION) > $(distdir)/.version
touch $(distdir)/MANIFEST
touch $(distdir)/MANIFEST.in
+ ( cd $(distdir) && $(PYTHON) setup.py egg_info )
+ cp $(distdir)/dbus_python.egg-info/PKG-INFO $(distdir)
( cd $(distdir) && find -type d -o -print ) | \
LC_ALL=C sort | \
$(SED) -e 's|^\./||' \
> $(distdir)/MANIFEST
sed -e 's/.*/include &/' < $(distdir)/MANIFEST > $(distdir)/MANIFEST.in
+ cp $(distdir)/MANIFEST $(distdir)/dbus_python.egg-info/SOURCES.txt
maintainer-upload:
rsync -tvpP --chmod=ugo=r $(DIST_ARCHIVES) $(DIST_ARCHIVES:%=%.asc) \
dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus-python/
-maintainer-update-website: _maintainer-update-apidocs \
- _maintainer-update-htmldocs
-
-@ENABLE_DOCS_TRUE@_maintainer-update-htmldocs: $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
-@ENABLE_DOCS_TRUE@ rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX doc \
-@ENABLE_DOCS_TRUE@ $(patsubst %,$(srcdir)/%,$(RSTDOCS)) $(HTML_RSTDOCS) \
-@ENABLE_DOCS_TRUE@ dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/
-
-@ENABLE_DOCS_TRUE@$(HTML_TXT_RSTDOCS) : %.html: %.txt
-@ENABLE_DOCS_TRUE@ $(INSTALL) -d doc
-@ENABLE_DOCS_TRUE@ $(RST2HTML) $(RST2HTMLFLAGS) $< $@
-@ENABLE_DOCS_TRUE@$(HTML_RSTDOCS) : %.html: %
-@ENABLE_DOCS_TRUE@ $(RST2HTML) $(RST2HTMLFLAGS) $< $@
-@ENABLE_DOCS_FALSE@_maintainer-update-htmldocs:
-@ENABLE_DOCS_FALSE@ @echo "*** Not updating the HTML docs on the website - install rst2html"
-@ENABLE_DOCS_FALSE@ @echo "*** from http://docutils.sourceforge.net/ and configure with "
-@ENABLE_DOCS_FALSE@ @echo "*** --enable-html-docs"
-
-@ENABLE_API_DOCS_TRUE@all: api/index.html
-
-@ENABLE_API_DOCS_TRUE@clean-local:
-@ENABLE_API_DOCS_TRUE@ rm -rf api
-
-@ENABLE_API_DOCS_TRUE@api api/index.html: $(nobase_python_PYTHON) \
-@ENABLE_API_DOCS_TRUE@ _dbus_bindings.la \
-@ENABLE_API_DOCS_TRUE@ _dbus_glib_bindings.la
-@ENABLE_API_DOCS_TRUE@ rm -rf api
-@ENABLE_API_DOCS_TRUE@ mkdir api
-@ENABLE_API_DOCS_TRUE@ cd $(abs_top_srcdir) && \
-@ENABLE_API_DOCS_TRUE@ PYTHONPATH=$(APIDOC_PYTHONPATH) DBUS_PYTHON_NO_DEPRECATED=1 \
-@ENABLE_API_DOCS_TRUE@ $(PYTHON) -Wignore::DeprecationWarning \
-@ENABLE_API_DOCS_TRUE@ $(EPYDOC) -o $(abs_top_builddir)/api --html \
-@ENABLE_API_DOCS_TRUE@ --docformat restructuredtext -v \
-@ENABLE_API_DOCS_TRUE@ `find dbus -name '*.py' \
-@ENABLE_API_DOCS_TRUE@ | sed -e 's#/__init__\.py##g' \
-@ENABLE_API_DOCS_TRUE@ -e 's/\.py\>//g' -e 's#/#.#'g` \
-@ENABLE_API_DOCS_TRUE@ || { rm -rf api; exit 1; }
-
-@ENABLE_API_DOCS_TRUE@_maintainer-update-apidocs: api
-@ENABLE_API_DOCS_TRUE@ rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX api/ \
-@ENABLE_API_DOCS_TRUE@ dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/api/
-@ENABLE_API_DOCS_FALSE@_maintainer-update-apidocs:
-@ENABLE_API_DOCS_FALSE@ @echo "*** Not updating the API docs on the website - install epydoc 3"
-@ENABLE_API_DOCS_FALSE@ @echo "*** alpha (or newer) and configure with --enable-api-docs"
+install-data-local: install-data-local-sphinx
+uninstall-local: uninstall-local-sphinx
+
+@ENABLE_DOCUMENTATION_TRUE@all: doc/_build/.stamp
+
+@ENABLE_DOCUMENTATION_TRUE@doc/_build/.stamp: $(nobase_python_PYTHON) \
+@ENABLE_DOCUMENTATION_TRUE@ _dbus_bindings.la \
+@ENABLE_DOCUMENTATION_TRUE@ _dbus_glib_bindings.la \
+@ENABLE_DOCUMENTATION_TRUE@ $(sphinx_sources) \
+@ENABLE_DOCUMENTATION_TRUE@ Makefile \
+@ENABLE_DOCUMENTATION_TRUE@ $(NULL)
+@ENABLE_DOCUMENTATION_TRUE@ rm -rf doc/_build
+@ENABLE_DOCUMENTATION_TRUE@ $(MKDIR_P) doc/_build
+@ENABLE_DOCUMENTATION_TRUE@ abs_top_srcdir='$(abs_top_srcdir)' \
+@ENABLE_DOCUMENTATION_TRUE@ abs_top_builddir='$(abs_top_builddir)' \
+@ENABLE_DOCUMENTATION_TRUE@ DBUS_PYTHON_NO_DEPRECATED=1 \
+@ENABLE_DOCUMENTATION_TRUE@ $(PYTHON) -m sphinx -b html $(abs_top_srcdir)/doc doc/_build
+@ENABLE_DOCUMENTATION_TRUE@ touch $@
+
+@ENABLE_DOCUMENTATION_TRUE@maintainer-update-website: doc/_build/.stamp
+@ENABLE_DOCUMENTATION_TRUE@ DBUS_TOP_SRCDIR="$(abs_top_srcdir)" \
+@ENABLE_DOCUMENTATION_TRUE@ $(PYTHON) $(srcdir)/doc/redirects.py
+@ENABLE_DOCUMENTATION_TRUE@ rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX doc/_build/ \
+@ENABLE_DOCUMENTATION_TRUE@ dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/
+
+@ENABLE_DOCUMENTATION_TRUE@install-data-local-sphinx: doc/_build/.stamp
+@ENABLE_DOCUMENTATION_TRUE@ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+@ENABLE_DOCUMENTATION_TRUE@ cp -R doc/_build/* $(DESTDIR)$(htmldir)
+
+@ENABLE_DOCUMENTATION_TRUE@uninstall-local-sphinx:
+@ENABLE_DOCUMENTATION_TRUE@ rm -fr $(DESTDIR)$(htmldir)
+@ENABLE_DOCUMENTATION_FALSE@maintainer-update-website:
+@ENABLE_DOCUMENTATION_FALSE@ @echo "*** Not updating the API docs on the website - install sphinx"
+@ENABLE_DOCUMENTATION_FALSE@ @echo "*** and configure with --enable-api-docs"
+@ENABLE_DOCUMENTATION_FALSE@install-data-local-sphinx:
+@ENABLE_DOCUMENTATION_FALSE@ @:
+@ENABLE_DOCUMENTATION_FALSE@uninstall-local-sphinx:
+@ENABLE_DOCUMENTATION_FALSE@ @:
+
+clean-local:
+ rm -rf doc/_build
check-local::
@fail=0; \
cd $(srcdir) || exit $$?; \
@@ -2473,7 +2424,6 @@ check-local::
.PHONY: cross-test-compile cross-test-server cross-test-client \
always-rebuild maintainer-update-website \
- _maintainer-update-apidocs _maintainer-update-htmldocs \
maintainer-upload
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/NEWS b/NEWS
index 6ab6dbc..bf2b2cc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,27 @@
+D-Bus Python Bindings 1.2.8 (2018-05-04)
+========================================
+
+The “cursed ice surface” release.
+
+Dependencies:
+
+• Documentation requires Sphinx and the readthedocs theme
+• Documentation no longer requires epydoc
+
+Enhancements:
+
+• Build documentation with Sphinx instead of epydoc
+
+• Remove obsolete COMPAT.txt, documenting compatibility breaks in
+ versions over a decade old
+
+Fixes:
+
+• Make sure $(builddir)/test exists before creating .test files there
+
+• Add PKG-INFO and egg_info to dist tarballs so they can be uploaded
+ to PyPI again
+
D-Bus Python Bindings 1.2.6 (2018-01-29)
========================================
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..f450eca
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,53 @@
+Metadata-Version: 1.2
+Name: dbus-python
+Version: 1.2.8
+Summary: Python bindings for libdbus
+Home-page: http://www.freedesktop.org/wiki/Software/DBusBindings/#python
+Maintainer: The D-Bus maintainers
+Maintainer-email: dbus@lists.freedesktop.org
+License: Expat (MIT/X11)
+Download-URL: http://dbus.freedesktop.org/releases/dbus-python/
+Description: =======================================
+ dbus-python_: Python bindings for D-Bus
+ =======================================
+
+ .. _dbus-python: http://www.freedesktop.org/wiki/Software/DBusBindings#python
+
+ dbus-python is the original Python binding for ``dbus``, the reference
+ implementation of the D-Bus protocol.
+
+ Online documentation can be found at
+ <http://dbus.freedesktop.org/doc/dbus-python/>.
+
+ Problems and alternatives
+ =========================
+
+ dbus-python might not be the best D-Bus binding for you to use. dbus-python
+ does not follow the principle of "In the face of ambiguity, refuse the
+ temptation to guess", and can't be changed to not do so without seriously
+ breaking compatibility.
+
+ In addition, it uses libdbus (which has known problems with multi-threaded
+ use) and attempts to be main-loop-agnostic (which means you have to select
+ a suitable main loop for your application).
+
+ Alternative ways to get your Python code onto D-Bus include:
+
+ * GDBus, part of the GIO module of `GLib`_, via GObject-Introspection and
+ `PyGI`_ (uses the GLib main loop and object model)
+
+ * QtDBus, part of `Qt`_, via `PyQt`_ (uses the Qt main loop and object model)
+
+ .. _GLib: http://developer.gnome.org/glib/
+ .. _PyGI: https://live.gnome.org/PyGObject
+ .. _Qt: https://qt.nokia.com/
+ .. _PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro
+
+Platform: UNKNOWN
+Classifier: Development Status :: 7 - Inactive
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Programming Language :: C
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Topic :: Software Development :: Object Brokering
diff --git a/README b/README
index 7c1c49d..f46dbad 100644
--- a/README
+++ b/README
@@ -4,35 +4,12 @@ dbus-python_: Python bindings for D-Bus
.. _dbus-python: http://www.freedesktop.org/wiki/Software/DBusBindings#python
-Usage
-=====
+dbus-python is the original Python binding for ``dbus``, the reference
+implementation of the D-Bus protocol.
Online documentation can be found at
<http://dbus.freedesktop.org/doc/dbus-python/>.
-There is an incomplete tutorial in `doc/tutorial.txt`__
-(if you compile dbus-python with `docutils`_' ``rst2html`` tool installed or
-you're reading this document on the D-Bus website, there's also an
-`HTML version`__).
-
-__ doc/tutorial.txt
-__ doc/tutorial.html
-
-`API documentation`_ is generated if you compile dbus-python with `epydoc`_
-version 3 and `docutils`_ installed. An `online copy of the API documentation`_
-is also available.
-
-.. _API documentation: api/index.html
-.. _epydoc: http://epydoc.sourceforge.net/
-.. _docutils: http://docutils.sourceforge.net/
-.. _online copy of the API documentation:
- http://dbus.freedesktop.org/doc/dbus-python/api/
-
-To develop on dbus-python, see `doc/HACKING.txt`__ or the `HTML version`__.
-
-__ doc/HACKING.txt
-__ doc/HACKING.html
-
Problems and alternatives
=========================
diff --git a/aclocal.m4 b/aclocal.m4
index 39f8e91..77f6290 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1436,7 +1436,6 @@ m4_include([m4/ax_is_release.m4])
m4_include([m4/ax_python_devel.m4])
m4_include([m4/ax_python_module.m4])
m4_include([m4/ax_require_defined.m4])
-m4_include([m4/dbus-py-add-rst2htmlflag.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 31e01ef..f50dcdb 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-11-07'
+timestamp='2018-02-24'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -107,9 +107,9 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
+ ,,) echo "int x;" > "$dummy.c" ;
for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
- eval $set_cc_for_build
- cat <<-EOF > $dummy.c
+ eval "$set_cc_for_build"
+ cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+ # If ldd exists, use it to detect musl libc.
+ if command -v ldd >/dev/null && \
+ ldd --version 2>&1 | grep -q ^musl
+ then
+ LIBC=musl
+ fi
;;
esac
# Note: order is significant - the case branches are not exclusive.
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
+ "/sbin/$sysctl" 2>/dev/null || \
+ "/usr/sbin/$sysctl" 2>/dev/null || \
echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine="${arch}${endian}"-unknown
;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
;;
esac
# The OS release
@@ -219,52 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
+ case "$UNAME_VERSION" in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
+ echo "$machine-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
exit ;;
*:LibertyBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
exit ;;
*:MidnightBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
exit ;;
*:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
exit ;;
*:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
exit ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
+ echo "$UNAME_MACHINE"-unknown-sortix
exit ;;
*:Redox:*:*)
- echo ${UNAME_MACHINE}-unknown-redox
+ echo "$UNAME_MACHINE"-unknown-redox
exit ;;
+ mips:OSF1:*.*)
+ echo mips-dec-osf1
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -316,7 +326,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -325,10 +335,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
+ echo "$UNAME_MACHINE"-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
+ echo "$UNAME_MACHINE"-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
@@ -340,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
+ echo arm-acorn-riscix"$UNAME_RELEASE"
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
@@ -367,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
+ echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -392,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
SUN_ARCH=x86_64
fi
fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
@@ -407,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
exit ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
;;
sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
+ echo sparc-sun-sunos"$UNAME_RELEASE"
;;
esac
exit ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
@@ -436,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
+ echo m68k-milan-mint"$UNAME_RELEASE"
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
+ echo m68k-hades-mint"$UNAME_RELEASE"
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
+ echo m68k-unknown-mint"$UNAME_RELEASE"
exit ;;
m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
+ echo m68k-apple-machten"$UNAME_RELEASE"
exit ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
+ echo powerpc-apple-machten"$UNAME_RELEASE"
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
+ echo mips-dec-ultrix"$UNAME_RELEASE"
exit ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
+ echo vax-dec-ultrix"$UNAME_RELEASE"
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
@@ -494,11 +504,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
+ echo mips-mips-riscos"$UNAME_RELEASE"
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
@@ -524,17 +534,17 @@ EOF
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+ [ "$TARGET_BINARY_INTERFACE"x = x ]
then
- echo m88k-dg-dgux${UNAME_RELEASE}
+ echo m88k-dg-dgux"$UNAME_RELEASE"
else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
fi
else
- echo i586-dg-dgux${UNAME_RELEASE}
+ echo i586-dg-dgux"$UNAME_RELEASE"
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
@@ -551,7 +561,7 @@ EOF
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
@@ -563,14 +573,14 @@ EOF
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
@@ -581,7 +591,7 @@ EOF
exit(0);
}
EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
then
echo "$SYSTEM_NAME"
else
@@ -595,7 +605,7 @@ EOF
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
@@ -604,9 +614,9 @@ EOF
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
@@ -615,7 +625,7 @@ EOF
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
@@ -630,28 +640,28 @@ EOF
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ case "$UNAME_MACHINE" in
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
+ case "$sc_cpu_version" in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
+ case "$sc_kernel_bits" in
32) HP_ARCH=hppa2.0n ;;
64) HP_ARCH=hppa2.0w ;;
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ if [ "$HP_ARCH" = "" ]; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
#include <stdlib.h>
@@ -684,13 +694,13 @@ EOF
exit (0);
}
EOF
- (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = hppa2.0w ]
+ if [ "$HP_ARCH" = hppa2.0w ]
then
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -709,15 +719,15 @@ EOF
HP_ARCH=hppa64
fi
fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
exit ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
main ()
@@ -742,7 +752,7 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
@@ -763,9 +773,9 @@ EOF
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
+ echo "$UNAME_MACHINE"-unknown-osf1mk
else
- echo ${UNAME_MACHINE}-unknown-osf1
+ echo "$UNAME_MACHINE"-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
@@ -790,109 +800,109 @@ EOF
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
exit ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
+ case "$UNAME_PROCESSOR" in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
+ echo "$UNAME_MACHINE"-pc-cygwin
exit ;;
*:MINGW64*:*)
- echo ${UNAME_MACHINE}-pc-mingw64
+ echo "$UNAME_MACHINE"-pc-mingw64
exit ;;
*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
+ echo "$UNAME_MACHINE"-pc-mingw32
exit ;;
*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
+ echo "$UNAME_MACHINE"-pc-msys
exit ;;
i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
+ echo "$UNAME_MACHINE"-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case "$UNAME_MACHINE" in
x86)
- echo i586-pc-interix${UNAME_RELEASE}
+ echo i586-pc-interix"$UNAME_RELEASE"
exit ;;
authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
exit ;;
IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
+ echo ia64-unknown-interix"$UNAME_RELEASE"
exit ;;
esac ;;
i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
+ echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
exit ;;
i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
+ echo "$UNAME_MACHINE"-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -906,63 +916,63 @@ EOF
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arm*:Linux:*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
k1om:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
@@ -976,70 +986,74 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
;;
mips64el:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
openrisc*:Linux:*:*)
- echo or1k-unknown-linux-${LIBC}
+ echo or1k-unknown-linux-"$LIBC"
exit ;;
or32:Linux:*:* | or1k*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-${LIBC}
+ echo sparc-unknown-linux-"$LIBC"
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-${LIBC}
+ echo hppa64-unknown-linux-"$LIBC"
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
- *) echo hppa-unknown-linux-${LIBC} ;;
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+ *) echo hppa-unknown-linux-"$LIBC" ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-${LIBC}
+ echo powerpc64-unknown-linux-"$LIBC"
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-${LIBC}
+ echo powerpc-unknown-linux-"$LIBC"
exit ;;
ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-${LIBC}
+ echo powerpc64le-unknown-linux-"$LIBC"
exit ;;
ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
+ echo powerpcle-unknown-linux-"$LIBC"
exit ;;
riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ if objdump -f /bin/sh | grep -q elf32-x86-64; then
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
+ else
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+ fi
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1053,34 +1067,34 @@ EOF
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
+ echo "$UNAME_MACHINE"-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
+ echo "$UNAME_MACHINE"-unknown-stop
exit ;;
i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
+ echo "$UNAME_MACHINE"-unknown-atheos
exit ;;
i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
+ echo "$UNAME_MACHINE"-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
exit ;;
i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
exit ;;
i*86:*:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
fi
exit ;;
i*86:*:5:[678]*)
@@ -1090,12 +1104,12 @@ EOF
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1105,9 +1119,9 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv32
+ echo "$UNAME_MACHINE"-pc-sysv32
fi
exit ;;
pc:*:*:*)
@@ -1127,9 +1141,9 @@ EOF
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
@@ -1149,9 +1163,9 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
@@ -1160,28 +1174,28 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
+ echo mips-dde-sysv"$UNAME_RELEASE"
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
@@ -1192,7 +1206,7 @@ EOF
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
+ echo "$UNAME_MACHINE"-sni-sysv4
else
echo ns32k-sni-sysv
fi
@@ -1212,23 +1226,23 @@ EOF
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
+ echo "$UNAME_MACHINE"-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
+ echo m68k-apple-aux"$UNAME_RELEASE"
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv"$UNAME_RELEASE"
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv"$UNAME_RELEASE"
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
@@ -1247,39 +1261,39 @@ EOF
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
+ echo sx4-nec-superux"$UNAME_RELEASE"
exit ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
+ echo sx5-nec-superux"$UNAME_RELEASE"
exit ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
+ echo sx6-nec-superux"$UNAME_RELEASE"
exit ;;
SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
+ echo sx7-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
+ echo sx8-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
+ echo sx8r-nec-superux"$UNAME_RELEASE"
exit ;;
SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux${UNAME_RELEASE}
+ echo sxace-nec-superux"$UNAME_RELEASE"
exit ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
@@ -1307,7 +1321,7 @@ EOF
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
@@ -1315,22 +1329,25 @@ EOF
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
+ echo neo-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
+ echo nse-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSX-*:NONSTOP_KERNEL:*:*)
- echo nsx-tandem-nsk${UNAME_RELEASE}
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
@@ -1339,7 +1356,7 @@ EOF
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
@@ -1350,7 +1367,7 @@ EOF
else
UNAME_MACHINE="$cputype"
fi
- echo ${UNAME_MACHINE}-unknown-plan9
+ echo "$UNAME_MACHINE"-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
@@ -1371,14 +1388,14 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux"$UNAME_RELEASE"
exit ;;
*:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
+ case "$UNAME_MACHINE" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
@@ -1387,16 +1404,16 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
exit ;;
i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
+ echo "$UNAME_MACHINE"-pc-rdos
exit ;;
i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
+ echo "$UNAME_MACHINE"-pc-aros
exit ;;
x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
+ echo "$UNAME_MACHINE"-unknown-esx
exit ;;
amd64:Isilon\ OneFS:*:*)
echo x86_64-unknown-onefs
@@ -1405,7 +1422,7 @@ esac
echo "$0: unable to guess system type" >&2
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
@@ -1447,10 +1464,10 @@ hostinfo = `(hostinfo) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
EOF
exit 1
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 00f68b8..1d8e98b 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-11-23'
+timestamp='2018-02-22'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
- echo $1
+ echo "$1"
exit ;;
* )
@@ -112,7 +112,7 @@ esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
@@ -120,16 +120,16 @@ case $maybe_os in
kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
+ basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+ if [ "$basic_machine" != "$1" ]
+ then os=`echo "$1" | sed 's/.*-/-/'`
else os=; fi
;;
esac
@@ -178,44 +178,44 @@ case $os in
;;
-sco6)
os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-lynx*178)
os=-lynxos178
@@ -227,7 +227,7 @@ case $os in
os=-lynxos
;;
-ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
;;
-psos*)
os=-psos
@@ -296,7 +296,7 @@ case $basic_machine in
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
- | pdp10 | pdp11 | pj | pjl \
+ | pdp10 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
@@ -333,7 +333,7 @@ case $basic_machine in
basic_machine=$basic_machine-unknown
os=-none
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
;;
ms1)
basic_machine=mt-unknown
@@ -362,7 +362,7 @@ case $basic_machine in
;;
# Object if more than one company name word.
*-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
@@ -457,7 +457,7 @@ case $basic_machine in
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@@ -491,7 +491,7 @@ case $basic_machine in
basic_machine=x86_64-pc
;;
amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
@@ -536,7 +536,7 @@ case $basic_machine in
os=-linux
;;
blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
@@ -544,13 +544,13 @@ case $basic_machine in
os=-cnk
;;
c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
@@ -648,7 +648,7 @@ case $basic_machine in
os=$os"spe"
;;
e500v[12]-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=$os"spe"
;;
ebmon29k)
@@ -740,9 +740,6 @@ case $basic_machine in
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
- hppa-next)
- os=-nextstep3
- ;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
@@ -755,26 +752,26 @@ case $basic_machine in
basic_machine=i370-ibm
;;
i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
- i386-vsta | vsta)
+ vsta)
basic_machine=i386-unknown
os=-vsta
;;
@@ -793,19 +790,16 @@ case $basic_machine in
os=-sysv
;;
leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
@@ -837,10 +831,10 @@ case $basic_machine in
os=-mint
;;
mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
;;
mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
@@ -859,7 +853,7 @@ case $basic_machine in
os=-msdos
;;
ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i686-pc
@@ -946,6 +940,9 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
nsx-tandem)
basic_machine=nsx-tandem
;;
@@ -981,7 +978,7 @@ case $basic_machine in
os=-linux
;;
parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
@@ -997,7 +994,7 @@ case $basic_machine in
basic_machine=i386-pc
;;
pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
@@ -1012,16 +1009,16 @@ case $basic_machine in
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@@ -1031,23 +1028,23 @@ case $basic_machine in
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
@@ -1101,17 +1098,10 @@ case $basic_machine in
sequent)
basic_machine=i386-sequent
;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
sh5el)
basic_machine=sh5le-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
+ simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
@@ -1130,7 +1120,7 @@ case $basic_machine in
os=-sysv4
;;
strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
@@ -1244,9 +1234,6 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
- wasm32)
- basic_machine=wasm32-unknown
- ;;
w65*)
basic_machine=w65-wdc
os=-none
@@ -1266,20 +1253,12 @@ case $basic_machine in
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
none)
basic_machine=none-none
os=-none
@@ -1308,10 +1287,6 @@ case $basic_machine in
vax)
basic_machine=vax-dec
;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
pdp11)
basic_machine=pdp11-dec
;;
@@ -1321,9 +1296,6 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
cydra)
basic_machine=cydra-cydrome
;;
@@ -1343,7 +1315,7 @@ case $basic_machine in
# Make sure to match an already-canonicalized machine name.
;;
*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
esac
@@ -1351,10 +1323,10 @@ esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
;;
*-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
;;
*)
;;
@@ -1377,15 +1349,16 @@ case $os in
-solaris)
os=-solaris2
;;
- -svr4*)
- os=-sysv4
- ;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ -es1800*)
+ os=-ose
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@@ -1398,7 +1371,7 @@ case $os in
| -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
@@ -1409,14 +1382,15 @@ case $os in
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -morphos* | -superux* | -rtmk* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+ | -midnightbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1433,12 +1407,12 @@ case $os in
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ -sim | -xray | -os68k* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
@@ -1447,10 +1421,10 @@ case $os in
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
@@ -1461,12 +1435,6 @@ case $os in
-wince*)
os=-wince
;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
-utek*)
os=-bsd
;;
@@ -1513,7 +1481,7 @@ case $os in
-oss*)
os=-sysv3
;;
- -svr4)
+ -svr4*)
os=-sysv4
;;
-svr3)
@@ -1528,18 +1496,9 @@ case $os in
-ose*)
os=-ose
;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
- -aros*)
- os=-aros
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1568,7 +1527,7 @@ case $os in
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
exit 1
;;
esac
@@ -1664,9 +1623,6 @@ case $basic_machine in
*-be)
os=-beos
;;
- *-haiku)
- os=-haiku
- ;;
*-ibm)
os=-aix
;;
@@ -1721,9 +1677,6 @@ case $basic_machine in
i370-*)
os=-mvs
;;
- *-next)
- os=-nextstep3
- ;;
*-gould)
os=-sysv
;;
@@ -1833,11 +1786,11 @@ case $basic_machine in
vendor=stratus
;;
esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
-echo $basic_machine$os
+echo "$basic_machine$os"
exit
# Local variables:
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index a736cf9..e4eda6d 100644
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-2"
+VERSION="2.4.6 Debian-2.4.6-2.1"
package_revision=2.4.6
@@ -64,7 +64,7 @@ package_revision=2.4.6
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2015-10-12.13; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
@@ -580,16 +580,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1+=\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1+=\\ \$func_quote_arg_result"
}'
else
func_append_quoted ()
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1=\$$1\\ \$func_quote_arg_result"
}
fi
@@ -1091,85 +1091,181 @@ func_relative_path ()
}
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-# i) func_quote_for_eval_result
-# double-quoted, suitable for a subsequent eval
-# ii) func_quote_for_eval_unquoted_result
-# has all characters that are still active within double
-# quotes backslashified.
-func_quote_for_eval ()
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg. Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
{
$debug_cmd
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
- case $1 in
- *[\\\`\"\$]*)
- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
- *)
- _G_unquoted_arg=$1 ;;
- esac
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
- func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ func_quote_portable_result=$2
+
+ # one-time-loop (easy break)
+ while true
+ do
+ if $1; then
+ func_quote_portable_result=`$ECHO "$2" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+ break
fi
- case $_G_unquoted_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and variable expansion
- # for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_quoted_arg=\"$_G_unquoted_arg\"
+ # Quote for eval.
+ case $func_quote_portable_result in
+ *[\\\`\"\$]*)
+ case $func_quote_portable_result in
+ *[\[\*\?]*)
+ func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"`
+ break
+ ;;
+ esac
+
+ func_quote_portable_old_IFS=$IFS
+ for _G_char in '\' '`' '"' '$'
+ do
+ # STATE($1) PREV($2) SEPARATOR($3)
+ set start "" ""
+ func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+ IFS=$_G_char
+ for _G_part in $func_quote_portable_result
+ do
+ case $1 in
+ quote)
+ func_append func_quote_portable_result "$3$2"
+ set quote "$_G_part" "\\$_G_char"
+ ;;
+ start)
+ set first "" ""
+ func_quote_portable_result=
+ ;;
+ first)
+ set quote "$_G_part" ""
+ ;;
+ esac
+ done
+ done
+ IFS=$func_quote_portable_old_IFS
;;
- *)
- _G_quoted_arg=$_G_unquoted_arg
- ;;
+ *) ;;
esac
-
- if test -n "$func_quote_for_eval_result"; then
- func_append func_quote_for_eval_result " $_G_quoted_arg"
- else
- func_append func_quote_for_eval_result "$_G_quoted_arg"
- fi
- shift
+ break
done
+
+ func_quote_portable_unquoted_result=$func_quote_portable_result
+ case $func_quote_portable_result in
+ # double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # many bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_portable_result=\"$func_quote_portable_result\"
+ ;;
+ esac
}
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- $debug_cmd
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed. Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+ func_quotefast_eval ()
+ {
+ printf -v func_quotefast_eval_result %q "$1"
+ }
+else
+ func_quotefast_eval ()
+ {
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ }
+fi
- case $1 in
- *[\\\`\"]*)
- _G_arg=`$ECHO "$1" | $SED \
- -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- _G_arg=$1 ;;
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later. MODEs argument may contain zero ore more
+# specifiers listed below separated by ',' character. This function returns two
+# values:
+# i) func_quote_arg_result
+# double-quoted (when needed), suitable for a subsequent eval
+# ii) func_quote_arg_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified. Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+# - escape shell special characters
+# 'expand'
+# - the same as 'eval'; but do not quote variable references
+# 'pretty'
+# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
+# later used in func_quote to get output like: 'echo "a b"' instead of
+# 'echo a\ b'. This is slower than default on some shells.
+# 'unquoted'
+# - produce also $func_quote_arg_unquoted_result which does not contain
+# wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+# string | *_result | *_unquoted_result
+# ------------+-----------------------+-------------------
+# " | \" | \"
+# a b | "a b" | a b
+# "a b" | "\"a b\"" | \"a b\"
+# * | "*" | *
+# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+# string | *_result | *_unquoted_result
+# --------------+---------------------+--------------------
+# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
+func_quote_arg ()
+{
+ _G_quote_expand=false
+ case ,$1, in
+ *,expand,*)
+ _G_quote_expand=:
+ ;;
esac
- case $_G_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_arg=\"$_G_arg\"
+ case ,$1, in
+ *,pretty,*|*,expand,*|*,unquoted,*)
+ func_quote_portable $_G_quote_expand "$2"
+ func_quote_arg_result=$func_quote_portable_result
+ func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+ ;;
+ *)
+ # Faster quote-for-eval for some shells.
+ func_quotefast_eval "$2"
+ func_quote_arg_result=$func_quotefast_eval_result
;;
esac
+}
- func_quote_for_expand_result=$_G_arg
+
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command. See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+ $debug_cmd
+ _G_func_quote_mode=$1 ; shift
+ func_quote_result=
+ while test 0 -lt $#; do
+ func_quote_arg "$_G_func_quote_mode" "$1"
+ if test -n "$func_quote_result"; then
+ func_append func_quote_result " $func_quote_arg_result"
+ else
+ func_append func_quote_result "$func_quote_arg_result"
+ fi
+ shift
+ done
}
@@ -1215,8 +1311,8 @@ func_show_eval ()
_G_cmd=$1
_G_fail_exp=${2-':'}
- func_quote_for_expand "$_G_cmd"
- eval "func_notquiet $func_quote_for_expand_result"
+ func_quote_arg pretty,expand "$_G_cmd"
+ eval "func_notquiet $func_quote_arg_result"
$opt_dry_run || {
eval "$_G_cmd"
@@ -1241,8 +1337,8 @@ func_show_eval_locale ()
_G_fail_exp=${2-':'}
$opt_quiet || {
- func_quote_for_expand "$_G_cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$_G_cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || {
@@ -1370,7 +1466,7 @@ func_lt_ver ()
#! /bin/sh
# Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
+scriptversion=2015-10-12.13; # UTC
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
@@ -1530,6 +1626,8 @@ func_run_hooks ()
{
$debug_cmd
+ _G_rc_run_hooks=false
+
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1538,16 +1636,16 @@ func_run_hooks ()
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
- eval $_G_hook '"$@"'
-
- # store returned options list back into positional
- # parameters for next 'cmd' execution.
- eval _G_hook_result=\$${_G_hook}_result
- eval set dummy "$_G_hook_result"; shift
+ if eval $_G_hook '"$@"'; then
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ _G_rc_run_hooks=:
+ fi
done
- func_quote_for_eval ${1+"$@"}
- func_run_hooks_result=$func_quote_for_eval_result
+ $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
}
@@ -1557,10 +1655,16 @@ func_run_hooks ()
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
+# full positional parameter list in your hook function, you may remove/edit
+# any options that you action, and then pass back the remaining unprocessed
# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'. Like this:
+# 'eval'. In this case you also must return $EXIT_SUCCESS to let the
+# hook's caller know that it should pay attention to
+# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
+# arguments are left untouched by the hook and therefore caller will ignore the
+# result variable.
+#
+# Like this:
#
# my_options_prep ()
# {
@@ -1570,9 +1674,11 @@ func_run_hooks ()
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
-#
-# func_quote_for_eval ${1+"$@"}
-# my_options_prep_result=$func_quote_for_eval_result
+# # No change in '$@' (ignored completely by this hook). There is
+# # no need to do the equivalent (but slower) action:
+# # func_quote eval ${1+"$@"}
+# # my_options_prep_result=$func_quote_result
+# false
# }
# func_add_hook func_options_prep my_options_prep
#
@@ -1581,25 +1687,37 @@ func_run_hooks ()
# {
# $debug_cmd
#
+# args_changed=false
+#
# # Note that for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
-# --silent|-s) opt_silent=: ;;
+# --silent|-s) opt_silent=:
+# args_changed=:
+# ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
+# args_changed=:
# ;;
-# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# *) # Make sure the first unrecognised option "$_G_opt"
+# # is added back to "$@", we could need that later
+# # if $args_changed is true.
+# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
# esac
# done
#
-# func_quote_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_result
+# if $args_changed; then
+# func_quote eval ${1+"$@"}
+# my_silent_option_result=$func_quote_result
+# fi
+#
+# $args_changed
# }
# func_add_hook func_parse_options my_silent_option
#
@@ -1611,16 +1729,32 @@ func_run_hooks ()
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
#
-# func_quote_for_eval ${1+"$@"}
-# my_option_validation_result=$func_quote_for_eval_result
+# false
# }
# func_add_hook func_validate_options my_option_validation
#
-# You'll alse need to manually amend $usage_message to reflect the extra
+# You'll also need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+ $debug_cmd
+
+ _G_func_options_finish_exit=false
+ if func_run_hooks func_options ${1+"$@"}; then
+ func_options_finish_result=$func_run_hooks_result
+ _G_func_options_finish_exit=:
+ fi
+
+ $_G_func_options_finish_exit
+}
+
+
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
@@ -1630,17 +1764,28 @@ func_options ()
{
$debug_cmd
- func_options_prep ${1+"$@"}
- eval func_parse_options \
- ${func_options_prep_result+"$func_options_prep_result"}
- eval func_validate_options \
- ${func_parse_options_result+"$func_parse_options_result"}
+ _G_rc_options=false
- eval func_run_hooks func_options \
- ${func_validate_options_result+"$func_validate_options_result"}
+ for my_func in options_prep parse_options validate_options options_finish
+ do
+ if eval func_$my_func '${1+"$@"}'; then
+ eval _G_res_var='$'"func_${my_func}_result"
+ eval set dummy "$_G_res_var" ; shift
+ _G_rc_options=:
+ fi
+ done
- # save modified positional parameters for caller
- func_options_result=$func_run_hooks_result
+ # Save modified positional parameters for caller. As a top-level
+ # options-parser function we always need to set the 'func_options_result'
+ # variable (regardless the $_G_rc_options value).
+ if $_G_rc_options; then
+ func_options_result=$_G_res_var
+ else
+ func_quote eval ${1+"$@"}
+ func_options_result=$func_quote_result
+ fi
+
+ $_G_rc_options
}
@@ -1649,9 +1794,9 @@ func_options ()
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
+# needs to propagate that back to rest of this script, then the complete
# modified list must be put in 'func_run_hooks_result' before
-# returning.
+# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
func_hookable func_options_prep
func_options_prep ()
{
@@ -1661,10 +1806,14 @@ func_options_prep ()
opt_verbose=false
opt_warning_types=
- func_run_hooks func_options_prep ${1+"$@"}
+ _G_rc_options_prep=false
+ if func_run_hooks func_options_prep ${1+"$@"}; then
+ _G_rc_options_prep=:
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
+ fi
- # save modified positional parameters for caller
- func_options_prep_result=$func_run_hooks_result
+ $_G_rc_options_prep
}
@@ -1678,18 +1827,20 @@ func_parse_options ()
func_parse_options_result=
+ _G_rc_parse_options=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
- func_run_hooks func_parse_options ${1+"$@"}
-
- # Adjust func_parse_options positional parameters to match
- eval set dummy "$func_run_hooks_result"; shift
+ if func_run_hooks func_parse_options ${1+"$@"}; then
+ eval set dummy "$func_run_hooks_result"; shift
+ _G_rc_parse_options=:
+ fi
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
+ _G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -1704,7 +1855,10 @@ func_parse_options ()
;;
--warnings|--warning|-W)
- test $# = 0 && func_missing_arg $_G_opt && break
+ if test $# = 0 && func_missing_arg $_G_opt; then
+ _G_rc_parse_options=:
+ break
+ fi
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
@@ -1757,15 +1911,25 @@ func_parse_options ()
shift
;;
- --) break ;;
+ --) _G_rc_parse_options=: ; break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
+ _G_match_parse_options=false
+ break
+ ;;
esac
+
+ $_G_match_parse_options && _G_rc_parse_options=:
done
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_result
+
+ if $_G_rc_parse_options; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ func_parse_options_result=$func_quote_result
+ fi
+
+ $_G_rc_parse_options
}
@@ -1778,16 +1942,21 @@ func_validate_options ()
{
$debug_cmd
+ _G_rc_validate_options=false
+
# Display all warnings if -W was not given.
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
- func_run_hooks func_validate_options ${1+"$@"}
+ if func_run_hooks func_validate_options ${1+"$@"}; then
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
+ _G_rc_validate_options=:
+ fi
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
- # save modified positional parameters for caller
- func_validate_options_result=$func_run_hooks_result
+ $_G_rc_validate_options
}
@@ -2068,7 +2237,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-2
+ version: $progname $scriptversion Debian-2.4.6-2.1
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
@@ -2270,6 +2439,8 @@ libtool_options_prep ()
nonopt=
preserve_args=
+ _G_rc_lt_options_prep=:
+
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
@@ -2293,11 +2464,18 @@ libtool_options_prep ()
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
+ *)
+ _G_rc_lt_options_prep=false
+ ;;
esac
- # Pass back the list of options.
- func_quote_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_result
+ if $_G_rc_lt_options_prep; then
+ # Pass back the list of options.
+ func_quote eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_result
+ fi
+
+ $_G_rc_lt_options_prep
}
func_add_hook func_options_prep libtool_options_prep
@@ -2309,9 +2487,12 @@ libtool_parse_options ()
{
$debug_cmd
+ _G_rc_lt_parse_options=false
+
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
+ _G_match_lt_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -2386,15 +2567,22 @@ libtool_parse_options ()
func_append preserve_args " $_G_opt"
;;
- # An option not handled by this hook function:
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
+ _G_match_lt_parse_options=false
+ break
+ ;;
esac
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
done
+ if $_G_rc_lt_parse_options; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_result
+ fi
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_result
+ $_G_rc_lt_parse_options
}
func_add_hook func_parse_options libtool_parse_options
@@ -2451,8 +2639,8 @@ libtool_validate_options ()
}
# Pass back the unparsed argument list
- func_quote_for_eval ${1+"$@"}
- libtool_validate_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_result
}
func_add_hook func_validate_options libtool_validate_options
@@ -3418,8 +3606,8 @@ func_mode_compile ()
esac
done
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
+ func_quote_arg pretty "$libobj"
+ test "X$libobj" != "X$func_quote_arg_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
@@ -3492,8 +3680,8 @@ compiler."
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
+ func_quote_arg pretty "$srcfile"
+ qsrcfile=$func_quote_arg_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
@@ -4096,8 +4284,8 @@ func_mode_install ()
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
+ func_quote_arg pretty "$nonopt"
+ install_prog="$func_quote_arg_result "
arg=$1
shift
else
@@ -4107,8 +4295,8 @@ func_mode_install ()
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
- func_quote_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog "$func_quote_arg_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
@@ -4165,12 +4353,12 @@ func_mode_install ()
esac
# Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog " $func_quote_arg_result"
if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
+ func_quote_arg pretty "$arg2"
fi
- func_append install_shared_prog " $func_quote_for_eval_result"
+ func_append install_shared_prog " $func_quote_arg_result"
done
test -z "$install_prog" && \
@@ -4181,8 +4369,8 @@ func_mode_install ()
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
- func_quote_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_result"
+ func_quote_arg pretty "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_arg_result"
fi
fi
@@ -4478,8 +4666,8 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$relink_command"
+ eval "func_echo $func_quote_arg_result"
}
if eval "$relink_command"; then :
else
@@ -5258,7 +5446,8 @@ else
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty "$ECHO"
+ qECHO=$func_quote_arg_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
@@ -5268,7 +5457,7 @@ func_fallback_echo ()
\$1
_LTECHO_EOF'
}
- ECHO=\"$qECHO\"
+ ECHO=$qECHO
fi
# Very basic option parsing. These options are (a) specific to
@@ -6611,9 +6800,9 @@ func_mode_link ()
while test "$#" -gt 0; do
arg=$1
shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
+ func_quote_arg pretty,unquoted "$arg"
+ qarg=$func_quote_arg_unquoted_result
+ func_append libtool_args " $func_quote_arg_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
@@ -7211,9 +7400,9 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $func_quote_arg_result"
+ func_append compiler_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7227,10 +7416,10 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $wl$func_quote_arg_result"
+ func_append compiler_flags " $wl$func_quote_arg_result"
+ func_append linker_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7254,8 +7443,8 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -7279,8 +7468,8 @@ func_mode_link ()
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-specs=*|-fsanitize=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
@@ -7301,15 +7490,15 @@ func_mode_link ()
continue
else
# Otherwise treat like 'Some other compiler flag' below
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
fi
;;
# Some other compiler flag.
-* | +*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
*.$objext)
@@ -7429,8 +7618,8 @@ func_mode_link ()
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
esac # arg
@@ -9942,8 +10131,8 @@ EOF
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10036,8 +10225,8 @@ EOF
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10511,12 +10700,12 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty "$var_value"
+ relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
fi
done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
+ relink_command=$func_quote_arg_unquoted_result
fi
# Only actually do things if not in dry run mode.
@@ -10756,13 +10945,14 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty,unquoted "$var_value"
+ relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty,unquoted "$relink_command"
+ relink_command=$func_quote_arg_unquoted_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
diff --git a/configure b/configure
index b23a0be..1ec7ea1 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dbus-python 1.2.6.
+# Generated by GNU Autoconf 2.69 for dbus-python 1.2.8.
#
# Report bugs to <http://bugs.freedesktop.org/enter_bug.cgi?product=dbus&component=python>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dbus-python'
PACKAGE_TARNAME='dbus-python'
-PACKAGE_VERSION='1.2.6'
-PACKAGE_STRING='dbus-python 1.2.6'
+PACKAGE_VERSION='1.2.8'
+PACKAGE_STRING='dbus-python 1.2.8'
PACKAGE_BUGREPORT='http://bugs.freedesktop.org/enter_bug.cgi?product=dbus&component=python'
PACKAGE_URL=''
@@ -647,14 +647,9 @@ DBUS_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
-ENABLE_DOCS_FALSE
-ENABLE_DOCS_TRUE
-ENABLE_API_DOCS_FALSE
-ENABLE_API_DOCS_TRUE
-RST2HTMLFLAGS
-RST2HTML
+ENABLE_DOCUMENTATION_FALSE
+ENABLE_DOCUMENTATION_TRUE
DBUS_RUN_SESSION
-EPYDOC
GENERATE_CHANGELOG_RULES
GIT
ENABLE_INSTALLED_TESTS_FALSE
@@ -814,8 +809,7 @@ with_gnu_ld
with_sysroot
enable_libtool_lock
enable_installed_tests
-enable_html_docs
-enable_api_docs
+enable_documentation
enable_compile_warnings
enable_Werror
enable_coding_style_checks
@@ -1395,7 +1389,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dbus-python 1.2.6 to adapt to many kinds of systems.
+\`configure' configures dbus-python 1.2.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1466,7 +1460,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dbus-python 1.2.6:";;
+ short | recursive ) echo "Configuration of dbus-python 1.2.8:";;
esac
cat <<\_ACEOF
@@ -1491,10 +1485,8 @@ Optional Features:
--enable-installed tests
install test programs and helpers for as-installed
testing
- --enable-html-docs Enable HTML documentation building (requires
- docutils, default: auto-detect)
- --enable-api-docs Enable API documentation building (requires epydoc 3
- and docutils)
+ --enable-documentation Enable documentation building (requires sphinx and
+ sphinx_rtd_theme)
--enable-compile-warnings=[no/yes/error]
Enable compiler warnings and errors
--disable-Werror Unconditionally make all compiler warnings non-fatal
@@ -1620,7 +1612,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dbus-python configure 1.2.6
+dbus-python configure 1.2.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1989,7 +1981,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dbus-python $as_me 1.2.6, which was
+It was created by dbus-python $as_me 1.2.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2460,9 +2452,9 @@ $as_echo "#define DBUS_PYTHON_MINOR_VERSION 2" >>confdefs.h
DBUS_PYTHON_MINOR_VERSION=2
-$as_echo "#define DBUS_PYTHON_MICRO_VERSION 6" >>confdefs.h
+$as_echo "#define DBUS_PYTHON_MICRO_VERSION 8" >>confdefs.h
-DBUS_PYTHON_MICRO_VERSION=6
+DBUS_PYTHON_MICRO_VERSION=8
@@ -4286,7 +4278,7 @@ fi
# Define the identity of the package.
PACKAGE='dbus-python'
- VERSION='1.2.6'
+ VERSION='1.2.8'
cat >>confdefs.h <<_ACEOF
@@ -13108,33 +13100,13 @@ dist-ChangeLog:
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you want to build HTML docs" >&5
-$as_echo_n "checking whether you want to build HTML docs... " >&6; }
-# Check whether --enable-html-docs was given.
-if test "${enable_html_docs+set}" = set; then :
- enableval=$enable_html_docs; enable_html_docs=$enableval
+# Check whether --enable-documentation was given.
+if test "${enable_documentation+set}" = set; then :
+ enableval=$enable_documentation; :
else
- enable_html_docs="if possible"
+ enable_documentation=auto
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_html_docs" >&5
-$as_echo "$enable_html_docs" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether you want to build API docs" >&5
-$as_echo_n "checking whether you want to build API docs... " >&6; }
-# Check whether --enable-api-docs was given.
-if test "${enable_api_docs+set}" = set; then :
- enableval=$enable_api_docs; enable_api_docs=$enableval
-else
- enable_api_docs="if possible"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_api_docs" >&5
-$as_echo "$enable_api_docs" >&6; }
-
-
-if test "$enable_api_docs" != no || test "$enable_html_docs" != no; then :
-
if test -z $PYTHON;
then
@@ -13146,84 +13118,35 @@ if test "$enable_api_docs" != no || test "$enable_html_docs" != no; then :
fi
fi
PYTHON_NAME=`basename $PYTHON`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: docutils" >&5
-$as_echo_n "checking $PYTHON_NAME module: docutils... " >&6; }
- $PYTHON -c "import docutils" 2>/dev/null
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: sphinx" >&5
+$as_echo_n "checking $PYTHON_NAME module: sphinx... " >&6; }
+ $PYTHON -c "import sphinx" 2>/dev/null
if test $? -eq 0;
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- eval HAVE_PYMOD_DOCUTILS=yes
+ eval HAVE_PYMOD_SPHINX=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- eval HAVE_PYMOD_DOCUTILS=no
+ eval HAVE_PYMOD_SPHINX=no
#
if test -n ""
then
- as_fn_error $? "failed to find required module docutils" "$LINENO" 5
+ as_fn_error $? "failed to find required module sphinx" "$LINENO" 5
exit 1
fi
fi
- if test "$HAVE_PYMOD_DOCUTILS" = no; then :
+if test "x$HAVE_PYMOD_SPHINX" = xno; then :
- if test "$enable_api_docs" = "if possible"; then :
- enable_api_docs=no
-fi
- if test "$enable_html_docs" = "if possible"; then :
- enable_html_docs=no
-fi
- if test "$enable_api_docs" != no || test "$enable_html_docs" != no; then :
- as_fn_error $? "cannot compile HTML documentation or API documentation without python-docutils installed" "$LINENO" 5
-fi
-
-fi
-
-fi
-
-if test "${enable_api_docs}" != no; then :
-
- # Extract the first word of "epydoc", so it can be a program name with args.
-set dummy epydoc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_EPYDOC+:} false; then :
- $as_echo_n "(cached) " >&6
+ if test "$enable_documentation" = yes; then :
+ as_fn_error $? "cannot build documentation without sphinx Python module" "$LINENO" 5
else
- case $EPYDOC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_EPYDOC="$EPYDOC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_EPYDOC="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-EPYDOC=$ac_cv_path_EPYDOC
-if test -n "$EPYDOC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EPYDOC" >&5
-$as_echo "$EPYDOC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ enable_documentation=no
fi
-
+fi
if test -z $PYTHON;
then
@@ -13235,63 +13158,32 @@ fi
fi
fi
PYTHON_NAME=`basename $PYTHON`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: epydoc" >&5
-$as_echo_n "checking $PYTHON_NAME module: epydoc... " >&6; }
- $PYTHON -c "import epydoc" 2>/dev/null
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: sphinx_rtd_theme" >&5
+$as_echo_n "checking $PYTHON_NAME module: sphinx_rtd_theme... " >&6; }
+ $PYTHON -c "import sphinx_rtd_theme" 2>/dev/null
if test $? -eq 0;
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- eval HAVE_PYMOD_EPYDOC=yes
+ eval HAVE_PYMOD_SPHINX_RTD_THEME=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- eval HAVE_PYMOD_EPYDOC=no
+ eval HAVE_PYMOD_SPHINX_RTD_THEME=no
#
if test -n ""
then
- as_fn_error $? "failed to find required module epydoc" "$LINENO" 5
+ as_fn_error $? "failed to find required module sphinx_rtd_theme" "$LINENO" 5
exit 1
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking epydoc 3" >&5
-$as_echo_n "checking epydoc 3... " >&6; }
- if test -n "$EPYDOC" && test "$HAVE_PYMOD_EPYDOC" = yes; then :
-
- EPYDOC_VERSION=`$EPYDOC --version`
- case "$EPYDOC_VERSION" in #(
- *ersion?3*) :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $EPYDOC_VERSION" >&5
-$as_echo "yes, $EPYDOC_VERSION" >&6; }
- ;; #(
- *) :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, $EPYDOC_VERSION" >&5
-$as_echo "no, $EPYDOC_VERSION" >&6; }
- EPYDOC=
- ;; #(
- *) :
- ;;
-esac
+if test "x$HAVE_PYMOD_SPHINX_RTD_THEME" = xno; then :
+ if test "$enable_documentation" = yes; then :
+ as_fn_error $? "cannot build documentation without sphinx_rtd_theme Python module" "$LINENO" 5
else
-
- EPYDOC=
-
-fi
- if test -z "$EPYDOC"; then :
-
- case "$enable_api_docs" in #(
- if*possible) :
- enable_api_docs=no ;; #(
- *) :
- as_fn_error $? "cannot compile API documentation without epydoc 3.0beta1 or newer installed" "$LINENO" 5 ;; #(
- *) :
- ;;
-esac
-
+ enable_documentation=no
fi
fi
@@ -13339,285 +13231,12 @@ fi
-RST2HTMLFLAGS=
-if test "${enable_html_docs}" != no; then :
-
- for ac_prog in rst2html rst2html.py
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RST2HTML+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RST2HTML"; then
- ac_cv_prog_RST2HTML="$RST2HTML" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RST2HTML="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RST2HTML=$ac_cv_prog_RST2HTML
-if test -n "$RST2HTML"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RST2HTML" >&5
-$as_echo "$RST2HTML" >&6; }
+ if test "$enable_documentation" != no; then
+ ENABLE_DOCUMENTATION_TRUE=
+ ENABLE_DOCUMENTATION_FALSE='#'
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$RST2HTML" && break
-done
-
- if test -z "$RST2HTML"; then :
-
- case "$enable_html_docs" in #(
- if*possible) :
- enable_html_docs=no ;; #(
- *) :
- as_fn_error $? "cannot compile HTML documentation without rst2html installed" "$LINENO" 5 ;; #(
- *) :
- ;;
-esac
-
-fi
-
-else
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--generator[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --generator"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --generator" >&5
-$as_echo_n "checking whether $RST2HTML understands --generator... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--date[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --date"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --date" >&5
-$as_echo_n "checking whether $RST2HTML understands --date... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--time[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --time"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --time" >&5
-$as_echo_n "checking whether $RST2HTML understands --time... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--exit-status=2[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --exit-status=2"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --exit-status=2" >&5
-$as_echo_n "checking whether $RST2HTML understands --exit-status=2... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--no-raw[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --no-raw"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --no-raw" >&5
-$as_echo_n "checking whether $RST2HTML understands --no-raw... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--no-file-insertion[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --no-file-insertion"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --no-file-insertion" >&5
-$as_echo_n "checking whether $RST2HTML understands --no-file-insertion... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--cloak-email-addresses[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --cloak-email-addresses"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --cloak-email-addresses" >&5
-$as_echo_n "checking whether $RST2HTML understands --cloak-email-addresses... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-case " $RST2HTMLFLAGS " in #(
- *[\ \ ]--input-encoding=UTF-8[\ \ ]*) :
- ;; #(
- *) :
-
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS --input-encoding=UTF-8"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $RST2HTML understands --input-encoding=UTF-8" >&5
-$as_echo_n "checking whether $RST2HTML understands --input-encoding=UTF-8... " >&6; }
- if $RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null; then :
- dbuspy_has_option=yes
-else
- dbuspy_has_option=no
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dbuspy_has_option" >&5
-$as_echo "$dbuspy_has_option" >&6; }
- if test $dbuspy_has_option = no; then :
- RST2HTMLFLAGS="$save_RST2HTMLFLAGS"
-fi
- ;; #(
- *) :
- ;;
-esac
-
-
-fi
-
-
-
- if test "$enable_api_docs" != no; then
- ENABLE_API_DOCS_TRUE=
- ENABLE_API_DOCS_FALSE='#'
-else
- ENABLE_API_DOCS_TRUE='#'
- ENABLE_API_DOCS_FALSE=
-fi
-
- if test "$enable_html_docs" != no; then
- ENABLE_DOCS_TRUE=
- ENABLE_DOCS_FALSE='#'
-else
- ENABLE_DOCS_TRUE='#'
- ENABLE_DOCS_FALSE=
+ ENABLE_DOCUMENTATION_TRUE='#'
+ ENABLE_DOCUMENTATION_FALSE=
fi
@@ -15172,12 +14791,8 @@ if test -z "${ENABLE_INSTALLED_TESTS_TRUE}" && test -z "${ENABLE_INSTALLED_TESTS
as_fn_error $? "conditional \"ENABLE_INSTALLED_TESTS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${ENABLE_API_DOCS_TRUE}" && test -z "${ENABLE_API_DOCS_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_API_DOCS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ENABLE_DOCS_TRUE}" && test -z "${ENABLE_DOCS_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_DOCS\" was never defined.
+if test -z "${ENABLE_DOCUMENTATION_TRUE}" && test -z "${ENABLE_DOCUMENTATION_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_DOCUMENTATION\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
@@ -15577,7 +15192,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dbus-python $as_me 1.2.6, which was
+This file was extended by dbus-python $as_me 1.2.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15643,7 +15258,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-dbus-python config.status 1.2.6
+dbus-python config.status 1.2.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index be22583..e21ff2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@ dnl The dbus-python version number
m4_define(dbus_python_major_version, 1)
m4_define(dbus_python_minor_version, 2)
dnl Micro version is odd for non-releases
-m4_define(dbus_python_micro_version, 6)
+m4_define(dbus_python_micro_version, 8)
AC_INIT([dbus-python],
dbus_python_major_version.dbus_python_minor_version.dbus_python_micro_version,
@@ -99,93 +99,31 @@ dnl Building documentation
AX_GENERATE_CHANGELOG
-AC_MSG_CHECKING([whether you want to build HTML docs])
-AC_ARG_ENABLE(html-docs,
-AC_HELP_STRING([--enable-html-docs], [Enable HTML documentation building (requires docutils, default: auto-detect)]), enable_html_docs=$enableval, enable_html_docs="if possible")
-AC_MSG_RESULT([$enable_html_docs])
-
-AC_MSG_CHECKING([whether you want to build API docs])
-AC_ARG_ENABLE(api-docs,
-AC_HELP_STRING([--enable-api-docs], [Enable API documentation building (requires epydoc 3 and docutils)]), enable_api_docs=$enableval, enable_api_docs="if possible")
-AC_MSG_RESULT([$enable_api_docs])
-
-
-AS_IF([test "$enable_api_docs" != no || test "$enable_html_docs" != no],
+AC_ARG_ENABLE([documentation],
+ [AC_HELP_STRING([--enable-documentation],
+ [Enable documentation building (requires sphinx and sphinx_rtd_theme)])],
+ [:],
+ [enable_documentation=auto])
+AX_PYTHON_MODULE([sphinx])
+AS_IF([test "x$HAVE_PYMOD_SPHINX" = xno],
[
- AX_PYTHON_MODULE([docutils])
- AS_IF([test "$HAVE_PYMOD_DOCUTILS" = no],
- [
- AS_IF([test "$enable_api_docs" = "if possible"], [enable_api_docs=no])
- AS_IF([test "$enable_html_docs" = "if possible"], [enable_html_docs=no])
- AS_IF([test "$enable_api_docs" != no || test "$enable_html_docs" != no],
- [AC_MSG_ERROR([cannot compile HTML documentation or API documentation without python-docutils installed])])
- ])
+ AS_IF([test "$enable_documentation" = yes],
+ [AC_MSG_ERROR([cannot build documentation without sphinx Python module])],
+ [enable_documentation=no])
])
-
-AS_IF([test "${enable_api_docs}" != no],
+AX_PYTHON_MODULE([sphinx_rtd_theme])
+AS_IF([test "x$HAVE_PYMOD_SPHINX_RTD_THEME" = xno],
[
- AC_PATH_PROG([EPYDOC], [epydoc])
- AX_PYTHON_MODULE([epydoc])
- AC_MSG_CHECKING([epydoc 3])
- AS_IF([test -n "$EPYDOC" && test "$HAVE_PYMOD_EPYDOC" = yes],
- [
- EPYDOC_VERSION=`$EPYDOC --version`
- AS_CASE(["$EPYDOC_VERSION"],
- [*ersion?3*],
- [
- AC_MSG_RESULT([yes, $EPYDOC_VERSION])
- ],
- [*],
- [
- AC_MSG_RESULT([no, $EPYDOC_VERSION])
- EPYDOC=
- ])
- ],
- [
- EPYDOC=
- ])
- AS_IF([test -z "$EPYDOC"],
- [
- AS_CASE(["$enable_api_docs"],
- [if*possible],
- [enable_api_docs=no],
- [*],
- [AC_MSG_ERROR([cannot compile API documentation without epydoc 3.0beta1 or newer installed])])
- ])
+ AS_IF([test "$enable_documentation" = yes],
+ [AC_MSG_ERROR([cannot build documentation without sphinx_rtd_theme Python module])],
+ [enable_documentation=no])
])
AC_ARG_VAR([DBUS_RUN_SESSION],
[The dbus-run-session tool from dbus 1.8 or later])
AC_PATH_PROG([DBUS_RUN_SESSION], [dbus-run-session], [dbus-run-session])
-RST2HTMLFLAGS=
-AS_IF([test "${enable_html_docs}" != no],
- [
- AC_CHECK_PROGS([RST2HTML], [rst2html rst2html.py], [])
- AS_IF([test -z "$RST2HTML"],
- [
- AS_CASE(["$enable_html_docs"],
- [if*possible],
- [enable_html_docs=no],
- [*],
- [AC_MSG_ERROR([cannot compile HTML documentation without rst2html installed])])
- ])
- ],
- [
- DBUS_PY_ADD_RST2HTMLFLAG([--generator])
- DBUS_PY_ADD_RST2HTMLFLAG([--date])
- DBUS_PY_ADD_RST2HTMLFLAG([--time])
- DBUS_PY_ADD_RST2HTMLFLAG([--exit-status=2])
- DBUS_PY_ADD_RST2HTMLFLAG([--no-raw])
- DBUS_PY_ADD_RST2HTMLFLAG([--no-file-insertion])
- DBUS_PY_ADD_RST2HTMLFLAG([--cloak-email-addresses])
- DBUS_PY_ADD_RST2HTMLFLAG([--input-encoding=UTF-8])
- ])
-AC_SUBST([RST2HTML])
-AC_SUBST([RST2HTMLFLAGS])
-
-AM_CONDITIONAL([ENABLE_API_DOCS], [test "$enable_api_docs" != no])
-AM_CONDITIONAL([ENABLE_DOCS], [test "$enable_html_docs" != no])
+AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "$enable_documentation" != no])
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.8])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.40])
diff --git a/dbus-gmain/Makefile.in b/dbus-gmain/Makefile.in
index a20ab28..6ca4d4b 100644
--- a/dbus-gmain/Makefile.in
+++ b/dbus-gmain/Makefile.in
@@ -109,7 +109,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/m4/ax_python_devel.m4 \
$(top_srcdir)/m4/ax_python_module.m4 \
$(top_srcdir)/m4/ax_require_defined.m4 \
- $(top_srcdir)/m4/dbus-py-add-rst2htmlflag.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
@@ -464,7 +463,6 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EPYDOC = @EPYDOC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GIT = @GIT@
@@ -519,8 +517,6 @@ PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
-RST2HTML = @RST2HTML@
-RST2HTMLFLAGS = @RST2HTMLFLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
diff --git a/dbus/__init__.py b/dbus/__init__.py
index e96bd99..a2aeac9 100644
--- a/dbus/__init__.py
+++ b/dbus/__init__.py
@@ -1,12 +1,6 @@
"""\
Implements the public API for a D-Bus client. See the dbus.service module
to export objects or claim well-known names.
-
-..
- for epydoc's benefit
-
-:NewField SupportedUsage: Supported usage
-:NewField Constructor: Constructor
"""
# Copyright (C) 2003, 2004, 2005, 2006 Red Hat Inc. <http://www.redhat.com/>
diff --git a/dbus/gi_service.py b/dbus/gi_service.py
index c182d0a..e091771 100644
--- a/dbus/gi_service.py
+++ b/dbus/gi_service.py
@@ -74,9 +74,7 @@ def ExportedGObject__init__(self, conn=None, object_path=None, **kwargs):
bus_name=bus_name)
ExportedGObject__doc__ = '''
-A GObject which is exported on the D-Bus.
-
-:undocumented: __gtype__
+A GObject which is exported on D-Bus.
'''
ExportedGObject = ExportedGObjectType(
diff --git a/dbus/gobject_service.py b/dbus/gobject_service.py
index 3d096c4..ef16009 100644
--- a/dbus/gobject_service.py
+++ b/dbus/gobject_service.py
@@ -55,8 +55,6 @@ class ExportedGObject(gobject.GObject, dbus.service.Object):
the naive approach using simple multiple inheritance won't work. This
class has `ExportedGObjectType` as its metaclass, which is sufficient
to make it work correctly.
-
- :undocumented: __gtype__
"""
__metaclass__ = ExportedGObjectType
diff --git a/dbus/service.py b/dbus/service.py
index 2953229..6093ac5 100644
--- a/dbus/service.py
+++ b/dbus/service.py
@@ -75,11 +75,11 @@ class BusName(object):
If a well-known name is requested multiple times, multiple references
to the same BusName object will be returned.
- Caveats
- -------
- - Assumes that named services are only ever requested using this class -
- if you request names from the bus directly, confusion may occur.
- - Does not handle queueing.
+ :Caveats:
+
+ - Assumes that named services are only ever requested using this class -
+ if you request names from the bus directly, confusion may occur.
+ - Does not handle queueing.
"""
def __new__(cls, name, bus=None, allow_replacement=False , replace_existing=False, do_not_queue=False):
"""Constructor, which may either return an existing cached object
diff --git a/dbus_bindings/bytes.c b/dbus_bindings/bytes.c
index b0ff817..873a2fa 100644
--- a/dbus_bindings/bytes.c
+++ b/dbus_bindings/bytes.c
@@ -37,22 +37,22 @@
#endif
PyDoc_STRVAR(Byte_tp_doc,
+"dbus.Byte(integer or bytes of length 1[, variant_level])\n"
+"\n"
"An unsigned byte: a subtype of int, with range restricted to [0, 255].\n"
"\n"
-"A Byte b may be converted to a str of length 1 via str(b) == chr(b).\n"
+"A Byte `b` may be converted to a ``str`` of length 1 via\n"
+"``str(b) == chr(b)`` (Python 2) or to a ``bytes`` of length 1\n"
+"via ``bytes([b])`` (Python 3).\n"
"\n"
"Most of the time you don't want to use this class - it mainly exists\n"
"for symmetry with the other D-Bus types. See `dbus.ByteArray` for a\n"
"better way to handle arrays of Byte.\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.Byte(integer or str of length 1[, variant_level])\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a byte, this is represented in Python by a\n"
@@ -204,8 +204,12 @@ PyTypeObject DBusPyByte_Type = {
#endif
PyDoc_STRVAR(ByteArray_tp_doc,
-"ByteArray is a subtype of str which can be used when you want an\n"
-"efficient immutable representation of a D-Bus byte array (signature 'ay').\n"
+"ByteArray(str)\n"
+"\n"
+"ByteArray is a subtype of :py:class:`bytes` (an alias for\n"
+":py:class:`str` in Python 2 but a distinct type in Python 3)\n"
+"which can be used when you want an\n"
+"efficient immutable representation of a D-Bus byte array (signature ``ay``).\n"
"\n"
"By default, when byte arrays are converted from D-Bus to Python, they\n"
"come out as a `dbus.Array` of `dbus.Byte`. This is just for symmetry with\n"
diff --git a/dbus_bindings/conn.c b/dbus_bindings/conn.c
index 9ef1487..739f305 100644
--- a/dbus_bindings/conn.c
+++ b/dbus_bindings/conn.c
@@ -31,11 +31,9 @@
/* Connection definition ============================================ */
PyDoc_STRVAR(Connection_tp_doc,
-"A D-Bus connection.\n"
-"\n"
-"::\n"
+"_dbus_bindings.Connection(address, mainloop=None)\n"
"\n"
-" Connection(address, mainloop=None) -> Connection\n"
+"A D-Bus connection.\n"
);
/* D-Bus Connection user data slot, containing an owned reference to either
diff --git a/dbus_bindings/containers.c b/dbus_bindings/containers.c
index e364f98..26f983b 100644
--- a/dbus_bindings/containers.c
+++ b/dbus_bindings/containers.c
@@ -33,6 +33,8 @@
/* Array ============================================================ */
PyDoc_STRVAR(Array_tp_doc,
+"dbus.Array([iterable][, signature][, variant_level])\n"
+"\n"
"An array of similar items, implemented as a subtype of list.\n"
"\n"
"As currently implemented, an Array behaves just like a list, but\n"
@@ -40,11 +42,7 @@ PyDoc_STRVAR(Array_tp_doc,
"conversion of its items to D-Bus types is only done when it's sent in\n"
"a Message. This might change in future so validation is done earlier.\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.Array([iterable][, signature][, variant_level])\n"
-"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
"\n"
"``signature`` is the D-Bus signature string for a single element of the\n"
"array, or None. If not None it must represent a single complete type, the\n"
@@ -53,13 +51,6 @@ PyDoc_STRVAR(Array_tp_doc,
"\n"
"If None (the default), when the Array is sent over\n"
"D-Bus, the item signature will be guessed from the first element.\n"
-"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
-" Indicates how many nested Variant containers this object\n"
-" is contained in: if a message's wire format has a variant containing a\n"
-" variant containing an array, this is represented in Python by an\n"
-" Array with variant_level==2.\n"
);
static struct PyMemberDef Array_tp_members[] = {
@@ -68,8 +59,11 @@ static struct PyMemberDef Array_tp_members[] = {
"instance)"},
{"variant_level", T_LONG, offsetof(DBusPyArray, variant_level),
READONLY,
- "The number of nested variants wrapping the real data. "
- "0 if not in a variant."},
+ "Indicates how many nested Variant containers this object\n"
+ "is contained in: if a message's wire format has a variant containing a\n"
+ "variant containing an array, this is represented in Python by an\n"
+ "Array with variant_level==2.\n"
+ },
{NULL},
};
@@ -265,6 +259,8 @@ PyTypeObject DBusPyArray_Type = {
/* Dict ============================================================= */
PyDoc_STRVAR(Dict_tp_doc,
+"dbus.Dictionary(mapping_or_iterable=(), signature=None, variant_level=0)\n"
+"\n"
"An mapping whose keys are similar and whose values are similar,\n"
"implemented as a subtype of dict.\n"
"\n"
@@ -273,11 +269,7 @@ PyDoc_STRVAR(Dict_tp_doc,
"conversion of its items to D-Bus types is only done when it's sent in\n"
"a Message. This may change in future so validation is done earlier.\n"
"\n"
-"Constructor::\n"
-"\n"
-" Dictionary(mapping_or_iterable=(), signature=None, variant_level=0)\n"
-"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
"\n"
"``signature`` is either a string or None. If a string, it must consist\n"
"of exactly two complete type signatures, representing the 'key' type\n"
@@ -288,13 +280,6 @@ PyDoc_STRVAR(Dict_tp_doc,
"If it is None (the default), when the Dictionary is sent over\n"
"D-Bus, the key and value signatures will be guessed from an arbitrary\n"
"element of the Dictionary.\n"
-"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
-" Indicates how many nested Variant containers this object\n"
-" is contained in: if a message's wire format has a variant containing a\n"
-" variant containing an array of DICT_ENTRY, this is represented in\n"
-" Python by a Dictionary with variant_level==2.\n"
);
static struct PyMemberDef Dict_tp_members[] = {
@@ -303,8 +288,11 @@ static struct PyMemberDef Dict_tp_members[] = {
"that of each value in this Dictionary, as a Signature instance."},
{"variant_level", T_LONG, offsetof(DBusPyDict, variant_level),
READONLY,
- "The number of nested variants wrapping the real data. "
- "0 if not in a variant."},
+ "Indicates how many nested Variant containers this object\n"
+ "is contained in: if a message's wire format has a variant containing a\n"
+ "variant containing a dictionary, this is represented in Python by a\n"
+ "Dictionary with variant_level==2.\n"
+ },
{NULL},
};
@@ -524,11 +512,9 @@ PyTypeObject DBusPyDict_Type = {
static PyObject *struct_signatures;
PyDoc_STRVAR(Struct_tp_doc,
-"An structure containing items of possibly distinct types.\n"
-"\n"
-"Constructor::\n"
+"dbus.Struct(iterable, signature=None, variant_level=0)\n"
"\n"
-" dbus.Struct(iterable, signature=None, variant_level=0) -> Struct\n"
+"An structure containing items of possibly distinct types.\n"
"\n"
"D-Bus structs may not be empty, so the iterable argument is required and\n"
"may not be an empty iterable.\n"
@@ -540,10 +526,10 @@ PyDoc_STRVAR(Struct_tp_doc,
"If the signature is None (default) it will be guessed\n"
"from the types of the items during construction.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a struct, this is represented in Python by a\n"
diff --git a/dbus_bindings/int.c b/dbus_bindings/int.c
index 66ad9e0..109d4c7 100644
--- a/dbus_bindings/int.c
+++ b/dbus_bindings/int.c
@@ -29,8 +29,10 @@
#ifdef PY3
#define INTBASE (DBusPyLongBase_Type)
+#define LONG_TYPE_NAME "int"
#else
#define INTBASE (DBusPyIntBase_Type)
+#define LONG_TYPE_NAME "long"
#endif
/* Specific types =================================================== */
@@ -38,19 +40,17 @@
/* Boolean, a subclass of DBusPythonInt ============================= */
PyDoc_STRVAR(Boolean_tp_doc,
-"A boolean, represented as a subtype of `int` (not `bool`, because `bool`\n"
-"cannot be subclassed).\n"
-"\n"
-"Constructor::\n"
+"dbus.Boolean(value: bool[, variant_level: int])\n"
"\n"
-" dbus.Boolean(value[, variant_level]) -> Boolean\n"
+"A boolean, represented as a subtype of ``int`` (not ``bool``, because ``bool``\n"
+"cannot be subclassed).\n"
"\n"
"``value`` is converted to 0 or 1 as if by ``int(bool(value))``.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a boolean, this is represented in Python by a\n"
@@ -148,20 +148,18 @@ PyTypeObject DBusPyBoolean_Type = {
/* Int16 ============================================================ */
PyDoc_STRVAR(Int16_tp_doc,
+"dbus.Int16(value: int[, variant_level: int])\n"
+"\n"
"A signed 16-bit integer between -0x8000 and +0x7FFF, represented as\n"
"a subtype of `int`.\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.Int16(value: int[, variant_level: int]) -> Int16\n"
-"\n"
"value must be within the allowed range, or OverflowError will be\n"
"raised.\n"
"\n"
" variant_level must be non-negative; the default is 0.\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
+".. py:attribute:: variant_level\n"
+"\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing an int16, this is represented in Python by an\n"
@@ -238,20 +236,18 @@ PyTypeObject DBusPyInt16_Type = {
/* UInt16 =========================================================== */
PyDoc_STRVAR(UInt16_tp_doc,
-"An unsigned 16-bit integer between 0 and 0xFFFF, represented as\n"
-"a subtype of `int`.\n"
-"\n"
-"Constructor::\n"
+"dbus.UInt16(value: int[, variant_level: int])\n"
"\n"
-" dbus.UInt16(value: int[, variant_level: int]) -> UInt16\n"
+"An unsigned 16-bit integer between 0 and 0xFFFF, represented as\n"
+"a subtype of ``int``.\n"
"\n"
"``value`` must be within the allowed range, or `OverflowError` will be\n"
"raised.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a uint16, this is represented in Python by a\n"
@@ -330,20 +326,18 @@ PyTypeObject DBusPyUInt16_Type = {
/* Int32 ============================================================ */
PyDoc_STRVAR(Int32_tp_doc,
-"A signed 32-bit integer between -0x8000 0000 and +0x7FFF FFFF, represented as\n"
-"a subtype of `int`.\n"
-"\n"
-"Constructor::\n"
+"dbus.Int32(value: int[, variant_level: int])\n"
"\n"
-" dbus.Int32(value: int[, variant_level: int]) -> Int32\n"
+"A signed 32-bit integer between -0x8000 0000 and +0x7FFF FFFF, represented as\n"
+"a subtype of ``int``.\n"
"\n"
"``value`` must be within the allowed range, or `OverflowError` will be\n"
"raised.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing an int32, this is represented in Python by an\n"
@@ -420,23 +414,18 @@ PyTypeObject DBusPyInt32_Type = {
/* UInt32 =========================================================== */
PyDoc_STRVAR(UInt32_tp_doc,
-"An unsigned 32-bit integer between 0 and 0xFFFF FFFF, represented as a\n"
-"subtype of `long`.\n"
-"\n"
-"Note that this may be changed in future to be a subtype of `int` on\n"
-"64-bit platforms; applications should not rely on either behaviour.\n"
-"\n"
-"Constructor::\n"
+"dbus.UInt32(value: " LONG_TYPE_NAME "[, variant_level: int])\n"
"\n"
-" dbus.UInt32(value: long[, variant_level: int]) -> UInt32\n"
+"An unsigned 32-bit integer between 0 and 0xFFFF FFFF, represented as a\n"
+"subtype of ``long`` in Python 2 or ``int`` in Python 3.\n"
"\n"
"``value`` must be within the allowed range, or `OverflowError` will be\n"
"raised.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a uint32, this is represented in Python by a\n"
@@ -521,26 +510,22 @@ PyTypeObject DBusPyUInt32_Type = {
/* Int64 =========================================================== */
PyDoc_STRVAR(Int64_tp_doc,
+"dbus.Int64(value: " LONG_TYPE_NAME "[, variant_level: int])\n"
+"\n"
"A signed 64-bit integer between -0x8000 0000 0000 0000 and\n"
-"+0x7FFF FFFF FFFF FFFF, represented as a subtype of `long`.\n"
+"+0x7FFF FFFF FFFF FFFF, represented as a\n"
+"subtype of ``long`` in Python 2 or ``int`` in Python 3.\n"
"\n"
"Note that this may be changed in future to be a subtype of `int` on\n"
"64-bit platforms; applications should not rely on either behaviour.\n"
"\n"
-"This type only works on platforms where the C compiler has suitable\n"
-"64-bit types, such as C99 ``long long``.\n"
-"\n"
-"Constructor::\n"
-"\n"
-" dbus.Int64(value: long[, variant_level: int]) -> Int64\n"
-"\n"
"``value`` must be within the allowed range, or `OverflowError` will be\n"
"raised.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing an int64, this is represented in Python by an\n"
@@ -631,23 +616,18 @@ PyTypeObject DBusPyInt64_Type = {
/* UInt64 =========================================================== */
PyDoc_STRVAR(UInt64_tp_doc,
-"An unsigned 64-bit integer between 0 and 0xFFFF FFFF FFFF FFFF,\n"
-"represented as a subtype of `long`.\n"
+"dbus.UInt64(value: " LONG_TYPE_NAME "[, variant_level: int])\n"
"\n"
-"This type only exists on platforms where the C compiler has suitable\n"
-"64-bit types, such as C99 ``unsigned long long``.\n"
-"\n"
-"Constructor::\n"
-"\n"
-" dbus.UInt64(value: long[, variant_level: int]) -> UInt64\n"
+"An unsigned 64-bit integer between 0 and 0xFFFF FFFF FFFF FFFF,\n"
+"subtype of ``long`` in Python 2 or ``int`` in Python 3.\n"
"\n"
"``value`` must be within the allowed range, or `OverflowError` will be\n"
"raised.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a uint64, this is represented in Python by a\n"
diff --git a/dbus_bindings/message-append.c b/dbus_bindings/message-append.c
index d20b493..0480ceb 100644
--- a/dbus_bindings/message-append.c
+++ b/dbus_bindings/message-append.c
@@ -70,7 +70,8 @@ get_variant_level(PyObject *obj)
}
char dbus_py_Message_append__doc__[] = (
-"set_args(*args[, **kwargs])\n\n"
+"message.append(*args, **kwargs)\n"
+"\n"
"Set the message's arguments from the positional parameter, according to\n"
"the signature given by the ``signature`` keyword parameter.\n"
"\n"
diff --git a/dbus_bindings/message-get-args.c b/dbus_bindings/message-get-args.c
index 49670c1..65596d9 100644
--- a/dbus_bindings/message-get-args.c
+++ b/dbus_bindings/message-get-args.c
@@ -45,8 +45,8 @@ char dbus_py_Message_get_args_list__doc__[] = (
" If false (default), convert them into a dbus.Array of Bytes.\n"
#ifndef PY3
" `utf8_strings` : bool\n"
-" If true, return D-Bus strings as Python 8-bit strings (of UTF-8).\n"
-" If false (default), return D-Bus strings as Python unicode objects.\n"
+" If true, return D-Bus strings as Python `bytes` objects (in UTF-8).\n"
+" If false (default), return D-Bus strings as Python `unicode` objects.\n"
#endif
"\n"
"Most of the type mappings should be fairly obvious:\n"
@@ -60,7 +60,7 @@ char dbus_py_Message_get_args_list__doc__[] = (
"intNN, uintNN dbus.IntNN, dbus.UIntNN (int or long subclasses)\n"
"double (d) dbus.Double\n"
"string (s) dbus.String (unicode subclass)\n"
-" (or dbus.UTF8String, str subclass, if utf8_strings set)\n"
+" (or dbus.UTF8String, bytes subclass, if utf8_strings set)\n"
"Object path (o) dbus.ObjectPath (str subclass)\n"
"dict (a{...}) dbus.Dictionary\n"
"array (a...) dbus.Array (list subclass) containing appropriate types\n"
diff --git a/dbus_bindings/message.c b/dbus_bindings/message.c
index ded8fe1..43b8df6 100644
--- a/dbus_bindings/message.c
+++ b/dbus_bindings/message.c
@@ -93,12 +93,11 @@ MethodCallMessage_tp_repr(PyObject *self)
path, interface, member, destination);
}
-PyDoc_STRVAR(MethodCallMessage_tp_doc, "A method-call message.\n"
+PyDoc_STRVAR(MethodCallMessage_tp_doc,
+"dbus.lowlevel.MethodCallMessage(destination: str or None, path: str, "
+"interface: str or None, method: str)\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.lowlevel.MethodCallMessage(destination: str or None, path: str,\n"
-" interface: str or None, method: str)\n"
+"A method-call message.\n"
"\n"
"``destination`` is the destination bus name, or None to send the\n"
"message directly to the peer (usually the bus daemon).\n"
@@ -139,9 +138,10 @@ MethodCallMessage_tp_init(Message *self, PyObject *args, PyObject *kwargs)
return 0;
}
-PyDoc_STRVAR(MethodReturnMessage_tp_doc, "A method-return message.\n\n"
-"Constructor::\n\n"
-" dbus.lowlevel.MethodReturnMessage(method_call: MethodCallMessage)\n");
+PyDoc_STRVAR(MethodReturnMessage_tp_doc,
+"dbus.lowlevel.MethodReturnMessage(method_call: MethodCallMessage)\n"
+"\n"
+"A method-return message.");
static int
MethodReturnMessage_tp_init(Message *self, PyObject *args, PyObject *kwargs)
@@ -165,9 +165,10 @@ MethodReturnMessage_tp_init(Message *self, PyObject *args, PyObject *kwargs)
return 0;
}
-PyDoc_STRVAR(SignalMessage_tp_doc, "A signal message.\n\n"
-"Constructor::\n\n"
-" dbus.lowlevel.SignalMessage(path: str, interface: str, method: str)\n");
+PyDoc_STRVAR(SignalMessage_tp_doc,
+"dbus.lowlevel.SignalMessage(path: str, interface: str, method: str)\n"
+"\n"
+"A signal message.\n");
static int
SignalMessage_tp_init(Message *self, PyObject *args, PyObject *kwargs)
{
@@ -216,10 +217,11 @@ SignalMessage_tp_repr(PyObject *self)
path, interface, member, destination);
}
-PyDoc_STRVAR(ErrorMessage_tp_doc, "An error message.\n\n"
-"Constructor::\n\n"
-" dbus.lowlevel.ErrorMessage(reply_to: Message, error_name: str,\n"
-" error_message: str or None)\n");
+PyDoc_STRVAR(ErrorMessage_tp_doc,
+"dbus.lowlevel.ErrorMessage(reply_to: Message, error_name: str, "
+"error_message: str or None)\n"
+"\n"
+"An error message.\n");
static int
ErrorMessage_tp_init(Message *self, PyObject *args, PyObject *kwargs)
{
diff --git a/dbus_bindings/signature.c b/dbus_bindings/signature.c
index e3a555c..c1a32e7 100644
--- a/dbus_bindings/signature.c
+++ b/dbus_bindings/signature.c
@@ -31,21 +31,19 @@
#include "types-internal.h"
PyDoc_STRVAR(Signature_tp_doc,
+"Signature(value: str or unicode[, variant_level: int])\n"
+"\n"
"A string subclass whose values are restricted to valid D-Bus\n"
"signatures. When iterated over, instead of individual characters it\n"
"produces Signature instances representing single complete types.\n"
"\n"
-"Constructor::\n"
-"\n"
-" ``Signature(value: str or unicode[, variant_level: int]) -> Signature``\n"
-"\n"
"``value`` must be a valid D-Bus signature (zero or more single complete\n"
"types).\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a signature, this is represented in Python by a\n"
diff --git a/dbus_bindings/string.c b/dbus_bindings/string.c
index 8363f98..ce8f03d 100644
--- a/dbus_bindings/string.c
+++ b/dbus_bindings/string.c
@@ -32,7 +32,10 @@
/* UTF-8 string representation ====================================== */
PyDoc_STRVAR(UTF8String_tp_doc,
-"A string represented using UTF-8 - a subtype of `str`.\n"
+"dbus.UTF8String(value: bytes or unicode[, variant_level: int=0])\n"
+"\n"
+"A string represented using UTF-8 - a subtype of `bytes`.\n"
+"This type is only available in Python 2.\n"
"\n"
"All strings on D-Bus are required to be valid Unicode; in the \"wire\n"
"protocol\" they're transported as UTF-8.\n"
@@ -50,21 +53,17 @@ PyDoc_STRVAR(UTF8String_tp_doc,
"* `dbus.Interface.connect_to_signal`\n"
"* `Bus.add_signal_receiver`\n"
"\n"
-"\n"
-"Constructor::\n"
-"\n"
-" dbus.UTF8String(value: str or unicode[, variant_level: int]) -> UTF8String\n"
-"\n"
-"If value is a str object it must be valid UTF-8.\n"
+"If value is a bytes object it must be valid UTF-8.\n"
"\n"
"variant_level must be non-negative; the default is 0.\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
+".. py:attribute:: variant_level\n"
+"\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing a string, this is represented in Python by a\n"
" String or UTF8String with variant_level==2.\n"
+"\n"
":Since: 0.80 (in older versions, use dbus.String)\n"
);
@@ -129,19 +128,16 @@ PyTypeObject DBusPyUTF8String_Type = {
/* Object path ====================================================== */
PyDoc_STRVAR(ObjectPath_tp_doc,
-"A D-Bus object path, such as '/com/example/MyApp/Documents/abc'.\n"
-"\n"
-"ObjectPath is a subtype of str, and object-paths behave like strings.\n"
+"dbus.ObjectPath(path: str[, variant_level: int=0])\n"
+"A D-Bus object path, such as ``/com/example/MyApp/Documents/abc``.\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.ObjectPath(path: str, variant_level: int) -> ObjectPath\n"
+"ObjectPath is a subtype of :py:class:`str`, and object-paths behave like strings.\n"
"\n"
"path must be an ASCII string following the syntax of object paths.\n"
"variant_level must be non-negative; the default is 0.\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
+".. py:attribute:: variant_level\n"
+"\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing an object path, this is represented in Python by an\n"
@@ -207,36 +203,32 @@ PyTypeObject DBusPyObjectPath_Type = {
/* Unicode string representation ==================================== */
PyDoc_STRVAR(String_tp_doc,
-"A string represented using Unicode - a subtype of `unicode`.\n"
+"dbus.String(value: str or unicode[, variant_level: int])\n"
+"\n"
+"A string represented using Unicode - a subtype of ``unicode`` (Python 2)\n"
+"or ``str`` (Python 3).\n"
"\n"
"All strings on D-Bus are required to be valid Unicode; in the \"wire\n"
"protocol\" they're transported as UTF-8.\n"
"\n"
"By default, when strings are converted from D-Bus to Python, they\n"
-"come out as this class. If you prefer to get UTF-8 strings (as instances\n"
+"come out as this class. In Python 2, if you prefer to get UTF-8 strings\n"
+"(as instances\n"
"of a subtype of `str`) or you want to avoid the conversion overhead of\n"
"going from UTF-8 to Python's internal Unicode representation, see the\n"
"documentation for `dbus.UTF8String`.\n"
"\n"
-"Constructor::\n"
-"\n"
-" String(value: str or unicode[, variant_level: int]) -> String\n"
-"\n"
"variant_level must be non-negative; the default is 0.\n"
-"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
-" Indicates how many nested Variant containers this object\n"
-" is contained in: if a message's wire format has a variant containing a\n"
-" variant containing a string, this is represented in Python by a\n"
-" String or UTF8String with variant_level==2.\n"
);
static PyMemberDef String_tp_members[] = {
{"variant_level", T_LONG, offsetof(DBusPyString, variant_level),
READONLY,
- "The number of nested variants wrapping the real data. "
- "0 if not in a variant"},
+ "Indicates how many nested Variant containers this object\n"
+ "is contained in: if a message's wire format has a variant containing a\n"
+ "variant containing an array, this is represented in Python by a\n"
+ "String or UTF8String with variant_level==2.\n"
+ },
{NULL},
};
diff --git a/dbus_bindings/unixfd.c b/dbus_bindings/unixfd.c
index 648dd2c..ecb32d2 100644
--- a/dbus_bindings/unixfd.c
+++ b/dbus_bindings/unixfd.c
@@ -29,11 +29,9 @@
#include "types-internal.h"
PyDoc_STRVAR(UnixFd_tp_doc,
-"An Unix Fd.\n"
+"dbus.UnixFd(value: int or file object[, variant_level: int])\n"
"\n"
-"Constructor::\n"
-"\n"
-" dbus.UnixFd(value: int or file object[, variant_level: int]) -> UnixFd\n"
+"A Unix Fd.\n"
"\n"
"``value`` must be the integer value of a file descriptor, or an object that\n"
"implements the fileno() method. Otherwise, `ValueError` will be\n"
@@ -42,10 +40,10 @@ PyDoc_STRVAR(UnixFd_tp_doc,
"UnixFd keeps a dup() (duplicate) of the supplied file descriptor. The\n"
"caller remains responsible for closing the original fd.\n"
"\n"
-"``variant_level`` must be non-negative; the default is 0.\n"
+":py:attr:`variant_level` must be non-negative; the default is 0.\n"
+"\n"
+".. py:attribute:: variant_level\n"
"\n"
-":IVariables:\n"
-" `variant_level` : int\n"
" Indicates how many nested Variant containers this object\n"
" is contained in: if a message's wire format has a variant containing a\n"
" variant containing an Unix Fd, this is represented in Python by an\n"
diff --git a/dbus_python.egg-info/PKG-INFO b/dbus_python.egg-info/PKG-INFO
new file mode 100644
index 0000000..f450eca
--- /dev/null
+++ b/dbus_python.egg-info/PKG-INFO
@@ -0,0 +1,53 @@
+Metadata-Version: 1.2
+Name: dbus-python
+Version: 1.2.8
+Summary: Python bindings for libdbus
+Home-page: http://www.freedesktop.org/wiki/Software/DBusBindings/#python
+Maintainer: The D-Bus maintainers
+Maintainer-email: dbus@lists.freedesktop.org
+License: Expat (MIT/X11)
+Download-URL: http://dbus.freedesktop.org/releases/dbus-python/
+Description: =======================================
+ dbus-python_: Python bindings for D-Bus
+ =======================================
+
+ .. _dbus-python: http://www.freedesktop.org/wiki/Software/DBusBindings#python
+
+ dbus-python is the original Python binding for ``dbus``, the reference
+ implementation of the D-Bus protocol.
+
+ Online documentation can be found at
+ <http://dbus.freedesktop.org/doc/dbus-python/>.
+
+ Problems and alternatives
+ =========================
+
+ dbus-python might not be the best D-Bus binding for you to use. dbus-python
+ does not follow the principle of "In the face of ambiguity, refuse the
+ temptation to guess", and can't be changed to not do so without seriously
+ breaking compatibility.
+
+ In addition, it uses libdbus (which has known problems with multi-threaded
+ use) and attempts to be main-loop-agnostic (which means you have to select
+ a suitable main loop for your application).
+
+ Alternative ways to get your Python code onto D-Bus include:
+
+ * GDBus, part of the GIO module of `GLib`_, via GObject-Introspection and
+ `PyGI`_ (uses the GLib main loop and object model)
+
+ * QtDBus, part of `Qt`_, via `PyQt`_ (uses the Qt main loop and object model)
+
+ .. _GLib: http://developer.gnome.org/glib/
+ .. _PyGI: https://live.gnome.org/PyGObject
+ .. _Qt: https://qt.nokia.com/
+ .. _PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro
+
+Platform: UNKNOWN
+Classifier: Development Status :: 7 - Inactive
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Programming Language :: C
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Topic :: Software Development :: Object Brokering
diff --git a/dbus_python.egg-info/SOURCES.txt b/dbus_python.egg-info/SOURCES.txt
new file mode 100644
index 0000000..93abb63
--- /dev/null
+++ b/dbus_python.egg-info/SOURCES.txt
@@ -0,0 +1,171 @@
+.travis.yml
+.version
+AUTHORS
+COPYING
+ChangeLog
+INSTALL
+MANIFEST
+MANIFEST.in
+Makefile.am
+Makefile.in
+NEWS
+PKG-INFO
+README
+aclocal.m4
+build-aux/compile
+build-aux/config.guess
+build-aux/config.sub
+build-aux/depcomp
+build-aux/install-sh
+build-aux/ltmain.sh
+build-aux/missing
+build-aux/py-compile
+build-aux/tap-driver.sh
+build-aux/test-driver
+config.h.in
+configure
+configure.ac
+dbus-gmain/AUTHORS
+dbus-gmain/CONTRIBUTING
+dbus-gmain/COPYING
+dbus-gmain/Makefile.am
+dbus-gmain/Makefile.in
+dbus-gmain/README
+dbus-gmain/dbus-gmain.c
+dbus-gmain/dbus-gmain.h
+dbus-gmain/tests/30574.c
+dbus-gmain/tests/test-thread-client.c
+dbus-gmain/tests/test-thread-server.c
+dbus-gmain/tests/test-thread.h
+dbus-gmain/tests/util.c
+dbus-gmain/tests/util.h
+dbus-python.pc.in
+dbus/__init__.py
+dbus/_compat.py
+dbus/_dbus.py
+dbus/_expat_introspect_parser.py
+dbus/bus.py
+dbus/connection.py
+dbus/decorators.py
+dbus/exceptions.py
+dbus/gi_service.py
+dbus/glib.py
+dbus/gobject_service.py
+dbus/lowlevel.py
+dbus/mainloop/__init__.py
+dbus/mainloop/glib.py
+dbus/proxies.py
+dbus/server.py
+dbus/service.py
+dbus/types.py
+dbus_bindings/abstract.c
+dbus_bindings/bus.c
+dbus_bindings/bytes.c
+dbus_bindings/compat-internal.h
+dbus_bindings/conn-internal.h
+dbus_bindings/conn-methods.c
+dbus_bindings/conn.c
+dbus_bindings/containers.c
+dbus_bindings/dbus_bindings-internal.h
+dbus_bindings/debug.c
+dbus_bindings/exceptions.c
+dbus_bindings/float.c
+dbus_bindings/generic.c
+dbus_bindings/int.c
+dbus_bindings/libdbusconn.c
+dbus_bindings/mainloop.c
+dbus_bindings/message-append.c
+dbus_bindings/message-get-args.c
+dbus_bindings/message-internal.h
+dbus_bindings/message.c
+dbus_bindings/module.c
+dbus_bindings/pending-call.c
+dbus_bindings/server.c
+dbus_bindings/signature.c
+dbus_bindings/string.c
+dbus_bindings/types-internal.h
+dbus_bindings/unixfd.c
+dbus_bindings/validation.c
+dbus_glib_bindings/module.c
+dbus_python.egg-info/PKG-INFO
+dbus_python.egg-info/SOURCES.txt
+dbus_python.egg-info/dependency_links.txt
+dbus_python.egg-info/top_level.txt
+doc/API_CHANGES.txt
+doc/HACKING.txt
+doc/PY3PORT.txt
+doc/_static/.gitignore
+doc/conf.py
+doc/dbus.bus.rst
+doc/dbus.connection.rst
+doc/dbus.decorators.rst
+doc/dbus.exceptions.rst
+doc/dbus.gi_service.rst
+doc/dbus.glib.rst
+doc/dbus.gobject_service.rst
+doc/dbus.lowlevel.rst
+doc/dbus.mainloop.rst
+doc/dbus.proxies.rst
+doc/dbus.rst
+doc/dbus.server.rst
+doc/dbus.service.rst
+doc/dbus.types.rst
+doc/index.rst
+doc/news.rst
+doc/redirects
+doc/redirects.py
+doc/tutorial.txt
+examples/example-async-client.py
+examples/example-client.py
+examples/example-service.py
+examples/example-signal-emitter.py
+examples/example-signal-recipient.py
+examples/gconf-proxy-client.py
+examples/gconf-proxy-service2.py
+examples/list-system-services.py
+examples/unix-fd-client.py
+examples/unix-fd-service.py
+include/dbus/dbus-python.h
+m4/ax_append_compile_flags.m4
+m4/ax_append_flag.m4
+m4/ax_append_link_flags.m4
+m4/ax_check_compile_flag.m4
+m4/ax_check_link_flag.m4
+m4/ax_compiler_flags.m4
+m4/ax_compiler_flags_cflags.m4
+m4/ax_compiler_flags_gir.m4
+m4/ax_compiler_flags_ldflags.m4
+m4/ax_generate_changelog.m4
+m4/ax_is_release.m4
+m4/ax_python_devel.m4
+m4/ax_python_module.m4
+m4/ax_require_defined.m4
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
+m4/pkg.m4
+setup.py
+test/TestSuitePythonService.service.in
+test/cross-test-client.py
+test/cross-test-server.py
+test/crosstest.py
+test/dbus_py_test.c
+test/import-repeatedly.c
+test/run-test.sh
+test/test-client.py
+test/test-exception-py2.py
+test/test-exception-py3.py
+test/test-p2p.py
+test/test-service.py
+test/test-signals.py
+test/test-standalone.py
+test/test-unusable-main-loop.py
+test/tmp-session-bus.conf.in
+test/wait-for-name.py
+test/with-session-bus.sh
+tools/check-c-style.sh
+tools/check-coding-style.mk
+tools/check-py-style.sh
+tools/check-whitespace.sh
diff --git a/dbus_python.egg-info/dependency_links.txt b/dbus_python.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/dbus_python.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/dbus_python.egg-info/top_level.txt b/dbus_python.egg-info/top_level.txt
new file mode 100644
index 0000000..7d64792
--- /dev/null
+++ b/dbus_python.egg-info/top_level.txt
@@ -0,0 +1,3 @@
+_dbus_bindings
+_dbus_glib_bindings
+dbus
diff --git a/doc/HACKING.txt b/doc/HACKING.txt
index c019198..b53655c 100644
--- a/doc/HACKING.txt
+++ b/doc/HACKING.txt
@@ -1,6 +1,6 @@
-=========================================
-D-Bus Python bindings - notes for hackers
-=========================================
+===============
+Developer notes
+===============
:Author: Simon McVittie, `Collabora`_
:Date: 2007-01-24
diff --git a/doc/PY3PORT.txt b/doc/PY3PORT.txt
index a028153..e159849 100644
--- a/doc/PY3PORT.txt
+++ b/doc/PY3PORT.txt
@@ -1,6 +1,6 @@
-===============================
-Porting python-dbus to Python 3
-===============================
+===================
+Porting to Python 3
+===================
This is an experimental port to Python 3.x where x >= 2. There are lots of
great sources for porting C extensions to Python 3, including:
diff --git a/doc/_static/.gitignore b/doc/_static/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/_static/.gitignore
diff --git a/doc/conf.py b/doc/conf.py
new file mode 100644
index 0000000..f094a26
--- /dev/null
+++ b/doc/conf.py
@@ -0,0 +1,165 @@
+# -*- coding: utf-8 -*-
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# This file does only contain a selection of the most common options. For a
+# full list see the documentation:
+# http://www.sphinx-doc.org/en/stable/config
+
+# -- Path setup --------------------------------------------------------------
+
+import os
+import sys
+
+sys.path.insert(0,
+ os.path.join(
+ os.environ.get('abs_top_builddir', os.path.abspath('..')),
+ '.libs',
+ ),
+)
+sys.path.insert(0, os.environ.get('abs_top_srcdir', os.path.abspath('..')))
+
+import _dbus_bindings
+
+# -- Project information -----------------------------------------------------
+
+project = u'dbus-python'
+copyright = u'2003-2018, D-Bus contributors'
+author = u'D-Bus contributors'
+
+# The short X.Y version
+version = _dbus_bindings.__version__
+# The full version, including alpha/beta/rc tags
+release = version
+
+
+# -- General configuration ---------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#
+# needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.coverage',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+#
+# source_suffix = ['.rst', '.md']
+source_suffix = ['.rst', '.txt']
+
+# The master toctree document.
+master_doc = 'index'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path .
+exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store']
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'sphinx_rtd_theme'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#
+# html_theme_options = {}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Custom sidebar templates, must be a dictionary that maps document names
+# to template names.
+#
+# The default sidebars (for documents that don't match any pattern) are
+# defined by theme itself. Builtin themes are using these templates by
+# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
+# 'searchbox.html']``.
+#
+# html_sidebars = {}
+
+
+# -- Options for HTMLHelp output ---------------------------------------------
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'dbus-python'
+
+
+# -- Options for LaTeX output ------------------------------------------------
+
+latex_elements = {
+ # The paper size ('letterpaper' or 'a4paper').
+ #
+ # 'papersize': 'letterpaper',
+
+ # The font size ('10pt', '11pt' or '12pt').
+ #
+ # 'pointsize': '10pt',
+
+ # Additional stuff for the LaTeX preamble.
+ #
+ # 'preamble': '',
+
+ # Latex figure (float) alignment
+ #
+ # 'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+# author, documentclass [howto, manual, or own class]).
+latex_documents = [
+ (master_doc, 'dbus-python.tex', u'dbus-python Documentation',
+ u'D-Bus contributors', 'manual'),
+]
+
+
+# -- Options for manual page output ------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ (master_doc, 'dbus-python', u'dbus-python Documentation',
+ [author], 3)
+]
+
+
+# -- Options for Texinfo output ----------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ (master_doc, 'dbus-python', u'dbus-python Documentation',
+ author, 'dbus-python',
+ 'Python bindings for the reference implementation of D-Bus.',
+ 'Miscellaneous'),
+]
+
+
+# -- Extension configuration -------------------------------------------------
diff --git a/doc/dbus.bus.rst b/doc/dbus.bus.rst
new file mode 100644
index 0000000..1f78f3e
--- /dev/null
+++ b/doc/dbus.bus.rst
@@ -0,0 +1,7 @@
+dbus.bus module
+===============
+
+.. automodule:: dbus.bus
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.connection.rst b/doc/dbus.connection.rst
new file mode 100644
index 0000000..7b78212
--- /dev/null
+++ b/doc/dbus.connection.rst
@@ -0,0 +1,7 @@
+dbus.connection module
+======================
+
+.. automodule:: dbus.connection
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.decorators.rst b/doc/dbus.decorators.rst
new file mode 100644
index 0000000..3f6625c
--- /dev/null
+++ b/doc/dbus.decorators.rst
@@ -0,0 +1,7 @@
+dbus.decorators module
+----------------------
+
+.. automodule:: dbus.decorators
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.exceptions.rst b/doc/dbus.exceptions.rst
new file mode 100644
index 0000000..fea743c
--- /dev/null
+++ b/doc/dbus.exceptions.rst
@@ -0,0 +1,7 @@
+dbus.exceptions module
+----------------------
+
+.. automodule:: dbus.exceptions
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.gi_service.rst b/doc/dbus.gi_service.rst
new file mode 100644
index 0000000..945d5a0
--- /dev/null
+++ b/doc/dbus.gi_service.rst
@@ -0,0 +1,7 @@
+dbus.gi\_service module
+-----------------------
+
+.. automodule:: dbus.gi_service
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.glib.rst b/doc/dbus.glib.rst
new file mode 100644
index 0000000..20958be
--- /dev/null
+++ b/doc/dbus.glib.rst
@@ -0,0 +1,7 @@
+dbus.glib module
+----------------
+
+.. automodule:: dbus.glib
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.gobject_service.rst b/doc/dbus.gobject_service.rst
new file mode 100644
index 0000000..b1ff1be
--- /dev/null
+++ b/doc/dbus.gobject_service.rst
@@ -0,0 +1,36 @@
+.. This is not done via automodule because it cannot be imported in
+.. Python 3.
+
+dbus.gobject\_service module
+----------------------------
+
+.. py:module:: gobject_service
+
+This module is only available when using Python 2, and is deprecated.
+
+.. py:class:: ExportedGObjectType(cls, name, bases, dct)
+
+ A metaclass which inherits from both GObjectMeta and
+ `dbus.service.InterfaceType`. Used as the metaclass for
+ `ExportedGObject`.
+
+.. py:class:: ExportedGObject(self, conn=None, object_path=None, **kwargs)
+
+ A GObject which is exported on the D-Bus.
+
+ Because GObject and `dbus.service.Object` both have custom metaclasses,
+ the naive approach using simple multiple inheritance won't work. This
+ class has `ExportedGObjectType` as its metaclass, which is sufficient
+ to make it work correctly.
+
+ :param dbus.connection.Connection conn:
+ The D-Bus connection or bus
+ :param str object_path:
+ The object path at which to register this object.
+ :keyword dbus.service.BusName bus_name:
+ A bus name to be held on behalf of this object, or None.
+ :keyword dict gobject_properties:
+ GObject properties to be set on the constructed object.
+
+ Any unrecognised keyword arguments will also be interpreted
+ as GObject properties.
diff --git a/doc/dbus.lowlevel.rst b/doc/dbus.lowlevel.rst
new file mode 100644
index 0000000..74e5f47
--- /dev/null
+++ b/doc/dbus.lowlevel.rst
@@ -0,0 +1,7 @@
+dbus.lowlevel module
+--------------------
+
+.. automodule:: dbus.lowlevel
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.mainloop.rst b/doc/dbus.mainloop.rst
new file mode 100644
index 0000000..14bbf14
--- /dev/null
+++ b/doc/dbus.mainloop.rst
@@ -0,0 +1,18 @@
+dbus.mainloop package
+=====================
+
+Module contents
+---------------
+
+.. automodule:: dbus.mainloop
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+dbus.mainloop.glib module
+-------------------------
+
+.. automodule:: dbus.mainloop.glib
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.proxies.rst b/doc/dbus.proxies.rst
new file mode 100644
index 0000000..8e4e8e3
--- /dev/null
+++ b/doc/dbus.proxies.rst
@@ -0,0 +1,7 @@
+dbus.proxies module
+-------------------
+
+.. automodule:: dbus.proxies
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.rst b/doc/dbus.rst
new file mode 100644
index 0000000..2b2ab96
--- /dev/null
+++ b/doc/dbus.rst
@@ -0,0 +1,35 @@
+dbus package API reference
+==========================
+
+Submodules
+----------
+
+.. toctree::
+
+ dbus.bus
+ dbus.connection
+ dbus.decorators
+ dbus.exceptions
+ dbus.gi_service
+ dbus.lowlevel
+ dbus.mainloop
+ dbus.proxies
+ dbus.server
+ dbus.service
+ dbus.types
+
+Deprecated submodules
+---------------------
+
+.. toctree::
+
+ dbus.glib
+ dbus.gobject_service
+
+Module contents
+---------------
+
+.. automodule:: dbus
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.server.rst b/doc/dbus.server.rst
new file mode 100644
index 0000000..c0d94c6
--- /dev/null
+++ b/doc/dbus.server.rst
@@ -0,0 +1,7 @@
+dbus.server module
+------------------
+
+.. automodule:: dbus.server
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.service.rst b/doc/dbus.service.rst
new file mode 100644
index 0000000..61958d6
--- /dev/null
+++ b/doc/dbus.service.rst
@@ -0,0 +1,7 @@
+dbus.service module
+-------------------
+
+.. automodule:: dbus.service
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/dbus.types.rst b/doc/dbus.types.rst
new file mode 100644
index 0000000..c02c788
--- /dev/null
+++ b/doc/dbus.types.rst
@@ -0,0 +1,7 @@
+dbus.types module
+-----------------
+
+.. automodule:: dbus.types
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/index.rst b/doc/index.rst
new file mode 100644
index 0000000..ca754b5
--- /dev/null
+++ b/doc/index.rst
@@ -0,0 +1,53 @@
+=======================================
+dbus-python_: Python bindings for D-Bus
+=======================================
+
+.. _dbus-python: http://www.freedesktop.org/wiki/Software/DBusBindings#python
+
+dbus-python is a Python binding for ``dbus``, the reference implementation
+of the D-Bus protocol.
+
+Problems and alternatives
+=========================
+
+dbus-python might not be the best D-Bus binding for you to use. dbus-python
+does not follow the principle of "In the face of ambiguity, refuse the
+temptation to guess", and can't be changed to not do so without seriously
+breaking compatibility.
+
+In addition, it uses libdbus (which has known problems with multi-threaded
+use) and attempts to be main-loop-agnostic (which means you have to select
+a suitable main loop for your application).
+
+Alternative ways to get your Python code onto D-Bus include:
+
+* GDBus, part of the GIO module of `GLib`_, via GObject-Introspection and
+ `PyGI`_ (uses the GLib main loop and object model)
+
+* QtDBus, part of `Qt`_, via `PyQt`_ (uses the Qt main loop and object model)
+
+.. _GLib: http://developer.gnome.org/glib/
+.. _PyGI: https://live.gnome.org/PyGObject
+.. _Qt: https://qt.nokia.com/
+.. _PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro
+
+Documentation
+=============
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contents:
+
+ tutorial
+ dbus
+ PY3PORT
+ news
+ HACKING
+ API_CHANGES
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/doc/news.rst b/doc/news.rst
new file mode 100644
index 0000000..249c431
--- /dev/null
+++ b/doc/news.rst
@@ -0,0 +1,5 @@
+===============
+Release history
+===============
+
+.. include:: ../NEWS
diff --git a/doc/redirects b/doc/redirects
new file mode 100644
index 0000000..659373d
--- /dev/null
+++ b/doc/redirects
@@ -0,0 +1,138 @@
+doc/API_CHANGES.html ../API_CHANGES.html
+doc/API_CHANGES.txt "See ../API_CHANGES.html"
+doc/HACKING.html ../HACKING.html
+doc/HACKING.txt "See ../HACKING.html"
+doc/PY3PORT.html ../PY3PORT.html
+doc/PY3PORT.txt "See ../PY3PORT.html"
+doc/tutorial.html ../tutorial.html
+doc/tutorial.txt "See ../tutorial.html"
+api/change-index.html ../news.html
+api/class-tree.html ../index.html
+api/dbus.Array-class.html ../dbus.html
+api/dbus.Boolean-class.html ../dbus.html
+api/dbus.bus.BusConnection-class.html ../dbus.bus.html
+api/dbus.bus-module.html ../dbus.bus.html
+api/dbus.bus.NameOwnerWatch-class.html ../dbus.bus.html
+api/dbus.bus-pysrc.html ../dbus.bus.html
+api/dbus.ByteArray-class.html ../dbus.html
+api/dbus.Byte-class.html ../dbus.html
+api/dbus._compat-module.html ../dbus.html
+api/dbus._compat-pysrc.html ../dbus.html
+api/dbus.connection.Connection-class.html ../dbus.connection.html
+api/dbus.connection-module.html ../dbus.connection.html
+api/dbus.connection-pysrc.html ../dbus.connection.html
+api/dbus.connection.SignalMatch-class.html ../dbus.connection.html
+api/dbus.dbus_bindings.ConnectionError-class.html ../dbus.html
+api/dbus.dbus_bindings-module.html ../dbus.html
+api/dbus.dbus_bindings-pysrc.html ../dbus.html
+api/dbus._dbus.Bus-class.html ../dbus.html
+api/dbus._dbus._DBusBindingsEmulation-class.html ../dbus.html
+api/dbus._dbus-module.html ../dbus.html
+api/dbus._dbus-pysrc.html ../dbus.html
+api/dbus._dbus.SessionBus-class.html ../dbus.html
+api/dbus._dbus.StarterBus-class.html ../dbus.html
+api/dbus._dbus.SystemBus-class.html ../dbus.html
+api/dbus.decorators-module.html ../dbus.decorators.html
+api/dbus.decorators-pysrc.html ../dbus.decorators.html
+api/dbus.Dictionary-class.html ../dbus.html
+api/dbus.Double-class.html ../dbus.html
+api/dbus.exceptions.DBusException-class.html ../dbus.html
+api/dbus.exceptions.IntrospectionParserException-class.html ../dbus.html
+api/dbus.exceptions.MissingErrorHandlerException-class.html ../dbus.html
+api/dbus.exceptions.MissingReplyHandlerException-class.html ../dbus.html
+api/dbus.exceptions-module.html ../dbus.html
+api/dbus.exceptions.NameExistsException-class.html ../dbus.html
+api/dbus.exceptions-pysrc.html ../dbus.html
+api/dbus.exceptions.UnknownMethodException-class.html ../dbus.html
+api/dbus.exceptions.ValidationException-class.html ../dbus.html
+api/dbus._expat_introspect_parser-module.html ../dbus.html
+api/dbus._expat_introspect_parser._Parser-class.html ../dbus.html
+api/dbus._expat_introspect_parser-pysrc.html ../dbus.html
+api/dbus.gi_service.ExportedGObject-class.html ../dbus.gi_service.html
+api/dbus.gi_service.ExportedGObjectType-class.html ../dbus.gi_service.html
+api/dbus.gi_service-module.html ../dbus.gi_service.html
+api/dbus.gi_service-pysrc.html ../dbus.gi_service.html
+api/dbus.glib-module.html ../dbus.glib.html
+api/dbus.glib-pysrc.html ../dbus.glib.html
+api/dbus.gobject_service.ExportedGObject-class.html ../dbus.gobject_service.html
+api/dbus.gobject_service.ExportedGObjectType-class.html ../dbus.gobject_service.html
+api/dbus.gobject_service-module.html ../dbus.gobject_service.html
+api/dbus.gobject_service-pysrc.html ../dbus.gobject_service.html
+api/dbus.Int16-class.html ../dbus.html
+api/dbus.Int32-class.html ../dbus.html
+api/dbus.Int64-class.html ../dbus.html
+api/dbus.lowlevel.ErrorMessage-class.html ../dbus.lowlevel.html
+api/dbus.lowlevel.Message-class.html ../dbus.lowlevel.html
+api/dbus.lowlevel.MethodCallMessage-class.html ../dbus.lowlevel.html
+api/dbus.lowlevel.MethodReturnMessage-class.html ../dbus.lowlevel.html
+api/dbus.lowlevel-module.html ../dbus.lowlevel.html
+api/dbus.lowlevel.PendingCall-class.html ../dbus.lowlevel.html
+api/dbus.lowlevel-pysrc.html ../dbus.lowlevel.html
+api/dbus.lowlevel.SignalMessage-class.html ../dbus.lowlevel.html
+api/dbus.mainloop.glib-module.html ../dbus.mainloop.html
+api/dbus.mainloop.glib-pysrc.html ../dbus.mainloop.html
+api/dbus.mainloop-module.html ../dbus.mainloop.html
+api/dbus.mainloop.NativeMainLoop-class.html ../dbus.mainloop.html
+api/dbus.mainloop-pysrc.html ../dbus.mainloop.html
+api/dbus-module.html ../dbus.html
+api/dbus.ObjectPath-class.html ../dbus.html
+api/dbus.proxies._DeferredMethod-class.html ../dbus.proxies.html
+api/dbus.proxies.Interface-class.html ../dbus.proxies.html
+api/dbus.proxies-module.html ../dbus.proxies.html
+api/dbus.proxies._ProxyMethod-class.html ../dbus.proxies.html
+api/dbus.proxies.ProxyObject-class.html ../dbus.proxies.html
+api/dbus.proxies-pysrc.html ../dbus.proxies.html
+api/dbus-pysrc.html ../dbus.html
+api/dbus.server-module.html ../dbus.server.html
+api/dbus.server-pysrc.html ../dbus.server.html
+api/dbus.server.Server-class.html ../dbus.server.html
+api/dbus.service.BusName-class.html ../dbus.service.html
+api/dbus.service.FallbackObject-class.html ../dbus.service.html
+api/dbus.service.Interface-class.html ../dbus.service.html
+api/dbus.service.InterfaceType-class.html ../dbus.service.html
+api/dbus.service-module.html ../dbus.service.html
+api/dbus.service.Object-class.html ../dbus.service.html
+api/dbus.service-pysrc.html ../dbus.service.html
+api/dbus.service._VariantSignature-class.html ../dbus.service.html
+api/dbus.Signature-class.html ../dbus.html
+api/dbus.String-class.html ../dbus.html
+api/dbus.Struct-class.html ../dbus.html
+api/dbus.types-module.html ../dbus.html
+api/dbus.types-pysrc.html ../dbus.html
+api/dbus.types.UnixFd-class.html ../dbus.html
+api/dbus.UInt16-class.html ../dbus.html
+api/dbus.UInt32-class.html ../dbus.html
+api/dbus.UInt64-class.html ../dbus.html
+api/dbus.UTF8String-class.html ../dbus.html
+api/dbus._version-module.html ../dbus.html
+api/dbus._version-pysrc.html ../dbus.html
+api/deprecated-index.html ../dbus.html
+api/frames.html ../dbus.html
+api/help.html ../dbus.html
+api/identifier-dbus.html ../dbus.html
+api/index.html ../dbus.html
+api/module-tree.html ../dbus.html
+api/redirect.html ../dbus.html
+api/since-index.html ../news.html
+api/toc-dbus.bus-module.html ../dbus.bus.html
+api/toc-dbus._compat-module.html ../dbus.html
+api/toc-dbus.connection-module.html ../dbus.connection.html
+api/toc-dbus.dbus_bindings-module.html ../dbus.html
+api/toc-dbus._dbus-module.html ../dbus.html
+api/toc-dbus.decorators-module.html ../dbus.decorators.html
+api/toc-dbus.exceptions-module.html ../dbus.exceptions.html
+api/toc-dbus._expat_introspect_parser-module.html ../dbus.html
+api/toc-dbus.gi_service-module.html ../dbus.gi_service.html
+api/toc-dbus.glib-module.html ../dbus.glib.html
+api/toc-dbus.gobject_service-module.html ../dbus.gobject_service.html
+api/toc-dbus.lowlevel-module.html ../dbus.lowlevel.html
+api/toc-dbus.mainloop.glib-module.html ../dbus.mainloop.html
+api/toc-dbus.mainloop-module.html ../dbus.mainloop.html
+api/toc-dbus-module.html ../dbus.html
+api/toc-dbus.proxies-module.html ../dbus.proxies.html
+api/toc-dbus.server-module.html ../dbus.server.html
+api/toc-dbus.service-module.html ../dbus.service.html
+api/toc-dbus.types-module.html ../dbus.types.html
+api/toc-dbus._version-module.html ../dbus.html
+api/toc-everything.html ../dbus.html
+api/toc.html ../dbus.html
diff --git a/doc/redirects.py b/doc/redirects.py
new file mode 100644
index 0000000..5cee516
--- /dev/null
+++ b/doc/redirects.py
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+import os
+
+SRCDIR = os.environ.get('DBUS_TOP_SRCDIR', '.')
+
+if __name__ == '__main__':
+ with open(os.path.join(SRCDIR, 'doc', 'redirects'), 'r') as reader:
+ for line in reader:
+ line = line.strip()
+
+ if not line:
+ continue
+
+ if line.startswith('#'):
+ continue
+
+ page, dest = line.split(None, 1)
+
+ try:
+ os.makedirs(os.path.join('doc', '_build', os.path.dirname(page)))
+ except OSError:
+ pass
+
+ assert not os.path.exists(os.path.join('doc', '_build', page))
+
+ if dest.startswith('"'):
+ assert page.endswith('.txt')
+ text = dest.strip('"')
+
+ with open(os.path.join('doc', '_build', page), 'w') as writer:
+ writer.write(text)
+ writer.write('\n')
+ else:
+ assert page.endswith('.html')
+
+ with open(os.path.join('doc', '_build', page), 'w') as writer:
+ writer.write(
+ '<meta http-equiv="refresh" content="0; url={}" />\n'.format(
+ dest))
+ writer.write(
+ 'See <a href="{}">{}</a>\n'.format(
+ dest, dest))
diff --git a/doc/tutorial.txt b/doc/tutorial.txt
index ad0e8a3..cc7a99e 100644
--- a/doc/tutorial.txt
+++ b/doc/tutorial.txt
@@ -178,38 +178,72 @@ Basic types
The following basic data types are supported.
-========================== ============================= =====
-Python type converted to D-Bus type notes
-========================== ============================= =====
-D-Bus `proxy object`_ ObjectPath (signature 'o') `(+)`_
-`dbus.Interface`_ ObjectPath (signature 'o') `(+)`_
-`dbus.service.Object`_ ObjectPath (signature 'o') `(+)`_
-``dbus.Boolean`` Boolean (signature 'b') a subclass of ``int``
-``dbus.Byte`` byte (signature 'y') a subclass of ``int``
-``dbus.Int16`` 16-bit signed integer ('n') a subclass of ``int``
-``dbus.Int32`` 32-bit signed integer ('i') a subclass of ``int``
-``dbus.Int64`` 64-bit signed integer ('x') `(*)`_
-``dbus.UInt16`` 16-bit unsigned integer ('q') a subclass of ``int``
-``dbus.UInt32`` 32-bit unsigned integer ('u') `(*)_`
-``dbus.UInt64`` 64-bit unsigned integer ('t') `(*)_`
-``dbus.Double`` double-precision float ('d') a subclass of ``float``
-``dbus.ObjectPath`` object path ('o') a subclass of ``str``
-``dbus.Signature`` signature ('g') a subclass of ``str``
-``dbus.String`` string ('s') a subclass of
- ``unicode``
-``dbus.UTF8String`` string ('s') a subclass of ``str``
-``bool`` Boolean ('b')
-``int`` or subclass 32-bit signed integer ('i')
-``long`` or subclass 64-bit signed integer ('x')
-``float`` or subclass double-precision float ('d')
-``str`` or subclass string ('s') must be valid UTF-8
-``unicode`` or subclass string ('s')
-========================== ============================= =====
-
-.. _(*):
-
-Types marked (*) may be a subclass of either ``int`` or ``long``, depending
-on platform.
++-----------------------+---------------------+-----------------------+
+|Python type |converted to |notes |
+| |D-Bus type | |
++=======================+=====================+=======================+
+|D-Bus `proxy object`_ |object path |`(+)`_ |
++-----------------------+(signature 'o') | |
+|`dbus.Interface`_ | | |
++-----------------------+ | |
+|`dbus.service.Object`_ | | |
++-----------------------+---------------------+-----------------------+
+|``dbus.Boolean`` |Boolean |a subclass of ``int`` |
+| |(signature 'b') | |
++-----------------------+---------------------+ |
+|``dbus.Byte`` |byte (signature 'y') | |
++-----------------------+---------------------+ |
+|``dbus.Int16`` |16-bit signed | |
+| |integer ('n') | |
++-----------------------+---------------------+ |
+|``dbus.UInt16`` |16-bit unsigned | |
+| |integer ('q') | |
++-----------------------+---------------------+ |
+|``dbus.Int32`` |32-bit signed | |
+| |integer ('i') | |
++-----------------------+---------------------+-----------------------+
+|``dbus.UInt32`` |32-bit unsigned |a subclass of ``long`` |
+| |integer ('u') |(Python 2) |
++-----------------------+---------------------+ |
+|``dbus.Int64`` |64-bit signed |a subclass of ``int`` |
+| |integer ('x') |(Python 3) |
++-----------------------+---------------------+ |
+|``dbus.UInt64`` |64-bit unsigned | |
+| |integer ('t') | |
++-----------------------+---------------------+-----------------------+
+|``dbus.Double`` |double-precision |a subclass of ``float``|
+| |floating point ('d') | |
++-----------------------+---------------------+-----------------------+
+|``dbus.ObjectPath`` |object path ('o') |a subclass of ``str`` |
++-----------------------+---------------------+ |
+|``dbus.Signature`` |signature ('g') | |
++-----------------------+---------------------+-----------------------+
+|``dbus.String`` |string ('s') |a subclass of |
+| | |``unicode`` (Python 2) |
+| | | |
+| | |a subclass of ``str`` |
+| | |(Python 3) |
++-----------------------+---------------------+-----------------------+
+|``dbus.UTF8String`` |string ('s') |a subclass of ``str``, |
+| | |only in Python 2 |
++-----------------------+---------------------+-----------------------+
+|``bool`` |Boolean ('b') | |
++-----------------------+---------------------+-----------------------+
+|``int`` or subclass |32-bit signed | |
+| |integer ('i') | |
++-----------------------+---------------------+-----------------------+
+|``long`` or subclass |64-bit signed | Python 2 only |
+| |integer ('i') | |
++-----------------------+---------------------+-----------------------+
+|``float`` or subclass |double-precision | |
+| |floating point ('d') | |
++-----------------------+---------------------+-----------------------+
+|``bytes`` or subclass |string ('s') | must be valid UTF-8 |
++-----------------------+---------------------+-----------------------+
+|Python 2 ``unicode`` |string ('s') | |
++-----------------------+ | |
+|Python 3 ``str`` | | |
++-----------------------+---------------------+-----------------------+
.. _(+):
@@ -249,7 +283,7 @@ The signature of an array is 'ax' where 'x' represents the signature of
one item. For instance, you could also have 'as' (array of strings) or
'a(ii)' (array of structs each containing two 32-bit integers).
-There's also a type ``dbus.ByteArray`` which is a subclass of ``str``,
+There's also a type ``dbus.ByteArray`` which is a subclass of ``bytes``,
used as a more efficient representation of a D-Bus array of bytes
(signature 'ay').
@@ -305,11 +339,11 @@ If a D-Bus method returns multiple values, the Python proxy method
will return a tuple containing those values.
If you want strings returned as ``dbus.UTF8String`` (a subclass of
-``str``) pass the keyword parameter ``utf8_strings=True`` to the proxy
-method.
+``bytes``) pass the keyword parameter ``utf8_strings=True`` to the proxy
+method. This mode is only available in Python 2.
If you want byte arrays returned as ``dbus.ByteArray`` (also a
-subclass of ``str`` - in practice, this is often what you want) pass
+subclass of ``bytes`` - in practice, this is often what you want) pass
the keyword parameter ``byte_arrays=True`` to the proxy method.
.. --------------------------------------------------------------------
@@ -469,10 +503,11 @@ String argument matching
------------------------
If there are keyword parameters for the form ``arg``\ *n* where n is a
-small non-negative number, their values must be ``unicode`` objects
-or UTF-8 strings. The handler will only be called if that argument
-of the signal (numbered from zero) is a D-Bus string (in particular,
-not an object-path or a signature) with that value.
+small non-negative number, their values must be Unicode strings (Python
+2 ``unicode`` or Python 3 ``str``) or UTF-8 bytestrings. The handler
+will only be called if that argument of the signal (numbered from zero)
+is a D-Bus string (in particular, not an object-path or a signature)
+with that value.
.. *this comment is to stop the above breaking vim syntax highlighting*
diff --git a/m4/dbus-py-add-rst2htmlflag.m4 b/m4/dbus-py-add-rst2htmlflag.m4
deleted file mode 100644
index 59e37ec..0000000
--- a/m4/dbus-py-add-rst2htmlflag.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-dnl DBUS_PY_ADD_RST2HTMLFLAG(FLAG)
-dnl checks whether rst2html supports the given flag, and if so, adds
-dnl it to $RST2HTMLFLAGS. Same as JH_ADD_CFLAG, really.
-AC_DEFUN([DBUS_PY_ADD_RST2HTMLFLAG],
-[
-AS_CASE([" $RST2HTMLFLAGS "],
-[*@<:@\ \ @:>@$1@<:@\ \ @:>@*],
- [],
-[*],
- [
- save_RST2HTMLFLAGS="$RST2HTMLFLAGS"
- RST2HTMLFLAGS="$RST2HTMLFLAGS $1"
- AC_MSG_CHECKING([whether [$]RST2HTML understands $1])
- AS_IF([$RST2HTML --strict $RST2HTMLFLAGS /dev/null > /dev/null 2>/dev/null],
- [dbuspy_has_option=yes],
- [dbuspy_has_option=no])
- AC_MSG_RESULT($dbuspy_has_option)
- AS_IF([test $dbuspy_has_option = no],
- [RST2HTMLFLAGS="$save_RST2HTMLFLAGS"])
- ])
-])
diff --git a/setup.py b/setup.py
index de5ee7a..fefe403 100755
--- a/setup.py
+++ b/setup.py
@@ -84,6 +84,7 @@ setup(
name='dbus-python',
version=version,
description='Python bindings for libdbus',
+ long_description=open('README').read(),
maintainer='The D-Bus maintainers',
maintainer_email='dbus@lists.freedesktop.org',
download_url='http://dbus.freedesktop.org/releases/dbus-python/',