dev-util/buildbot: Version bump, enable docs use flag
authorBrian Dolbec <dolsen@gentoo.org>
Fri, 10 Feb 2017 21:19:22 +0000 (13:19 -0800)
committerBrian Dolbec <dolsen@gentoo.org>
Fri, 10 Feb 2017 21:49:20 +0000 (13:49 -0800)
I now have sphinx docs generation working for this ebuild.
Patches submitted upstream for missing files.

Package-Manager: Portage-2.3.3_p38, Repoman-2.3.1_p31
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
dev-util/buildbot/Manifest
dev-util/buildbot/buildbot-0.9.4.ebuild [new file with mode: 0644]
dev-util/buildbot/buildbot-9999.ebuild
dev-util/buildbot/files/buildbot-0.9.4.docs.patch [new file with mode: 0644]
profiles/base/package.use.mask

index f8e3b1535788a41e5460116904979f5c749a147c..d8f979ee5dae64001e4ad275e4a5355913af1123 100644 (file)
@@ -4,4 +4,6 @@ DIST buildbot-0.9.0.post1.tar.gz 3013406 SHA256 afd8229c9fd33daa6d8227cd665c75b1
 DIST buildbot-0.9.1.tar.gz 3051975 SHA256 a9f385f66f5cc3021f4cbfce92496673ebf9171578fa9e5ae4f66732276d64ce SHA512 c3b845a3607c5eaa0a5076755bc0e285ba7c6809f9d7934fab7c6cf8299610e921034656cf3792113961176a821138c6d069122d4d1f1698f16badf3ef9a0dea WHIRLPOOL 6767878665f09ff7b6219ddcda73487b441f3e33ce580fc2df2f16d430217d4ac38b93e22a3f3abd9c8380ac6e6c93de6767faec1aa5615f82fbe8d8e20759e1
 DIST buildbot-0.9.2.tar.gz 3026977 SHA256 d33ec059941cf830c8f7b7f336a76e32e7122e2690a27b784efeddc6dbf4564a SHA512 a1c6345bcceb5c8f4ed600542625eee81e59af00a1b12054fe77e3b4ed5536b7004fcbd07cfc96baa3061193eb79e4290e056cf7157b71831370654c057a2c57 WHIRLPOOL 075a00d85df5321180345348a02ac12cc8a1bea36d6e60617ebe54de71ce5a989fcf009822834dad1994a6f83ebb5c6132f350902fd31d5b279c5c13014bb4b9
 DIST buildbot-0.9.3.tar.gz 3031033 SHA256 c2bc6a8139b0f97d304bfa047a4c414e42ea12ba94e34d82ae7cb356a69d87fb SHA512 a6f18e88c33fe1eafe0b9b154fb77f0d93db71145faab527ecd5ce53fcbbff48b915de4a02461da87eefbd58a649a56d3a9b16ba759d978e70a70898a15681b7 WHIRLPOOL b62fd5bea0b647b703674024e50731e7713e9488dec570d8e42beabaa2135a81349b955164cf01898b12ab0123d9a8f3b76e3364f65003b8af85a54755b6ad22
+DIST buildbot-0.9.4.docs.tar.xz 69224 SHA256 69fc33762a885568b02c42954a64d62d28bcb750b3aed011c3da8a9f84c13371 SHA512 906e551e0db32c8a0b4010b3b8b00c4776e3d1b7d7381e4dc0ccf01d361184e4605c3ab0ecaf4e42207bd73c3e72f8a570a4d4c29db72f4d68241abf48741d7e WHIRLPOOL 95f263e0b9ab22a649118f362d866b08cbdf62511f2a1f9bd6a7265103f174e35d0c8d86ad6a3b7dd5fd0b4277d60dbd25801c5e6f7e414e7fa634c241dae987
+DIST buildbot-0.9.4.tar.gz 3020851 SHA256 068161cd9ada10b87f40117c768a37ce796ebf5e7bf08f224f4c7ded88cd7472 SHA512 938a94192560b989a277d9650c50781d7e7c116bc5e2010ccb2e655df757de0ee254369531b2f432c835c0285c724e52d999a393d0ce1b104d4b9dcc5c6687da WHIRLPOOL 0ffe61b82ee93b78cdb3cb74ef96d5a3547e0fcab9ec8093b59a7212c5e2a1ad16eff046306bffcc0ea63b2e0bf2df1e54b5a0874dc78e27744db2088ccac804
 DIST buildbot-test_templates.tar.xz 304 SHA256 3d581b74c21f88119f7e5f93f381f2004662ca7219aae9a05f0bd3f8cae48317 SHA512 87ba914896d86f70e2e4b24a51248c475bf24fad4c02e3a99d6d7fa41b5a57f369865b20a7c30dafa3162ba50ccb04de1809b0cf9d53e45537738e4821229866 WHIRLPOOL 151dc42ceed8e90c96cdd0b6e937f13019c0d6cd5e2e878ee971cbc69ce4ea56b240b58fa743766bd0d71cafa38279e37be077324eb5ece7b99df46eaf566dfe
