summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGianluca Boiano2020-11-09 23:39:54 +0100
committerGianluca Boiano2020-11-09 23:39:54 +0100
commitdf766ea873c99fd7ea7179c17a25ddecbfe9217c (patch)
treee3464f4f010e5c1466b641f6bb6dca2ccc1ce740
parent4aabf4812b56fcfa0f2add9b4e9e693252194a06 (diff)
downloadaur-df766ea873c99fd7ea7179c17a25ddecbfe9217c.tar.gz
mycroft-core: some system and packagin improvements
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD133
-rw-r--r--client.conf2
-rw-r--r--mycroft-core.install14
-rw-r--r--mycroft.csh4
-rw-r--r--mycroft.sh6
-rw-r--r--mycroft.sysusers2
7 files changed, 103 insertions, 68 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0cb0ed539b0f..4a7c615e6257 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = mycroft-core
pkgdesc = The Mycroft Artificial Intelligence platform.
pkgver = 20.8.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/MycroftAI/mycroft-core
install = mycroft-core.install
arch = i686
@@ -34,11 +34,15 @@ pkgbase = mycroft-core
source = mycroft.sysusers
source = mycroft.service
source = client.conf
+ source = mycroft.sh
+ source = mycroft.csh
md5sums = f6e35eedde6e1d92783f63ffcc7df7bf
md5sums = 39bcf2f0f30854b7b6e516d49946566a
- md5sums = 578b9531acff7b5bf96d776bbd327d15
+ md5sums = bfe08c1d8cba053ef83cfac5a36c7910
md5sums = 7cbcc7b8b71d00c19a11166fbbd5ed4f
- md5sums = 46775f06fd9d6c4ad5ff3a221d4912ff
+ md5sums = 78ae7633b181fddbeb8e5e8c6a830539
+ md5sums = 9e760b5fe356a12e126de036120c7319
+ md5sums = 6c78c4a328e1322b8155086a73a77486
pkgname = mycroft-core
diff --git a/PKGBUILD b/PKGBUILD
index 2d1e18970810..39312736f456 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,82 +3,95 @@
pkgname=mycroft-core
pkgver=20.8.0
-pkgrel=1
+pkgrel=2
pkgdesc="The Mycroft Artificial Intelligence platform."
arch=('i686' 'x86_64')
url='https://github.com/MycroftAI/mycroft-core'
license=('Apache')
depends=('python'
- 'python-gobject'
- 'libffi'
- 'swig'
- 'portaudio'
- 'mimic'
- 'mpg123'
- 'screen'
- 'flac'
- 'curl'
- 'icu'
- 'libjpeg-turbo'
- 'jq'
- 'pulseaudio'
- 'pulseaudio-alsa'
-'fann')
+ 'python-gobject'
+ 'libffi'
+ 'swig'
+ 'portaudio'
+ 'mimic'
+ 'mpg123'
+ 'screen'
+ 'flac'
+ 'curl'
+ 'icu'
+ 'libjpeg-turbo'
+ 'jq'
+ 'pulseaudio'
+ 'pulseaudio-alsa'
+ 'fann')
makedepends=('git' 'sudo' 'python-pip' 'python-setuptools' 'python-virtualenv' 'sudo')
install=mycroft-core.install
source=("https://github.com/MycroftAI/mycroft-core/archive/release/v${pkgver}.tar.gz"
- "mycroft.tmpfiles"
- "mycroft.sysusers"
- "mycroft.service"
- "client.conf"
+ "mycroft.tmpfiles"
+ "mycroft.sysusers"
+ "mycroft.service"
+ "client.conf"
+ "mycroft.sh"
+ "mycroft.csh"
)
prepare() {
- cd "$srcdir/$pkgname-release-v$pkgver"
- sed -i 's/^check-dependencies$/#check-dependencies/g' start-mycroft.sh
- sed -i 's/change_ownership$/:/g' scripts/prepare-msm.sh
+ cd "$srcdir/$pkgname-release-v$pkgver"
+ sed -i 's/^check-dependencies$/#check-dependencies/g' start-mycroft.sh
+ sed -i 's/change_ownership$/:/g' scripts/prepare-msm.sh
}
package() {
- mkdir -p "${pkgdir}/usr/share/"
- cp -R "mycroft-core-release-v${pkgver}" "${pkgdir}/usr/share/mycroft-core"
-
- # Place a link to mimic where mycroft is expecting it
- mkdir -p "${pkgdir}/usr/share/mycroft-core/mimic/bin"
- ln -s /usr/bin/mimic "${pkgdir}/usr/share/mycroft-core/mimic/bin/mimic"
-
- # Set permissions
- chmod -R 755 "${pkgdir}/usr/share/mycroft-core"
-
- # systemd
- install -D -m644 "${srcdir}/mycroft.service" -t "${pkgdir}/usr/lib/systemd/system"
- install -D -m644 "${srcdir}/mycroft.sysusers" "${pkgdir}/usr/lib/sysusers.d/mycroft.conf"
- install -D -m644 "${srcdir}/mycroft.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/mycroft.conf"
-
- # Virtualenv
- cd "$pkgdir/usr/share/mycroft-core"
- virtualenv .venv
- source .venv/bin/activate
- pip install -r requirements/requirements.txt
- pip install -r requirements/extra-audiobackend.txt
- pip install -r requirements/extra-stt.txt
-
- # Fix Virtualenv
- sed -i 's/^VIRTUAL_ENV=.*/VIRTUAL_ENV="\/usr\/share\/mycroft-core\/.venv"/g' .venv/bin/activate
- pathtoreplace=`echo $pkgdir | sed 's:/:\\\/:g'`
- rm .venv/bin/activate.{fish,csh}
-
- # Cleanup
- find . -name "*.py[co]" -o -name __pycache__ -exec rm -rf {} +
- rm -rf "$pkgdir/usr/share/mycroft-core/test"
- sed -i "s/$pathtoreplace//g" "$pkgdir"/usr/share/mycroft-core/.venv/bin/*
-
- # Pulseaudio Client configuration
- install -D -m644 "${srcdir}/client.conf" "${pkgdir}/usr/share/mycroft-core/pulseaudio.client.conf"
+ mkdir -p "${pkgdir}/usr/share/"
+ cp -R "mycroft-core-release-v${pkgver}" "${pkgdir}/usr/share/mycroft-core"
+
+ # Place a link to mimic where mycroft is expecting it
+ mkdir -p "${pkgdir}/usr/share/mycroft-core/mimic/bin"
+ ln -s /usr/bin/mimic "${pkgdir}/usr/share/mycroft-core/mimic/bin/mimic"
+
+ # Set permissions
+ chmod -R 755 "${pkgdir}/usr/share/mycroft-core"
+
+ # systemd
+ install -D -m644 "${srcdir}/mycroft.service" -t "${pkgdir}/usr/lib/systemd/system"
+ install -D -m644 "${srcdir}/mycroft.sysusers" "${pkgdir}/usr/lib/sysusers.d/mycroft.conf"
+ install -D -m644 "${srcdir}/mycroft.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/mycroft.conf"
+
+ # Virtualenv
+ cd "$pkgdir/usr/share/mycroft-core"
+ virtualenv .venv
+ source .venv/bin/activate
+ pip install -r requirements/requirements.txt
+ pip install -r requirements/extra-audiobackend.txt
+ pip install -r requirements/extra-stt.txt
+
+ # Fix Virtualenv
+ sed -i 's/^VIRTUAL_ENV=.*/VIRTUAL_ENV="\/usr\/share\/mycroft-core\/.venv"/g' .venv/bin/activate
+ pathtoreplace=$(echo $pkgdir | sed 's:/:\\\/:g')
+ rm .venv/bin/activate.{fish,csh}
+
+ # Cleanup
+ find . -name "*.py[co]" -o -name __pycache__ -exec rm -rf {} +
+ rm -rf "$pkgdir/usr/share/mycroft-core/test"
+ sed -i "s/$pathtoreplace//g" "$pkgdir"/usr/share/mycroft-core/.venv/bin/*
+
+ # Use a sane default editor
+ sed -i "s/sensible-editor/vi/g" "$pkgdir"/usr/share/mycroft-core/bin/mycroft-config
+ # Pulseaudio Client configuration
+ install -Dm644 "${srcdir}/client.conf" \
+ "${pkgdir}/var/lib/mycroft/.config/pulse/client.conf"
+
+ # Set environmental variable for binary usage
+ install -Dm644 "${srcdir}/mycroft.sh" \
+ "${pkgdir}/etc/profile.d/mycroft.sh"
+ install -Dm644 "${srcdir}/mycroft.csh" \
+ "${pkgdir}/etc/profile.d/mycroft.csh"
}
md5sums=('f6e35eedde6e1d92783f63ffcc7df7bf'
'39bcf2f0f30854b7b6e516d49946566a'
- '578b9531acff7b5bf96d776bbd327d15'
+ 'bfe08c1d8cba053ef83cfac5a36c7910'
'7cbcc7b8b71d00c19a11166fbbd5ed4f'
- '46775f06fd9d6c4ad5ff3a221d4912ff')
+ '78ae7633b181fddbeb8e5e8c6a830539'
+ '9e760b5fe356a12e126de036120c7319'
+ '6c78c4a328e1322b8155086a73a77486')
diff --git a/client.conf b/client.conf
index a14b103865b9..1fef001e3b2c 100644
--- a/client.conf
+++ b/client.conf
@@ -1 +1 @@
-default-server = 127.0.0.1
+default-server = unix:/tmp/pulse-socket
diff --git a/mycroft-core.install b/mycroft-core.install
index 80d69c447ff8..529f316f1fd6 100644
--- a/mycroft-core.install
+++ b/mycroft-core.install
@@ -1,13 +1,21 @@
post_install() {
echo "====> Replace this line within /etc/pulse/default.pa:"
- echo "==== #load-module module-native-protocol-tcp"
+ echo "==== load-module module-native-protocol-unix"
echo "====> with:"
- echo "==== load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1"
+ echo "==== load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket"
echo "====> Restart PulseAudio"
echo "====> Finally run:"
echo "==== systemctl start mycroft.service"
}
post_upgrade() {
- post_install $1
+ post_install $1
+}
+
+post_remove() {
+ echo "====> Please check and, if occured, delete the following folders"
+ echo "==== /opt/mycroft/"
+ echo "==== /usr/share/mycroft-core/"
+ echo "==== /var/lib/mycroft"
+ echo "==== /var/log/mycroft/"
}
diff --git a/mycroft.csh b/mycroft.csh
new file mode 100644
index 000000000000..4e98a69da430
--- /dev/null
+++ b/mycroft.csh
@@ -0,0 +1,4 @@
+# Set path to mycroft bindirs if they exist
+
+[ -d /usr/share/mycroft-core/bin ] && setenv PATH ${PATH}:/usr/share/mycroft-core/bin
+[ -d /usr/share/mycroft-core ] && setenv PATH ${PATH}:/usr/share/mycroft-core
diff --git a/mycroft.sh b/mycroft.sh
new file mode 100644
index 000000000000..fb9ffd08c448
--- /dev/null
+++ b/mycroft.sh
@@ -0,0 +1,6 @@
+# Set path to mycroft bindirs if they exist
+export PATH=${PATH}:/usr/share/mycroft-core/bin
+
+[ -d /usr/share/mycroft-core/bin ] && append_path '/usr/share/mycroft-core/bin'
+[ -d /usr/share/mycroft-core ] && append_path '/usr/share/mycroft-core'
+export PATH
diff --git a/mycroft.sysusers b/mycroft.sysusers
index 4472182d9519..c4f9385afae4 100644
--- a/mycroft.sysusers
+++ b/mycroft.sysusers
@@ -1,4 +1,4 @@
-u mycroft - "Mycroft" /var/lib/mycroft /usr/bin/login
+u mycroft - "Mycroft" /var/lib/mycroft /bin/sh
g mycroft - -
m mycroft audio
m mycroft dbus