forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-util/buildbot: Version bump, enable docs use flag
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 <[email protected]>
- Loading branch information
Showing
5 changed files
with
361 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" "[email protected]" | ||
systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "[email protected]" | ||
|
||
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 [email protected]" | ||
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." | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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." |
Oops, something went wrong.