summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Shparber2015-01-17 12:46:25 -0800
committerOleg Shparber2015-01-17 12:46:25 -0800
commit630ac43b8028be32548e16cc0e279ca45ce2d350 (patch)
tree18220f57497a55ef74e3283c8a8a4c9e46fc4fef
parent5e9418c3242bbd2e94da227f5367c537c7148c1a (diff)
downloadaur-630ac43b8028be32548e16cc0e279ca45ce2d350.tar.gz
quassel-light: Provide split packages for core, client and monolithic
It's similar to community package and provides three split packages.
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD121
-rw-r--r--quassel-client.install9
-rw-r--r--quassel-monolithic.install9
-rw-r--r--quassel.install21
-rw-r--r--quassel.service10
6 files changed, 162 insertions, 44 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7d62168e28f8..5e66817322f8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,25 +1,39 @@
pkgbase = quassel-light
- pkgdesc = Modern, cross-platform, distributed IRC client; built with few dependencies
+ pkgdesc = Next-generation distributed IRC client (minimal dependencies)
pkgver = 0.11.0
- pkgrel = 2
+ pkgrel = 3
url = http://quassel-irc.org/
- install = quassel.install
arch = i686
arch = x86_64
license = GPL
makedepends = cmake
- depends = qt5-base
- provides = quassel-core
- provides = quassel-client
- conflicts = quassel-core
- conflicts = quassel-client
- backup = etc/conf.d/quassel
source = http://quassel-irc.org/pub/quassel-0.11.0.tar.bz2
source = quassel.service
source = quassel.conf
sha256sums = 99a191b8bc2a410f7020b890ec57e0be49313f539da9f4843675bb108b0f4504
- sha256sums = 91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3
+ sha256sums = 828aaf27696ffe2aa4b80755a09bdf264f644d9539366981697a73bb23340d7b
sha256sums = f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8
-pkgname = quassel-light
+pkgname = quassel-client-light
+ pkgdesc = Next-generation distributed IRC client - client only (minimal dependencies)
+ install = quassel-client.install
+ depends = qt5-base
+ provides = quassel-client
+ conflicts = quassel-monolithic
+
+pkgname = quassel-core-light
+ pkgdesc = Next-generation distributed IRC client - core only (minimal dependencies)
+ install = quassel.install
+ depends = qt5-base
+ depends = qt5-script
+ provides = quassel-core
+ backup = etc/conf.d/quassel
+
+pkgname = quassel-monolithic-light
+ pkgdesc = Next-generation distributed IRC client - monolithic (minimal dependencies)
+ install = quassel-monolithic.install
+ depends = qt5-base
+ depends = qt5-script
+ provides = quassel-monolithic
+ conflicts = quassel-client
diff --git a/PKGBUILD b/PKGBUILD
index 6557e981d1d1..f71903491ab6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,49 +1,126 @@
# Maintainer: Oleg Shparber <trollixx+aur@gmail.com>
-# Contributor: Johannes Löthberg <johannes@kyriasis.com>
-# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
-pkgname=quassel-light
+_pkgbase=quassel
+pkgbase=${_pkgbase}-light
+pkgname=('quassel-client-light' 'quassel-core-light' 'quassel-monolithic-light')
pkgver=0.11.0
-pkgrel=2
-pkgdesc="Modern, cross-platform, distributed IRC client; built with few dependencies"
+pkgrel=3
+pkgdesc="Next-generation distributed IRC client (minimal dependencies)"
arch=('i686' 'x86_64')
url="http://quassel-irc.org/"
license=('GPL')
-depends=('qt5-base')
makedepends=('cmake')
-provides=('quassel-core' 'quassel-client')
-conflicts=('quassel-core' 'quassel-client')
-install=quassel.install
-backup=(etc/conf.d/quassel)
-source=("http://quassel-irc.org/pub/quassel-$pkgver.tar.bz2"
- 'quassel.service'
- 'quassel.conf')
+source=(http://quassel-irc.org/pub/${_pkgbase}-$pkgver.tar.bz2
+ ${_pkgbase}.service
+ ${_pkgbase}.conf)
sha256sums=('99a191b8bc2a410f7020b890ec57e0be49313f539da9f4843675bb108b0f4504'
- '91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3'
+ '828aaf27696ffe2aa4b80755a09bdf264f644d9539366981697a73bb23340d7b'
'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
build() {
+ cd "${srcdir}"
[[ ! -d build ]] && mkdir build
- cd build
+ [[ ! -d build-client ]] && mkdir build-client
+ [[ ! -d build-mono ]] && mkdir build-mono
+ # Core
+ cd "${srcdir}"/build
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DUSE_QT5=ON \
- -DWANT_MONO=OFF \
-DWITH_KDE=OFF \
- -DWITH_WEBKIT=OFF \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DWITH_OPENSSL=ON \
+ -DWANT_CORE=ON \
+ -DWANT_MONO=OFF \
+ -DWANT_QTCLIENT=OFF \
+ -DWITH_DBUS=OFF \
+ -DWITH_OXYGEN=OFF \
-DWITH_PHONON=OFF \
- -DWITH_LIBINDICATE=OFF \
+ -DWITH_WEBKIT=OFF \
+ -DCMAKE_BUILD_TYPE="Release" \
+ ../quassel-${pkgver}/ \
+ -Wno-dev
+ make
+
+ # Client
+ cd "${srcdir}"/build-client
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
+ -DUSE_QT5=ON \
+ -DWITH_KDE=OFF \
-DWITH_OPENSSL=ON \
-DCMAKE_BUILD_TYPE="Release" \
+ -DWANT_CORE=OFF \
+ -DWANT_QTCLIENT=ON \
+ -DWANT_MONO=OFF \
+ -DWITH_DBUS=OFF \
+ -DWITH_OXYGEN=OFF \
+ -DWITH_PHONON=OFF \
+ -DWITH_WEBKIT=OFF \
../quassel-${pkgver}/ \
-Wno-dev
+ make
+ # Monolithic
+ cd "${srcdir}"/build-mono
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
+ -DUSE_QT5=ON \
+ -DWITH_KDE=OFF \
+ -DWITH_OPENSSL=ON \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DWANT_CORE=OFF \
+ -DWANT_QTCLIENT=OFF \
+ -DWANT_MONO=ON \
+ -DWITH_DBUS=OFF \
+ -DWITH_OXYGEN=OFF \
+ -DWITH_PHONON=OFF \
+ -DWITH_WEBKIT=OFF \
+ ../quassel-${pkgver}/ \
+ -Wno-dev
make
}
-package() {
- make -C build DESTDIR="$pkgdir" install
- install -Dm644 quassel.service "$pkgdir"/usr/lib/systemd/system/quassel.service
- install -Dm644 quassel.conf "$pkgdir"/etc/conf.d/quassel
+package_quassel-core-light() {
+pkgdesc="Next-generation distributed IRC client - core only (minimal dependencies)"
+depends=('qt5-base' 'qt5-script')
+backup=(etc/conf.d/quassel)
+provides=('quassel-core')
+install=quassel.install
+ cd "${srcdir}"/build
+
+ make DESTDIR="${pkgdir}" install
+
+ # Remove unneeded pixmap icons
+ rm -r "${pkgdir}"/usr/share
+
+ install -Dm644 "${srcdir}"/${_pkgbase}.service \
+ "${pkgdir}"/usr/lib/systemd/system/${_pkgbase}.service
+ install -Dm644 "${srcdir}"/${_pkgbase}.conf \
+ "${pkgdir}"/etc/conf.d/${_pkgbase}
+}
+
+package_quassel-client-light() {
+pkgdesc="Next-generation distributed IRC client - client only (minimal dependencies)"
+depends=('qt5-base')
+provides=('quassel-client')
+conflicts=('quassel-monolithic')
+install=quassel-client.install
+ cd "${srcdir}"/build-client
+
+ make DESTDIR="${pkgdir}" install
+}
+
+package_quassel-monolithic-light() {
+pkgdesc="Next-generation distributed IRC client - monolithic (minimal dependencies)"
+depends=('qt5-base' 'qt5-script')
+provides=('quassel-monolithic')
+conflicts=('quassel-client')
+install=quassel-monolithic.install
+ cd "${srcdir}"/build-mono
+
+ make DESTDIR="${pkgdir}" install
}
diff --git a/quassel-client.install b/quassel-client.install
new file mode 100644
index 000000000000..1c93ee3f9ef2
--- /dev/null
+++ b/quassel-client.install
@@ -0,0 +1,9 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
diff --git a/quassel-monolithic.install b/quassel-monolithic.install
new file mode 100644
index 000000000000..1c93ee3f9ef2
--- /dev/null
+++ b/quassel-monolithic.install
@@ -0,0 +1,9 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
diff --git a/quassel.install b/quassel.install
index d3af4659fefc..b6c2db3c09e0 100644
--- a/quassel.install
+++ b/quassel.install
@@ -1,14 +1,21 @@
post_install() {
- useradd -r -s /bin/sh -d /var/lib/quassel quassel
- mkdir -p /var/lib/quassel && chown -R quassel:quassel /var/lib/quassel
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ useradd -r -s /bin/false -d /var/lib/quassel quassel
+ mkdir -p /var/lib/quassel && chown -R quassel:quassel /var/lib/quassel
+# xdg-icon-resource forceupdate --theme hicolor &> /dev/null
}
-pre_remove() {
- systemctl disable quassel.service
- systemctl stop quassel.service
+post_upgrade() {
+ [ `vercmp $2 0.5.2-1` -le 0 ] && (
+ cat <<EOF
+
+==> - quasselcore now runs as the quassel user
+==> - quasselcore now listens to port 127.0.0.1 by default
+==> - both of above are configurable: /etc/conf.d/quassel
+EOF
+ post_install
+ ) || true
}
post_remove() {
- userdel quassel
+ userdel quassel
}
diff --git a/quassel.service b/quassel.service
index eff018899287..9cf1a4329af8 100644
--- a/quassel.service
+++ b/quassel.service
@@ -1,12 +1,14 @@
[Unit]
-Description=Quassel core service
-After=network.target
+Description=Quassel Core
+After=network.target postgresql.service
+Wants=postgresql.service
[Service]
-Type=simple
User=quassel
Group=quassel
-ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=0.0.0.0
+PIDFile=/var/run/quassel.pid
+EnvironmentFile=/etc/conf.d/quassel
+ExecStart=/usr/bin/quasselcore --listen=${LISTEN} --configdir=/var/lib/quassel
[Install]
WantedBy=multi-user.target