Add 'mastodon/' from commit 'a72bcf412ae60f27d34805b662973400606bbd56'
git-subtree-dir: mastodon git-subtree-mainline:794a9fac74
git-subtree-split:a72bcf412a
This commit is contained in:
commit
996cb8e076
38
mastodon/.SRCINFO
Normal file
38
mastodon/.SRCINFO
Normal file
|
@ -0,0 +1,38 @@
|
|||
pkgbase = mastodon
|
||||
pkgdesc = Your self-hosted, globally interconnected microblogging community
|
||||
pkgver = 4.2.1
|
||||
pkgrel = 1
|
||||
url = https://github.com/mastodon/mastodon
|
||||
install = mastodon.install
|
||||
arch = any
|
||||
license = AGPL3
|
||||
depends = ffmpeg
|
||||
depends = gcc
|
||||
depends = git
|
||||
depends = imagemagick
|
||||
depends = libidn
|
||||
depends = libpqxx
|
||||
depends = libxml2
|
||||
depends = libxslt
|
||||
depends = libyaml
|
||||
depends = make
|
||||
depends = nodejs
|
||||
depends = postgresql
|
||||
depends = protobuf
|
||||
depends = redis
|
||||
depends = ruby-bundler
|
||||
depends = sudo
|
||||
depends = yarn
|
||||
depends = zlib
|
||||
options = !strip
|
||||
backup = etc/mastodon.conf
|
||||
source = https://github.com/mastodon/mastodon/archive/v4.2.1.tar.gz
|
||||
source = mastodon.target
|
||||
source = mastodon.sysusers.d
|
||||
source = mastodon.tmpfiles.d
|
||||
sha512sums = 54e3e14abbe9ce6b4ec72586b00d0e7845b8e7b0f18ee608ab452a4b56df257657ffcd1f3a0b8de715dbaad3edacbf31a4e20cef5f5d82b6902837ee9a6ab900
|
||||
sha512sums = c9820c2a83d08bd5d842a78e924682db97ebd5c7291b682603ad30dafcdcc5816c13e717ad39554f042b9d9ed71ab902ce3f604952264a900a72612ee8060acb
|
||||
sha512sums = 4ee4210bde391e6dc782cb7c14f2cb968c95ad541aa0efcf843a811f8cc5f0d1067ee3c8346bb412aa9fd1dd5a8bd05a4524df7dc4a106957009853dd237074a
|
||||
sha512sums = 27c4eb01d462c525b59e5808a3b2501b63a34425752128388fbde82f7eb5944b20d2f8d8b1be8ed8adb165cab4cfb8e13f90215f20989ca671a0422ffa37001f
|
||||
|
||||
pkgname = mastodon
|
3
mastodon/.gitignore
vendored
Normal file
3
mastodon/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
pkg/
|
||||
src/
|
||||
*.tar.*
|
76
mastodon/PKGBUILD
Normal file
76
mastodon/PKGBUILD
Normal file
|
@ -0,0 +1,76 @@
|
|||
# Maintainer: Anthony Wang <a at exozy dot me>
|
||||
# Contributor: ny-a <nyaarch64 at gmail dot com>
|
||||
# Contributor: Daniel Moch <daniel@danielmoch.com>
|
||||
# Contributor: Jean Lucas <jean@4ray.co>
|
||||
# Contributor: Fredrick Brennan <copypaste@kittens.ph>
|
||||
|
||||
pkgname=mastodon
|
||||
pkgver=4.2.1
|
||||
pkgrel=1
|
||||
pkgdesc='Your self-hosted, globally interconnected microblogging community'
|
||||
arch=(any)
|
||||
url=https://github.com/mastodon/mastodon
|
||||
license=(AGPL3)
|
||||
depends=(ffmpeg
|
||||
gcc
|
||||
git
|
||||
imagemagick
|
||||
libidn
|
||||
libpqxx
|
||||
libxml2
|
||||
libxslt
|
||||
libyaml
|
||||
make
|
||||
nodejs
|
||||
postgresql
|
||||
protobuf
|
||||
redis
|
||||
ruby-bundler
|
||||
sudo
|
||||
yarn
|
||||
zlib)
|
||||
backup=(etc/mastodon.conf)
|
||||
install=mastodon.install
|
||||
options=(!strip)
|
||||
source=(https://github.com/mastodon/mastodon/archive/v$pkgver.tar.gz
|
||||
mastodon.target
|
||||
mastodon.sysusers.d
|
||||
mastodon.tmpfiles.d)
|
||||
sha512sums=('54e3e14abbe9ce6b4ec72586b00d0e7845b8e7b0f18ee608ab452a4b56df257657ffcd1f3a0b8de715dbaad3edacbf31a4e20cef5f5d82b6902837ee9a6ab900'
|
||||
'c9820c2a83d08bd5d842a78e924682db97ebd5c7291b682603ad30dafcdcc5816c13e717ad39554f042b9d9ed71ab902ce3f604952264a900a72612ee8060acb'
|
||||
'4ee4210bde391e6dc782cb7c14f2cb968c95ad541aa0efcf843a811f8cc5f0d1067ee3c8346bb412aa9fd1dd5a8bd05a4524df7dc4a106957009853dd237074a'
|
||||
'27c4eb01d462c525b59e5808a3b2501b63a34425752128388fbde82f7eb5944b20d2f8d8b1be8ed8adb165cab4cfb8e13f90215f20989ca671a0422ffa37001f')
|
||||
|
||||
build() {
|
||||
cd mastodon-$pkgver
|
||||
mkdir -p .git # Fix husky error
|
||||
bundle config deployment 'true'
|
||||
bundle config without 'development test'
|
||||
bundle install -j$(getconf _NPROCESSORS_ONLN)
|
||||
yarn install --pure-lockfile
|
||||
}
|
||||
|
||||
package() {
|
||||
install -d "$pkgdir"/{var/lib,etc}
|
||||
cp -a mastodon-$pkgver "$pkgdir"/var/lib/mastodon
|
||||
|
||||
# Put the config file in /etc and link to it
|
||||
touch "$pkgdir"/etc/mastodon.conf
|
||||
ln -s /etc/mastodon.conf "$pkgdir"/var/lib/mastodon/.env.production
|
||||
ln -s /usr/bin/node "$pkgdir"/var/lib/mastodon/node
|
||||
|
||||
install -Dm 644 mastodon.target -t "$pkgdir"/usr/lib/systemd/system
|
||||
install -Dm 644 mastodon.sysusers.d "$pkgdir"/usr/lib/sysusers.d/mastodon.conf
|
||||
install -Dm 644 mastodon.tmpfiles.d "$pkgdir"/usr/lib/tmpfiles.d/mastodon.conf
|
||||
|
||||
cd mastodon-$pkgver/dist
|
||||
|
||||
# Fix path discrepancies
|
||||
sed -e 's/home\/mastodon\/live/var\/lib\/mastodon/g' \
|
||||
-e 's/home\/mastodon\/.rbenv\/shims/usr\/bin/' \
|
||||
-i mastodon-*.service
|
||||
sed -e 's/home\/mastodon\/live/var\/lib\/mastodon/g' \
|
||||
-i nginx.conf
|
||||
|
||||
install -Dm 644 mastodon-*.service -t "$pkgdir"/usr/lib/systemd/system
|
||||
}
|
23
mastodon/mastodon.install
Normal file
23
mastodon/mastodon.install
Normal file
|
@ -0,0 +1,23 @@
|
|||
post_install() {
|
||||
echo "To setup Mastodon, enable and start PostgreSQL and Redis:
|
||||
# systemctl enable --now postgresql redis
|
||||
Create the Mastodon PostgreSQL user and grant it the ability to create databases with:
|
||||
# sudo -u postgres createuser -d mastodon
|
||||
Then, run:
|
||||
# cd /var/lib/mastodon
|
||||
# sudo chown mastodon:mastodon -R .
|
||||
# sudo -u mastodon RAILS_ENV=production NODE_OPTIONS=--openssl-legacy-provider bundle exec rails mastodon:setup
|
||||
Finally, enable and start all the required services:
|
||||
# systemctl enable --now mastodon.target"
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
cd /var/lib/mastodon
|
||||
|
||||
echo "Setting ownership of mastodon files"
|
||||
find -path ./public/system -prune -o -exec chown -h mastodon:mastodon {} +
|
||||
echo "Upgrading database schema"
|
||||
sudo -u mastodon RAILS_ENV=production bundle exec rails db:migrate
|
||||
echo "Precompiling assets"
|
||||
sudo -u mastodon RAILS_ENV=production NODE_OPTIONS=--openssl-legacy-provider bundle exec rails assets:precompile
|
||||
}
|
1
mastodon/mastodon.sysusers.d
Normal file
1
mastodon/mastodon.sysusers.d
Normal file
|
@ -0,0 +1 @@
|
|||
u mastodon - "Mastodon user" /var/lib/mastodon
|
7
mastodon/mastodon.target
Normal file
7
mastodon/mastodon.target
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Unit]
|
||||
Description=Mastodon
|
||||
Wants=mastodon-web.service mastodon-sidekiq.service mastodon-streaming.service
|
||||
Wants=postgresql.service redis.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
2
mastodon/mastodon.tmpfiles.d
Normal file
2
mastodon/mastodon.tmpfiles.d
Normal file
|
@ -0,0 +1,2 @@
|
|||
d /var/lib/mastodon - mastodon mastodon
|
||||
z /etc/mastodon.conf 0600 mastodon mastodon
|
Loading…
Reference in a new issue