diff --git a/dev-util/buildbot/buildbot-0.9.4.ebuild b/dev-util/buildbot/buildbot-0.9.4.ebuild
new file mode 100644 (file)
index 0000000..81e30b0
--- /dev/null
@@ -0,0 +1,216 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python2_7 )
+
+EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
+
+inherit readme.gentoo-r1 user systemd distutils-r1
+
+MY_PV="${PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
+SRC_URI="
+       mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
+       http://dev.gentoo.org/~dolsen/distfiles/buildbot-0.9.4.docs.tar.xz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="crypt doc examples irc mail manhole test"
+
+RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+       || (
+               >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+               >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+       )
+       >=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
+       >=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
+       >=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
+       crypt? (
+               >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+               dev-python/idna[${PYTHON_USEDEP}]
+               dev-python/service_identity[${PYTHON_USEDEP}]
+       )
+       irc? (
+               dev-python/txrequests[${PYTHON_USEDEP}]
+               || ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+                       >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+               )
+       )
+       mail? (
+               || ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+                       >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+               )
+       )
+       manhole? (
+               || ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+                       >=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
+               )
+       )
+       dev-python/future[${PYTHON_USEDEP}]
+       >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+       >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+       dev-python/pyjwt[${PYTHON_USEDEP}]
+       "
+DEPEND="${RDEPEND}
+       >=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
+       doc? (
+               >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
+               dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
+               dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
+               dev-python/pyenchant[${PYTHON_USEDEP}]
+               >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+               dev-python/sphinx-jinja[${PYTHON_USEDEP}]
+               dev-python/ramlfications[${PYTHON_USEDEP}]
+       )
+       test? (
+               >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+               >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+               || (
+                       >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+                       (
+                               >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+                               >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+                               >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+                       )
+               )
+               dev-python/moto[${PYTHON_USEDEP}]
+               dev-python/boto3[${PYTHON_USEDEP}]
+               dev-python/ramlfications[${PYTHON_USEDEP}]
+               dev-python/pyjade[${PYTHON_USEDEP}]
+               dev-python/txgithub[${PYTHON_USEDEP}]
+               dev-python/txrequests[${PYTHON_USEDEP}]
+       )"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+       unpack ${MY_P}.tar.gz
+       cd ${MY_P}
+       unpack buildbot-0.9.4.docs.tar.xz
+}
+
+pkg_setup() {
+       enewuser buildbot
+
+       DOC_CONTENTS="The \"buildbot\" user and the \"buildmaster\" init script has been added
+               to support starting buildbot through Gentoo's init system. To use this,
+               execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
+               The scripts can run as a different user if desired."
+}
+
+python_prepare_all() {
+       if use doc; then
+               epatch "${FILESDIR}/buildbot-0.9.4.docs.patch"
+       fi
+}
+
+src_compile() {
+       distutils-r1_src_compile
+
+       if use doc; then
+               einfo "Generation of documentation"
+               pushd docs > /dev/null
+               EPYTHON="python2.7" emake html
+               popd > /dev/null
+       fi
+}
+
+src_install() {
+       distutils-r1_src_install
+
+       doman docs/buildbot.1
+
+       if use doc; then
+               dohtml -r docs/_build/html/
+               # TODO: install man pages
+       fi
+
+       if use examples; then
+               insinto /usr/share/doc/${PF}
+               doins -r contrib docs/examples
+       fi
+
+       newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+       newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+       systemd_dounit "${FILESDIR}/buildmaster.target"
+       systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
+       systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
+
+       readme.gentoo_create_doc
+}
+
+python_test() {
+       distutils_install_for_testing
+
+       esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+
+       if [[ -n ${REPLACING_VERSIONS} ]]; then
+               ewarn
+               ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
+               ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
+               ewarn "is now the common base directory for all instances. If you are migrating from an older"
+               ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
+               ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
+               ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
+               ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
+               ewarn "    rc-update add buildmaster.myinstance default"
+               ewarn "    /etc/init.d/buildmaster.myinstance start"
+               ewarn "Systems using systemd can do the following:"
+               ewarn "    systemctl enable buildmaster@myinstance.service"
+               ewarn "    systemctl enable buildmaster.target"
+               ewarn "    systemctl start buildmaster.target"
+               elog
+               elog "Upstream recommends the following when upgrading:"
+               elog "Each time you install a new version of Buildbot, you should run the"
+               elog "\"buildbot upgrade-master\" command on each of your pre-existing build masters."
+               elog "This will add files and fix (or at least detect) incompatibilities between"
+               elog "your old config and the new code."
+       fi
+       elog
+       elog "In order to create a new instance of buildmaster, execute:"
+       elog "    emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config() {
+       local buildmaster_path="/var/lib/buildmaster"
+       einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
+       einfo "Press Control-C to abort."
+
+       einfo "Enter the name for the new instance: "
+       read instance_name
+       [[ -z "${instance_name}" ]] && die "Invalid instance name"
+
+       local instance_path="${buildmaster_path}/${instance_name}"
+       if [[ -e "${instance_path}" ]]; then
+               eerror "The instance with the specified name already exists:"
+               eerror "${instance_path}"
+               die "Instance already exists"
+       fi
+
+       local buildbot="/usr/bin/buildbot"
+       if [[ ! -d "${buildmaster_path}" ]]; then
+               mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
+       fi
+       "${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
+       chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
+       mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
+               || die "Moving sample configuration failed"
+       ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
+               || die "Unable to create link to init file"
+
+       einfo "Successfully created a buildmaster instance at ${instance_path}."
+       einfo "To change the default settings edit the master.cfg file in this directory."
+}
index 482ec749cc2ec1dc95c8a80e64fabe779b78f1b5..51ba7e267f2478e5a476f547f15f3527a9d1ee36 100644 (file)
@@ -60,10 +60,18 @@ RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
        dev-python/future[${PYTHON_USEDEP}]
        >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
        >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+       dev-python/pyjwt[${PYTHON_USEDEP}]
        "
 DEPEND="${RDEPEND}
        >=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-       doc? ( >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}] )
