diff options
author | Gianluca Boiano | 2020-11-09 23:39:54 +0100 |
---|---|---|
committer | Gianluca Boiano | 2020-11-09 23:39:54 +0100 |
commit | df766ea873c99fd7ea7179c17a25ddecbfe9217c (patch) | |
tree | e3464f4f010e5c1466b641f6bb6dca2ccc1ce740 | |
parent | 4aabf4812b56fcfa0f2add9b4e9e693252194a06 (diff) | |
download | aur-df766ea873c99fd7ea7179c17a25ddecbfe9217c.tar.gz |
mycroft-core: some system and packagin improvements
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 133 | ||||
-rw-r--r-- | client.conf | 2 | ||||
-rw-r--r-- | mycroft-core.install | 14 | ||||
-rw-r--r-- | mycroft.csh | 4 | ||||
-rw-r--r-- | mycroft.sh | 6 | ||||
-rw-r--r-- | mycroft.sysusers | 2 |
7 files changed, 103 insertions, 68 deletions
@@ -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 @@ -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 |