We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

annotate dev-vcs/kallithea/kallithea-9999.ebuild @ 128:507516b40917

Kallithea: fixing paths, adding emerge --config support (WIP)
author Daniel Neugebauer <dneuge@energiequant.de>
date Sun, 03 Aug 2014 19:24:42 +0200
parents 86d178602b1f
children 4a630613e8cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
1 # Copyright 1999-2014 Gentoo Foundation
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
2 # Distributed under the terms of the GNU General Public License v2
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
3
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
4 EAPI="2"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
5 PYTHON_DEPEND="2"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
6 SUPPORT_PYTHON_ABIS="1"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
7
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
8 inherit mercurial
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
9
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
10 DESCRIPTION="a web-based frontend and middleware to Mercurial and Git repositories"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
11 HOMEPAGE="https://kallithea-scm.org/"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
12
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
13 #EHG_REPO_URI="https://kallithea-scm.org/repos/kallithea"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
14 EHG_REPO_URI="https://bitbucket.org/conservancy/kallithea"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
15
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
16 RDEPEND="dev-python/virtualenv"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
17
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
18 DEPEND="${RDEPEND}"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
19
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
20 LICENSE="GPL-3"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
21 SLOT="0"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
22 KEYWORDS="~amd64 ~x86"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
23 IUSE=""
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
24
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
25 RESTRICT_PYTHON_ABIS="3.*"
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
26
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
27 installBasePath="/opt/kallithea"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
28 virtualenvActivationPath="bin/activate"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
29
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
30 src_compile() {
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
31 # not really compiling anything
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
32
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
33 realWorkDir=$(pwd)
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
34
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
35 # create new virtual environment
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
36 virtualenv --no-site-packages dist/v
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
37
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
38 # activate environment
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
39 source "dist/v/${virtualenvActivationPath}"
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
40
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
41 # WORKAROUND:
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
42 # pylonshq.com is dead, remove from config
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
43 sed -e 's/\(find_links\s*=\s*http:\/\/www.pylonshq.com\/\)/;\1/' -i setup.cfg
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
44
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
45 # perform automatic installation, includes dependencies
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
46 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
47 echo "===> output by Kallithea's setup.py"
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
48 python setup.py install || die "Automatic installation failed, please check above output."
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
49 echo "<=== Kallithea's setup.py is done, resuming ebuild code"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
50 echo
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
51
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
52 # rewrite virtualenv directory to later installation directory
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
53 oldIFS="${IFS}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
54 IFS="
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
55 "
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
56 echo "Searching files that need to have paths replaced when leaving portage sandbox..."
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
57 dirtyFiles=$(grep -Ri "${realWorkDir}/dist/v" ${realWorkDir}/dist/v | grep -vE '^Binary' | cut -d':' -f1 | sort | uniq)
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
58 for dirtyFile in ${dirtyFiles}; do
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
59 echo " patching ${dirtyFile}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
60 sed -e "s#${realWorkDir}/dist/v#${installBasePath}#" -i "${dirtyFile}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
61 done
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
62 IFS="${oldIFS}"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
63 }
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
64
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
65 src_install() {
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
66 # QA: no need to have anything world-writable...
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
67 chmod o-w -R dist/v/lib/python2.7/site-packages/setuptools-0.9.8-py2.7.egg-info
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
68
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
69 # just copy the virtualenv directory to /opt/kallithea
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
70 dodir /opt
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
71 cp -aR "${S}/dist/v" "${D}${installBasePath}"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
72 }
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
73
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
74 pkg_postinst() {
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
75 # 1 2 3 4 5 6 7 8
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
76 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
77 einfo "You need to setup Kallithea according to the instructions at:"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
78 einfo " https://pythonhosted.org/Kallithea/setup.html"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
79 einfo ""
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
80 einfo "When doing so, please mind that Kallithea was installed into a Python virtual"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
81 einfo "environment that has to be \"activated\" before it can be used. To do so,"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
82 einfo "you will have to run a dedicated shell and initialize the environment by running"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
83 einfo ""
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
84 einfo " source ${D}/dist/v/bin/activate"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
85 einfo ""
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
86 einfo "We can wrap those commands for you if you run:"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
87 einfo " emerge --config =${CATEGORY}/${PF}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
88 einfo ""
127
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
89 einfo "Kallithea also provides a way to migrate your database if you"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
90 einfo "are coming from RhodeCode. Instructions can be found at:"
86d178602b1f adding dev version Kallithea ebuild
Daniel Neugebauer <dneuge@energiequant.de>
parents: 15
diff changeset
91 einfo "https://pythonhosted.org/Kallithea/index.html#converting-from-rhodecode"
12
c3acf66affe4 adding everything related to rhodecode; most likely got some transitive dependencies in rhodecode ebuild, needs cleaning
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
92 }
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
93
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
94 my_read_line() {
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
95 # BASH function 'read' cannot write input back to variable in correct environment
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
96 # when run by emerge so we have to do *this* instead... great... :/
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
97 # (at least this works...)
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
98
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
99 python -c 'import sys; print(sys.stdin.readline().strip())'
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
100 }
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
101
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
102 config_menu() {
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
103 choice=""
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
104
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
105 oldIFS="${IFS}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
106 IFS="
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
107 "
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
108
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
109 # 1 2 3 4 5 6 7 8
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
110 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
111 echo "==============================================================================="
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
112 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
113 echo "Your options:"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
114 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
115 echo " 1) create production config from template (paster make-config ...)"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
116 echo " 2) edit production config"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
117 echo " 3) initialize Kallithea (paster setup-db)"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
118 echo " This will also ask for repository location and create an admin account."
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
119 echo " 0) quit"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
120 echo " Kallithea should be able to run now, check documentation for more options"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
121 echo " such as setting up a task queue or full text search if you need it."
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
122 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
123
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
124 while [[ ! "${choice}" =~ ^[0-3]$ ]]; do
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
125 echo -n "Your choice? "
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
126 choice=$(my_read_line)
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
127 done
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
128
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
129 IFS="${oldIFS}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
130
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
131 return ${choice}
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
132 }
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
133
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
134 pkg_config() {
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
135 # 1 2 3 4 5 6 7 8
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
136 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
137
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
138 echo "Kallithea setup requires following multiple steps, some of which need to be run"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
139 echo "in the correct virtual Python environment. This script helps you running those"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
140 echo "commands by wrapping the commands to be run inside the correct virtualenv."
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
141 echo "You may still want to read the setup instructions while running this script:"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
142 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
143 echo " https://pythonhosted.org/Kallithea/setup.html"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
144
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
145 # activate virtualenv
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
146 cd ${installBasePath} || die "installation is gone? (${installBasePath})"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
147 source "${virtualenvActivationPath}" || die "failed to activate virtualenv (${installBasePath}/${virtualenvActivationPath})"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
148
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
149 while true; do
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
150 config_menu
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
151 choice=$?
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
152 echo
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
153
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
154 case "${choice}" in
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
155 0) break
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
156 ;;
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
157
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
158 1) mkdir -p "${installBasePath}/etc"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
159 cd "${installBasePath}/etc"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
160 paster make-config Kallithea production.ini
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
161 ;;
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
162
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
163 2) iniPath="${installBasePath}/etc/production.ini"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
164
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
165 if [ ! -e "${iniPath}" ]; then
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
166 echo "config not found at ${iniPath}; did you follow step 1?"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
167 continue
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
168 fi
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
169
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
170 # terminal and shell need a reset or editor will be screwed up
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
171 source /etc/profile
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
172 reset
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
173
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
174 # open editor
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
175 if [[ "${EDITOR}" != "" ]] && [ -e "${EDITOR}" ]; then
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
176 ${EDITOR} "${iniPath}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
177 else
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
178 nano -w "${iniPath}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
179 fi
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
180
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
181 # we better reset again...
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
182 source /etc/profile
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
183 reset
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
184 ;;
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
185
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
186 *) echo "invalid choice ${choice}"
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
187 ;;
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
188 esac
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
189 done
507516b40917 Kallithea: fixing paths, adding emerge --config support (WIP)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 127
diff changeset
190 }