+       doc? (
+               >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
+               dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
+               dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
+               dev-python/pyenchant[${PYTHON_USEDEP}]
+               >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+               dev-python/sphinx-jinja[${PYTHON_USEDEP}]
+       )
        test? (
                >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
                >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
@@ -83,13 +91,6 @@ DEPEND="${RDEPEND}
                dev-python/txrequests[${PYTHON_USEDEP}]
        )"
 
-# still yet to be added deps
-# doc? (     'sphinxcontrib-blockdiag',
-#            'sphinxcontrib-spelling',
-#            'pyenchant',
-#            'docutils>=0.8',
-#            'sphinx-jinja',)
-
 S=${WORKDIR}/${MY_P}
 [[ ${PV} == *9999 ]] && S=${S}/master
 
diff --git a/dev-util/buildbot/files/buildbot-0.9.4.docs.patch b/dev-util/buildbot/files/buildbot-0.9.4.docs.patch
new file mode 100644 (file)
index 0000000..1a27713
--- /dev/null
@@ -0,0 +1,130 @@
+diff --git a/docs/Makefile b/docs/Makefile
+index 55637302d..c4fde481e 100644
+--- a/docs/Makefile
++++ b/docs/Makefile
+@@ -24,7 +24,7 @@ PAPEROPT_a4     = -D latex_paper_size=a4
+ PAPEROPT_letter = -D latex_paper_size=letter
+ ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+-.PHONY: help clean towncrier html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
++.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+ help:
+       @echo "Please use \`make <target>' where <target> is one of"
+@@ -51,38 +51,38 @@ clean:
+ towncrier:
+       cd ../../; towncrier --draft |grep  'No significant changes.' || yes n | towncrier
+-html: conf.py towncrier
++html: conf.py
+       $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+       @echo
+       @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+-dirhtml: conf.py towncrier
++dirhtml: conf.py
+       $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+       @echo
+       @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+-singlehtml: conf.py towncrier
++singlehtml: conf.py
+       $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+       @echo
+       @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+-pickle: conf.py towncrier
++pickle: conf.py
+       $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+       @echo
+       @echo "Build finished; now you can process the pickle files."
+-json: conf.py towncrier
++json: conf.py
+       $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+       @echo
+       @echo "Build finished; now you can process the JSON files."
+-htmlhelp: conf.py towncrier
++htmlhelp: conf.py
+       $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+       @echo
+       @echo "Build finished; now you can run HTML Help Workshop with the" \
+             ".hhp project file in $(BUILDDIR)/htmlhelp."
+-qthelp: conf.py towncrier
++qthelp: conf.py
+       $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+       @echo
+       @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+@@ -91,7 +91,7 @@ qthelp: conf.py towncrier
+       @echo "To view the help file:"
+       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/BuildbotTutorial.qhc"
+-devhelp: conf.py towncrier
++devhelp: conf.py
+       $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+       @echo
+       @echo "Build finished."
+@@ -100,52 +100,52 @@ devhelp: conf.py towncrier
+       @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/BuildbotTutorial"
+       @echo "# devhelp"
+-epub: conf.py towncrier
++epub: conf.py
+       $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+       @echo
+       @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+-latex: conf.py towncrier
++latex: conf.py
+       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+       @echo
+       @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+       @echo "Run \`make' in that directory to run these through (pdf)latex" \
+             "(use \`make latexpdf' here to do that automatically)."
+-latexpdf: conf.py towncrier
++latexpdf: conf.py
+       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+       @echo "Running LaTeX files through pdflatex..."
+       make -C $(BUILDDIR)/latex all-pdf
+       @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+-text: conf.py towncrier
++text: conf.py
+       $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+       @echo
+       @echo "Build finished. The text files are in $(BUILDDIR)/text."
+-man: conf.py towncrier
++man: conf.py
+       $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+       @echo
+       @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+-changes: conf.py towncrier
++changes: conf.py
+       $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+       @echo
+       @echo "The overview file is in $(BUILDDIR)/changes."
+-linkcheck: conf.py towncrier
++linkcheck: conf.py
+       $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+       @echo
+       @echo "Link check complete; look for any errors in the above output " \
+             "or in $(BUILDDIR)/linkcheck/output.txt."
+-spelling: conf.py towncrier
++spelling: conf.py
+       $(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) $(BUILDDIR)/spelling
+       @echo
+       @echo "Spelling check complete; look for any errors in the above output " \
+             "or in $(BUILDDIR)/spelling/output.txt."
+-doctest: conf.py towncrier
++doctest: conf.py
+       $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+       @echo "Testing of doctests in the sources finished, look at the " \
+             "results in $(BUILDDIR)/doctest/output.txt."
index 3154078ce6140ba0fd287b7354e35654a0bc9a07..ac996858974eb46305976c8d278d2e5a678169a2 100644 (file)
@@ -144,7 +144,10 @@ dev-db/mariadb jdbc
 
 # Brian Dolbec <dolsen@gentoo.org> (9 Aug 2016)
 # Mask doc use flag due to needed sphinx pkg update
->=dev-util/buildbot-0.9.0_rc1 doc
+~dev-util/buildbot-0.9.0_p1 doc
+~dev-util/buildbot-0.9.1 doc
+~dev-util/buildbot-0.9.2 doc
+~dev-util/buildbot-0.9.3 doc
 
 # James Le Cuirot <chewi@gentoo.org> (26 Jul 2016)
 # Only available on amd64.