megacoffee.net Gentoo overlay - legacy mirror
We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.
changeset 144:bfe110645e2a
dev-vcs/kallithea: removing old dev ebuild (9999)
author | Daniel Neugebauer <dneuge@energiequant.de> |
---|---|
date | Mon, 28 Mar 2016 20:53:04 +0200 |
parents | b4939be30911 |
children | b4ad250ded02 |
files | dev-vcs/kallithea/Manifest dev-vcs/kallithea/kallithea-9999.ebuild |
diffstat | 2 files changed, 0 insertions(+), 263 deletions(-) [+] |
line wrap: on
line diff
--- a/dev-vcs/kallithea/Manifest Mon Mar 28 20:50:27 2016 +0200 +++ b/dev-vcs/kallithea/Manifest Mon Mar 28 20:53:04 2016 +0200 @@ -2,4 +2,3 @@ AUX start-virtualenv.sh 463 SHA256 2f5def6c4840b94b78055fcc3f3e37aa42dd709e4e71dfa16d1fc63966274456 SHA512 0912644b3806b9c04d301f5f2f59c9b212549e73dec848a324fb0dd8bc9410e60750a571a3438ccc4b9dd940020986b67a9f3bb29a7fd27945daa2ae4c24139d WHIRLPOOL f4cbb8e583ec907baaa0801c6c2f73a9832689422654661079d420002a6c55ff872f8af1b4a2b78e50085f90e2c8d5876e93a436c443ac75f9d589510d8f615c DIST Kallithea-0.3.1.tar.bz2 5320317 SHA256 9c6cac42d99da475af63012265f986c4d743a07e81c18f4744b3bf8be84aad7d SHA512 09bf8552d00176258dc2f00fc8a186bb95e0f12b535db836bf6a404bc41821805c144056af76f69eec66926ce3226ba0a6b3776abb8d717f5bbe5b33faa81beb WHIRLPOOL d05b0cbf7f9613571116efc10a0d99b1944c2c2ae4ede37dfde074120839bd40c2c0708f5028e2018f9d1fb4a24a7ef42b84f211c1fdef13200b2b7ee765f85f EBUILD kallithea-0.3.1.ebuild 15526 SHA256 9c64b0c91c1631a61207f78aae7ba4c78f806b1c9127aa18d921655871cb7815 SHA512 8c3a0867552651f8e0257a685ddaa8c9dde02adb335a395a8daf282a35a11bd51f031ef7f7890756daa877a4cabcbc73c5f7157699d90f1c9ec27e3bb691a40c WHIRLPOOL d479eec505d49136e0f40f9678e23498ef37dbecc9359961bab7b45cb9c751aac55ddfde35fbb73e27e8a2139106d41cb0e18de7bb1a0b0373524c5c2ce475ad -EBUILD kallithea-9999.ebuild 8413 SHA256 0455764589e04a214f885831587ab57a823994f9e57bda1b969f2ff746b59d03 SHA512 3e6b0a1ef1f2c1316f8690336a7d1516ac80cce301d8ac85f8b4adcb7b86780fd56328338c7c271dee0de505f54c324c1339b2b619ecc1a7169e67aac3cd4eae WHIRLPOOL 97827448c10e7ec8bd94ff129a5a9b3b2f94dde815d8a357c28b0e8e6f3c1a0768381133e730f0b0472750920cc55f9276aa0822bddc0581be0f3b2ec76eccfa
--- a/dev-vcs/kallithea/kallithea-9999.ebuild Mon Mar 28 20:50:27 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="2" -PYTHON_DEPEND="2" -SUPPORT_PYTHON_ABIS="1" - -inherit mercurial -inherit user - -DESCRIPTION="a web-based frontend and middleware to Mercurial and Git repositories" -HOMEPAGE="https://kallithea-scm.org/" - -#EHG_REPO_URI="https://kallithea-scm.org/repos/kallithea" -EHG_REPO_URI="https://bitbucket.org/conservancy/kallithea" - -RDEPEND="dev-python/virtualenv" - -DEPEND="${RDEPEND}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RESTRICT_PYTHON_ABIS="3.*" - -installDataPath="/var/lib/kallithea" -installBasePath="/opt/kallithea" -installConfigPath="/etc/kallithea" -virtualenvActivationPath="bin/activate" - -pkg_setup() { - # create user and group - enewgroup kallithea - enewuser kallithea -1 -1 "${installDataPath}" kallithea -} - -src_compile() { - # not really compiling anything - - realWorkDir=$(pwd) - - # create new virtual environment - virtualenv --no-site-packages dist/v - - # activate environment - source "dist/v/${virtualenvActivationPath}" - - # WORKAROUND: - # pylonshq.com is dead, remove from config - sed -e 's/\(find_links\s*=\s*http:\/\/www.pylonshq.com\/\)/;\1/' -i setup.cfg - - # WORKAROUND: - # if we don't install anyjson via PIP we will get a sandbox violation on second run - # (after fixing pylonshq.com for Pylons EGG-INFO) - # see: https://groups.google.com/forum/#!msg/rhodecode/agjXi2JeDZQ/LzFJ6EAsk9AJ - pip install 'anyjson>=0.3.1' - - # perform automatic installation, includes dependencies - echo - echo "===> output by Kallithea's setup.py" - python setup.py install - retval=$? - echo "<=== Kallithea's setup.py is done, resuming ebuild code" - echo - - # WORKAROUND: - # pylonshq.com may still have been tried to be accessed and failed - # check if that's the case and retry with a patched egg info file - if [ ${retval} -ne 0 ]; then - pylonsPath="${realWorkDir}/dist/v/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg" - #if [ ! -e "${pylonsPath}/pylons" ] && [ -e "${pylonsPath}/EGG-INFO" ]; then - if [ ! -e "${realWorkDir}/dist/v/lib/python2.7/site-packages/pylons" ] && [ -e "${realWorkDir}/dist/v/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/EGG-INFO" ]; then - # gnoar... it really smells like pylonshq.com... - sed -e 's#^http://www.pylonshq.com/.*##' -i "${pylonsPath}/EGG-INFO/dependency_links.txt" - - # prepare to try again (sandbox violation if not done) - # TODO: check if still required - source /etc/profile - cd "${realWorkDir}" - source "dist/v/${virtualenvActivationPath}" - - echo "Retrying installation with removed pylonshq.com URL..." - echo - echo "===> output by Kallithea's setup.py" - python setup.py install || die "Automatic installation failed, please check above output. (failed after fixing Pylons dependency URL)" - echo "<=== Kallithea's setup.py is done, resuming ebuild code" - else - # some other error on first run - die "Automatic installation failed, please check above output. (failed on first try)" - fi - fi - echo - - # create config - mkdir "${realWorkDir}/etc" - cd "${realWorkDir}/etc" - paster make-config Kallithea production.ini || die "unable to create configuration file" - - # rewrite virtualenv directory to later installation directory - oldIFS="${IFS}" - IFS=" - " - echo "Searching files that need to have paths replaced when leaving portage sandbox..." - dirtyFiles=$(grep -Ri "${realWorkDir}/dist/v" ${realWorkDir}/dist/v | grep -vE '^Binary' | cut -d':' -f1 | sort | uniq) - for dirtyFile in ${dirtyFiles}; do - echo " patching ${dirtyFile}" - sed -e "s#${realWorkDir}/dist/v#${installBasePath}#" -i "${dirtyFile}" - done - IFS="${oldIFS}" - - # create WSGI file - cd "${realWorkDir}/etc" - cp "${FILESDIR}/production.wsgi" . - sed -e "s:###BASEDIR###:${installBasePath}:" -i production.wsgi - sed -e "s:###DATADIR###:${installDataPath}:" -i production.wsgi - sed -e "s:###CONFDIR###:${installConfigPath}:" -i production.wsgi -} - -src_install() { - # QA: no need to have anything world-writable... - chmod o-w -R dist/v/lib/python2.7/site-packages/setuptools-0.9.8-py2.7.egg-info - - # just copy the virtualenv directory to /opt/kallithea - dodir /opt - cp -aR "${S}/dist/v" "${D}${installBasePath}" - - # install configuration files to /etc/kallithea - diropts -m750 -oroot -gkallithea - insopts -m640 -oroot -gkallithea - insinto "${installConfigPath}" - doins "${S}/etc/production.ini" - doins "${S}/etc/production.wsgi" - - # create data directory - diropts -m2770 -okallithea -gkallithea - keepdir "${installDataPath}" -} - -pkg_postinst() { - # 1 2 3 4 5 6 7 8 - # 12345678901234567890123456789012345678901234567890123456789012345678901234567890 - einfo "You need to setup Kallithea according to the instructions at:" - einfo " https://pythonhosted.org/Kallithea/setup.html" - einfo "" - einfo "When doing so, please mind that Kallithea was installed into a Python virtual" - einfo "environment that has to be \"activated\" before it can be used. To do so," - einfo "you will have to run a dedicated shell and initialize the environment by running" - einfo "" - einfo " source ${D}/dist/v/bin/activate" - einfo "" - einfo "We can wrap those commands for you if you run:" - einfo " emerge --config =${CATEGORY}/${PF}" - einfo "" - einfo "Kallithea also provides a way to migrate your database if you" - einfo "are coming from RhodeCode. Instructions can be found at:" - einfo "https://pythonhosted.org/Kallithea/index.html#converting-from-rhodecode" -} - -my_read_line() { - # BASH function 'read' cannot write input back to variable in correct environment - # when run by emerge so we have to do *this* instead... great... :/ - # (at least this works...) - - python -c 'import sys; print(sys.stdin.readline().strip())' -} - -config_menu() { - choice="" - - oldIFS="${IFS}" - IFS=" - " - - # 1 2 3 4 5 6 7 8 - # 12345678901234567890123456789012345678901234567890123456789012345678901234567890 - echo - echo "===============================================================================" - echo - echo "Your options:" - echo - echo " 1) create production config from template (paster make-config ...)" - echo " 2) edit production config" - echo " 3) initialize Kallithea (paster setup-db)" - echo " This will also ask for repository location and create an admin account." - echo " 0) quit" - echo " Kallithea should be able to run now, check documentation for more options" - echo " such as setting up a task queue or full text search if you need it." - echo - - echo "TERM is ${TERM}" - - while [[ ! "${choice}" =~ ^[0-3]$ ]]; do - echo -n "Your choice? " - choice=$(my_read_line) - done - - IFS="${oldIFS}" - - return ${choice} -} - -pkg_config() { - # 1 2 3 4 5 6 7 8 - # 12345678901234567890123456789012345678901234567890123456789012345678901234567890 - - echo "Kallithea setup requires following multiple steps, some of which need to be run" - echo "in the correct virtual Python environment. This script helps you running those" - echo "commands by wrapping the commands to be run inside the correct virtualenv." - echo "You may still want to read the setup instructions while running this script:" - echo - echo " https://pythonhosted.org/Kallithea/setup.html" - - # activate virtualenv - cd ${installBasePath} || die "installation is gone? (${installBasePath})" - source "${virtualenvActivationPath}" || die "failed to activate virtualenv (${installBasePath}/${virtualenvActivationPath})" - - while true; do - config_menu - choice=$? - echo - - case "${choice}" in - 0) break - ;; - - 1) mkdir -p "${installBasePath}/etc" - cd "${installBasePath}/etc" - paster make-config Kallithea production.ini - ;; - - 2) iniPath="${installBasePath}/etc/production.ini" - - if [ ! -e "${iniPath}" ]; then - echo "config not found at ${iniPath}; did you follow step 1?" - continue - fi - - # terminal and shell need a reset or editor will be screwed up - source /etc/profile - reset - stty sane - - # open editor - if [[ "${EDITOR}" != "" ]] && [ -e "${EDITOR}" ]; then - TERM="xterm" ${EDITOR} "${iniPath}" - else - TERM="xterm" nano -w "${iniPath}" - fi - - # we better reset again... - source /etc/profile - reset - stty sane - ;; - - *) echo "invalid choice ${choice}" - ;; - esac - done -}