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 @ 236:151d84363e64

[sync] imported 8c3bfd0..b15ca8c from upstream commit b15ca8c5239daf75d74e03ce0e88be2722c8a8b5 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 13:03:05 2021 +0100 media-video/qt-faststart-python removed due to Python 2.7 qt-faststart-python requires Python 2.7 which is being removed from Gentoo. Even if 2.7 may remain available we seem to be unable to keep such packages on a registered overlay using the utility classes provided by Gentoo. In general, "faststart" is today also easily and quickly achieved through FFMPEG (without recoding), so this tool may really no longer be needed. commit dd2b6cb6314909e9253e5dc82cdd99f944f14733 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:58:23 2021 +0100 media-gfx/trimage removed 1.0.5 due to outdated Python version commit a5de53e6780d5321372f2dcdabdd9eae83b7b1bb Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:56:56 2021 +0100 dev-python/sexpdata removed Same version is available from official Gentoo repository. commit 9009aaca44d0baf1c654f4b39ca1887b8395c2e8 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:26:51 2021 +0100 dev-python/epc removed; upstream seems dead Officially only compatible with Python 2.7 up to 3.3. Not sure if still needed - was introduced for emacs JEDI but that appears to now ship its own version through MELPA. Not needed on local installation.
author Migration Sync <gentoo-overlay@megacoffee.net>
date Sun, 28 Feb 2021 12:30:02 +0000
parents 5fc6acd937e1
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 }