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-0.3.6.ebuild @ 220:5fc6acd937e1

dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
author Daniel Neugebauer <dneuge@energiequant.de>
date Sat, 29 Dec 2018 16:31:18 +0100
parents dev-vcs/kallithea/kallithea-0.3.5.ebuild@64ad94cc6f53
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
1 # Copyright 1999-2016 Gentoo Foundation
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
2 # Distributed under the terms of the GNU General Public License v2
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
3
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
4 ### NOTES ##########################################################################
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
5 #
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
6 # When updating this ebuild, comment out all workarounds and try without them first.
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
7 # Only re-enable them if they are still required.
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
8 #
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
9 # Also check that documentation URLs are still correct.
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
10 #
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
11 ####################################################################################
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
12
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
13 EAPI="5"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
14 PYTHON_DEPEND="2"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
15 SUPPORT_PYTHON_ABIS="1"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
16
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
17 inherit user
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
18
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
19 DESCRIPTION="a web-based frontend and middleware to Mercurial and Git repositories"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
20 HOMEPAGE="https://kallithea-scm.org/"
220
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
21 SRC_URI="https://files.pythonhosted.org/packages/d7/80/ed994733656253210e4e3b0817e940b8fb3bfaf781d454c7743c0d8f0213/Kallithea-0.3.6.tar.gz"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
22
142
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
23 IUSE="+git mysql postgres sqlite"
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
24 REQUIRED_USE="|| ( mysql postgres sqlite )"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
25
140
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
26 RDEPEND="
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
27 dev-python/virtualenv
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
28 git? ( dev-vcs/git )
142
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
29 mysql? ( dev-db/mysql )
141
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
30 postgres? ( dev-db/postgresql )
140
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
31 sqlite? ( dev-lang/python:2.7[sqlite] )
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
32 "
142
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
33 #mysql? ( virtual/libmysqlclient )
139
75e8d4d50c86 dev-vcs/kallithea: adding dependency for sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 138
diff changeset
34
75e8d4d50c86 dev-vcs/kallithea: adding dependency for sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 138
diff changeset
35 DEPEND="${RDEPEND}
75e8d4d50c86 dev-vcs/kallithea: adding dependency for sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 138
diff changeset
36 app-arch/unzip
136
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
37 sys-apps/sed"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
38
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
39 LICENSE="GPL-3"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
40 SLOT="0"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
41 KEYWORDS="~amd64 ~x86"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
42
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
43 RESTRICT_PYTHON_ABIS="3.*"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
44
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
45 installDataPath="/var/lib/kallithea"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
46 installBasePath="/opt/kallithea"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
47 installConfigPath="/etc/kallithea"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
48 virtualenvActivationPath="bin/activate"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
49
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
50 urlDocumentationSetup="http://kallithea.readthedocs.org/en/${PV}/setup.html"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
51 urlDocumentationRhodeCode="http://kallithea.readthedocs.org/en/${PV}/readme.html#converting-from-rhodecode"
136
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
52 urlDocumentationMegacoffee="http://gentoo-overlay.megacoffee.net/s/docs-kallithea-apache-mod_wsgi"
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
53
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
54 pkg_setup() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
55 # create user and group
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
56 enewgroup kallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
57 enewuser kallithea -1 -1 "${installDataPath}" kallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
58 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
59
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
60 src_unpack() {
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
61 unpack ${A}
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
62 mv Kallithea-${PV} kallithea-${PV} || die "Unexpected directory structure, aborting..."
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
63 }
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
64
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
65 src_compile() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
66 # not really compiling anything
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
67
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
68 realWorkDir=$(pwd)
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
69
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
70 # create new virtual environment
138
28cb864a4a8f dev-vcs/kallithea: forcing Python 2.7 further...
Daniel Neugebauer <dneuge@energiequant.de>
parents: 137
diff changeset
71 virtualenv --python=python2.7 --no-site-packages dist/v
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
72
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
73 # activate environment
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
74 source "dist/v/${virtualenvActivationPath}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
75
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
76 # WORKAROUND:
220
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
77 # upgrade PIP
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
78 pip2.7 install --upgrade pip || einfo "Failed to upgrade PIP inside virtual environment; not a severe issue but might have been helpful to reduce errors."
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
79
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
80 # WORKAROUND:
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
81 # we need to make sure we have a current version of setuptools to install Kallithea's dependencies
137
e08c1ff80cad dev-vcs/kallithea: forcing Python 2.7, otherwise ebuild will fail on fresh Gentoo installations
Daniel Neugebauer <dneuge@energiequant.de>
parents: 136
diff changeset
82 pip2.7 install 'setuptools>=17.1' || die "Failed to install setuptools, aborting!"
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
83
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
84 # WORKAROUND:
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
85 # _after_ installation on --config we need a certain version of paster to create the initial config file...
137
e08c1ff80cad dev-vcs/kallithea: forcing Python 2.7, otherwise ebuild will fail on fresh Gentoo installations
Daniel Neugebauer <dneuge@energiequant.de>
parents: 136
diff changeset
86 pip2.7 install 'PasteScript==2.0.2' || die "Failed to install PasteScript, aborting!"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
87
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
88 # WORKAROUND:
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
89 # Kallithea's attempt to install Mercurial fails, so we do it first
220
5fc6acd937e1 dev-vcs/kallithea: version bump to 0.3.6 (security update), masking <0.3.6
Daniel Neugebauer <dneuge@energiequant.de>
parents: 216
diff changeset
90 pip2.7 install 'mercurial<4.3,>=2.9' || die "Failed to install Mercurial, aborting!"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
91
141
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
92 # WORKAROUND:
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
93 # Kallithea needs psycopg2 for PostgreSQL support which is not currently listed as a dependency?!
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
94 # at the time of writing 2.6.1 is current, so we limit the version to <2.7
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
95 if use postgres ; then
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
96 pip2.7 install 'psycopg2>=2.6,<2.7' || die "Failed to install psycopg2 (required for PostgreSQL support), aborting!"
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
97 fi
99a8dff9f4b0 dev-vcs/kallithea: PostgreSQL support
Daniel Neugebauer <dneuge@energiequant.de>
parents: 140
diff changeset
98
142
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
99 # WORKAROUND:
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
100 # Kallithea needs MySQLdb for MySQL support which is not currently listed as a dependency?!
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
101 # at the time of writing 1.2.5 is current, so we limit the version to <1.3
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
102 if use mysql ; then
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
103 pip2.7 install 'MySQL-python>=1.2,<1.3' || die "Failed to install MySQL-python (required for MySQL support), aborting!"
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
104 fi
2389785d147c dev-vcs/kallithea: adding MySQL support, removing sqlite default selection, requiring at least one database USE flag
Daniel Neugebauer <dneuge@energiequant.de>
parents: 141
diff changeset
105
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
106 # perform automatic installation, includes dependencies
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
107 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
108 echo "===> output by Kallithea's setup.py"
137
e08c1ff80cad dev-vcs/kallithea: forcing Python 2.7, otherwise ebuild will fail on fresh Gentoo installations
Daniel Neugebauer <dneuge@energiequant.de>
parents: 136
diff changeset
109 python2.7 setup.py install
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
110 retval=$?
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
111 echo "<=== Kallithea's setup.py is done, resuming ebuild code"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
112 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
113
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
114 # quit now if failed
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
115 if [ ${retval} -ne 0 ]; then
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
116 echo "Bad return value ${retval} from setup.py install"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
117 exit 1
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
118 fi
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
119
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
120 # unzip all eggs
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
121 echo 'Unzipping all eggs...'
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
122 cd dist/v/lib/python2.7/site-packages/ || die "site-packages not found"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
123 for eggname in *.egg; do
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
124 if [ -f "${eggname}" ]; then
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
125 mv "${eggname}" tmp.extract.zip
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
126 unzip -d "${eggname}" tmp.extract.zip
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
127 rm tmp.extract.zip
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
128 fi
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
129 done
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
130
140
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
131 # disable Git support according to manual
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
132 # see: http://kallithea.readthedocs.org/en/0.3.1/usage/vcs_support.html
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
133 if ! use git ; then
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
134 sed -i -e "/^BACKENDS\s*=\s*{/,/}/ s/^\(\s*\)\('git'\)/\1#\2/" Kallithea-${PV}-py2.7.egg/kallithea/__init__.py || die 'Failed to disable git support, aborting...'
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
135 fi
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
136
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
137 # create config
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
138 mkdir "${realWorkDir}/etc"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
139 cd "${realWorkDir}/etc"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
140 paster make-config Kallithea production.ini || die "unable to create configuration file"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
141
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
142 # rewrite config to refer to correct default paths
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
143 sed -i -e "s/%(here)s\(\/\(tarballcache\|data\)\)/${installDataPath//\//\\/}\1/" production.ini
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
144 sed -i -e "s/%(here)s\(\/kallithea.db\)/${installDataPath//\//\\/}\1/" production.ini
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
145
136
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
146 # rewrite config to only log from WARN level to "console"
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
147 # By Kallithea defaults, handler_console logs everything from INFO level to "console".
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
148 # As mod_wsgi logs everything from "console" to error_log this results in a huge amount
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
149 # of unnecessary log entries which we would like to prevent.
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
150 # NOTE: As sed syntax is hard to read... this replacement rule is prefixed with an "address" which
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
151 # is being defined by two regexps, effectively restricting replacements just to the
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
152 # handler_console section of our ini file.
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
153 sed -i -e '/^\[handler_console\]/,/^\[/ s/level\s*=\s*INFO/level = WARN/' production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
154
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
155 # rewrite config to disable debug mode
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
156 # By default, Kallithea uses debug = true which should *NOT* be used except during development.
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
157 # See: http://kallithea.readthedocs.org/en/0.3.1/usage/debugging.html
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
158 sed -i -e '/^\[DEFAULT\]/,/^\[/ s/\(debug\s*=\s*\)true/\1false/' production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
159
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
160 ## (disabled, does not work from sandbox)
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
161 ## maintain system-unique variables from previous production.ini if available
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
162 #previousProductionConfig="${installConfigPath}/production.ini"
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
163 #if [ -e "${previousProductionConfig}" ]; then
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
164 # previousAppInstanceUUID="$(grep -oE '^\s*app_instance_uuid\s*=\s*[0-9a-f\-]+' /etc/kallithea/production.ini | cut -d'=' -f2 | tr -d ' ')"
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
165 # previousBeakerSessionSecret="$(grep -oE '^\s*beaker\.session\.secret\s*=\s*[0-9a-f\-]+' "${previousProductionConfig}" | cut -d'=' -f2 | tr -d ' ')"
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
166 #
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
167 # if [ ! -z "${previousAppInstanceUUID}" ]; then
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
168 # echo 'Transferring previous app instance UUID to new production.ini'
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
169 # sed -i -e "s/^\(\s*app_instance_uuid\s*=\s*\).*/\1${previousAppInstanceUUID}/" production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
170 # fi
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
171 #
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
172 # if [ ! -z "${previousBeakerSessionSecret}" ]; then
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
173 # echo 'Transferring previous Beaker session secret to new production.ini'
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
174 # sed -i -e "s/^\(\s*beaker\.session\.secret\s*=\s*\).*/\1${previousBeakerSessionSecret}/" production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
175 # fi
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
176 #fi
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
177
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
178 # remove newly generated UUID and Beaker session secret from config
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
179 # as user should configure that instead and config diffs don't show
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
180 # unnecessary stuff
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
181 sed -i -e "s/^\(\s*app_instance_uuid\s*=\).*/#\1 (run uuidgen and insert the returned UUID here)/" production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
182 sed -i -e "s/^\(\s*beaker\.session\.secret\s*=\).*/#\1 (run uuidgen and insert the returned UUID here)/" production.ini
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
183
143
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
184 # comment out sqlite DB as we don't want users to use it by accident
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
185 sed -i -e 's/^\(\s*\)\(sqlalchemy\.db1\.url\s*=\s*sqlite:.*\)/\1#\2/' production.ini
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
186
136
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
187 # rename production.ini as it requires more configuration and is hard to read
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
188 mv production.ini production.ini.example
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
189
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
190 # rewrite virtualenv directory to later installation directory
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
191 oldIFS="${IFS}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
192 IFS="
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
193 "
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
194 echo "Searching files that need to have paths replaced when leaving portage sandbox..."
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
195 dirtyFiles=$(grep -Ri "${realWorkDir}/dist/v" ${realWorkDir}/dist/v | grep -vE '^Binary' | cut -d':' -f1 | sort | uniq)
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
196 for dirtyFile in ${dirtyFiles}; do
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
197 echo " patching ${dirtyFile}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
198 sed -e "s#${realWorkDir}/dist/v#${installBasePath}#" -i "${dirtyFile}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
199 done
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
200 IFS="${oldIFS}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
201
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
202 # create WSGI file
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
203 cd "${realWorkDir}/etc"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
204 cp "${FILESDIR}/production.wsgi" .
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
205 sed -e "s:###BASEDIR###:${installBasePath}:" -i production.wsgi
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
206 sed -e "s:###DATADIR###:${installDataPath}:" -i production.wsgi
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
207 sed -e "s:###CONFDIR###:${installConfigPath}:" -i production.wsgi
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
208 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
209
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
210 src_install() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
211 # QA: no need to have anything world-writable...
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
212 chmod o-w -R dist/v/lib/python2.7/site-packages/
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
213
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
214 # just copy the virtualenv directory to /opt/kallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
215 dodir /opt
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
216 cp -aR "${S}/dist/v" "${D}${installBasePath}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
217
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
218 # install configuration files to /etc/kallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
219 diropts -m750 -oroot -gkallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
220 insopts -m640 -oroot -gkallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
221 insinto "${installConfigPath}"
136
4f080a258623 dev-vcs/kallithea: more config changes
Daniel Neugebauer <dneuge@energiequant.de>
parents: 134
diff changeset
222 doins "${S}/etc/production.ini.example"
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
223 insopts -m644 -oroot -gkallithea
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
224 doins "${S}/etc/production.wsgi"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
225
140
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
226 # create data directory and subdirectories
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
227 diropts -m2770 -okallithea -gkallithea
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
228 keepdir "${installDataPath}"
140
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
229 keepdir "${installDataPath}/data"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
230 keepdir "${installDataPath}/data/cache"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
231 keepdir "${installDataPath}/data/cache/data"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
232 keepdir "${installDataPath}/data/cache/lock"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
233 keepdir "${installDataPath}/data/index"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
234 keepdir "${installDataPath}/repositories"
3bcc5cfd5a95 dev-vcs/kallithea: creating default directories with permissions, adding USE flags for git and sqlite
Daniel Neugebauer <dneuge@energiequant.de>
parents: 139
diff changeset
235 keepdir "${installDataPath}/tarballcache"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
236 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
237
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
238 pkg_postinst() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
239 # 1 2 3 4 5 6 7 8
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
240 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
143
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
241 elog "An example configuration file has already been created so you don't need to run"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
242 elog "make-config again; please copy and edit carefully on first setup:"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
243 elog " cp -a ${installConfigPath}/production.ini.example ${installConfigPath}/production.ini"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
244 elog " \$EDITOR ${installConfigPath}/production.ini"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
245 elog ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
246 elog "After updates, please compare what has changed and copy any necessary changes:"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
247 elog " diff -u ${installConfigPath}/production.ini ${installConfigPath}/production.ini.example"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
248 elog ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
249 elog "You still need to follow Kallithea's other setup steps according to the"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
250 elog "instructions at:"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
251 elog " ${urlDocumentationSetup}"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
252 elog ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
253 elog "When doing so, please mind that Kallithea was installed into a Python virtual"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
254 elog "environment that has to be \"activated\" before it can be used. To do so,"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
255 elog "you will have to run a dedicated shell and initialize the environment by running"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
256 elog ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
257 elog " source ${installBasePath}/${virtualenvActivationPath}"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
258 elog ""
216
64ad94cc6f53 dev-vcs/kallithea: version bump to 0.3.5 (security update), masking <0.3.5
Daniel Neugebauer <dneuge@energiequant.de>
parents: 152
diff changeset
259 #elog "We altered the default config slightly. It may be best to have a look at our"
64ad94cc6f53 dev-vcs/kallithea: version bump to 0.3.5 (security update), masking <0.3.5
Daniel Neugebauer <dneuge@energiequant.de>
parents: 152
diff changeset
260 #elog "short example on how to setup hosting with Apache and mod_wsgi, even if you"
64ad94cc6f53 dev-vcs/kallithea: version bump to 0.3.5 (security update), masking <0.3.5
Daniel Neugebauer <dneuge@energiequant.de>
parents: 152
diff changeset
261 #elog "prefer another method of hosting Kallithea:"
64ad94cc6f53 dev-vcs/kallithea: version bump to 0.3.5 (security update), masking <0.3.5
Daniel Neugebauer <dneuge@energiequant.de>
parents: 152
diff changeset
262 #elog " ${urlDocumentationMegacoffee}"
64ad94cc6f53 dev-vcs/kallithea: version bump to 0.3.5 (security update), masking <0.3.5
Daniel Neugebauer <dneuge@energiequant.de>
parents: 152
diff changeset
263 #elog ""
143
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
264 #elog "We can wrap those commands for you if you run (no prior activation needed):"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
265 #elog " emerge --config =${CATEGORY}/${PF}"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
266 #elog ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
267 elog "Kallithea also provides a way to migrate your database if you are coming from"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
268 elog "RhodeCode 2.2 or below. Instructions can be found at:"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
269 elog "${urlDocumentationRhodeCode}"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
270 elog ""
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
271 ewarn "Bear in mind that the whole purpose of a Python virtual environment is to"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
272 ewarn "isolate complex dependency installations from other instances installed on the"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
273 ewarn "same system so you will have to remember to re-emerge this ebuild when"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
274 ewarn "Kallithea's dependencies received bug and in particular security fixes (assuming"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
275 ewarn "it allows any more recent versions to be installed)."
143
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
276
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
277 if use sqlite ; then
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
278 ewarn ""
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
279 ewarn "You chose to use SQLite for Kallithea. Please be advised that this is *ONLY* for"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
280 ewarn "testing purposes, please avoid using SQLite in production and choose a different"
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
281 ewarn "database instead."
b4939be30911 dev-vcs/kallithea: commenting out SQLAlchemy definition for SQLite, changing einfo to elog, warning if sqlite USE flag is set
Daniel Neugebauer <dneuge@energiequant.de>
parents: 142
diff changeset
282 fi
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
283 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
284
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
285
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
286
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
287
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
288
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
289 #################################################################################################
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
290 ### EVERYTHING BELOW WAS AN ATTEMPT TO ASSIST USERS ON SETUP BUT CALLING EDITORS NEVER WORKED ###
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
291 ### SHOULD STAY DEACTIVATED FOR NOW ###
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
292 #################################################################################################
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
293
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
294
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
295 my_read_line() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
296 # BASH function 'read' cannot write input back to variable in correct environment
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
297 # when run by emerge so we have to do *this* instead... great... :/
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
298 # (at least this works...)
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
299
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
300 python -c 'import sys; print(sys.stdin.readline().strip())'
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
301 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
302
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
303 config_menu() {
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
304 choice=""
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
305
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
306 oldIFS="${IFS}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
307 IFS="
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
308 "
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
309
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
310 # 1 2 3 4 5 6 7 8
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
311 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
312 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
313 echo "==============================================================================="
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
314 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
315 echo "Your options:"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
316 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
317 echo " 1) create production config from template (paster make-config ...)"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
318 echo " 2) edit production config"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
319 echo " 3) initialize Kallithea (paster setup-db)"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
320 echo " This will also ask for repository location and create an admin account."
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
321 echo " 0) quit"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
322 echo " Kallithea should be able to run now, check documentation for more options"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
323 echo " such as setting up a task queue or full text search if you need it."
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
324 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
325
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
326 echo "TERM is ${TERM}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
327
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
328 while [[ ! "${choice}" =~ ^[0-3]$ ]]; do
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
329 echo -n "Your choice? "
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
330 choice=$(my_read_line)
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
331 done
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
332
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
333 IFS="${oldIFS}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
334
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
335 return ${choice}
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
336 }
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
337
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
338 pkg_config() {
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
339 echo "Erm... You are not supposed to call --config as it has not been completed."
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
340 echo "Sorry, you will have to follow the docs yourself for now, see:"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
341 echo " ${urlDocumentationSetup}"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
342 echo
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
343 echo
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
344 exit 1
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
345
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
346 # 1 2 3 4 5 6 7 8
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
347 # 12345678901234567890123456789012345678901234567890123456789012345678901234567890
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
348
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
349 echo "Kallithea setup requires following multiple steps, some of which need to be run"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
350 echo "in the correct virtual Python environment. This script helps you running those"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
351 echo "commands by wrapping the commands to be run inside the correct virtualenv."
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
352 echo "You may still want to read the setup instructions while running this script:"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
353 echo
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
354 echo " ${urlDocumentationSetup}"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
355
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
356 # activate virtualenv
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
357 cd ${installBasePath} || die "installation is gone? (${installBasePath})"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
358 source "${virtualenvActivationPath}" || die "failed to activate virtualenv (${installBasePath}/${virtualenvActivationPath})"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
359
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
360 configFileName='production.ini'
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
361
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
362 while true; do
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
363 config_menu
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
364 choice=$?
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
365 echo
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
366
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
367 case "${choice}" in
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
368 0) break
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
369 ;;
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
370
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
371 1) mkdir -p "${installBasePath}/etc"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
372 cd "${installBasePath}/etc"
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
373
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
374 shouldCreate="y"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
375 if [ -e "${configFileName}" ]; then
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
376 shouldCreate=""
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
377 while true; do
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
378 echo "${configFileName} already exists, overwrite?"
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
379 while [[ ! "${shouldCreate}" =~ ^[yn]$ ]]; do
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
380 echo -n "Enter y to overwrite, n to abort: "
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
381 shouldCreate=$(my_read_line)
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
382 done
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
383 done
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
384 fi
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
385
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
386 if [ "${shouldCreate}" == 'y' ]; then
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
387 echo 'Creating configuration file...'
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
388 paster make-config Kallithea ${configFileName}
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
389 else
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
390 echo 'Aborted, configuration file has not been overwritten.'
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
391 fi
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
392 ;;
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
393
134
702382d06f80 dev-vcs/kallithea: first fully working ebuild (tested with mod_wsgi)
Daniel Neugebauer <dneuge@energiequant.de>
parents: 132
diff changeset
394 2) iniPath="${installBasePath}/etc/${configFileName}"
132
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
395
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
396 if [ ! -e "${iniPath}" ]; then
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
397 echo "config not found at ${iniPath}; did you follow step 1?"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
398 continue
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
399 fi
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
400
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
401 # terminal and shell need a reset or editor will be screwed up
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
402 source /etc/profile
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
403 reset
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
404 stty sane
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
405
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
406 # open editor
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
407 if [[ "${EDITOR}" != "" ]] && [ -e "${EDITOR}" ]; then
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
408 TERM="xterm" ${EDITOR} "${iniPath}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
409 else
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
410 TERM="xterm" nano -w "${iniPath}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
411 fi
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
412
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
413 # we better reset again...
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
414 source /etc/profile
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
415 reset
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
416 stty sane
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
417 ;;
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
418
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
419 *) echo "invalid choice ${choice}"
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
420 ;;
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
421 esac
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
422 done
af030a9d6541 adding old dev-vcs/kallithea ebuild (lay around since late 2014, do not use!)
Daniel Neugebauer <dneuge@energiequant.de>
parents:
diff changeset
423 }