diff options
Diffstat (limited to 'dev-util/buildbot')
-rw-r--r-- | dev-util/buildbot/Manifest | 14 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-2.10.0.ebuild | 6 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-2.10.1.ebuild | 6 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-2.8.2-r1.ebuild | 6 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-2.8.4.ebuild | 8 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-3.0.2.ebuild | 200 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-3.1.0.ebuild | 201 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-9999.ebuild | 9 |
8 files changed, 429 insertions, 21 deletions
diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest index 11144480adf2..84ba1e860f7b 100644 --- a/dev-util/buildbot/Manifest +++ b/dev-util/buildbot/Manifest @@ -9,9 +9,13 @@ DIST buildbot-2.10.1.tar.gz 2271357 BLAKE2B 8320f12137b938b1a795857c2cc1e7427a19 DIST buildbot-2.8.0-fakedb.tar.xz 16204 BLAKE2B 741676e2c9117b1ab174ce49747bdfcd07766ad3e471e308398dff476f167fd231b7772c2f02002cbafb27e2ef535242d84d5aa84f4bc8942d4d216b2d5bf1f6 SHA512 c2b00d8621b3a1e521f6c17e902ae331b606dda3d319187895f26629dbdaf50caefc5d49fb150fb780e682ae431515c7ded4950d62448e8a73b8efba821c0fa1 DIST buildbot-2.8.2.tar.gz 3181035 BLAKE2B 40a3e424cc03c982549f25993a4abd2fe04bdc089ad22288af4d25724972f9f3541ef32549d2761c808845df44a972b00cf631adfc564bf4852c4b6b6ab14404 SHA512 7d7f15becc7fc1803ae4e9f1906d547c89dfe1efaa51e8fda0674a3d9b060bafbaae4cb671ec844750313247edb73f17c9014c545bce58070df0ca322a0fd9a2 DIST buildbot-2.8.4.tar.gz 3134447 BLAKE2B 67052a060c9951e584a5e94f36b92262b9a1956c22efbce7ac17d83f93edde3d9443b00a7bc3afc5918006d68cc023ea0ae913e7bbf0e7cede0d9345992f83ae SHA512 45a6e6116ab5fec18b9b3a6d54886bcf86d3a821a79fd151f9311c8c3646c61051a194250395e203f02b9aa0161e12a9ca54b623897c74eee6133df752f1742c -EBUILD buildbot-2.10.0.ebuild 7115 BLAKE2B 3416dc7d89dbf31d716d2252518edc7f5babc6c4ee7c6371d3eb04ec3d237f0a3c0a9ff115daf34fd51ca3bbcbf405a26149fcadd77541c8ef78453a42bff2a2 SHA512 dbf258c61e4f13bcd058d7d3ade73ddb599f816d2f424af19f33dfb112be4290a313ba7fdfaaa17a5cf5ac7e06a74413ed5545085b5d90d7eb433abbb543d8a0 -EBUILD buildbot-2.10.1.ebuild 7115 BLAKE2B 3416dc7d89dbf31d716d2252518edc7f5babc6c4ee7c6371d3eb04ec3d237f0a3c0a9ff115daf34fd51ca3bbcbf405a26149fcadd77541c8ef78453a42bff2a2 SHA512 dbf258c61e4f13bcd058d7d3ade73ddb599f816d2f424af19f33dfb112be4290a313ba7fdfaaa17a5cf5ac7e06a74413ed5545085b5d90d7eb433abbb543d8a0 -EBUILD buildbot-2.8.2-r1.ebuild 7148 BLAKE2B b534d558b14a65d48430cbc9762c7a98d1398fc27001ca91cc4f59b5bd29f994e0e169084962a53108235b09ded1d2647b2556282479dba988ab5601fa53b560 SHA512 ad7543a6bc68724ff9992b4fccd614e19d4e90e2b21147b28d5f2ab5f21c10c124014b62da9af914eb8a02d2ce80fd95f2e7b7876d1e671dce8e3af65018074e -EBUILD buildbot-2.8.4.ebuild 7243 BLAKE2B dc4216d425802900e6938804ae385d052d723263251982720a82dc064781394a81735e2b14ebac778c9dee0ba70d7fce44ec999e96ea0f45b0785b6568ad03b2 SHA512 4cd3a9d1d8b570358a6c0e0a477e574573fd93ffda53ccc0af4c43a404c2f32740df9f92b130a75e038e88e4cf256f00a918e99ac781d6446055a4938d558c34 -EBUILD buildbot-9999.ebuild 7040 BLAKE2B 1769ea943685d216e5032bc5c1f6ac994c9b4d50270d61246a89bba865d447733dce191c903267705dbe0b7f278f39acf601c6df04105240437f517b7fdc6cc4 SHA512 12ef0751db8c8587e5a81374b270a45a1062e9f20b7956c48d5cfc74a39f812ecb2f73d50c8ddb3644a225363fe3c78ed692005620500c02fb873d2b5377b23a +DIST buildbot-3.0.2.tar.gz 2221373 BLAKE2B 7f7e08375f0eb6eb0187dc734f0eefda5bc24c9bdce543cc6d094d67a211e909bff93d3a956b57cb14e800c52b7f05a2f823173becac37bd0a52790dfe158e1a SHA512 137ac6fdb7e1b67542c0a5b1d5c4736ebf9b6b7ffd5a2c18795eeec3a132abcad972252baabbf585efc3ed4bb14e61d8552c4d21ceff9c71823cca42613c6f5b +DIST buildbot-3.1.0.tar.gz 2229027 BLAKE2B 27eaed470f18c4fe8cae1730ca92918352518263a5cc7c3affea070dc3c9890e88db81e2f0d70b1071da89a4df7fd34091ac9dd08b8d6933e568365859640c4e SHA512 2eb08af4c59b5268fb9d5dd3e5c6c4889542c39b7034aee7bb6151d4e24ce99a9c0a83ec303ca4110a55e8f7daa562ddc0debee83499984a3d9fa0fad965740c +EBUILD buildbot-2.10.0.ebuild 7097 BLAKE2B ec93bddfc15ff763693dfc1602e4e6687fd28b00aa2e69bce95ea37a7efeedc828958d55c2995e5b7f522909bc4894bf06f6133e14a108fcb1ca8823f304a7a1 SHA512 39e7cb03d27b32432d45637d3a976c49f4fc01f5ed8e2c104329acf52b2763bc3f5cba9dd86317f031b0bee654a80bd3b3a52a0b7407ce6e394821f2ff4d9a1b +EBUILD buildbot-2.10.1.ebuild 7097 BLAKE2B ec93bddfc15ff763693dfc1602e4e6687fd28b00aa2e69bce95ea37a7efeedc828958d55c2995e5b7f522909bc4894bf06f6133e14a108fcb1ca8823f304a7a1 SHA512 39e7cb03d27b32432d45637d3a976c49f4fc01f5ed8e2c104329acf52b2763bc3f5cba9dd86317f031b0bee654a80bd3b3a52a0b7407ce6e394821f2ff4d9a1b +EBUILD buildbot-2.8.2-r1.ebuild 7162 BLAKE2B d01e229b6927cd16b5b852db5758146e4a284e21a915459c140c023da215e5ab40da1cfb9a7f78baaa0d0c792cdd0bfd9caae5ccab408c6ca5caf70218a3bef5 SHA512 767eab00ef736e04bde1ca898b3f21224b89bc756175d1ca769bd947872fa90c204258d4a9dae4ec69bfd623e74533107c1ab14232940471e4901983039b6f37 +EBUILD buildbot-2.8.4.ebuild 7225 BLAKE2B 2b549d7cb6e8e7d90356fc9d648a0dd466f04909944beeeda8aed4a4a2c8df13d87fa2e316d791bbc614893948b906c96c4e5b06ff1bd715aa0bc11a308473d9 SHA512 551fe27d6b28ea82842b314be4182d9ec608551e87095db9ef4de4522a7499f2fe97ed1d626c718ef20e8c8cad6609b4a9de74e6c176ad14e0f9ef703ff7d037 +EBUILD buildbot-3.0.2.ebuild 7184 BLAKE2B 8b980199ed250d0675e3d99b93bc685466090841702af32277275e5a816d124d41636a6cb3ee319e8dd03c641f2880233b7bc9bb438b6f72b2008c99eb9c98a0 SHA512 6de57aec13afb5b5174851f25098b49d21a935244bde5960c2fc45c215fbacbc31816f485cec5fca6f2734241fe5eb5500effa8f06d0263d5a1428ac30a03e12 +EBUILD buildbot-3.1.0.ebuild 7229 BLAKE2B 4bb723ce898a5718529a171fa2391223b57b6713e0b20a44bd852f45aeac959367f4013d2bd59563a5b3d639f8ac8bbd57ecc4f4643cbbaf9953eba986fe0aff SHA512 d72650d98d9690d5012681eb78437030963987791d891eeaf80b444c5cde34148771d023d342fde63178f9cfc594bff1af3721911b7b6f1db518dd945857de57 +EBUILD buildbot-9999.ebuild 7179 BLAKE2B b82966f31a9783597485fc92271a916762bb2bbcf2af5a5c1bfbf48e321b90d2e10b1a4e4575086454b194083f59402eb73bf859cf2ce3e641dfecfa29ea157a SHA512 e979841f2dd909452ec11cf6723d74728a2fcb8bf9b87bd2aeef3381674930dde15e23454622069fd482e65c6f7933a5087333ec3c2072195034621d053be8ad MISC metadata.xml 1359 BLAKE2B 33a6b0f21ad4255f28bc527fb18a384889eb34b2ddc5df5cfa03cc4b1960712b91c787706b95913154300b8e82a5879703dd90d0bf4d796cd6b8bb2a7c4b71cd SHA512 ded6f9cd25bef2df1431b71d5ffc9f0aa3efe9d2f7433cee7800fc27e1f6f76ad64cda9bbc4d3eb3fe0f44dbd7414c75b029f78307925dab5ed06df3d52d86e7 diff --git a/dev-util/buildbot/buildbot-2.10.0.ebuild b/dev-util/buildbot/buildbot-2.10.0.ebuild index eb906ec82e1f..c7c1f74b4a1c 100644 --- a/dev-util/buildbot/buildbot-2.10.0.ebuild +++ b/dev-util/buildbot/buildbot-2.10.0.ebuild @@ -94,10 +94,10 @@ src_compile() { # missing files, so skip building if use doc; then einfo "Generation of documentation" - pushd docs > /dev/null + pushd docs > /dev/null || die #'man' target is currently broken - emake html || die "Docs generation failed" - popd > /dev/null + emake html + popd > /dev/null || die fi } diff --git a/dev-util/buildbot/buildbot-2.10.1.ebuild b/dev-util/buildbot/buildbot-2.10.1.ebuild index eb906ec82e1f..c7c1f74b4a1c 100644 --- a/dev-util/buildbot/buildbot-2.10.1.ebuild +++ b/dev-util/buildbot/buildbot-2.10.1.ebuild @@ -94,10 +94,10 @@ src_compile() { # missing files, so skip building if use doc; then einfo "Generation of documentation" - pushd docs > /dev/null + pushd docs > /dev/null || die #'man' target is currently broken - emake html || die "Docs generation failed" - popd > /dev/null + emake html + popd > /dev/null || die fi } diff --git a/dev-util/buildbot/buildbot-2.8.2-r1.ebuild b/dev-util/buildbot/buildbot-2.8.2-r1.ebuild index 293a54f89f28..b0700a3d10e5 100644 --- a/dev-util/buildbot/buildbot-2.8.2-r1.ebuild +++ b/dev-util/buildbot/buildbot-2.8.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -98,10 +98,10 @@ src_compile() { if use doc; then einfo "Generation of documentation" - pushd docs > /dev/null + pushd docs > /dev/null || die #'man' target is currently broken emake html - popd > /dev/null + popd > /dev/null || die fi } diff --git a/dev-util/buildbot/buildbot-2.8.4.ebuild b/dev-util/buildbot/buildbot-2.8.4.ebuild index a36c9bb8123c..e9d0a330e1ec 100644 --- a/dev-util/buildbot/buildbot-2.8.4.ebuild +++ b/dev-util/buildbot/buildbot-2.8.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -100,10 +100,10 @@ src_compile() { # missing files, so skip building if use doc; then einfo "Generation of documentation" - pushd docs > /dev/null + pushd docs > /dev/null || die #'man' target is currently broken - emake html || die "Docs generation failed" - popd > /dev/null + emake html + popd > /dev/null || die fi } diff --git a/dev-util/buildbot/buildbot-3.0.2.ebuild b/dev-util/buildbot/buildbot-3.0.2.ebuild new file mode 100644 index 000000000000..36fb6b16cb7b --- /dev/null +++ b/dev-util/buildbot/buildbot-3.0.2.ebuild @@ -0,0 +1,200 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_REQ_USE="sqlite" +PYTHON_COMPAT=( python3_{7,8,9} ) + +DISTUTILS_USE_SETUPTOOLS="rdepend" + +inherit readme.gentoo-r1 systemd distutils-r1 + +MY_PV="${PV/_p/.post}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="BuildBot build automation system" +HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/buildbot/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz + https://dev.gentoo.org/~dolsen/distfiles/buildbot-2.8.0-fakedb.tar.xz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~amd64-linux ~x86-linux" + +IUSE="crypt doc docker examples irc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-user/buildbot + >=dev-python/jinja-2.1[${PYTHON_USEDEP}] + >=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt?] + >=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.13[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}] + >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}] + dev-python/pyjwt[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}] + ~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}] + crypt? ( + >=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + ) + irc? ( + dev-python/txrequests[${PYTHON_USEDEP}] + ) + docker? ( + >=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND} + doc? ( + >=dev-python/sphinx-3.2.0[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}] + dev-python/pyenchant[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/sphinx-jinja[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ) + test? ( + dev-python/ldap3[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + dev-python/moto[${PYTHON_USEDEP}] + >=dev-python/boto3-1.12.48[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + dev-python/pypugjs[${PYTHON_USEDEP}] + dev-python/txrequests[${PYTHON_USEDEP}] + dev-python/lz4[${PYTHON_USEDEP}] + dev-python/treq[${PYTHON_USEDEP}] + dev-python/setuptools_trial[${PYTHON_USEDEP}] + ~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}] + ~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}] + ~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}] + )" + +S=${WORKDIR}/${MY_P} + +distutils_enable_tests setup.py + +pkg_setup() { + 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." +} + +src_compile() { + distutils-r1_src_compile + + # missing files, so skip building + if use doc; then + einfo "Generation of documentation" + pushd docs > /dev/null || die + #'man' target is currently broken + emake html + popd > /dev/null || die + fi +} + +src_install() { + distutils-r1_src_install + + doman docs/buildbot.1 + + if use doc; then + HTML_DOCS=( docs/_build/html/ ) + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r 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 +} + +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" + local log_path="/var/log/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}" + local instance_log_path="${log_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: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" + + if [[ ! -d "${instance_log_path}" ]]; then + mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" + fi + ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ + || die "Unable to create link to log file" + + einfo "Successfully created a buildmaster instance at ${instance_path}." + einfo "To change the default settings edit the master.cfg file in this directory." +} diff --git a/dev-util/buildbot/buildbot-3.1.0.ebuild b/dev-util/buildbot/buildbot-3.1.0.ebuild new file mode 100644 index 000000000000..01cb4bce9603 --- /dev/null +++ b/dev-util/buildbot/buildbot-3.1.0.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_REQ_USE="sqlite" +PYTHON_COMPAT=( python3_{7,8,9} ) + +DISTUTILS_USE_SETUPTOOLS="rdepend" + +inherit readme.gentoo-r1 systemd distutils-r1 + +MY_PV="${PV/_p/.post}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="BuildBot build automation system" +HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/buildbot/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz + https://dev.gentoo.org/~dolsen/distfiles/buildbot-2.8.0-fakedb.tar.xz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~amd64-linux ~x86-linux" + +IUSE="crypt doc docker examples irc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-user/buildbot + >=dev-python/jinja-2.1[${PYTHON_USEDEP}] + >=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt?] + >=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.13[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}] + >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}] + dev-python/pyjwt[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/unidiff[${PYTHON_USEDEP}] + >=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}] + ~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}] + crypt? ( + >=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + ) + irc? ( + dev-python/txrequests[${PYTHON_USEDEP}] + ) + docker? ( + >=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND} + doc? ( + >=dev-python/sphinx-3.2.0[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}] + dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}] + dev-python/pyenchant[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/sphinx-jinja[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ) + test? ( + dev-python/ldap3[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + dev-python/moto[${PYTHON_USEDEP}] + >=dev-python/boto3-1.12.48[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + dev-python/pypugjs[${PYTHON_USEDEP}] + dev-python/txrequests[${PYTHON_USEDEP}] + dev-python/lz4[${PYTHON_USEDEP}] + dev-python/treq[${PYTHON_USEDEP}] + dev-python/setuptools_trial[${PYTHON_USEDEP}] + ~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}] + ~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}] + ~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}] + )" + +S=${WORKDIR}/${MY_P} + +distutils_enable_tests setup.py + +pkg_setup() { + 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." +} + +src_compile() { + distutils-r1_src_compile + + # missing files, so skip building + if use doc; then + einfo "Generation of documentation" + pushd docs > /dev/null || die + #'man' target is currently broken + emake html + popd > /dev/null || die + fi +} + +src_install() { + distutils-r1_src_install + + doman docs/buildbot.1 + + if use doc; then + HTML_DOCS=( docs/_build/html/ ) + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r 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 +} + +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" + local log_path="/var/log/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}" + local instance_log_path="${log_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: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" + + if [[ ! -d "${instance_log_path}" ]]; then + mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" + fi + ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ + || die "Unable to create link to log file" + + einfo "Successfully created a buildmaster instance at ${instance_path}." + einfo "To change the default settings edit the master.cfg file in this directory." +} diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild index bb6920d8ce96..dcf36e3727e7 100644 --- a/dev-util/buildbot/buildbot-9999.ebuild +++ b/dev-util/buildbot/buildbot-9999.ebuild @@ -3,7 +3,7 @@ EAPI="7" PYTHON_REQ_USE="sqlite" -PYTHON_COMPAT=( python3_{7,8} ) +PYTHON_COMPAT=( python3_{7,8,9} ) EGIT_REPO_URI="https://github.com/buildbot/${PN}.git" @@ -32,11 +32,13 @@ RDEPEND=" >=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt?] >=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}] >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}] >=dev-python/sqlalchemy-migrate-0.13[${PYTHON_USEDEP}] >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}] >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}] dev-python/pyjwt[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/unidiff[${PYTHON_USEDEP}] >=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}] ~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}] crypt? ( @@ -64,6 +66,7 @@ DEPEND="${RDEPEND} dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] ) test? ( + dev-python/ldap3[${PYTHON_USEDEP}] >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] dev-python/moto[${PYTHON_USEDEP}] >=dev-python/boto3-1.12.48[${PYTHON_USEDEP}] @@ -94,10 +97,10 @@ src_compile() { if use doc; then einfo "Generation of documentation" - pushd docs > /dev/null + pushd docs > /dev/null || die #'man' target is currently broken emake html - popd > /dev/null + popd > /dev/null || die fi } |