summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrumeet2020-09-18 16:54:53 -0700
committerTrumeet2020-09-18 16:54:53 -0700
commit43574fd798cb0ac4efd0b120902f8861c2ed6335 (patch)
tree1717c8c7715070dd4703cbaccf037fab18dbc23d
downloadaur-43574fd798cb0ac4efd0b120902f8861c2ed6335.tar.gz
First Commit
Signed-off-by: Trumeet <17158086+Trumeet@users.noreply.github.com>
-rw-r--r--.SRCINFO29
-rw-r--r--.gitignore7
-rw-r--r--PKGBUILD61
-rw-r--r--pmcenter-bin.install4
-rw-r--r--pmcenter.service16
-rw-r--r--pmcenter_sysuser.conf1
-rw-r--r--pmcenter_tmpfile.conf3
7 files changed, 121 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d31bde893c25
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = pmcenter-bin
+ pkgdesc = A Telegram bot helping you process private messages.
+ pkgver = 2.0.2.0
+ pkgrel = 1
+ url = https://pmcenter.itsmy.app
+ install = pmcenter-bin.install
+ arch = x86_64
+ license = APACHE
+ makedepends = unzip
+ depends = dotnet-runtime
+ noextract = pmcenter-linux-x64-r2r.zip
+ options = staticlibs
+ backup = etc/pmcenter/pmcenter.json
+ backup = etc/pmcenter/pmcenter_locale.json
+ source = https://github.com/Elepover/pmcenter/releases/download/2.0.2.0/pmcenter-linux-x64-r2r.zip
+ source = https://raw.githubusercontent.com/Elepover/pmcenter/2.0.2.0/locales/pmcenter_locale_en.json
+ source = https://raw.githubusercontent.com/Elepover/pmcenter/2.0.2.0/pmcenter.json
+ source = pmcenter.service
+ source = pmcenter_sysuser.conf
+ source = pmcenter_tmpfile.conf
+ md5sums = aa5f485d745485546c0cbcaa20ae2e48
+ md5sums = cbfe1b615300e23d39dfaf1906f5d606
+ md5sums = b25c9763082de5e7071db8d0aea2b3f9
+ md5sums = 15dad546ed1b187cbde34214954065a9
+ md5sums = bc00968280c8190810de24fe45ec1ec3
+ md5sums = 52488093764b9de2807f161e18611335
+
+pkgname = pmcenter-bin
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..9fcf95624fb2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*.zip
+LICENSE.txt
+*.zst
+src/
+pkg/
+pmcenter.json
+pmcenter_locale_en.json
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..75334b97b8e2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,61 @@
+pkgname='pmcenter-bin'
+pkgver='2.0.2.0'
+pkgrel=1
+epoch=
+pkgdesc='A Telegram bot helping you process private messages.'
+arch=('x86_64')
+url='https://pmcenter.itsmy.app'
+license=('APACHE')
+depends=('dotnet-runtime')
+makedepends=('unzip')
+source=("https://github.com/Elepover/pmcenter/releases/download/$pkgver/pmcenter-linux-x64-r2r.zip"
+ "https://raw.githubusercontent.com/Elepover/pmcenter/$pkgver/locales/pmcenter_locale_en.json"
+ "https://raw.githubusercontent.com/Elepover/pmcenter/$pkgver/pmcenter.json"
+ "pmcenter.service"
+ "pmcenter_sysuser.conf"
+ "pmcenter_tmpfile.conf")
+noextract=("pmcenter-linux-x64-r2r.zip")
+options=(staticlibs)
+md5sums=('aa5f485d745485546c0cbcaa20ae2e48'
+ 'cbfe1b615300e23d39dfaf1906f5d606'
+ 'b25c9763082de5e7071db8d0aea2b3f9'
+ '15dad546ed1b187cbde34214954065a9'
+ 'bc00968280c8190810de24fe45ec1ec3'
+ '52488093764b9de2807f161e18611335')
+backup=('etc/pmcenter/pmcenter.json'
+'etc/pmcenter/pmcenter_locale.json')
+
+install=$pkgname.install
+
+prepare() {
+ cd $srcdir
+ mkdir -p sources
+ rm -rf sources/*
+ cd sources
+ unzip ../pmcenter-linux-x64-r2r.zip
+}
+
+package() {
+ cd $srcdir
+
+ mkdir -p $pkgdir/etc/pmcenter/
+ # Because we want pmcenter to generate the configuration, but it only supports
+ # generating to the default location, which is in the same folder with the dll.
+ # ln -s /usr/share/dotnet/pmcenter/pmcenter.dll $pkgdir/etc/pmcenter/pmcenter.dll
+ install -Dm664 pmcenter_locale_en.json $pkgdir/etc/pmcenter/pmcenter_locale.json
+ install -Dm664 pmcenter.json $pkgdir/etc/pmcenter/pmcenter.json
+
+ mkdir -p $pkgdir/usr/share/dotnet/pmcenter/
+ install -Dm644 -v ./sources/* $pkgdir/usr/share/dotnet/pmcenter/
+ ln -s /etc/pmcenter/pmcenter.json $pkgdir/usr/share/dotnet/pmcenter/pmcenter.json
+ ln -s /etc/pmcenter/pmcenter_locale.json $pkgdir/usr/share/dotnet/pmcenter/pmcenter_locale.json
+
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ install -Dm644 $srcdir/pmcenter.service $pkgdir/usr/lib/systemd/system/
+
+ mkdir -p $pkgdir/usr/lib/sysusers.d/
+ install -Dm644 $srcdir/pmcenter_sysuser.conf $pkgdir/usr/lib/sysusers.d/pmcenter.conf
+
+ mkdir -p $pkgdir/usr/lib/tmpfiles.d/
+ install -Dm644 $srcdir/pmcenter_tmpfile.conf $pkgdir/usr/lib/tmpfiles.d/pmcenter.conf
+}
diff --git a/pmcenter-bin.install b/pmcenter-bin.install
new file mode 100644
index 000000000000..cbadce5d2b8f
--- /dev/null
+++ b/pmcenter-bin.install
@@ -0,0 +1,4 @@
+post_install()
+{
+ echo "Edit /etc/pmcenter/pmcenter.json, then start pmcenter.service."
+}
diff --git a/pmcenter.service b/pmcenter.service
new file mode 100644
index 000000000000..0d75f4a0349a
--- /dev/null
+++ b/pmcenter.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=pmcenter Bot Daemon
+After=network-online.target
+Wants=network.target
+
+[Service]
+User=pmcenter
+Group=pmcenter
+Environment=pmcenter_conf=/etc/pmcenter/pmcenter.json
+Environment=pmcenter_lang=/etc/pmcenter/pmcenter_locale.json
+ExecStart=/usr/bin/dotnet /usr/share/dotnet/pmcenter/pmcenter.dll
+KillMode=process
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pmcenter_sysuser.conf b/pmcenter_sysuser.conf
new file mode 100644
index 000000000000..ba36f2559f64
--- /dev/null
+++ b/pmcenter_sysuser.conf
@@ -0,0 +1 @@
+u pmcenter - "pmcenter service user"
diff --git a/pmcenter_tmpfile.conf b/pmcenter_tmpfile.conf
new file mode 100644
index 000000000000..bb05723d434f
--- /dev/null
+++ b/pmcenter_tmpfile.conf
@@ -0,0 +1,3 @@
+z /etc/pmcenter/pmcenter_locale.json 0664 - pmcenter - -
+z /etc/pmcenter/pmcenter.json 0660 - pmcenter - -
+# z /etc/pmcenter/ 0775 - pmcenter - -