diff options
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | PKGBUILD | 61 | ||||
-rw-r--r-- | pmcenter-bin.install | 4 | ||||
-rw-r--r-- | pmcenter.service | 16 | ||||
-rw-r--r-- | pmcenter_sysuser.conf | 1 | ||||
-rw-r--r-- | pmcenter_tmpfile.conf | 3 |
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 - - |