diff options
-rw-r--r-- | .SRCINFO | 47 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | mediagoblin-celeryd.service | 16 | ||||
-rw-r--r-- | mediagoblin-paster.service | 18 | ||||
-rw-r--r-- | mediagoblin-tmpfiles.conf | 1 | ||||
-rwxr-xr-x | mediagoblin.install | 29 | ||||
-rw-r--r-- | mediagoblin_local.ini | 64 | ||||
-rw-r--r-- | paste_local.ini | 86 |
8 files changed, 341 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..ed61519c6b4b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,47 @@ +# Generated by mksrcinfo v8 +# Sun Oct 30 23:10:11 UTC 2016 +pkgbase = mediagoblin + pkgdesc = A free software media publishing platform + pkgver = 0.9.0 + pkgrel = 1 + url = http://mediagoblin.org + install = mediagoblin.install + arch = i686 + arch = x86_64 + license = AGPL + makedepends = git + makedepends = automake + depends = python2 + depends = python2-lxml + depends = sqlite + depends = python2-pillow + depends = python2-virtualenv + depends = npm + depends = nodejs + optdepends = postgresql: to use the postgresql database backend + optdepends = python2-psycopg2: to use the postgresql database backend + optdepends = python2-gobject: to handle videos + optdepends = gst-libav: to handle videos + optdepends = gst-python2: to handle videos + optdepends = gst-plugins-good: to handle videos + optdepends = gst-plugins-bad: to handle videos + optdepends = gst-plugins-ugly: to handle videos + provides = mediagoblin + conflicts = mediagoblin-git + backup = etc/webapps/mediagoblin/paste_local.ini + backup = etc/webapps/mediagoblin/mediagoblin_local.ini + source = mediagoblin::git://git.savannah.gnu.org/mediagoblin.git#tag=v0.9.0 + source = mediagoblin-paster.service + source = mediagoblin-celeryd.service + source = paste_local.ini + source = mediagoblin_local.ini + source = mediagoblin-tmpfiles.conf + sha256sums = SKIP + sha256sums = f666807655f0dcafb041be9b684c2a1ff285e24cf06c5d2e8ab0974e8b2936b2 + sha256sums = aecbb1f1b60d5c2b524ea68e49feda0264cb49bc66d82c4511b800ac81642f01 + sha256sums = ac914d60886d9bf53d3f40b8b00a60d46ada1cac9130210e045a4776d898e884 + sha256sums = 9adf338f5dbfb94ee7ae29433091b6991a1fa39a6135a8295f9f1cc1fde0edc1 + sha256sums = 1bf9172ba79bdac4694c5d4c8c2134bbcfdfadf29f0b4cfc88fa0a329201b202 + +pkgname = mediagoblin + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..fff13349e647 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer : Immae <ismael.bouya@normalesup.org> + +pkgname=mediagoblin +pkgver=0.9.0 +pkgrel=1 +pkgdesc='A free software media publishing platform' +arch=('i686' 'x86_64') +url='http://mediagoblin.org' +license=('AGPL') +provides=('mediagoblin') +conflicts=('mediagoblin-git') +depends=('python2' 'python2-lxml' 'sqlite' 'python2-pillow' 'python2-virtualenv' 'npm' 'nodejs') +optdepends=( + 'postgresql: to use the postgresql database backend' + 'python2-psycopg2: to use the postgresql database backend' + 'python2-gobject: to handle videos' + 'gst-libav: to handle videos' + 'gst-python2: to handle videos' + 'gst-plugins-good: to handle videos' + 'gst-plugins-bad: to handle videos' + 'gst-plugins-ugly: to handle videos' + ) +backup=('etc/webapps/mediagoblin/paste_local.ini' 'etc/webapps/mediagoblin/mediagoblin_local.ini') +install=mediagoblin.install +makedepends=('git' 'automake') +source=( + 'mediagoblin::git://git.savannah.gnu.org/mediagoblin.git#tag=v0.9.0' + 'mediagoblin-paster.service' + 'mediagoblin-celeryd.service' + 'paste_local.ini' + 'mediagoblin_local.ini' + 'mediagoblin-tmpfiles.conf' +) +sha256sums=('SKIP' + 'f666807655f0dcafb041be9b684c2a1ff285e24cf06c5d2e8ab0974e8b2936b2' + 'aecbb1f1b60d5c2b524ea68e49feda0264cb49bc66d82c4511b800ac81642f01' + 'ac914d60886d9bf53d3f40b8b00a60d46ada1cac9130210e045a4776d898e884' + '9adf338f5dbfb94ee7ae29433091b6991a1fa39a6135a8295f9f1cc1fde0edc1' + '1bf9172ba79bdac4694c5d4c8c2134bbcfdfadf29f0b4cfc88fa0a329201b202') + +prepare() { + cd "$srcdir/mediagoblin" + git submodule init + git submodule update +} + +build() { + cd "$srcdir/mediagoblin" + + ./bootstrap.sh + ./configure + make || make + ./bin/easy_install flup +} + +package() { + cd "$srcdir/mediagoblin" + rm -rf .git .gitignore + + install -dm755 "$pkgdir"/usr/share/webapps/mediagoblin/ + cp -a . "$pkgdir"/usr/share/webapps/mediagoblin + + cd "$pkgdir"/usr/share/webapps/mediagoblin + find . -name '*.pyc' -delete + find . -type f -exec sed -i "s|$srcdir/mediagoblin|/usr/share/webapps/mediagoblin|g" {} \; + + install -dm755 "$pkgdir"/var/lib/mediagoblin + install -dm755 "$pkgdir"/etc/webapps/mediagoblin + + install -Dm644 "$srcdir"/paste_local.ini "$pkgdir"/etc/webapps/mediagoblin/paste_local.ini + ln -s /etc/webapps/mediagoblin/paste_local.ini "$pkgdir"/usr/share/webapps/mediagoblin/paste_local.ini + install -Dm644 "$srcdir"/mediagoblin_local.ini "$pkgdir"/etc/webapps/mediagoblin/mediagoblin_local.ini + ln -s /etc/webapps/mediagoblin/mediagoblin_local.ini "$pkgdir"/usr/share/webapps/mediagoblin/mediagoblin_local.ini + + ln -s /var/lib/mediagoblin/ "$pkgdir"/usr/share/webapps/mediagoblin/user_dev + + install -Dm644 "$srcdir"/mediagoblin-paster.service "$pkgdir"/usr/lib/systemd/system/mediagoblin-paster.service + install -Dm644 "$srcdir"/mediagoblin-celeryd.service "$pkgdir"/usr/lib/systemd/system/mediagoblin-celeryd.service + install -Dm644 "$srcdir"/mediagoblin-tmpfiles.conf "$pkgdir"/usr/lib/tmpfiles.d/mediagoblin.conf +} diff --git a/mediagoblin-celeryd.service b/mediagoblin-celeryd.service new file mode 100644 index 000000000000..76f3115d9387 --- /dev/null +++ b/mediagoblin-celeryd.service @@ -0,0 +1,16 @@ +[Unit] +Description=Mediagoblin Celeryd + +[Service] +User=mediagoblin +Group=mediagoblin +Type=simple +WorkingDirectory=/usr/share/webapps/mediagoblin/ +Environment=MEDIAGOBLIN_CONFIG=/usr/share/webapps/mediagoblin/mediagoblin_local.ini \ + CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery +ExecStart=/usr/share/webapps/mediagoblin/bin/celery worker \ + --loglevel=INFO +PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid + +[Install] +WantedBy=multi-user.target diff --git a/mediagoblin-paster.service b/mediagoblin-paster.service new file mode 100644 index 000000000000..962b6718391c --- /dev/null +++ b/mediagoblin-paster.service @@ -0,0 +1,18 @@ +[Unit] +Description=Mediagoblin + +[Service] +Type=simple +WorkingDirectory=/usr/share/webapps/mediagoblin +User=mediagoblin +Group=mediagoblin +ExecStart=/usr/share/webapps/mediagoblin/bin/paster serve \ + /usr/share/webapps/mediagoblin/paste_local.ini \ + --pid-file=/var/run/mediagoblin/mediagoblin.pid +ExecStop=/usr/share/webapps/mediagoblin/bin/paster serve \ + --pid-file=/var/run/mediagoblin/mediagoblin.pid \ + /usr/share/webapps/mediagoblin/paste_local.ini stop +PIDFile=/var/run/mediagoblin/mediagoblin.pid + +[Install] +WantedBy=multi-user.target diff --git a/mediagoblin-tmpfiles.conf b/mediagoblin-tmpfiles.conf new file mode 100644 index 000000000000..9a7d888810c0 --- /dev/null +++ b/mediagoblin-tmpfiles.conf @@ -0,0 +1 @@ +D /var/run/mediagoblin 0755 mediagoblin mediagoblin - diff --git a/mediagoblin.install b/mediagoblin.install new file mode 100755 index 000000000000..db0bc1d5fde2 --- /dev/null +++ b/mediagoblin.install @@ -0,0 +1,29 @@ +pkgname=mediagoblin-git + +post_install() { + if [ ! `grep mediagoblin /etc/group` ]; then + groupadd mediagoblin &>/dev/null; + fi + + id mediagoblin &>/dev/null || \ + useradd -g mediagoblin -d /var/lib/mediagoblin -s /bin/false mediagoblin + + /usr/bin/systemd-tmpfiles --create mediagoblin.conf + + chown -R mediagoblin:mediagoblin /var/run/mediagoblin /var/lib/mediagoblin + + cd /usr/share/webapps/mediagoblin/ + /bin/su -s /bin/sh -c "/usr/share/webapps/mediagoblin/bin/gmg dbupdate" mediagoblin +} + +post_upgrade() { + cd /usr/share/webapps/mediagoblin/ + /bin/su -s /bin/sh -c "/usr/share/webapps/mediagoblin/bin/gmg dbupdate" mediagoblin +} + +pre_remove() { + /usr/bin/systemd-tmpfiles --remove mediagoblin.conf + + userdel mediagoblin &> /dev/null + groupdel mediagoblin &> /dev/null +} diff --git a/mediagoblin_local.ini b/mediagoblin_local.ini new file mode 100644 index 000000000000..2f7753ab7f65 --- /dev/null +++ b/mediagoblin_local.ini @@ -0,0 +1,64 @@ +# If you want to make changes to this file, first copy it to +# mediagoblin_local.ini, then make the changes there. +# +# If you don't see what you need here, have a look at mediagoblin/config_spec.ini +# It defines types and defaults so it's a good place to look for documentation +# or to find hidden options that we didn't tell you about. :) + +# To change the directory you should make sure you change the +# directory in paste.ini and/or your webserver configuration. +# +[DEFAULT] +data_basedir = "/var/lib/mediagoblin" + +[mediagoblin] +direct_remote_path = /mgoblin_static/ +email_sender_address = "notice@mediagoblin.example.org" + +## Uncomment and change to your DB's appropiate setting. +## Default is a local sqlite db "mediagoblin.db". +## Don't forget to run `./bin/gmg dbupdate` after having changed it. +sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db + +# Set to false to enable sending notices +email_debug_mode = true + +# Set to false to disable registrations +allow_registration = true + +# Set to false to disable the ability for users to report offensive content +allow_reporting = true + +## Uncomment this to put some user-overriding templates here +# local_templates = %(data_basedir)s/templates/ + +## You can set your theme by specifying this (not specifying it will +## use the default theme). Run `gmg assetlink` to apply the change. +## The airy and sandyseventiesspeedboat theme comes with GMG; please +## see the theming docs on how to install other themes. +# theme = airy + +## If you want the terms of service displayed, you can uncomment this +# show_tos = true + +user_privilege_scheme = "uploader,commenter,reporter" +[storage:queuestore] +base_dir = %(data_basedir)s/media/queue + +[storage:publicstore] +base_dir = %(data_basedir)s/media/public +base_url = /mgoblin_media/ + +[celery] +CELERY_RESULT_DBURI = sqlite:///%(data_basedir)s/celery.db +BROKER_URL = sqlite:///%(data_basedir)s/kombu.db + +# Put celery stuff here + +# Place plugins here, each in their own subsection of [plugins]. +# See http://docs.mediagoblin.org/siteadmin/plugins.html for details. +[plugins] +[[mediagoblin.plugins.geolocation]] +[[mediagoblin.plugins.basic_auth]] +[[mediagoblin.plugins.processing_info]] +[[mediagoblin.media_types.image]] diff --git a/paste_local.ini b/paste_local.ini new file mode 100644 index 000000000000..ce3f01e85d7b --- /dev/null +++ b/paste_local.ini @@ -0,0 +1,86 @@ +# If you want to make changes to this file, first copy it to +# paste_local.ini, then make the changes there. + +[DEFAULT] +# Set to true to enable web-based debugging messages and etc. +debug = false + +[pipeline:main] +# pipeline = errors mediagoblin +pipeline = mediagoblin + +[app:mediagoblin] +use = egg:mediagoblin#app +config = %(here)s/mediagoblin_local.ini %(here)s/mediagoblin.ini +# static paths +/mgoblin_media = %(here)s/user_dev/media/public +/mgoblin_static = %(here)s/mediagoblin/static +/theme_static = %(here)s/user_dev/theme_static +/plugin_static = %(here)s/user_dev/plugin_static + +[loggers] +keys = root + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = INFO +handlers = console + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(asctime)s %(levelname)-7.7s [%(name)s] %(message)s + +[filter:errors] +use = egg:mediagoblin#errors +debug = false + + +############################## +# Server configuration options +############################## + +# The server that is run by default. +# By default, should only be accessable locally +[server:main] +use = egg:waitress#main +host = 127.0.0.1 +port = 6543 +# # Gunicorn settings. See http://docs.gunicorn.org/en/19.0/settings.html +# # for more information about configuring Gunicorn +# proc_name = gmg +# reload = true +# accesslog = - + +####################### +# Helper server configs +# --------------------- +# If you are configuring the paste config manually, you can remove +# these. + +# Use this if you want to run on port 6543 and have MediaGoblin be +# viewable externally +[server:broadcast] +use = egg:waitress#main +host = 0.0.0.0 +port = 6543 + +# Use this if you want to connect via fastcgi +[server:fcgi] +use = egg:flup#fcgi_fork +host = %(fcgi_host)s +port = %(fcgi_port)s + +[server:http] +use = egg:waitress#main +host = %(http_host)s +port = %(http_port)s |