Compare commits

89 Commits

Author SHA1 Message Date
da164235f5 Update Jackett PKGBUILD 2021-03-21 15:28:02 +02:00
8714f2a58e Jackett sync 2021-03-21 03:37:30 +02:00
6b518001e8 Update README.md 2021-02-25 17:14:32 +02:00
26f7263cd4 commit earlyoom s6 corrections 2021-02-25 17:01:42 +02:00
4bf44cb5d6 commit earlyoom 2021-02-25 16:22:29 +02:00
79476d1e2d commit earlyoom openrc 2021-02-25 12:32:42 +02:00
e946784de3 commit earlyoom s6 2021-02-25 12:32:11 +02:00
ccd324d788 commit earlyoom runit 2021-02-25 12:31:44 +02:00
f8b8b58ef1 earlyoom-openrc commit 2021-02-25 02:50:44 +02:00
a208c5bc44 earlyoom commit 2021-02-25 02:42:23 +02:00
7a4883b269 Camera Control Updated PKGBUILD 2021-02-20 17:50:22 +02:00
67e9c84ee4 Virtualmin initial commit 2021-02-17 17:09:06 +02:00
560c06c04f spotifyd-openrc correction 2021-02-11 16:31:10 +02:00
a4fbefba79 Roll back changes, of next Webmin PKGBUILD for now 2021-02-10 22:13:39 +02:00
3d76a845f3 Removal of fakesystemctl, moved to it's own repo https://gitea.artixlinux.org/linuxer/fakesystemctl 2021-02-10 20:24:38 +02:00
044340e281 Fake systemctl command, commit for webmin (https://forum.artixlinux.org/index.php/topic,2208.msg15099.html#msg15099) 2021-02-10 18:00:51 +02:00
a6974f7b70 preload daemon services for OpenRC, Runit & s6 2021-02-08 06:58:40 +02:00
64272cadf6 preload daemon for Artix Linux 2021-02-08 03:10:43 +02:00
2d0ee43b9a correction 2021-02-08 03:10:18 +02:00
af07dd0399 correction 2021-02-08 03:10:03 +02:00
605af08448 correction 2021-02-08 03:09:50 +02:00
00d4ee3cd8 correction 2021-02-08 03:09:28 +02:00
e4f81854a6 ofonod-s6 PKGBUILD 2021-02-03 17:17:39 +02:00
879ff10e0a ofonod-runit PKGBUILD 2021-02-03 17:00:08 +02:00
109b4390d3 ofonod-openRC PKGBUILD 2021-02-03 16:59:39 +02:00
f0c8b6e19c ofono nosystemd PKGBUILD 2021-02-03 16:58:51 +02:00
16da766968 Runit Service Manager PKGBUILD update for release 2021-02-02 22:09:03 +02:00
b5f63ddb6d Ananicy Latest PKGBUILD 2021-02-01 23:57:45 +02:00
a9faa0ff93 Reverting Ananicy nosystemd PKGBUILD to original 2021-01-29 21:25:09 +02:00
2ef0cda7c2 webmin-s6 PKGBUILD update 2021-01-24 02:49:53 +02:00
f77d581956 webmin-runit PKGBUILD update 2021-01-24 02:49:39 +02:00
b909ec4721 from sh to execline for webmin s6 finish commit 2021-01-24 02:42:05 +02:00
cc96a3668a A better fix for Webmin on Runit 2021-01-24 02:38:24 +02:00
27b4a07b0c Fixed - Webmin on s6 2021-01-24 02:25:36 +02:00
1ea8aa2193 Fixed - Webmin on Runit 2021-01-24 02:25:12 +02:00
9fc4124f88 testing on runit - do not use it yet 2021-01-24 00:33:43 +02:00
7146fda412 Initial commit of brightness-control-applet 2021-01-24 00:33:25 +02:00
6513dd3d13 Removal of perl-authen-pam, (exists in galaxy repo) 2021-01-23 11:52:33 +02:00
f7099b7ab8 Update README.md 2021-01-23 02:18:02 +02:00
9e4aba9d19 commit webmin-s6 2021-01-22 21:18:42 +02:00
47fa320444 commit webmin-runit 2021-01-22 21:18:21 +02:00
38d26a32b8 commit webmin-openrc 2021-01-22 21:17:58 +02:00
d863e942ec commit webmin nosystemd 2021-01-22 21:17:22 +02:00
91c2a39390 commit perl-encode-detect 2021-01-22 21:16:45 +02:00
d32ee83c7e commit perl-authen-pam 2021-01-22 21:16:05 +02:00
7a1a40b295 Jackett current release 0.17.343 2021-01-22 12:30:40 +02:00
e8d5773366 Jackett current release 0.17.337 2021-01-22 00:29:53 +02:00
ab39602299 jackett-s6 fixed release no 2021-01-22 00:29:04 +02:00
e2fc7895c1 jackett-runit fixed release no 2021-01-22 00:28:45 +02:00
61ea88235e jackett-openrc fixed release no 2021-01-22 00:28:27 +02:00
ee8ba0472a Cleaned up jackett-s6 PKGBUILD 2021-01-22 00:08:50 +02:00
381c435932 Cleaned up jackett-runit PKGBUILD 2021-01-22 00:08:26 +02:00
7b8eb8119a jackett-openrc commit 2021-01-22 00:07:52 +02:00
4faab18646 Fixed deps of jackett-sc 2021-01-21 23:48:29 +02:00
097a5b6596 Fixed deps of jackett-runit 2021-01-21 23:47:59 +02:00
026007111d jackett-s6 commit 2021-01-21 23:42:45 +02:00
8558219c22 jackett-runit PKGBUILD correction 2021-01-21 23:41:23 +02:00
8d33064d6d Jackett PKGBUILD cleanup 2021-01-21 23:40:15 +02:00
eab7f38bda Commit jackett runit service standalone 2021-01-21 23:16:10 +02:00
9bddd003d6 Commit Split jackett as a separated package 2021-01-21 23:11:24 +02:00
3865d3ba1e Jackett main package PKGBUILD 2021-01-21 23:02:29 +02:00
1a2707cae5 Jackett Runit Addition, needs split yet 2021-01-21 22:44:50 +02:00
3667210634 Runit Service Manager PKGBUILD commit 2021-01-19 22:52:58 +02:00
bdb163f761 Update README.md 2021-01-19 18:38:25 +02:00
6f26ae5224 spotify s6 service commit 2021-01-19 18:32:29 +02:00
43d625f508 spotify Runit service commit 2021-01-19 18:32:10 +02:00
829c478e97 spotify OpenRC service commit 2021-01-19 18:31:55 +02:00
b89dde9c44 spotify nosystemd PKGGBUILD commit 2021-01-19 18:31:16 +02:00
c324b462b7 Updated README.md 2021-01-18 14:44:16 +02:00
a28009aabe Added bc to deps, correction of zramen installation at /usr/bin 2021-01-18 01:03:33 +02:00
e8b032bd60 Added bc to deps 2021-01-18 01:02:33 +02:00
095497bf2f Added bc to deps 2021-01-18 01:02:24 +02:00
a31ecb91a8 Zramen Runit commit 2021-01-17 17:01:11 +02:00
c43873b72b Zramen s6 commit 2021-01-17 17:00:55 +02:00
b9d20be006 Zramen OpenRC commit 2021-01-17 17:00:29 +02:00
b4b2942a2a zramen-openrc and runit commit 2021-01-17 15:02:39 +02:00
7e4c0fe4d7 revised PKGBUILD ananicy-openrc 2021-01-16 22:39:43 +02:00
0d39d87ba5 Corrected url 2021-01-16 21:44:33 +02:00
1432074318 ananicy-nosystemd PKGBUILD commit 2021-01-16 13:44:17 +02:00
6dc3382742 Fixed Services License 2021-01-16 02:03:36 +02:00
47822cff5c Fixed provides and deps 2021-01-16 01:53:06 +02:00
57dd8fcb55 Updated main README.md 2021-01-16 01:46:51 +02:00
3da9e20183 added stop() function at ananicy.initd 2021-01-16 01:23:43 +02:00
e5e3d9d677 commit of ananicy-s6 split package PKGBUILD 2021-01-16 01:12:21 +02:00
56f79ac55a commit of ananicy-runit split package PKGBUILD 2021-01-16 01:12:04 +02:00
ff79c7c540 commit of ananicy-openrc split package PKGBUILD 2021-01-16 01:11:38 +02:00
610555e1d9 ananicy.initd OpenRC style for Artix 2021-01-16 00:54:51 +02:00
ec324beba7 Ananicy Initial commit 2021-01-15 23:37:20 +02:00
5c02ebfff7 added the executable bit on /etc/init.d/ananicy (correction) 2021-01-15 22:41:14 +02:00
82 changed files with 2402 additions and 76 deletions

View File

@@ -2,7 +2,43 @@
My extra Artix Linux PKGBUILDS
- Brightness Control Panel --> Universe Repo
- Camera Control Switch Indicator --> Galaxy Repo
- Ricoh ru587x Webcam Drivers --> Universe Repo
- UFW Icon Bar --> Galaxy Repo
- ananicy w/o systemd dep
- ananicy-openrc
- ananicy-runit
- ananicy-s6
- Brightness Control Panel
- Camera Control Switch Indicator
- earlyoom w/o systemd dep
- earlyoom-openrc
- earlyoom-runit
- earlyoom-s6
- perl-encode-detect (for the webmin)
- preload w/o systemd dep
- preload-openrc
- preload-runit
- preload-s6
- Ricoh ru587x Webcam Drivers
- runit-service-manager (rsm)
- spotifyd w/o systemd dep
- spotifyd-openrc
- spotifyd-runit
- spotifyd-s6
- UFW Icon Bar
- webmin nosystemd
- webmin-openrc
- webmin-runit
- webmin-s6
- zramen-openrc
- zramen-runit
- zramen-s6

View File

@@ -0,0 +1,31 @@
# Maintainer: Nathan Owens <ndowens@artixlinux.og>
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=ananicy
_alias=ananicy-nosystemd
pkgver=2.2.1.r2.g350b74b
pkgrel=1
pkgdesc="Ananicy - is Another auto nice daemon, with community rules support"
arch=('any')
#url="https://gitea.artixlinux.org/linuxer/ananicy-nosystemd.git"
url="https://github.com/Nefelim4ag/Ananicy.git"
license=('GPL3')
depends=('bash' 'schedtool')
makedepends=('git' 'make')
#source=("$_alias"::'git+https://gitea.artixlinux.org/linuxer/ananicy-nosystemd.git#branch=master')
source=("$pkgname"::git+https://github.com/Nefelim4ag/Ananicy.git#branch=master)
b2sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
package() {
cd "$srcdir/$pkgname"
make install PREFIX="$pkgdir"
sed -i "833i \ \ \ \ os.system('sysctl -e kernel.sched_autogroup_enabled=0')\n" $pkgdir/usr/bin/ananicy
mv -v "$pkgdir/lib" "$pkgdir/usr/"
rm -R "$pkgdir/usr/lib"
}

View File

@@ -0,0 +1,82 @@
# `ananicy-nosystemd` is a fork of ananicy for Artix Linux
## Description
Ananicy (ANother Auto NICe daemon) — is a shell daemon created to manage processes' [IO](http://linux.die.net/man/1/ionice) and [CPU](http://linux.die.net/man/1/nice) priorities, with community-driven set of rules for popular applications (anyone may add his own rule via github's [pull request](https://help.github.com/articles/using-pull-requests/) mechanism).
I think it's only for desktop usage.
I just wanted a tool for auto set programs nice in my system, i.e.:
* Why do I have a lags, while compiling kernel and playing a game?
* Why does dropbox client eat all my IO?
* Why does torrent/dc client make my laptop run slower?
* ...
Use ananicy to fix this problems!
## Versions
```
X.Y.Z where
X - Major version,
Y - Script version - reset on each major update
Z - Rules version - reset on each script update
```
Read more about semantic versioning [here](http://semver.org/)
## Configuration
Rules files should be placed under /etc/ananicy.d/ directory and have *.rules extension.
Inside .rules file every process is described on a separate line, general syntax is described below:
```
{ "name": "gcc", "type": "Heavy_CPU", "nice": 19, "ioclass": "best-effort", "ionice": 7, "cgroup": "cpu90" }
```
All fields except 'name' are optional.
'name' used for match processes by exec bin name
```
~ basename $(sudo realpath /proc/1/exe)
systemd
```
Currently match by other things, not supported.
You can check what Ananicy see, by:
```
ananicy dump proc
```
Ananicy load all rules in ram while starting, so to apply rules, you must restart service.
Available ionice values:
```
$ man ionice
```
## Simple rules for writing rules
CFQ IO Scheduller also use 'nice' for internal scheduling, so it's mean processes with same IO class and IO priority, but with different nicceness will take advantages of 'nice' also for IO.
1. Try don't chage 'nice' of system wide process like initrd.
2. Please try use full process name (or name with ^$ symbols like NAME=^full_name$)
3. When writing rule - try use only 'nice', it must be enough in most cases.
4. Don't try set to high priority! Niceness can fix some performance problems, but can't give you more.
Example: pulseaudio uses 'nice' -11 by default, if you set other cpu hungry task, with 'nice' {-20..-12} you can catch a sound glitches.
5. For CPU hungry backround task like compiling, just use NICE=19.
About IO priority:
1. It's usefull use '{"ioclass": "idle"}' for IO hungry background tasks like: file indexers, Cloud Clients, Backups and etc.
2. It's not cool set realtime to all tasks. The RT scheduling class is given first access to the disk, regardless of what else is going on in the system. Thus the RT class needs to be used with some care, as it can starve other processes. So try use ioclass first.
### Missing `schedtool`
If you see this error in the output
```
Jan 24 09:44:18 tony-dev ananicy[13783]: ERRO: Missing schedtool! Abort!
```
Fix it in Ubuntu with
```
sudo apt install schedtool
```
### Submitting new rules
Please use pull request, thanks

View File

@@ -8,12 +8,10 @@ pkgrel=1
pkgdesc="Ananicy - is Another auto nice daemon, with community rules support"
arch=('any')
url="https://github.com/Nefelim4ag/Ananicy.git"
license=('GPL3')
depends=('openrc' 'bash' 'schedtool')
license=('BSD')
depends=('ananicy' 'openrc' 'bash' 'schedtool')
makedepends=('git' 'make')
#source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Nefelim4ag/Ananicy.git"
source=("$pkgname"::'git+https://github.com/Nefelim4ag/Ananicy.git#branch=master'
"ananicy.initd")
source=("ananicy.initd")
b2sums=('SKIP'
'beb8ec94c37ccc6065a567477857f8f552299a00d6c0e45e1cbce05bc0e17b0126e0a7914867b90bb7e3aed3c3be3e409836b73a1799b5b4911372629428a5da')
install=$pkgname.install
@@ -26,12 +24,5 @@ pkgver() {
package() {
mkdir -p $pkgdir/etc/init.d/
cp "ananicy.initd" $pkgdir/etc/init.d/ananicy
cd "$srcdir/$pkgname/"
make install PREFIX="$pkgdir"
sed -i "833i \ \ \ \ os.system('sysctl -e kernel.sched_autogroup_enabled=0')\n" $pkgdir/usr/bin/ananicy
chmod +x $pkgdir/usr/bin/ananicy
mkdir -p "$pkgdir/usr/"
mv -v "$pkgdir/lib" "$pkgdir/usr/"
rm -R "$pkgdir/usr/lib"
install=ananicy-openrc.install
}

View File

@@ -1,33 +1,14 @@
#!/bin/sh
#!/usr/bin/openrc-run
start() {
/usr/bin/ananicy start
}
pidfile="/run/ananicy.pid"
command="/usr/bin/ananicy"
command_args="start"
command_background=true
stop() {
stop_post() {
/sbin/sysctl -e kernel.sched_autogroup_enabled=1
}
restart() {
stop
start
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@@ -8,15 +8,12 @@ pkgrel=1
pkgdesc="Ananicy - is Another auto nice daemon, with community rules support"
arch=('any')
url="https://github.com/Nefelim4ag/Ananicy.git"
license=('GPL3')
depends=('runit' 'bash' 'schedtool')
license=('BSD')
depends=('ananicy' 'runit' 'bash' 'schedtool')
makedepends=('git' 'make')
#source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Nefelim4ag/Ananicy.git"
source=("$pkgname"::'git+https://github.com/Nefelim4ag/Ananicy.git#branch=master'
"ananicy.finish"
source=("ananicy.finish"
"ananicy.run")
b2sums=('SKIP'
'b45d85b9c912585ff1fa237d0b841994c275f658e098096689315501721037cc141b6bda8d7e9220dfb0cb0ec3c6f62b4850550036556f65e636da628a908edb'
b2sums=('b45d85b9c912585ff1fa237d0b841994c275f658e098096689315501721037cc141b6bda8d7e9220dfb0cb0ec3c6f62b4850550036556f65e636da628a908edb'
'25551175031c7426bcb0a4169960a464494a0e16908865d9bd8abed8bb6ffb4958ebeded19fccd7483387f9ce02336582aa587ff7284ec85ae2ccfa663ffc89b')
install=$pkgname.install
@@ -29,11 +26,5 @@ package() {
mkdir -p "$pkgdir/etc/runit/sv/$_alias"
cp "ananicy.finish" $pkgdir/etc/runit/sv/$_alias/finish
cp "ananicy.run" $pkgdir/etc/runit/sv/$_alias/run
cd "$srcdir/$pkgname/"
make install PREFIX="$pkgdir"
mkdir -p "$pkgdir/usr/"
sed -i "833i \ \ \ \ os.system('sysctl -e kernel.sched_autogroup_enabled=0')\n" $pkgdir/usr/bin/ananicy
mv -v "$pkgdir/lib" "$pkgdir/usr/"
rm -R "$pkgdir/usr/lib"
install=ananicy-runit.install
}

View File

@@ -8,15 +8,12 @@ pkgrel=1
pkgdesc="Ananicy - is Another auto nice daemon, with community rules support"
arch=('any')
url="https://github.com/Nefelim4ag/Ananicy.git"
license=('GPL3')
depends=('s6' 'bash' 'schedtool')
license=('ISC')
depends=('ananicy' 's6' 'bash' 'schedtool')
makedepends=('git' 'make')
#source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Nefelim4ag/Ananicy.git"
source=("$pkgname"::'git+https://github.com/Nefelim4ag/Ananicy.git#branch=master'
"ananicy.type"
source=("ananicy.type"
"ananicy.run")
b2sums=('SKIP'
'0d8b60c573270d0117b3613fa99b65d94b1a91c0029a07bfb1157d2a990e59636c4785b67dbf64bdf1cd17a77c55f71a041170c9a6edb81689053e6ee158d46e'
b2sums=('0d8b60c573270d0117b3613fa99b65d94b1a91c0029a07bfb1157d2a990e59636c4785b67dbf64bdf1cd17a77c55f71a041170c9a6edb81689053e6ee158d46e'
'25551175031c7426bcb0a4169960a464494a0e16908865d9bd8abed8bb6ffb4958ebeded19fccd7483387f9ce02336582aa587ff7284ec85ae2ccfa663ffc89b')
install=$pkgname.install
@@ -29,11 +26,5 @@ package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp ananicy.run $pkgdir/etc/s6/sv/$_alias/run
cp ananicy.type $pkgdir/etc/s6/sv/$_alias/type
cd "$srcdir/$pkgname/"
make install PREFIX="$pkgdir"
sed -i "833i \ \ \ \ os.system('sysctl -e kernel.sched_autogroup_enabled=0')\n" $pkgdir/usr/bin/ananicy
mkdir -p "$pkgdir/usr/"
mv -v "$pkgdir/lib" "$pkgdir/usr/"
rm -R "$pkgdir/usr/lib"
install=ananicy-s6.install
}

29
ananicy/PKGBUILD Normal file
View File

@@ -0,0 +1,29 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=ananicy
_alias=ananicy
pkgver=2.2.0.r55.g5559e01
pkgrel=1
pkgdesc="Ananicy - is Another auto nice daemon, with community rules support"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/ananicy-nosystemd"
license=('GPL3')
provides=('ananicy')
depends=('bash' 'schedtool')
makedepends=('git' 'make')
#source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Nefelim4ag/Ananicy.git"
source=("$pkgname"::'git+https://gitea.artixlinux.org/linuxer/ananicy-nosystemd.git#branch=master')
b2sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
package() {
cd "$srcdir/$pkgname/"
make install PREFIX="$pkgdir"
mv -v "$pkgdir/lib" "$pkgdir/usr/"
rm -R "$pkgdir/usr/lib"
}

View File

@@ -0,0 +1,35 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
# Contributor: linuxer <linuxer@artixlinux.org>
# Contributor: Lord Amit <amitsealami@gmail.com>
pkgname=brightness-control-applet
pkgver=1.0.1
pkgrel=1
pkgdesc='Brightness Control Applet, for GTK and Qt based PC Desktops'
arch=('x86_64')
url='https://gitea.artixlinux.org/linuxer/brightness-control-applet'
license=('GPL3')
depends=('python' 'python-pyqt5' 'pyside2')
optdepends=('qt5ct: script for setting themes on GTK Desktops' 'kvantum-qt5: qt5 theme settings')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz")
b2sums=('9b09298d29dba4308b1f9bf341c44c0da9cd9ee789688855e3c8821977bf8bff23fae6643ff852fd7cac6b9cd50fa33b75693b56f26b3212bbfc33aa62d3786c')
package() {
cd "${srcdir}/${pkgname}"
mkdir -p "${pkgdir}/usr/bin"
mkdir -p "${pkgdir}/usr/share/icons"
mkdir -p "${pkgdir}/usr/share/applications"
mkdir -p "${pkgdir}/usr/share/brightness-control-applet/img"
mkdir -p "${pkgdir}/usr/share/brightness-control-applet/src"
cp "brightness-control-applet" "${pkgdir}/usr/share/brightness-control-applet/brightness-control-applet"
ln -sf "${pkgdir}/usr/share/brightness-control-applet/brightness-control-applet" "${pkgdir}/usr/bin/brightness-control-applet"
chmod +x "${pkgdir}/usr/bin/brightness-control-applet"
cp "brightness-control-applet.desktop" "${pkgdir}/usr/share/applications/brightness-control-applet.desktop"
cp "img/brightness.svg" "${pkgdir}/usr/share/icons/brightness.svg"
cp -avr "img" "${pkgdir}/usr/share/brightness-control-applet/"
cp -avr "src" "${pkgdir}/usr/share/brightness-control-applet/"
}

View File

@@ -1,26 +1,27 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=cameracontrol
pkgdesc="Webcam, camera and microphone control for Linux - Έλεγχος webcam και camera και μικροφώνου για Linux"
pkgver=2.1.0
pkgver=2.2.0
pkgrel=1
_pkgver="${pkgver//./-}"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/camera-control-webcam-switch-indicator"
license=('FPC modified LGPL Version 2')
depends=('qt5pas' 'lsof')
depends=('qt5pas' 'lsof' 'kvantum-qt5' 'libnotify' 'notify-osd')
conflicts=('cameramonitor' 'cameracontrol-bin')
optdepends=('qt5ct: Qt5 Configuration Utility'
'qt5gtk2: another GTK+2.0 integration plugins for Qt5'
'qt5-styleplugins: additional style plugins for Qt5')
source=("https://gitea.artixlinux.org/linuxer/camera-control-webcam-switch-indicator/raw/branch/master/CameraControl-$_pkgver.tar.bz2")
sha256sums=('a134a2af0c83e38282eb6c16a1dc6a9e018081e55d5e25e4e379ac6ebbb97d52')
source=("CameraControl-2.2-0.tar.bz2::https://codeberg.org/attachments/016fb3ac-a234-47ad-bde5-df21103037ef")
b2sums=('f749accd0f939267e2167f6a01e56e2aff572ed4a7bfd302069ac3db0fcd24d257fb058bbb2898779e1fc2375fe688cd7110aed1b2baf05988d40a8d3ffcecf5')
package() {
cd "$srcdir"
pwd
install -Dm755 "$pkgname.bin" -t "$pkgdir/opt/CameraControl"
install -Dm755 CameraControl.sh "$pkgdir/opt/CameraControl"
install -Dm644 "$pkgname.desktop" -t "$pkgdir/usr/share/applications"
install -D -m0644 org.artixlinux.cameracontrol.policy "${pkgdir}"/usr/share/polkit-1/actions/org.artixlinux.cameracontrol.policy
install=cameracontrol.install
}

View File

@@ -0,0 +1,9 @@
post_install() {
echo " ==> Add /usr/share/applications/cameracontrol.desktop to your ~/.config/autostart folder, so to startup after login
echo " ==> As from Release 2.2.0 and after, polkit's pkexec starts the application, so remove any previously secrets, from your .bashrc (if you had them before)
echo " ==> Further details at https://gitea.artixlinux.org/linuxer/camera-control-webcam-switch-indicator/src/branch/master/README.md
}
post_upgrade() {
post_install "$1"
}

17
earlyoom-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,17 @@
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=earlyoom-openrc
pkgver=20210225
pkgrel=1
url="https://gitea.artixlinux.org/linuxer/"
pkgdesc="earlyoom openrc init script"
arch=('x86_64')
license=('MIT')
depends=('openrc' 'earlyoom')
source=("earlyoom.initd")
b2sums=('0d38e7c1a8107d0ef082b4c62a2f4abf22613b4c73279168bd4f062e44fcaa5cdf0a6e4584a9f024840a2931e3a6e9308557e21bfca08c0de889657cb27c2a17')
package(){
install -Dm755 ${srcdir}/earlyoom.initd ${pkgdir}/etc/init.d/earlyoom
}

12
earlyoom-openrc/earlyoom.initd Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/openrc-run
supervisor=supervise-daemon
pidfile="/run/earlyoom.pid"
command="/usr/bin/earlyoom"
command_args=$EARLYOOM_ARGS
command_background=true
#source=/etc/default/earlyoom
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}

17
earlyoom-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,17 @@
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=earlyoom-runit
_alias=earlyoom
pkgver=20210225
pkgrel=1
url="https://gitea.artixlinux.org/linuxer/"
pkgdesc="earlyoom runit init script"
arch=('x86_64')
license=('BSD')
depends=('earlyoom' 'runit')
source=("earlyoom.run")
b2sums=('77353e72d7a95a511b3899196c84dfb4f8310b4b21b36ac73a37e92b25dfe82b169d2c9ce3648e3caa502735151c1b2059f74fdae243f829505d8f6fae1a1d62')
package() {
install -Dm755 ${srcdir}/earlyoom.run $pkgdir/etc/runit/sv/$_alias/run
}

3
earlyoom-runit/earlyoom.run Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec earlyoom $EARLYOOM_ARGS

21
earlyoom-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,21 @@
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=earlyoom-s6
_alias=earlyoom
pkgver=20210225
pkgrel=1
pkgdesc="earlyoom s6 init script"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('ISC')
depends=('earlyoom' 's6')
source=("earlyoom.type"
"earlyoom.run")
b2sums=('a8c94aa565e6a6800477961c3de12ac0a1cf3539640dc9c0dd442ff3cac5140c271c32da5b6c55319f3449fc20cdd02d640e05db8829aa951b90480d12b93728'
'38552d40fcc77b3361de6321d5d1cfc51be4611e53651637dbd527b271d7fd40483c2b8ed78d53d134b4184551135161a12e76d61680b7d3b84c02e24898ddf7')
package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp earlyoom.run $pkgdir/etc/s6/sv/$_alias/run
cp earlyoom.type $pkgdir/etc/s6/sv/$_alias/type
}

3
earlyoom-s6/earlyoom.run Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/earlyoom $EARLYOOM_ARGS

View File

@@ -0,0 +1 @@
longrun

31
earlyoom/PKGBUILD Normal file
View File

@@ -0,0 +1,31 @@
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=earlyoom
pkgver=1.6.2
pkgrel=1
pkgdesc="Early OOM Daemon for Linux"
arch=('x86_64')
url="https://github.com/rfjakob/earlyoom"
license=('MIT')
makedepends=('pandoc')
backup=("etc/default/earlyoom")
source=("https://github.com/rfjakob/$pkgname/archive/v$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('227234cf9e77831c21c748bd361e1a7c415e158b96034eacd59e70586779bb6c')
#prepare() {
#cd "$pkgname-$pkgver"
#sed "/systemctl|chcon/d" -ri Makefile
#sed '/^DynamicUser=/a SupplementaryGroups=proc' -i earlyoom.service.in
#sed 's;^EARLYOOM_ARGS="(.*)";EARLYOOM_ARGS="\1 -n --avoid '\''(^|/)(init|systemd|Xorg|sshd)$'\''";' -ri earlyoom.default
#}
build() {
cd "$pkgname-$pkgver"
make PREFIX=/usr VERSION=$pkgver earlyoom #SYSTEMDUNITDIR=/usr/lib/systemd/system
}
package() {
cd "$pkgname-$pkgver"
make install DESTDIR="$pkgdir" PREFIX=/usr
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

19
jackett-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
pkgname=jackett-openrc
_alias=jackett
pkgver=20210222
pkgrel=1
pkgdesc='Use many torrent trackers with software that supports torznab/potato feeds.'
arch=('x86_64')
license=('GPL')
url='https://gitea.artixlinux.org/linuxer/'
depends=('jackett' 's6')
conficts=('systemd' 's6' 'runit')
source=("jackett.initd")
b2sums=('7947e7659d8111eac86036ec1423ee76b6f6a506d12557f0745702ccbd07f5791ce950d3322b9603d7f5938c3991c5ffb1476ee133696ed112122656e31cce6e')
package() {
mkdir -p $pkgdir/etc/init.d/
cp "jackett.initd" $pkgdir/etc/init.d/jackett
}

13
jackett-openrc/jackett.initd Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/openrc-run
supervisor=supervise-daemon
healthcheck_delay=12
pidfile="/run/jackett.pid"
command="/usr/lib/jackett"
command_args="--NoRestart --NoUpdates --DataFolder /var/lib/jackett"
command_background=true
command_user="jackett"
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}

20
jackett-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,20 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
pkgname=jackett-runit
_alias=jackett
pkgver=20210222
pkgrel=1
pkgdesc='Use many torrent trackers with software that supports torznab/potato feeds.'
arch=('x86_64')
license=('GPL')
url='https://gitea.artixlinux.org/linuxer/'
depends=('jackett' 'runit')
conficts=('systemd' 'openrc' 's6')
source=("jackett.run")
b2sums=('fed3336e07fe1d88a65bad5fb4f3e081ec16b24c07cc2a96462e7cecc3962b9742897455c0ce7f7fdbe04ecb337c575d54194d2dedad865f72572a5158cc6ef4')
package() {
install -D -m 644 "${srcdir}/jackett.run" "${pkgdir}/etc/runit/sv/jackett/run"
chmod +x "${pkgdir}/etc/runit/sv/jackett/run"
install=jackett.install
}

View File

@@ -0,0 +1,12 @@
post_install() {
echo " ==> Add Jackett Daemon to system startup wtih 'sudo ln -s /etc/runit/sv/jackett /run/runit/service'"
echo " ==> Start Jackett Daemon now with 'sudo sv up jackett'"
}
post_upgrade() {
post_install "$1"
}
pre_remove() {
echo " ==> Make sure to 'sudo unlink /run/runit/service/jackett'"
}

5
jackett-runit/jackett.run Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
exec chpst -u jackett /usr/lib/jackett/jackett --NoRestart --NoUpdates --DataFolder /var/lib/jackett

23
jackett-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,23 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
pkgname=jackett-s6
_alias=jackett
pkgver=20210222
pkgrel=1
pkgdesc='Use many torrent trackers with software that supports torznab/potato feeds.'
arch=('x86_64')
license=('GPL')
url='https://gitea.artixlinux.org/linuxer/'
depends=('jackett' 's6')
conficts=('systemd' 'openrc' 'runit')
source=("jackett.run"
"jackett.type")
b2sums=('fed3336e07fe1d88a65bad5fb4f3e081ec16b24c07cc2a96462e7cecc3962b9742897455c0ce7f7fdbe04ecb337c575d54194d2dedad865f72572a5158cc6ef4'
'0d8b60c573270d0117b3613fa99b65d94b1a91c0029a07bfb1157d2a990e59636c4785b67dbf64bdf1cd17a77c55f71a041170c9a6edb81689053e6ee158d46e')
package() {
install -D -m 644 "${srcdir}/jackett.run" "${pkgdir}/etc/s6/sv/jackett/run"
install -D -m 644 "${srcdir}/jackett.type" "${pkgdir}/etc/s6/sv/jackett/type"
chmod +x "${pkgdir}/etc/s6/sv/jackett/run"
}

5
jackett-s6/jackett.run Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
exec chpst -u jackett /usr/lib/jackett/jackett --NoRestart --NoUpdates --DataFolder /var/lib/jackett

1
jackett-s6/jackett.type Normal file
View File

@@ -0,0 +1 @@
longrun

55
jackett/PKGBUILD Normal file
View File

@@ -0,0 +1,55 @@
# Maintainer: linuxer <linuxer@artixlinux.org>
# Maintainer: Donald Webster <fryfrog@gmail.com>
pkgname=jackett-runit.git
_alias=jackett
pkgver=0.17.764
pkgrel=1
pkgdesc='Use many torrent trackers with software that supports torznab/potato feeds.'
arch=('x86_64' 'aarch64' 'armv7h')
license=('GPL')
url='https://github.com/Jackett/Jackett'
depends=('curl' 'openssl-1.0')
makedepends=('dotnet-sdk>=5.0.0')
conficts=('systemd' 'openrc' 's6' 'jackett' 'jackett-mono')
options=('!strip' 'staticlibs')
source=("jackett.run"
"jackett.sysusers"
"jackett.tmpfiles"
"jackett.install"
"${pkgname}-${pkgver}.tar.gz::https://github.com/Jackett/Jackett/archive/v${pkgver}.tar.gz")
b2sums=('fed3336e07fe1d88a65bad5fb4f3e081ec16b24c07cc2a96462e7cecc3962b9742897455c0ce7f7fdbe04ecb337c575d54194d2dedad865f72572a5158cc6ef4'
'6b0534e5f3320e70cff1cc59b0c4de202451d6bc240c0659749929a72223fcb8e636508b14905e3d449c854ae6774c4349480039dd50e35d1d01ac13fa15eea3'
'4837363802330a33153e8b1560074d3af1c24c393287d295083dc41c82d6667ef0eb1dbcabc6afd180082405762bfed749adc7483d0c6fab0be431f944b4c001'
'bccae26aece8872da424e8a2076c6a97ec7523026a6c4320e0a3d573452e06e0c36bd65374ecd45f809c107e21902c91b2c6546365b49a173b3f7c775d891b11'
'0b11066b7ffd5e9fa98551dd964bd1c2578d411bfd6d6b1e418fbba943601a3cfbb9d1a1cbc21e8c2e891a975661975d79ff507993104fe523132b0c428c0b03')
build() {
cd ${_alias^}-${pkgver}
case ${CARCH} in
x86_64) _CARCH='x64';;
aarch64) _CARCH='arm64';;
armv7h) _CARCH='arm';;
esac
export DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet publish src/Jackett.Server -f net5.0 --self-contained -r linux-${_CARCH} -c Debug -o buid/ /p:AssemblyVersion=${pkgver} /p:FileVersion=${pkgver} /p:InformationalVersion=${pkgver} /p:Version=${pkgver}
}
package() {
#cd "$srcdir"
cd ${_alias^}-${pkgver}
install -d -m 755 "${pkgdir}/usr/lib/jackett/"
cp -dpr --no-preserve=ownership buid/* "${pkgdir}/usr/lib/jackett/"
#install -D -m 644 "${srcdir}/jackett.service" "${pkgdir}/usr/lib/systemd/system/jackett.service"
install -D -m 644 "${srcdir}/jackett.sysusers" "${pkgdir}/usr/lib/sysusers.d/jackett.conf"
install -D -m 644 "${srcdir}/jackett.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/jackett.conf"
install -D -m 644 "${srcdir}/jackett.run" "${pkgdir}/etc/runit/sv/jackett/run"
chmod +x "${pkgdir}/etc/runit/sv/jackett/run"
install=jackett.install
}

1
jackett/jackett.sysusers Normal file
View File

@@ -0,0 +1 @@
u jackett - "Jackett daemon" /var/lib/jackett

5
jackett/jackett.tmpfiles Normal file
View File

@@ -0,0 +1,5 @@
# Override this file with a modified version in /etc/tmpfiles.d/
d /var/lib/jackett 0755 jackett jackett
Z /var/lib/jackett - jackett jackett
Z /usr/lib/jackett - jackett jackett
L /var/log/jackett.log - - - - /var/lib/jackett/log.txt

41
ofono/PKGBUILD Normal file
View File

@@ -0,0 +1,41 @@
# Maintainer: Jerome Leclanche <jerome@leclan.ch>
# Contributor: Kenneth Endfinger <kaendfinger@gmail.com>
# Contributor: Librewish <librewish@gmail.com>
pkgname=ofono
pkgver=1.31
pkgrel=3
pkgdesc="Infrastructure for building mobile telephony (GSM/UMTS) applications"
url="https://01.org/ofono"
arch=("x86_64")
license=("GPL2")
depends=("bluez" "dbus" "glib2" "udev" "mobile-broadband-provider-info")
provides=("ofono")
optdepends=("phonesim" "mmsd" "upower")
source=(
"https://www.kernel.org/pub/linux/network/ofono/$pkgname-$pkgver.tar.xz"
# "https://www.kernel.org/pub/linux/network/ofono/$pkgname-$pkgver.tar.sign"
)
sha256sums=('a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b'
# 'SKIP'
)
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
--mandir=/usr/share/man \
--enable-test \
--enable-tools \
--enable-dundee
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
install -Dm644 "$srcdir/$pkgname-$pkgver/src/ofono.conf" "$pkgdir/etc/dbus-1/system.d/ofono.conf"
#install -Dm644 "$srcdir/$pkgname-$pkgver/src/ofono.service" "$pkgdir/usr/lib/systemd/system/ofono.service" <-- please don't lol
}

19
ofonod-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=ofonod-openrc
_alias=ofonod
pkgver=20210119
pkgrel=1
pkgdesc="Infrastructure for building mobile telephony (GSM/UMTS) applications support for OpenRC Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('ofono' 'openrc' 'bash')
source=("ofonod.initd")
b2sums=('45219673596858050fa8620aeb55a7caaee195e7b79c07965d1a077feac0aafdf91c2380dda9be1c3e35280de66d7d3f720c54bbe9b61ad18924a72e9f284747')
package() {
mkdir -p $pkgdir/etc/init.d/
cp "ofonod.initd" $pkgdir/etc/init.d/ofonod
}

16
ofonod-openrc/ofonod.initd Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/openrc-run
supervisor=supervise-daemon
healthcheck_delay=12
pidfile="/run/ofonod.pid"
command="/usr/sbin/ofonod"
command_args="-n"
command_background=true
depend() {
need dbus
}
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}

19
ofonod-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=ofonod-runit
_alias=ofonod
pkgver=20210119
pkgrel=1
pkgdesc="Infrastructure for building mobile telephony (GSM/UMTS) applications support for Runit Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('ofono' 'runit' 'bash')
source=("ofonod.run")
b2sums=('ef411c2397ab5dd1dab3fd5f74daf53ca19ee9fc284a0ea11a58f751908b6b4d2bfebebdab07c940a48f20e7e3dc91b69a1282400ee80651b2482728d544d953')
package() {
mkdir -p "$pkgdir/etc/runit/sv/$_alias"
cp "ofonod.run" $pkgdir/etc/runit/sv/$_alias/run
}

4
ofonod-runit/ofonod.run Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
sv check dbus >/dev/null || exit 1
exec /usr/sbin/ofonod -n

22
ofonod-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,22 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=ofonod-s6
_alias=ofonod
pkgver=20210119
pkgrel=1
pkgdesc="Infrastructure for building mobile telephony (GSM/UMTS) applications support for s6 Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('ISC')
depends=('ofono' 's6' 'bash')
source=("ofonod.type"
"ofonod.run")
b2sums=('0d8b60c573270d0117b3613fa99b65d94b1a91c0029a07bfb1157d2a990e59636c4785b67dbf64bdf1cd17a77c55f71a041170c9a6edb81689053e6ee158d46e'
'6dfc8d1ed1e3127b9dfd6d8e8137ce2f3da44dc9d1a9a3de72c765e08e1e16484ece8c53325a3b371301604714ea485d079687212a0d996c894bd11cc79f95cc')
package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp ofonod.run $pkgdir/etc/s6/sv/$_alias/run
cp ofonod.type $pkgdir/etc/s6/sv/$_alias/type
}

3
ofonod-s6/ofonod.run Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/execlineb -P
exec /usr/sbin/ofonod -n

1
ofonod-s6/ofonod.type Normal file
View File

@@ -0,0 +1 @@
longrun

View File

@@ -0,0 +1,38 @@
# Maintainer: Amish <contact at via dot aur>
# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
pkgname=perl-encode-detect
pkgver=1.01
pkgrel=7
pkgdesc="An Encode::Encoding subclass that detects the encoding of data"
_dist=Encode-Detect
arch=('any')
url="https://metacpan.org/release/${_dist}"
license=('GPL' 'PerlArtistic')
depends=('perl')
makedepends=('perl-module-build')
options=('!emptydirs' purge)
source=("https://cpan.metacpan.org/authors/id/J/JG/JGMYERS/${_dist}-${pkgver}.tar.gz")
md5sums=('ee9faf55d7105c97b02b8ebe590819c7')
sha512sums=('cc9c81f716dcb61abb321abd84e4ebb95a674d9aa34c4265f58cace38f6d15ef4f2b8338190ae7d200672e047b795a30ce6155f9c1b1c424e25d962579b96224')
build() {
cd "${srcdir}/${_dist}-${pkgver}"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
/usr/bin/perl Makefile.PL
make
}
check() {
cd "${srcdir}/${_dist}-${pkgver}"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1
make test
}
package() {
cd "${srcdir}/${_dist}-${pkgver}"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
make install INSTALLDIRS=vendor DESTDIR="${pkgdir}"
}

19
preload-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=preload-openrc
_alias=preload
pkgver=20210208
pkgrel=1
pkgdesc="Makes applications run faster by prefetching binaries and shared objects, support for OpenRC Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('preload' 'openrc' 'bash')
source=("preload.initd")
b2sums=('be3f54c6e227e9f2c9154c8a3285ed0d1302bbc1f3863ee6f47905f20961c52d91d4a60ecb31dedf0a25654046e52c264ee28fcd7647047573cc1bb182fb60aa')
package() {
mkdir -p $pkgdir/etc/init.d/
cp "preload.initd" $pkgdir/etc/init.d/preload
}

9
preload-openrc/preload.initd Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/openrc-run
pidfile="/run/preload.pid"
command="/usr/bin/preload"
command_args="--foreground $PRELOAD_OPTS"
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}

19
preload-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=preload-runit
_alias=preload
pkgver=20210208
pkgrel=1
pkgdesc="Makes applications run faster by prefetching binaries and shared objects, support for Runit Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('preload' 'runit' 'bash')
source=("preload.run")
b2sums=('32b09967e1e4f1c4133ffed2025ffd9f55b9780f453af00a9da30d47c47d0ee8b8c60b1d4598ce152d932cdce73b35e10c7cebdb9c60eb0c6a17804a7090d676')
package() {
mkdir -p "$pkgdir/etc/runit/sv/$_alias"
cp "preload.run" $pkgdir/etc/runit/sv/$_alias/run
}

2
preload-runit/preload.run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/bin/preload --foreground $PRELOAD_OPTS pause

22
preload-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,22 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=preload-s6
_alias=preload
pkgver=20210208
pkgrel=1
pkgdesc="Makes applications run faster by prefetching binaries and shared objects,support for s6 Init"
arch=('x86_64')
url="https://gitea.artixlinux.org/linuxer/"
license=('ISC')
depends=('preload' 's6' 'bash')
source=("preload.type"
"preload.run")
b2sums=('cdcdfdfe8033b1b2ac812951b70b09b115c1d7b7de4ed0ea0808072414753faf98ca846a171f22ab788cc9e1564456354f953941d4fba8056bc650f41dcde8dc'
'4b5f6e726d55091d5d7e32aa1c1876d6999b05e513a5698750d47a99254bdae5c5fb6586a0b3f4cda2a33b5f3c11d6c30a9516f0e2079d7fd38a45d1b844c089')
package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp preload.run $pkgdir/etc/s6/sv/$_alias/up
cp preload.type $pkgdir/etc/s6/sv/$_alias/type
}

3
preload-s6/preload.run Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/execlineb -P
exec /usr/bin/preload --foreground $PRELOAD_OPTS

1
preload-s6/preload.type Normal file
View File

@@ -0,0 +1 @@
oneshot

43
preload/PKGBUILD Normal file
View File

@@ -0,0 +1,43 @@
# Maintainer: Francois Menning <f.menning@protonmail.com>
# Contributor: Justin Dray <justin@dray.be
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=preload
pkgver=0.6.4
pkgrel=7
arch=('x86_64')
pkgdesc="Makes applications run faster by prefetching binaries and shared objects"
url="http://sourceforge.net/projects/preload"
license=('GPL2')
depends=('glib2' 'bash')
provides=('preload')
makedepends=('help2man')
backup=('etc/preload.conf')
options=('!makeflags')
install=$pkgname.install
source=("http://downloads.sourceforge.net/sourceforge/preload/$pkgname-$pkgver.tar.gz")
md5sums=('10786287b55afd3a2b433b4f898809f4')
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--sbindir=/usr/bin \
--localstatedir=/var
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" sysconfigdir=/etc/conf.d install
#install -Dm644 "${srcdir}"/preload.service "${pkgdir}"/usr/lib/systemd/system/preload.service
rm -rf "${pkgdir}"/etc/rc.d
rm -rf "${pkgdir}"/var/lib/preload/preload.state
rm -rf "${pkgdir}"/var/log/preload.log
sed -r -i 's#^((map|exe)prefix =) (.+)$#\1 /opt;\3#' "${pkgdir}"/etc/preload.conf
}

30
preload/preload.install Normal file
View File

@@ -0,0 +1,30 @@
PRELOAD_STATE=/var/lib/preload/preload.state
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
if [ `vercmp $2 0.6.3-2` -lt 0 ]; then
echo "Backing up your state file..."
cp -af ${PRELOAD_STATE} ${PRELOAD_STATE}.backup
fi
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
if [ `vercmp $2 0.6.3-2` -lt 0 -a -f ${PRELOAD_STATE}.backup ]; then
echo "Restoring the state file..."
mv -f ${PRELOAD_STATE}.backup ${PRELOAD_STATE}
fi
}
# arg 1: the old package version
post_remove() {
echo
echo "Leaving ${PRELOAD_STATE} intact in case one day you want to"
echo "install preload again. If you are sure you don't need it anymore, please"
echo "remove it manually. Log files in /var/log have not been removed as well."
echo
}
# vim:set ts=2 sw=2 et:

View File

@@ -0,0 +1,18 @@
# Maintainer: Nathan Owens <ndowens@artixlinux.org>
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=rsm
pkgver=1.4.4
pkgrel=1
pkgdesc="Runit service manager"
arch=(any)
url="https://gitea.artixlinux.org/linuxer/Runit-Service-Manager"
license=('MIT')
depends=('runit')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
b2sums=('2cfc5e480f181f523bc8358f6387982e8645311b5672c318f90853e9b6ce713b3af747fcd5eac96e5f19a374abc1f4ab23bae051bb83b584461fc4170ccfc198')
package() {
cd "runit-service-manager"
install -Dm755 rsm "$pkgdir"/usr/bin/rsm
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/rsm
}

19
spotifyd-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=spotifyd-openrc
_alias=spotifyd
pkgver=20210211
pkgrel=1
pkgdesc="Leightweigt spotify streaming daemon with spotify connect support for Runit Init"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('spotifyd' 'openrc' 'bash')
source=("spotifyd.initd")
b2sums=('7faa912161c614f494a69f89dfad1a548937a96b1d428b6bef5fa1a22009df23aaf217ee59138cf50b44931a05d075e019e0b162689b35d1f11d49532ad03792')
package() {
mkdir -p $pkgdir/etc/init.d/
cp "spotifyd.initd" $pkgdir/etc/init.d/spotifyd
}

16
spotifyd-openrc/spotifyd.initd Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/openrc-run
supervisor=supervise-daemon
healthcheck_delay=12
pidfile="/run/spotifyd.pid"
command="/usr/bin/spotifyd"
command_args="-b pulseaudio --no-daemon"
command_background=true
depend() {
need dbus
}
stop() {
start-stop-daemon --stop --pidfile "$pidfile"
}

19
spotifyd-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,19 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=spotifyd-runit
_alias=spotifyd
pkgver=20210119
pkgrel=1
pkgdesc="Leightweigt spotify streaming daemon with spotify connect support for Runit Init"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('BSD')
depends=('spotifyd' 'runit' 'bash')
source=("spotifyd.run")
b2sums=('9cf6d59eae70215b0b9329eaaa51d936ca6c45ef89b089de9e8e4f3bfd4adf2ca531251d5286cbbbecad0716b39c1ae0958db95eaf2d918b1f35ecdd4e0a6a95')
package() {
mkdir -p "$pkgdir/etc/runit/sv/$_alias"
cp "spotifyd.run" $pkgdir/etc/runit/sv/$_alias/run
}

4
spotifyd-runit/spotifyd.run Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
sv check dbus >/dev/null || exit 1
exec spotifyd -b pulseaudio --no-daemon

22
spotifyd-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,22 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=spotifyd-s6
_alias=spotifyd
pkgver=20210119
pkgrel=1
pkgdesc="Leightweigt spotify streaming daemon with spotify connect support for Runit Init"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('ISC')
depends=('spotifyd' 's6' 'bash')
source=("spotifyd.type"
"spotifyd.run")
b2sums=('0d8b60c573270d0117b3613fa99b65d94b1a91c0029a07bfb1157d2a990e59636c4785b67dbf64bdf1cd17a77c55f71a041170c9a6edb81689053e6ee158d46e'
'd4812baddb1b05700a24faf53e18647a802c2ceb6a7a74f7ab491958b08db5d71f4df50819a73377ec970bf487567030d8486dd04512e72b0eb45de27580889e')
package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp spotifyd.run $pkgdir/etc/s6/sv/$_alias/run
cp spotifyd.type $pkgdir/etc/s6/sv/$_alias/type
}

3
spotifyd-s6/spotifyd.run Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/spotifyd -b pulseaudio --no-daemon

View File

@@ -0,0 +1 @@
longrun

35
spotifyd/PKGBUILD Normal file
View File

@@ -0,0 +1,35 @@
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Bert Peters <bert@bertptrs.nl>
# Contributor: Varakh <varakh@varakh.de>
# Contributor: Florian Klink <flokli@flokli.de>
pkgbase=spotifyd
pkgname=('spotifyd')
pkgver=0.3.0
pkgrel=1
pkgdesc='Leightweigt spotify streaming daemon with spotify connect support'
arch=('x86_64')
url='https://github.com/Spotifyd/spotifyd'
license=('GPL3')
depends=('alsa-lib' 'libogg' 'libpulse' 'dbus')
# change to rust when https://github.com/librespot-org/librespot-tremor/pull/1 got merged
makedepends=('rust')
source=("https://github.com/Spotifyd/spotifyd/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
b2sums=('79bc74d6dc2e9acca439a9b5e5e1c6f6be143ea6fd376386f1649626f51473d56c0147057eba5dcdb5b97496733bafcdb9956f8a2bc824c61c13b61740359398')
build() {
cd spotifyd-${pkgver}
cargo build --release --locked --features pulseaudio_backend,dbus_mpris,dbus_keyring,rodio_backend
}
check() {
cd spotifyd-${pkgver}
cargo test --release --locked --target-dir=target
}
package() {
cd spotifyd-${pkgver}
cargo install --locked --root "${pkgdir}"/usr --path "${srcdir}"/${pkgbase}-${pkgver} --features pulseaudio_backend,dbus_mpris,dbus_keyring,rodio_backend
rm "${pkgdir}"/usr/{.crates.toml,.crates2.json}
#install -Dm644 -t "${pkgdir}"/usr/lib/systemd/user/ "${srcdir}"/${pkgbase}-${pkgver}/contrib/spotifyd.service <--- systemd service removal
}

985
virtualmin/install.sh Normal file
View File

@@ -0,0 +1,985 @@
#!/bin/sh
# shellcheck disable=SC2059 disable=SC2181 disable=SC2154
# virtualmin-install.sh
# Copyright 2005-2019 Virtualmin, Inc.
# Simple script to grab the virtualmin-release and virtualmin-base packages.
# The packages do most of the hard work, so this script can be small-ish and
# lazy-ish.
# WARNING: Anything not listed in the currently supported systems list is not
# going to work, despite the fact that you might see code that detects your
# OS and acts on it. If it isn't in the list, the code is not complete and
# will not work. More importantly, the repos that this script uses do not
# exist, if the OS isn't listed. Don't even bother trying it.
#
# A manual install might work for you though.
# See here: https://www.virtualmin.com/documentation/installation/manual/
# License and version
SERIAL=GPL
KEY=GPL
VER=6.2.2
vm_version=6
# Currently supported systems:
supported=" CentOS/RHEL Linux 7, and 8 on x86_64
Debian 9, and 10 on i386 and amd64
Ubuntu 16.04 LTS, 18.04 LTS, and 20.04 LTS on i386 and amd64"
log=/root/virtualmin-install.log
skipyesno=0
# Print usage info, if --help, set mode, etc.
# Temporary colors
RED="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
CYAN="$(tput setaf 6)"
NORMAL="$(tput sgr0)"
# Set defaults
bundle='LAMP' # Other option is LEMP
mode='full' # Other option is minimal
usage () {
# shellcheck disable=SC2046
printf "Usage: %s %s [options]\\n" "${CYAN}" $(basename "$0")
echo
echo " If called without arguments, installs Virtualmin."
echo
printf " ${YELLOW}--uninstall|-u${NORMAL} - Removes all Virtualmin packages (do not use on a production system)\\n"
printf " ${YELLOW}--help|-h${NORMAL} - This message\\n"
printf " ${YELLOW}--force|-f${NORMAL} - Skip confirmation message\\n"
printf " ${YELLOW}--hostname|-n${NORMAL} - Set fully qualified hostname\\n"
printf " ${YELLOW}--verbose|-v${NORMAL} - Verbose\\n"
printf " ${YELLOW}--setup|-s${NORMAL} - Setup software repositories and exit (no installation or configuration)\\n"
printf " ${YELLOW}--minimal|-m${NORMAL} - Install a smaller subset of packages for low-memory/low-resource systems\\n"
printf " ${YELLOW}--bundle|-b <name>${NORMAL} - Choose bundle to install (LAMP or LEMP, defaults to LAMP)\\n"
printf " ${YELLOW}--disable <feature>${NORMAL} - Disable feature [SCL]\\n"
echo
}
while [ "$1" != "" ]; do
case $1 in
--help|-h)
usage
exit 0
;;
--uninstall|-u)
shift
mode="uninstall"
;;
--force|-f|--yes|-y)
shift
skipyesno=1
;;
--hostname|-n)
shift
forcehostname=$1
shift
;;
--verbose|-v)
shift
VERBOSE=1
;;
--setup|-s)
shift
setup_only=1
mode='setup'
break
;;
--minimal|-m)
shift
mode='minimal'
;;
--disable)
shift
case "$1" in
SCL)
shift
DISABLE_SCL=1
;;
EPEL)
shift
DISABLE_EPEL=1
;;
*)
printf "Unknown feature ${YELLOW}$1${NORMAL}: exiting\\n"
exit 1
;;
esac
;;
--bundle|-b)
shift
case "$1" in
LAMP)
shift
bundle='LAMP'
;;
LEMP)
shift
bundle='LEMP'
;;
*)
printf "Unknown bundle ${YELLOW}$1${NORMAL}: exiting\\n"
exit 1
;;
esac
;;
*)
printf "Unrecognized option: $1\\n\\n"
usage
exit 1
;;
esac
done
# Make sure Perl is installed
printf "Checking for Perl..." >> $log
# loop until we've got a Perl or until we can't try any more
while true; do
perl="$(which perl 2>/dev/null)"
if [ -z "$perl" ]; then
if [ -x /usr/bin/perl ]; then
perl=/usr/bin/perl
break
elif [ -x /usr/local/bin/perl ]; then
perl=/usr/local/bin/perl
break
elif [ -x /opt/csw/bin/perl ]; then
perl=/opt/csw/bin/perl
break
elif [ "$perl_attempted" = 1 ] ; then
printf "${RED}Perl could not be installed - Installation cannot continue.${NORMAL}\\n"
exit 2
fi
# couldn't find Perl, so we need to try to install it
echo 'Perl was not found on your system - Virtualmin requires it to run.'
echo 'Attempting to install it now...'
if [ -x /usr/bin/dnf ]; then
dnf -y install perl >> $log
elif [ -x /usr/bin/yum ]; then
yum -y install perl >> $log
elif [ -x /usr/bin/apt-get ]; then
apt-get update >> $log
apt-get -q -y install perl >> $log
fi
perl_attempted=1
# Loop. Next loop should either break or exit.
else
break
fi
done
printf "found Perl at $perl\\n" >> $log
# Check for wget or curl or fetch
printf "Checking for HTTP client..." >> $log
while true; do
if [ -x "/usr/bin/wget" ]; then
download="/usr/bin/wget -nv"
break
elif [ -x "/usr/bin/curl" ]; then
download="/usr/bin/curl -f -s -L -O"
break
elif [ -x "/usr/bin/fetch" ]; then
download="/usr/bin/fetch"
break
elif [ "$wget_attempted" = 1 ]; then
printf "${RED}No HTTP client available. Could not install wget. Cannot continue.${NORMAL}\\n"
exit 1
fi
# Made it here without finding a downloader, so try to install one
wget_attempted=1
if [ -x /usr/bin/dnf ]; then
dnf -y install wget >> $log
elif [ -x /usr/bin/yum ]; then
yum -y install wget >> $log
elif [ -x /usr/bin/apt-get ]; then
apt-get update >> /dev/null
apt-get -y -q install wget >> $log
fi
done
if [ -z "$download" ]; then
echo "Tried to install downloader, but failed. Do you have working network and DNS?"
fi
printf "found %s\\n" "$download" >> $log
# Check for gpg, debian 10 doesn't install by default!?
if [ -x /usr/bin/apt-get ]; then
if [ ! -x /usr/bin/gpg ]; then
printf "gpg not found, attempting to install..." >> $log
apt-get update >> /dev/null
apt-get -y -q install gnupg >> $log
fi
fi
arch="$(uname -m)"
if [ "$arch" = "i686" ]; then
arch="i386"
fi
if [ "$SERIAL" = "GPL" ]; then
LOGIN=""
PRODUCT="GPL"
repopath="gpl/"
else
LOGIN="$SERIAL:$KEY@"
PRODUCT="Professional"
repopath=""
fi
# Virtualmin-provided packages
vmgroup="'Virtualmin Core'"
debvmpackages="virtualmin-core"
deps=
sclgroup="'Software Collections PHP 7.2 Environment'"
# This has to be installed before anything else, so it can be disabled during
# install, and turned back on after. This is ridiculous.
debpredeps="fail2ban"
if [ "$mode" = 'full' ]; then
if [ "$bundle" = 'LAMP' ]; then
rhgroup="'Virtualmin LAMP Stack'"
debdeps="postfix virtualmin-lamp-stack"
ubudeps="postfix virtualmin-lamp-stack"
elif [ "$bundle" = 'LEMP' ]; then
rhgroup="'Virtualmin LEMP Stack'"
debdeps="postfix php*-fpm virtualmin-lemp-stack"
ubudeps="postfix php*-fpm virtualmin-lemp-stack"
fi
elif [ "$mode" = 'minimal' ]; then
if [ "$bundle" = 'LAMP' ]; then
rhgroup="'Virtualmin LAMP Stack Minimal'"
debdeps="postfix virtualmin-lamp-stack-minimal"
ubudeps="postfix virtualmin-lamp-stack-minimal"
elif [ "$bundle" = 'LEMP' ]; then
rhgroup="'Virtualmin LEMP Stack Minimal'"
debdeps="postfix php*-fpm virtualmin-lemp-stack-minimal"
ubudeps="postfix php*-fpm virtualmin-lemp-stack-minimal"
fi
fi
# Find temp directory
if [ -z "$TMPDIR" ]; then
TMPDIR=/tmp
fi
# Check whether $TMPDIR is mounted noexec (everything will fail, if so)
# XXX: This check is imperfect. If $TMPDIR is a full path, but the parent dir
# is mounted noexec, this won't catch it.
TMPNOEXEC="$(grep $TMPDIR /etc/mtab | grep noexec)"
if [ -n "$TMPNOEXEC" ]; then
echo "${RED}Fatal:${NORMAL} $TMPDIR directory is mounted noexec. Installation cannot continue."
exit 1
fi
if [ -z "$tempdir" ]; then
tempdir="$TMPDIR/.virtualmin-$$"
if [ -e "$tempdir" ]; then
rm -rf "$tempdir"
fi
mkdir "$tempdir"
fi
# "files" subdir for libs
mkdir "$tempdir/files"
srcdir="$tempdir/files"
if ! cd "$srcdir"; then
echo "Failed to cd to $srcdir"
exit 1
fi
# Download the slib (source: http://github.com/virtualmin/slib)
# Lots of little utility functions.
$download https://software.virtualmin.com/lib/slib.sh
chmod +x slib.sh
# shellcheck disable=SC1091
. ./slib.sh
# Check the serial number and key
serial_ok "$SERIAL" "$KEY"
# Setup slog
# shellcheck disable=SC2034
LOG_PATH="$log"
# Setup run_ok
# shellcheck disable=SC2034
RUN_LOG="$log"
# Exit on any failure during shell stage
# shellcheck disable=SC2034
RUN_ERRORS_FATAL=1
# Console output level; ignore debug level messages.
if [ "$VERBOSE" = "1" ]; then
# shellcheck disable=SC2034
LOG_LEVEL_STDOUT="DEBUG"
else
# shellcheck disable=SC2034
LOG_LEVEL_STDOUT="INFO"
fi
# Log file output level; catch literally everything.
# shellcheck disable=SC2034
LOG_LEVEL_LOG="DEBUG"
# log_fatal calls log_error
log_fatal() {
log_error "$1"
}
remove_virtualmin_release () {
# shellcheck disable=SC2154
case "$os_type" in
"fedora" | "centos" | "rhel" | "amazon" )
run_ok "rpm -e virtualmin-release" "Removing virtualmin-release"
;;
"debian" | "ubuntu" )
grep -v "virtualmin" /etc/apt/sources.list > "$tempdir"/sources.list
mv "$tempdir"/sources.list /etc/apt/sources.list
rm -f /etc/apt/sources.list.d/virtualmin.list
;;
esac
}
fatal () {
echo
log_fatal "Fatal Error Occurred: $1"
printf "${RED}Cannot continue installation.${NORMAL}\\n"
remove_virtualmin_release
if [ -x "$tempdir" ]; then
log_warning "Removing temporary directory and files."
rm -rf "$tempdir"
fi
log_fatal "If you are unsure of what went wrong, you may wish to review the log"
log_fatal "in $log"
exit 1
}
success () {
log_success "$1 Succeeded."
}
# Function to find out if Virtualmin is already installed, so we can get
# rid of some of the warning message. Nobody reads it, and frequently
# folks run the install script on a production system; either to attempt
# to upgrade, or to "fix" something. That's never the right thing.
is_installed () {
if [ -f /etc/virtualmin-license ]; then
# looks like it's been installed before
return 0
fi
# XXX Probably not installed? Maybe we should remove license on uninstall, too.
return 1
}
# This function performs a rough uninstallation of Virtualmin
# It is neither complete, nor correct, but it almost certainly won't break
# anything. It is primarily useful for cleaning up a botched install, so you
# can run the installer again.
uninstall () {
# Very destructive, ask first.
echo
printf " ${REDBG}WARNING${NORMAL}\\n"
echo
echo " This operation is very destructive. It removes nearly all of the packages"
echo " installed by the Virtualmin installer. Never run this on a production system."
echo
printf " Continue? (y/n) "
if ! yesno; then
exit
fi
# This is a crummy way to detect package manager...but going through
# half the installer just to get here is even crummier.
if which rpm 1>/dev/null 2>&1; then package_type=rpm
elif which dpkg 1>/dev/null 2>&1; then package_type=deb
fi
case "$package_type" in
rpm)
yum groupremove -y --setopt="groupremove_leaf_only=true" "Virtualmin Core"
yum groupremove -y --setopt="groupremove_leaf_only=true" "Virtualmin LAMP Stack"
yum groupremove -y --setopt="groupremove_leaf_only=true" "Virtualmin LEMP Stack"
yum groupremove -y --setopt="groupremove_leaf_only=true" "Virtualmin LAMP Stack Minimal"
yum groupremove -y --setopt="groupremove_leaf_only=true" "Virtualmin LEMP Stack Minimal"
yum remove -y virtualmin-base
yum remove -y wbm-virtual-server wbm-virtualmin-htpasswd wbm-virtualmin-dav wbm-virtualmin-mailman wbm-virtualmin-awstats wbm-php-pear wbm-ruby-gems wbm-virtualmin-registrar wbm-virtualmin-init wbm-jailkit wbm-virtualmin-git wbm-virtualmin-slavedns wbm-virtual-server wbm-virtualmin-sqlite wbm-virtualmin-svn
yum remove -y wbt-virtual-server-mobile
yum remove -y virtualmin-config perl-Term-Spinner-Color
yum remove -y webmin usermin awstats
yum remove -y nginx
yum remove -y fail2ban
yum clean all; yum clean all
os_type="centos"
;;
deb)
rm -rf /etc/fail2ban/jail.d/00-firewalld.conf
rm -f /etc/fail2ban/jail.local
apt-get remove --assume-yes --purge virtualmin-base virtualmin-core virtualmin-lamp-stack virtualmin-lemp-stack
apt-get remove --assume-yes --purge virtualmin-lamp-stack-minimal virtualmin-lemp-stack-minimal
apt-get remove --assume-yes --purge virtualmin-config libterm-spinner-color-perl
apt-get remove --assume-yes --purge webmin-virtual-server webmin-virtualmin-htpasswd webmin-virtualmin-git webmin-virtualmin-slavedns webmin-virtualmin-dav webmin-virtualmin-mailman webmin-virtualmin-awstats webmin-php-pear webmin-ruby-gems webmin-virtualmin-registrar webmin-virtualmin-init webmin-jailkit webmin-virtual-server webmin-virtualmin-sqlite webmin-virtualmin-svn
apt-get remove --assume-yes --purge webmin-virtual-server-mobile
apt-get remove --assume-yes --purge fail2ban
apt-get remove --assume-yes --purge apache2*
apt-get remove --assume-yes --purge nginx*
apt-get remove --assume-yes --purge webmin usermin
apt-get autoremove --assume-yes
os_type="debian"
apt-get clean
;;
*)
echo "I don't know how to uninstall on this operating system."
;;
esac
echo 'Removing nameserver 127.0.0.1 from /etc/resolv.conf'
sed -i '/nameserver 127.0.0.1/g' /etc/resolv.conf
echo 'Removing virtualmin repo configuration'
remove_virtualmin_release
echo "Removing /etc/virtualmin-license, if it exists."
rm /etc/virtualmin-license
echo "Done. There's probably quite a bit of related packages and such left behind"
echo "but all of the Virtualmin-specific packages have been removed."
exit 0
}
if [ "$mode" = "uninstall" ]; then
uninstall
fi
# Calculate disk space requirements (this is a guess, for now)
if [ "$mode" = 'minimal' ]; then
disk_space_required=500
else
disk_space_required=650
fi
# Message to display in interactive mode
install_msg() {
cat <<EOF
Welcome to the Virtualmin ${GREEN}$PRODUCT${NORMAL} installer, version ${GREEN}$VER${NORMAL}
This script must be run on a freshly installed supported OS. It does not
perform updates or upgrades (use your system package manager) or license
changes (use the "virtualmin change-license" command).
The systems currently supported by install.sh are:
EOF
echo "${CYAN}$supported${NORMAL}"
cat <<EOF
If your OS/version/arch is not listed, installation ${RED}will fail${NORMAL}. More
details about the systems supported by the script can be found here:
${UNDERLINE}https://www.virtualmin.com/os-support${NORMAL}
The selected package bundle is ${CYAN}${bundle}${NORMAL} and the size of install is
${CYAN}${mode}${NORMAL}. It will require up to ${CYAN}${disk_space_required} MB${NORMAL} of disk space.
Exit and re-run this script with ${CYAN}--help${NORMAL} flag to see available options.
EOF
printf " Continue? (y/n) "
if ! yesno; then
exit
fi
}
if [ "$skipyesno" -ne 1 ] && [ -z "$setup_only" ]; then
install_msg
fi
already_installed_msg() {
# Double check if installed, just in case above error ignored.
if is_installed; then
cat <<EOF
${REDBG}WARNING${NORMAL}
Virtualmin may already be installed. This can happen if an installation failed,
and can be ignored in that case.
But, if Virtualmin has already successfully installed you should not run this
script again! It will cause breakage to your existing configuration.
Updates and upgrades can be performed from within Virtualmin. To change
license details, use the 'virtualmin change-license' command.
Changing the license never requires re-installation.
EOF
printf " Really Continue? (y/n) "
if ! yesno; then
exit
fi
fi
}
if [ "$skipyesno" -ne 1 ] && [ -z "$setup_only" ]; then
already_installed_msg
fi
# Check memory
if [ "$mode" = "full" ]; then
minimum_memory=1610613
else
# minimal mode probably needs less memory to succeed
minimum_memory=1048576
fi
if ! memory_ok "$minimum_memory"; then
log_fatal "Too little memory, and unable to create a swap file. Consider adding swap"
log_fatal "or more RAM to your system."
exit 1
fi
# Check for localhost in /etc/hosts
if [ -z "$setup_only" ]; then
grep localhost /etc/hosts >/dev/null
if [ "$?" != 0 ]; then
log_warning "There is no localhost entry in /etc/hosts. This is required, so one will be added."
run_ok "echo 127.0.0.1 localhost >> /etc/hosts" "Editing /etc/hosts"
if [ "$?" -ne 0 ]; then
log_error "Failed to configure a localhost entry in /etc/hosts."
log_error "This may cause problems, but we'll try to continue."
fi
fi
fi
# download()
# Use $download to download the provided filename or exit with an error.
download() {
# XXX Check this to make sure run_ok is doing the right thing.
# Especially make sure failure gets logged right.
# awk magic prints the filename, rather than whole URL
download_file=$(echo "$1" |awk -F/ '{print $NF}')
run_ok "$download $1" "Downloading $download_file"
if [ $? -ne 0 ]; then
fatal "Failed to download $1. Cannot continue. Check your network connection and DNS settings."
else
return 0
fi
}
# Only root can run this
id | grep -i "uid=0(" >/dev/null
if [ "$?" != "0" ]; then
uname -a | grep -i CYGWIN >/dev/null
if [ "$?" != "0" ]; then
fatal "${RED}Fatal:${NORMAL} The Virtualmin install script must be run as root"
fi
fi
log_info "Started installation log in $log"
echo
if [ -n "$setup_only" ]; then
log_debug "Phase 1 of 1: Setup"
printf "${YELLOW}${NORMAL} Phase ${YELLOW}1${NORMAL} of ${GREEN}1${NORMAL}: Setup\\n"
else
log_debug "Phase 1 of 3: Setup"
printf "${YELLOW}${CYAN}□□${NORMAL} Phase ${YELLOW}1${NORMAL} of ${GREEN}3${NORMAL}: Setup\\n"
fi
# Print out some details that we gather before logging existed
log_debug "Install mode: $mode"
log_debug "Product: Virtualmin $PRODUCT"
log_debug "install.sh version: $VER"
# Check for a fully qualified hostname
log_debug "Checking for fully qualified hostname..."
name="$(hostname -f)"
if [ -n "$forcehostname" ]; then set_hostname "$forcehostname"
elif ! is_fully_qualified "$name"; then set_hostname
fi
# Insert the serial number and password into /etc/virtualmin-license
log_debug "Installing serial number and license key into /etc/virtualmin-license"
echo "SerialNumber=$SERIAL" > /etc/virtualmin-license
echo "LicenseKey=$KEY" >> /etc/virtualmin-license
chmod 700 /etc/virtualmin-license
cd ..
# Populate some distro version globals
get_distro
log_debug "Operating system name: $os_real"
log_debug "Operating system version: $os_version"
log_debug "Operating system type: $os_type"
log_debug "Operating system major: $os_major_version"
install_virtualmin_release () {
# Grab virtualmin-release from the server
log_debug "Configuring package manager for ${os_real} ${os_version}..."
case "$os_type" in
rhel|centos|fedora|amazon)
case "$os_type" in
rhel|centos)
if [ "$os_major_version" -lt 7 ]; then
printf "${RED}${os_type} ${os_version} is not supported by this installer.${NORMAL}\\n"
exit 1
fi
;;
fedora)
if [ "$os_version" -lt 33 ]; then
printf "${RED}${os_type} ${os_version} is not supported by this installer.${NORMAL}\\n"
exit 1
fi
;;
ubuntu)
if [ "$os_version" != "16.04" ] && [ "$os_version" != "18.04" ] && [ "$os_version" != "20.04" ]; then
printf "${RED}${os_type} ${os_version} is not supported by this installer.${NORMAL}\\n"
exit 1
fi
;;
debian)
if [ "$os_major_version" -lt 9 ]; then
printf "${RED}${os_type} ${os_version} is not supported by this installer.${NORMAL}\\n"
exit 1
fi
;;
*)
printf "${RED}This OS/version is not recognized. Can't continue.${NORMAL}\\n"
exit 1
;;
esac
if [ -x /usr/sbin/setenforce ]; then
log_debug "Disabling SELinux during installation..."
if /usr/sbin/setenforce 0; then log_debug " setenforce 0 succeeded"
else log_debug " setenforce 0 failed: $?"
fi
fi
package_type="rpm"
if which dnf 1>/dev/null 2>&1; then
install="dnf -y install"
install_cmd="dnf"
install_group="dnf -y --quiet group install --setopt=group_package_types=mandatory,default"
install_config_manager="dnf config-manager"
if ! $install_config_manager 1>/dev/null 2>&1; then
run_ok "$install dnf-plugins-core"
fi
else
install="/usr/bin/yum -y install"
install_cmd="/usr/bin/yum"
if [ "$os_major_version" -ge 7 ]; then
run_ok "yum --quiet groups mark convert" "Updating yum Groups"
fi
install_group="yum -y --quiet groupinstall --setopt=group_package_types=mandatory,default"
install_config_manager="yum-config-manager"
fi
download "https://${LOGIN}software.virtualmin.com/vm/${vm_version}/${repopath}${os_type}/${os_major_version}/${arch}/virtualmin-release-latest.noarch.rpm"
run_ok "rpm -U --replacepkgs --quiet virtualmin-release-latest.noarch.rpm" "Installing virtualmin-release package"
# XXX This weirdly only seems necessary on CentOS 8, but harmless
# elsewhere.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-webmin
;;
debian | ubuntu)
package_type="deb"
if [ "$os_type" = "ubuntu" ]; then
deps="$ubudeps"
case "$os_version" in
16.04*)
repos="virtualmin-xenial virtualmin-universal"
;;
18.04*)
repos="virtualmin-bionic virtualmin-universal"
;;
20.04*)
repos="virtualmin-focal virtualmin-universal"
;;
esac
else
deps="$debdeps"
case "$os_version" in
8*)
run_ok "apt-get install --assume-yes apt-transport-https lsb-release ca-certificates" "Installing extra dependencies for Debian 8"
download 'https://packages.sury.org/php/apt.gpg'
run_ok "cp apt.gpg /etc/apt/trusted.gpg.d/php.gpg" "Adding GPG key for PHP7 packages"
echo "deb http://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
repos="virtualmin-jessie virtualmin-universal"
;;
9*)
repos="virtualmin-stretch virtualmin-universal"
;;
10*)
repos="virtualmin-buster virtualmin-universal"
;;
esac
fi
log_debug "apt-get repos: ${repos}"
if [ -z "$repos" ]; then # Probably unstable with no version number
log_fatal "No repos available for this OS. Are you running unstable/testing?"
exit 1
fi
# Remove any existing repo config, in case it's a reinstall
remove_virtualmin_release
for repo in $repos; do
printf "deb http://${LOGIN}software.virtualmin.com/vm/${vm_version}/${repopath}apt ${repo} main\\n" >> /etc/apt/sources.list.d/virtualmin.list
done
# Install our keys
log_debug "Installing Webmin and Virtualmin package signing keys..."
download "https://software.virtualmin.com/lib/RPM-GPG-KEY-virtualmin-6"
download "https://software.virtualmin.com/lib/RPM-GPG-KEY-webmin"
run_ok "apt-key add RPM-GPG-KEY-virtualmin-6" "Installing Virtualmin 6 key"
run_ok "apt-key add RPM-GPG-KEY-webmin" "Installing Webmin key"
run_ok "apt-get update" "Updating apt metadata"
run_ok "apt-get update" "Downloading repository metadata"
# Make sure universe repos are available
# XXX Test to make sure this run_ok syntax works as expected (with single quotes inside double)
if [ $os_type = "ubuntu" ]; then
if [ -x "/bin/add-apt-repository" ] || [ -x "/usr/bin/add-apt-repository" ]; then
run_ok "add-apt-repository universe" \
"Enabling universe repositories, if not already available"
else
run_ok "sed -ie '/backports/b; s/#*[ ]*deb \\(.*\\) universe$/deb \\1 universe/' /etc/apt/sources.list" \
"Enabling universe repositories, if not already available"
fi
fi
# XXX Is this still enabled by default on Debian/Ubuntu systems?
run_ok "sed -ie 's/^deb cdrom:/#deb cdrom:/' /etc/apt/sources.list" "Disabling cdrom: repositories"
install="DEBIAN_FRONTEND='noninteractive' /usr/bin/apt-get --quiet --assume-yes --install-recommends -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' -o Dpkg::Pre-Install-Pkgs::='/usr/sbin/dpkg-preconfigure --apt' install"
#export DEBIAN_FRONTEND=noninteractive
install_updates="$install $deps"
run_ok "apt-get clean" "Cleaning out old metadata"
sed -i "s/\\(deb[[:space:]]file.*\\)/#\\1/" /etc/apt/sources.list
;;
*)
log_error " Your OS is not currently supported by this installer."
log_error " You can probably run Virtualmin Professional on your system, anyway,"
log_error " but you'll have to install it using the manual installation process."
exit 1
;;
esac
return 0
}
if [ -n "$setup_only" ]; then
if install_virtualmin_release; then
log_success "Repository configuration successful. You can now install Virtualmin"
log_success "components using your OS package manager."
else
log_error "Errors occurred during setup of Virtualmin software repositories. You may find more"
log_error "information in ${RUN_LOG}."
fi
exit $?
fi
# Install Functions
install_with_apt () {
# Install Webmin first, because it needs to be already done for the deps
run_ok "$install webmin" "Installing Webmin"
run_ok "$install usermin" "Installing Usermin"
for d in $debpredeps; do
run_ok "$install $d" "Installing $d"
done
if [ $bundle = 'LEMP' ]; then
# This is bloody awful. I can't believe how fragile dpkg is here.
for s in fail2ban ipchains apache2; do
systemctl stop "$s">>${RUN_LOG} 2>&1
systemctl disable "$s">>${RUN_LOG} 2>&1
done
run_ok 'apt-get remove --assume-yes --purge apache2* php*' 'Removing apache2 (if installed) before LEMP installation.'
run_ok 'apt-get autoremove --assume-yes' 'Removing unneeded packages that could conflict with LEMP stack.'
run_ok "$install nginx-common" "Installing nginx-common"
sed -i 's/listen \[::\]:80 default_server;/#listen \[::\]:80 default_server;/' /etc/nginx/sites-available/default
else
# This is bloody awful. I can't believe how fragile dpkg is here.
for s in fail2ban nginx; do
systemctl stop "$s">>${RUN_LOG} 2>&1
systemctl disable "$s">>${RUN_LOG} 2>&1
done
run_ok 'apt-get remove --assume-yes --purge nginx* php*' 'Removing nginx (if installed) before LAMP installation.'
run_ok 'apt-get autoremove --assume-yes' 'Removing unneeded packages that could conflict with LAMP stack.'
fi
for d in ${deps}; do
run_ok "$install ${d}" "Installing $d"
done
run_ok "$install ${debvmpackages}" "Installing Virtualmin and plugins"
if [ $? -ne 0 ]; then
log_warning "apt-get seems to have failed. Are you sure your OS and version is supported?"
log_warning "https://www.virtualmin.com/os-support"
fatal "Installation failed: $?"
fi
# Make sure the time is set properly
/usr/sbin/ntpdate-debian 2>/dev/null 2>&1
return 0
}
install_with_yum () {
# RHEL 8 specific setup
if [ "$os_major_version" -ge 8 ] && [ "$os_type" = "rhel" ]; then
# Important Perl packages are now hidden in CodeReady repo
run_ok "$install_config_manager --set-enabled codeready-builder-for-rhel-$os_major_version-x86_64-rpms" "Enabling Red Hat CodeReady package repository"
run_ok "$install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$os_major_version.noarch.rpm" "Installing EPEL $os_major_version release package"
# RHEL 7 specific setup
elif [ "$os_major_version" -eq 7 ] && [ "$os_type" = "rhel" ]; then
run_ok "$install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" "Installing EPEL 7 release package"
# install extras from EPEL and SCL
elif [ "$os_type" = "centos" ]; then
install_epel_release
if [ "$os_major_version" -lt 8 ]; then
# No SCL on CentOS 8
install_scl_php
fi
fi
# Important Perl packages are now hidden in PowerTools repo
if [ "$os_major_version" -eq 8 ] && [ "$os_type" = "centos" ]; then
# Detect PowerTools repo name
powertools="PowerTools"
centos_stream=$(dnf repolist all | grep "^powertools")
if [ ! -z "$centos_stream" ]; then
powertools="powertools"
fi
run_ok "$install_config_manager --set-enabled $powertools" "Enabling PowerTools package repository"
fi
# XXX This is so stupid. Why does yum insist on extra commands?
if [ "$os_major_version" -eq 7 ]; then
run_ok "yum --quiet groups mark install $rhgroup" "Marking $rhgroup for install"
run_ok "yum --quiet groups mark install $vmgroup" "Marking $vmgroup for install"
fi
run_ok "$install_group $rhgroup" "Installing dependencies and system packages"
run_ok "$install_group $vmgroup" "Installing Virtualmin and all related packages"
if [ $? -ne 0 ]; then
fatal "Installation failed: $?"
fi
run_ok "$install_cmd clean all" "Cleaning up software repo metadata"
return 0
}
install_virtualmin () {
case "$package_type" in
rpm)
install_with_yum
;;
deb)
install_with_apt
;;
*)
install_with_tar
;;
esac
if [ $? -eq 0 ]; then
return 0
else
return $?
fi
}
install_epel_release () {
if [ -z "$DISABLE_EPEL" ]; then
run_ok "$install epel-release" "Installing EPEL release package"
fi
}
install_scl_php () {
if [ -z "$DISABLE_SCL" ]; then
run_ok "$install yum-utils" "Installing yum-utils"
run_ok "$install_config_manager --enable extras >/dev/null" "Enabling extras repository"
run_ok "$install scl-utils" "Installing scl-utils"
if [ "${os_type}" = "centos" ]; then
run_ok "$install centos-release-scl" "Install Software Collections release package"
elif [ "${os_type}" = "rhel" ]; then
run_ok "$install_config_manager --enable rhel-server-rhscl-${os_major_version}-rpms" "Enabling Server Software Collection"
fi
run_ok "$install_group $sclgroup" "Installing PHP7"
fi
}
# virtualmin-release only exists for one platform...but it's as good a function
# name as any, I guess. Should just be "setup_repositories" or something.
errors=$((0))
install_virtualmin_release
echo
log_debug "Phase 2 of 3: Installation"
printf "${GREEN}${YELLOW}${CYAN}${NORMAL} Phase ${YELLOW}2${NORMAL} of ${GREEN}3${NORMAL}: Installation\\n"
install_virtualmin
if [ "$?" != "0" ]; then
errorlist="${errorlist} ${YELLOW}${NORMAL} Package installation returned an error.\\n"
errors=$((errors + 1))
fi
# We want to make sure we're running our version of packages if we have
# our own version. There's no good way to do this, but we'll
run_ok "$install_updates" "Installing updates to Virtualmin-related packages"
if [ "$?" != "0" ]; then
errorlist="${errorlist} ${YELLOW}${NORMAL} Installing updates returned an error.\\n"
errors=$((errors + 1))
fi
# Reap any clingy processes (like spinner forks)
# get the parent pids (as those are the problem)
allpids="$(ps -o pid= --ppid $$) $allpids"
for pid in $allpids; do
kill "$pid" 1>/dev/null 2>&1
done
# Final step is configuration. Wait here for a moment, hopefully letting any
# apt processes disappear before we start, as they're huge and memory is a
# problem. XXX This is hacky. I'm not sure what's really causing random fails.
sleep 1
echo
log_debug "Phase 3 of 3: Configuration"
printf "${GREEN}▣▣${YELLOW}${NORMAL} Phase ${YELLOW}3${NORMAL} of ${GREEN}3${NORMAL}: Configuration\\n"
if [ "$mode" = "minimal" ]; then
bundle="Mini${bundle}"
fi
virtualmin-config-system --bundle "$bundle"
if [ "$?" != "0" ]; then
errorlist="${errorlist} ${YELLOW}${NORMAL} Postinstall configuration returned an error.\\n"
errors=$((errors + 1))
fi
config_system_pid=$!
# Functions that are used in the OS specific modifications section
disable_selinux () {
seconfigfiles="/etc/selinux/config /etc/sysconfig/selinux"
for i in $seconfigfiles; do
if [ -e "$i" ]; then
perl -pi -e 's/^SELINUX=.*/SELINUX=disabled/' "$i"
fi
done
}
# Changes that are specific to OS
case "$os_type" in
"fedora" | "centos" | "rhel" | "amazon" )
disable_selinux
;;
esac
# kill the virtualmin config-system command, if it's still running
kill "$config_system_pid" 1>/dev/null 2>&1
# Make sure the cursor is back (if spinners misbehaved)
tput cnorm
printf "${GREEN}▣▣▣${NORMAL} Cleaning up\\n"
# Cleanup the tmp files
if [ "$tempdir" != "" ] && [ "$tempdir" != "/" ]; then
log_debug "Cleaning up temporary files in $tempdir."
find "$tempdir" -delete
else
log_error "Could not safely clean up temporary files because TMPDIR set to $tempdir."
fi
if [ -n "$QUOTA_FAILED" ]; then
log_warning "Quotas were not configurable. A reboot may be required. Or, if this is"
log_warning "a VM, configuration may be required at the host level."
fi
echo
if [ $errors -eq "0" ]; then
hostname=$(hostname -f)
detect_ip
log_success "Installation Complete!"
log_success "If there were no errors above, Virtualmin should be ready"
log_success "to configure at https://${hostname}:10000 (or https://${address}:10000)."
log_success "You'll receive a security warning in your browser on your first visit."
else
log_warning "The following errors occurred during installation:"
echo
printf "${errorlist}"
fi
exit 0

18
webmin-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,18 @@
# Contributor linuxer <https://gitea.artixlinux.org/linuxer>
pkgname=webmin-openrc
pkgdesc="Webmin OpenRC init script"
alias=webmin
pkgver=20210122
pkgrel=1
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('GPL')
groups=()
depends=('openrc' 'webmin')
source=("webmin.initd")
b2sums=('90e603fd356f33175c21609d0e8f072cea632eb022bb8873b45821806bc18f320a8fa03bfb455231c904946b79abefd6a0d5caa7a94b86983226f5f66dddb9e6')
package() {
install -Dm 755 webmin.initd "$pkgdir/etc/init.d/webmin"
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/openrc-run
pidfile="/run/webmin.pid"
command="/etc/webmin/start"
command_background=true
restart() {
/etc/webmin/reload
}
stop() {
/etc/webmin/stop
}

21
webmin-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,21 @@
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=webmin-runit
_alias=webmin
pkgver=20210122
pkgrel=2
pkgdesc="Webmin Runit init script"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('GPL')
depends=('webmin' 'runit')
source=("webmin.finish"
"webmin.run")
b2sums=('954cf618335789793a76a0b658c105c4d6be2b8a6dc64d00db4e55ff651d8fb51afe4a4d9d66fac5e194b64f00687ae0644804b4a3b894a1d306400185ec1bfe'
'079ca2953ad3ba23e2760009bc0fec2520a607789cf89c4923a1f6958a75b1c5d9c9cd7e446119f391a7581985717abde0718b2b3489618ee79c437aaf2ce410')
package() {
install -Dm 755 "webmin.finish" $pkgdir/etc/runit/sv/$_alias/finish
install -Dm 755 "webmin.run" $pkgdir/etc/runit/sv/$_alias/run
}

3
webmin-runit/webmin.finish Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /etc/webmin/stop

5
webmin-runit/webmin.run Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
/etc/webmin/start
/etc/webmin/reload
exec pause

23
webmin-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,23 @@
# Contributor: linuxer <linuxer@artixlinux.org>
pkgname=webmin-s6
_alias=webmin
pkgver=20210122
pkgrel=2
pkgdesc="Webmin s6 init script"
arch=('any')
url="https://gitea.artixlinux.org/linuxer/"
license=('GPL')
depends=('webmin' 's6')
source=("webmin.type"
"webmin.run"
"webmin.finish")
b2sums=('cdcdfdfe8033b1b2ac812951b70b09b115c1d7b7de4ed0ea0808072414753faf98ca846a171f22ab788cc9e1564456354f953941d4fba8056bc650f41dcde8dc'
'8032867748c2327f0d4f0deeebd4521b3c4dbb761813038ba9a9a4235bd0ecd74552347b374a9b95411df440bb68eb44b1902b81e7a9ef14a04a3c5e2342ebc7'
'cc885b9d0b5c8c8467230061177d29d88166b7cbfc0a415957a2de56dd20af182bbf9fa0f046e539a13a5c30660b29abdc5df7cebd899d79e3703a6e1f29bf06')
package() {
install -Dm 755 webmin.run $pkgdir/etc/s6/sv/$_alias/run
install -Dm 755 webmin.type $pkgdir/etc/s6/sv/$_alias/type
install -Dm 755 webmin.finish $pkgdir/etc/s6/sv/$_alias/finish
}

2
webmin-s6/webmin.finish Executable file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/execlineb -P
exec /etc/webmin/stop

3
webmin-s6/webmin.run Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/execlineb -P
foreground { /etc/webmin/start }
exec /etc/webmin/reload

1
webmin-s6/webmin.type Normal file
View File

@@ -0,0 +1 @@
oneshot

193
webmin/PKGBUILD Normal file
View File

@@ -0,0 +1,193 @@
# Maintainer: Amish <contact at via dot aur>
# Contributor: Daniel Milde <daniel at milde dot cz>
# Contributor: Felix Schindler <ftschindler at aur dot archlinux>
pkgname=webmin
pkgver=1.970
pkgrel=1
pkgdesc="A web-based administration interface for Unix systems"
arch=(any)
license=('custom:webmin')
url="http://www.webmin.com/"
depends=('perl' 'perl-net-ssleay' 'perl-authen-pam' 'perl-encode-detect' 'openssl')
optdepends=('perl-socket6: For IPv6 support')
backup=('etc/webmin/miniserv.conf' 'etc/webmin/miniserv.users' \
'etc/webmin/config' 'etc/webmin/webmin.acl' \
'etc/webmin/acl/config' \
'etc/webmin/adsl-client/config' \
'etc/webmin/ajaxterm/config' \
'etc/webmin/apache/config' \
'etc/webmin/at/config' \
'etc/webmin/backup-config/config' \
'etc/webmin/bacula-backup/config' \
'etc/webmin/bandwidth/config' \
'etc/webmin/bind8/config' \
'etc/webmin/change-user/config' \
'etc/webmin/cluster-copy/config' \
'etc/webmin/cluster-cron/config' \
'etc/webmin/cluster-passwd/config' \
'etc/webmin/cluster-shell/config' \
'etc/webmin/cluster-software/config' \
'etc/webmin/cluster-useradmin/config' \
'etc/webmin/cluster-usermin/config' \
'etc/webmin/cluster-webmin/config' \
'etc/webmin/cron/config' \
'etc/webmin/custom/config' \
'etc/webmin/dhcpd/config' \
'etc/webmin/dovecot/config' \
'etc/webmin/exim/config' \
'etc/webmin/exports/config' \
'etc/webmin/fail2ban/config' \
'etc/webmin/fdisk/config' \
'etc/webmin/fetchmail/config' \
'etc/webmin/filemin/config' \
'etc/webmin/filter/config' \
'etc/webmin/firewall/config' \
'etc/webmin/firewall6/config' \
'etc/webmin/firewalld/config' \
'etc/webmin/fsdump/config' \
'etc/webmin/heartbeat/config' \
'etc/webmin/htaccess-htpasswd/config' \
'etc/webmin/idmapd/config' \
'etc/webmin/init/config' \
'etc/webmin/inittab/config' \
'etc/webmin/ipsec/config' \
'etc/webmin/iscsi-client/config' \
'etc/webmin/iscsi-server/config' \
'etc/webmin/iscsi-target/config' \
'etc/webmin/iscsi-tgtd/config' \
'etc/webmin/jabber/config' \
'etc/webmin/krb5/config' \
'etc/webmin/ldap-client/config' \
'etc/webmin/ldap-server/config' \
'etc/webmin/ldap-useradmin/config' \
'etc/webmin/logrotate/config' \
'etc/webmin/lpadmin/config' \
'etc/webmin/lvm/config' \
'etc/webmin/mailboxes/config' \
'etc/webmin/mailcap/config' \
'etc/webmin/man/config' \
'etc/webmin/mon/config' \
'etc/webmin/mount/config' \
'etc/webmin/mysql/config' \
'etc/webmin/net/config' \
'etc/webmin/nis/config' \
'etc/webmin/openslp/config' \
'etc/webmin/pam/config' \
'etc/webmin/pap/config' \
'etc/webmin/passwd/config' \
'etc/webmin/phpini/config' \
'etc/webmin/postfix/config' \
'etc/webmin/postgresql/config' \
'etc/webmin/ppp-client/config' \
'etc/webmin/pptp-client/config' \
'etc/webmin/pptp-server/config' \
'etc/webmin/proc/config' \
'etc/webmin/procmail/config' \
'etc/webmin/proftpd/config' \
'etc/webmin/qmailadmin/config' \
'etc/webmin/quota/config' \
'etc/webmin/raid/config' \
'etc/webmin/samba/config' \
'etc/webmin/sarg/config' \
'etc/webmin/sendmail/config' \
'etc/webmin/servers/config' \
'etc/webmin/shell/config' \
'etc/webmin/shorewall/config' \
'etc/webmin/shorewall6/config' \
'etc/webmin/smart-status/config' \
'etc/webmin/spam/config' \
'etc/webmin/squid/config' \
'etc/webmin/sshd/config' \
'etc/webmin/status/config' \
'etc/webmin/stunnel/config' \
'etc/webmin/syslog/config' \
'etc/webmin/system-status/config' \
'etc/webmin/tcpwrappers/config' \
'etc/webmin/telnet/config' \
'etc/webmin/time/config' \
'etc/webmin/tunnel/config' \
'etc/webmin/updown/config' \
'etc/webmin/useradmin/config' \
'etc/webmin/usermin/config' \
'etc/webmin/vgetty/config' \
'etc/webmin/webalizer/config' \
'etc/webmin/webmin/config' \
'etc/webmin/webmincron/config' \
'etc/webmin/webminlog/config' \
'etc/webmin/wuftpd/config' \
'etc/webmin/xinetd/config' \
'etc/logrotate.d/webmin' \
'etc/pam.d/webmin' )
source=("http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz"
setup-pre.sh
setup-post.sh
webmin-config.tar.bz2
webmin.pam
webmin.logrotate
webmin.tmpfiles)
# webmin.service) <- get rid of systemd installation
options=(!strip !zipman)
prepare() {
cd "$srcdir"/$pkgname-$pkgver
# remove modules that we do not support and stuff that is not needed
rm -r {bsdexports,bsdfdisk,cpan,dfsadmin,format,grub,hpuxexports,inetd,ipfilter,ipfw,package-updates,rbac,sgiexports,smf,software,syslog-ng,zones}
rm mount/freebsd-mounts* mount/netbsd-mounts* mount/openbsd-mounts* mount/macos-mounts*
rm webmin-gentoo-init webmin-init webmin-daemon
# dont allow webmin to update itself, must update via pacman
rm {webmin,usermin}/{update.cgi,update.pl,update_sched.cgi,upgrade.cgi,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi}
# remove config files for other distros, make Arch linux related additions
find . ! -name 'config-generic-linux' ! -name 'config-ALL-linux' ! -name 'config-lib.pl' -name 'config-*' -exec rm '{}' \+
echo 'Archlinux Any version generic-linux * -d "/etc/pacman.d"' > os_list.txt
cp -rp "$srcdir"/webmin-config/* "$srcdir"/$pkgname-$pkgver/
install -m 700 "$srcdir"/setup-{pre,post}.sh "$srcdir"/$pkgname-$pkgver/
}
package() {
# create basic directories
mkdir -p "$pkgdir"/{etc,opt,var/log}
export archpkgdir="$pkgdir"
cd "$srcdir"/$pkgname-$pkgver
# new version of iptables do not allow to run as non-root user
# so is_installed() check fails, so we avoid it in setup.sh
mv firewall/install_check{,.tmp}.pl
mv firewall6/install_check{,.tmp}.pl
"$srcdir"/$pkgname-$pkgver/setup.sh "$pkgdir"/opt/webmin
# move the files back in place
mv "$pkgdir"/opt/webmin/firewall/install_check{.tmp,}.pl
mv "$pkgdir"/opt/webmin/firewall6/install_check{.tmp,}.pl
mv firewall/install_check{.tmp,}.pl
mv firewall6/install_check{.tmp,}.pl
# fix the config files to use their real locations
find "$pkgdir"/etc/webmin -type f -exec sed -i -e "s:$pkgdir::g" {} \+
# install sources
# install -D -m 644 "$srcdir"/webmin.service "$pkgdir"/usr/lib/systemd/system/webmin.service <- get rid of systemd installation
install -D -m 644 "$srcdir"/webmin.pam "$pkgdir"/etc/pam.d/webmin
install -D -m 644 "$srcdir"/webmin.logrotate "$pkgdir"/etc/logrotate.d/webmin
install -D -m 644 "$srcdir"/webmin.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/webmin.conf
install -D -m 644 "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE
install -D -m 644 "$srcdir"/systemctl "${pkgdir}"/usr/bin/systemctl
# delete directories not to be packaged
rm -r "$pkgdir"/{tmp,var}
}
sha256sums=('6798027c7230be1adf6cf2fd27a74185718abcb0e1ff8b674a518b41e885651e'
'3c27a52679607c73cdaa00c0735bea04cf66cf92ca4af6a7ac906eaed537b910'
'21b24cbbf88593f9da727e8f36dea283c8765002a378b3d4e55e6332387c43c6'
'd326da95233341ed0a6d51c6c28d9b47b5bbe8c1ae8e03e2578c24191dd14383'
'a979e236681c6a06906937cf0f012e976347af5d6d7e7ae04a11acb01cc2689d'
'9babd7f1e7e24ba4aeb5587a3cb46aa1e92904226cad84a4cbee5f9aaa408802'
'075c8156471d0fb4825a51b6411636102d2cf61d4eb5c7c097330e53cd9323b0')
# '4757a44a07a4bcb6f919274f35b8ab27a34936b5f8d6aee9cdbcbde49e73fb7d') <- get rid of systemd installation

4
webmin/setup-post.sh Normal file
View File

@@ -0,0 +1,4 @@
# more logging, other config changes and use pam
echo -e 'logfiles=1\nlogfullfiles=1\ngotoone=1\nnoremember=1' >> "$archpkgdir"/etc/webmin/config
sed -i -e 's:^pidfile=.*$:pidfile=/run/webmin.pid:' "$archpkgdir"/etc/webmin/miniserv.conf
echo -e 'pam_only=1\npam_end=1\npam_conv=\nno_pam=0\nlogouttime=10' >> "$archpkgdir"/etc/webmin/miniserv.conf

18
webmin/setup-pre.sh Normal file
View File

@@ -0,0 +1,18 @@
config_dir="$archpkgdir"/etc/webmin
var_dir="$archpkgdir"/var/log/webmin
perl=/usr/bin/perl
autoos=1
port=10000
noportcheck=1
login=root
crypt="x"
ssl=1
atboot=0
nostart=1
nochown=1
autothird=1
nouninstall=1
atbootyn=n
tempdir="$archpkgdir"/tmp
pam=webmin
export config_dir var_dir perl autoos port noportcheck login crypt ssl atboot nostart nochown autothird nouninstall atbootyn tempdir pam

Binary file not shown.

8
webmin/webmin.logrotate Normal file
View File

@@ -0,0 +1,8 @@
/var/log/webmin/miniserv.error /var/log/webmin/*.log {
missingok
notifempty
sharedscripts
postrotate
/usr/bin/systemctl -q try-reload-or-restart webmin.service 2>/dev/null || true
endscript
}

5
webmin/webmin.pam Normal file
View File

@@ -0,0 +1,5 @@
#%PAM-1.0
auth include system-remote-login
account include system-remote-login
password include system-remote-login
session include system-remote-login

2
webmin/webmin.tmpfiles Normal file
View File

@@ -0,0 +1,2 @@
d /var/log/webmin 0750 root bin -
d /var/log/webmin/modules 0750 root root -

23
zramen-openrc/PKGBUILD Normal file
View File

@@ -0,0 +1,23 @@
# Contributor linuxer <https://gitea.artixlinux.org/linuxer>
pkgname=zramen-openrc
pkgdesc="Zramen and OpenRC init scripts"
alias=zramen
pkgver=0.2.1
pkgrel=1
arch=('any')
url="https://gitea.artixlinux.org/linuxer/PKGBUILDS/zramen-openrc"
license=('Unlicense')
groups=()
depends=('openrc' 'bc')
source=("https://github.com/atweiden/zramen/releases/download/${pkgver}/zramen-${pkgver}.tar.gz"
"zramen.initd")
b2sums=('1c8d69609fb311ce566b3120af11d16a633f1c64c2104df80dd3fbf22e1f41a609bb53420d4c3fc1e9393d887647d1f6a6a0e3609a022787b3cf0d1fd4200886'
'ee5599bffcc93bce4f50ce4205f759cf4d3de00bfd663c00d48fbc27f90aeee9245709eb8d9259e2b16e05c68ee6d224a98191e373f109ee09f0977cae724759')
package() {
install -Dm 755 zramen.initd "$pkgdir/etc/init.d/zramen"
cd "${srcdir}/${alias}-${pkgver}"
install -Dm 755 zramen "$pkgdir/usr/bin/zramen"
install -Dm 755 sv/zramen/conf "$pkgdir/etc/conf.d/zramen.conf"
}

View File

@@ -0,0 +1,11 @@
#!/usr/bin/openrc-run
pidfile="/run/zramen.pid"
command="/usr/bin/zramen"
command_args="make"
command_background=true
stop() {
/usr/bin/zramen toss
}

30
zramen-runit/PKGBUILD Normal file
View File

@@ -0,0 +1,30 @@
# Contributor linuxer <https://gitea.artixlinux.org/linuxer>
pkgname=zramen-runit
pkgalias=zramend
_realname=zramen-runit
pkgdesc="Zramen and runit init scripts"
alias=zramen
pkgver=0.2.1
pkgrel=1
pkgbase=zramen-runit
replaces=('zramen-runit' 'bc')
arch=('any')
url=url="https://gitea.artixlinux.org/linuxer/PKGBUILDS/zramen-runit"
license=('Unlicense')
groups=()
depends=('runit')
source=("https://github.com/atweiden/zramen/releases/download/${pkgver}/zramen-${pkgver}.tar.gz")
b2sums=('1c8d69609fb311ce566b3120af11d16a633f1c64c2104df80dd3fbf22e1f41a609bb53420d4c3fc1e9393d887647d1f6a6a0e3609a022787b3cf0d1fd4200886')
package() {
echo "${srcdir}/${alias}-${pkgver}"
cd "${srcdir}/${alias}-${pkgver}"
install -Dm 755 zramen -t "$pkgdir/usr/bin/"
mkdir -p "$pkgdir"/etc/runit/sv/zramen
install -Dm 644 sv/zramen/conf "$pkgdir"/etc/runit/sv/zramen
install -Dm 644 sv/zramen/finish "$pkgdir"/etc/runit/sv/zramen
chmod +x "$pkgdir"/etc/runit/sv/zramen/finish
install -Dm 644 sv/zramen/run "$pkgdir"/etc/runit/sv/zramen
chmod +x "$pkgdir"/etc/runit/sv/zramen/run
}

31
zramen-s6/PKGBUILD Normal file
View File

@@ -0,0 +1,31 @@
# Contributor: linuxer <linuxer@artixlinux.org>
# Developer: Timofey Titovets <nefelim4ag@gmail.com>
pkgname=zramen-s6
pkgdesc="Zramen and OpenRC init scripts"
alias=zramen
pkgver=0.2.1
pkgrel=1
arch=('any')
url="https://gitea.artixlinux.org/linuxer/PKGBUILDS/zramen-s6"
arch=('any')
url="https://github.com/Nefelim4ag/Ananicy.git"
license=('Unlicense')
depends=('s6' 'bc')
source=("https://github.com/atweiden/zramen/releases/download/${pkgver}/zramen-${pkgver}.tar.gz"
"zramen.type"
"zramen.run"
"zramen.finish")
b2sums=('1c8d69609fb311ce566b3120af11d16a633f1c64c2104df80dd3fbf22e1f41a609bb53420d4c3fc1e9393d887647d1f6a6a0e3609a022787b3cf0d1fd4200886'
'cdcdfdfe8033b1b2ac812951b70b09b115c1d7b7de4ed0ea0808072414753faf98ca846a171f22ab788cc9e1564456354f953941d4fba8056bc650f41dcde8dc'
'0c2ba1bcb5a07553dc0f04f8780a5dae93aafcd06fb460852c2a6c1403a8ebaab6d09f1b07338926523341fc17fe0cff6db3d755f8a4200a77ff003c53614b35'
'a8c1eb7798e11ec231cc2c587631d73dda99f978fc331dbca48f3f78b82b273542534ad010ee96b1a7110d3dfa86961f12ab6e2320b508190e74dcf2d89c9a9d')
package() {
mkdir -p "$pkgdir/etc/s6/sv/$_alias"
cp zramen.run $pkgdir/etc/s6/sv/$_alias/run
cp zramen.type $pkgdir/etc/s6/sv/$_alias/type
cp zramen.finish $pkgdir/etc/s6/sv/$_alias/finish
cd "${srcdir}/${_alias}-${pkgver}"
install -Dm 755 sv/zramen/conf "$pkgdir/etc/conf.d/zramen.conf"
}

3
zramen-s6/zramen.finish Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/zramen toss

3
zramen-s6/zramen.run Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/zramen make

1
zramen-s6/zramen.type Normal file
View File

@@ -0,0 +1 @@
oneshot

30
zramen/PKGBUILD Normal file
View File

@@ -0,0 +1,30 @@
# Contributor linuxer <https://gitea.artixlinux.org/linuxer>
pkgname=zramen-runit
pkgalias=zramend
_realname=zramen-runit
pkgdesc="Zramen and runit init scripts"
alias=zramen
pkgver=0.2.1
pkgrel=1
pkgbase=zramen-runit
replaces=('zramen-runit' 'bc')
arch=('any')
url=url="https://gitea.artixlinux.org/linuxer/PKGBUILDS/zramen-runit"
license=('Unlicense')
groups=()
depends=('runit')
source=("https://github.com/atweiden/zramen/releases/download/${pkgver}/zramen-${pkgver}.tar.gz")
b2sums=('1c8d69609fb311ce566b3120af11d16a633f1c64c2104df80dd3fbf22e1f41a609bb53420d4c3fc1e9393d887647d1f6a6a0e3609a022787b3cf0d1fd4200886')
package() {
echo "${srcdir}/${alias}-${pkgver}"
cd "${srcdir}/${alias}-${pkgver}"
install -Dm 755 zramen -t "$pkgdir/usr/bin/"
mkdir -p "$pkgdir"/etc/runit/sv/zramen
install -Dm 644 sv/zramen/conf "$pkgdir"/etc/runit/sv/zramen
install -Dm 644 sv/zramen/finish "$pkgdir"/etc/runit/sv/zramen
chmod +x "$pkgdir"/etc/runit/sv/zramen/finish
install -Dm 644 sv/zramen/run "$pkgdir"/etc/runit/sv/zramen
chmod +x "$pkgdir"/etc/runit/sv/zramen/run
}