blob: cff4bc0d1656e6c8757102703688b7350d6d5671 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Maintainer: Janne Heß <jannehess@gmail.com>
pkgname=asciinema-server-git
pkgver=0.0.0
pkgrel=1
pkgdesc='asciinema.org web app'
arch=('i386' 'x86_64')
url='https://asciinema.org/'
license=('AGPL3')
depends=('ruby' 'ruby-bundler' 'phantomjs' 'postgresql-libs' 'libtsm-asciinema' 'redis' 'smtp-server')
makepdepends=('libxslt' 'nodejs')
optdepends=('postgresql: database backend')
provides=('asciinema-server')
conflicts=('asciinema-server')
backup=('etc/webapps/asciinema/database.yml'
'etc/webapps/asciinema/asciinema.yml'
'etc/logrotate.d/asciinema'
'etc/conf.d/asciinema')
install="${pkgname}.install"
source=('git://github.com/asciinema/asciinema.org'
'asciinema.logrotate'
'asciinema-unicorn.service'
'asciinema-sidekiq.service'
'asciinema.conf'
'database.yml'
'asciinema.yml')
sha512sums=('SKIP'
'feac61a6458072fdef9e19b5e636484e31e6cc77daefd650403852f48bf0773d7ca7eb0af343066c2d733af1c32e164043bc78cf1a2dfb4ec271d4488a53b3da'
'0b3be0a6326741f82924160d39002a8780f8f90521e8203fe595cc6b8243867eec6a00319d00fa62a46c99de12beb38c14ceae1e4ffa4f86a55d063e63250847'
'801313fda2eab446fa569e11e33f0ab9b84f2fe0678bbf0b74e19eea1250eb7457ed7cf3163fc10b713767962283896b8360df9964013f644012d1c8705a4b81'
'804add7ea903c746309577450ea6fe3eaecab57a9beb79be1953dee34ce0957daac43fa7a053be7daf1ab32178944dcb9a861b4d6da494f0d559d9f265b88446'
'70c547f62829707f8f7340c10b6e83fb91874cd8fa535b8a318b4fc3019f3deddb820a6522278a41bc09f28295a0427b4361bbb726260afe4626bf1a8582da69'
'b3f6225faabb2632e961489e399204392d532d197517de41b16e633257040ec0f0aa49434ffba672943cf65670041a94c8aec876ca93ba95b0dbfbc55225b314')
_srcdir='asciinema.org'
_datadir='/usr/share/webapps/asciinema'
_etcdir='/etc/webapps/asciinema'
prepare() {
cd "${srcdir}/${_srcdir}"
# Patch gem versions as arch has a pretty new ruby
sed -i \
-e 's/eventmachine (1.0.3)/eventmachine (1.2.0)/g' \
-e 's/kgio .*$/kgio (2.10.0)/g' \
-e 's/raindrops .*$/raindrops (0.17.0)/g' \
Gemfile.lock
# Configure sidekiq
echo ':pidfile: /run/asciinema/sidekiq.pid' >> config/sidekiq.yml
echo ':logfile: /var/log/asciinema/sidekiq_production.log' >> config/sidekiq.yml
}
build() {
cd "${srcdir}/${_srcdir}"
msg "Fetching bundled gems..."
bundle install -j$(nproc) --no-cache --deployment --without development test
msg "Precompiling assets..."
# We'll temporarily stick this in here so we can build the assets
cp config/database.yml.example config/database.yml
bundle exec rake assets:precompile RAILS_ENV=production
# After building assets, clean this up again
rm config/database.yml
# Build terminal executable
cd src
make all
cd ..
}
package() {
cd "${srcdir}/${_srcdir}"
install -d "${pkgdir}/usr/share/webapps"
# Main installation
cp -r "${srcdir}/${_srcdir}" "${pkgdir}/${_datadir}"
chmod 755 "${pkgdir}/${_datadir}"
rm -r "${pkgdir}/${_datadir}/tmp"
ln -s "/run/asciinema/tmp" "${pkgdir}/${_datadir}/tmp"
# Uploads directory
install -dm600 "${pkgdir}/var/lib/asciinema/uploads"
rm -r "${pkgdir}/${_datadir}/uploads"
ln -s /var/lib/asciinema/uploads "${pkgdir}/${_datadir}/uploads"
# Config
install -dm755 "${pkgdir}${_etcdir}"
install -Dm644 "${srcdir}/database.yml" "${pkgdir}/${_etcdir}/database.yml"
install -Dm644 "${srcdir}/asciinema.yml" "${pkgdir}/${_etcdir}/asciinema.yml"
ln -s "${_etcdir}/database.yml" "${pkgdir}/${_datadir}/config/database.yml"
ln -s "${_etcdir}/asciinema.yml" "${pkgdir}/${_datadir}/config/asciinema.yml"
# Log
mkdir -p "${pkgdir}/var/log/asciinema"
rm -r "${pkgdir}/${_datadir}/log"
ln -s '/var/log/asciinema' "${pkgdir}/${_datadir}/log"
install -Dm644 "${srcdir}/asciinema.logrotate" "${pkgdir}/etc/logrotate.d/asciinema"
# systemd services
for unit in unicorn sidekiq; do
install -Dm644 "${srcdir}/asciinema-${unit}.service" "${pkgdir}/usr/lib/systemd/system/asciinema-${unit}.service"
done
# conf.d
install -Dm644 "${srcdir}/asciinema.conf" "${pkgdir}/etc/conf.d/asciinema"
}
|