diff options
author | David P <megver83@parabola.nu> | 2017-11-18 15:35:46 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2017-11-18 15:35:54 -0300 |
commit | c799f6ae2ec796e75d399028736c9d70c021dcd7 (patch) | |
tree | 0d6d80b5b8bfada2b5a219e937ccd51df83b0469 /pcr | |
parent | 537adb86225271d3e895cdb8e75b193196c0d6aa (diff) |
Add runit & update openrc
openrc-init has been packaged separately from the openrc package
for OpenRC to gain compatibility with other init systems. As of now
there's runit and openrc-init which provide and conflict 'init',
meaning that those packages have a /sbin/init binary or symlink.
Packages which provide 'init' will also go to the 'init' group.
Note, however, that if attempting to install that package group
all the packages will conflict, so purpose of it is to simply do
'pacman -Sg init' to see a list of the available inits.
Diffstat (limited to 'pcr')
-rw-r--r-- | pcr/openrc/PKGBUILD | 110 | ||||
-rw-r--r-- | pcr/openrc/openrc-init.install | 3 | ||||
-rw-r--r-- | pcr/runit-scripts/PKGBUILD | 43 | ||||
-rw-r--r-- | pcr/runit/PKGBUILD | 66 |
4 files changed, 184 insertions, 38 deletions
diff --git a/pcr/openrc/PKGBUILD b/pcr/openrc/PKGBUILD index dd3bfb97e..e33a1cbba 100644 --- a/pcr/openrc/PKGBUILD +++ b/pcr/openrc/PKGBUILD @@ -2,36 +2,22 @@ # Contributor (Artix): williamh <williamh@gentoo.org> # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> -_url="https://github.com/OpenRC/openrc/archive" - -pkgname=openrc -pkgver=0.34.3 -pkgrel=1.parabola1 -pkgdesc="Gentoo's universal init system" +pkgbase=openrc +pkgname=('openrc' 'openrc-init') +pkgver=0.34.8 +pkgrel=1.parabola3 arch=('i686' 'x86_64' 'armv7h') url="https://wiki.gentoo.org/wiki/Project:OpenRC" license=('BSD2') -depends=('psmisc' 'pam') -optdepends=('netifrc: Network Interface Management Scripts' - 'networkmanager-openrc: NetworkManager') -conflicts=('systemd-sysvcompat' 'sysvinit') -replaces=('sysvinit') -install=${pkgname}.install -backup=('etc/rc.conf' - 'etc/conf.d/consolefont' - 'etc/conf.d/keymaps' - 'etc/conf.d/hostname' - 'etc/conf.d/modules' - 'etc/conf.d/hwclock') options=('!emptydirs') -source=("${pkgname}-${pkgver}.tar.gz::${_url}/${pkgver}.tar.gz" - "${pkgname}.logrotate" +source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/OpenRC/openrc/archive/${pkgver}.tar.gz" + "${pkgbase}.logrotate" 'openrc-install.hook' 'openrc-remove.hook') -sha256sums=('8e4c1f99727b7b91766fcd65e0a303240528bf0cb123a65e33adc904c67bf2bd' - '0b44210db9770588bd491cd6c0ac9412d99124c6be4c9d3f7d31ec8746072f5c' - '1d4d31a7275660e7b23778e6fceb0714cab8ed2793b04aa004b01d8e7bcd43bd' - 'cbb4d00262a55a508114cb31e3903350be2cff748a4fb5e120dc745292e3987e') +sha512sums=('2309e0d330c35467dd6008f1458ac9680207a4c783d4f4e6008a84a313088cfe796dd134dfec79699b8f9c90002b0ae621bb78a9925b987ae98fbd8ad75b947a' + '690612fddfb2c4cf8f6b5ba7239b9faf29eb3d9b152ab4dcf62694aa2852780440d08cee56d98a9597607f446b3697c911269562821a8402bb5747cbbae34bd9' + 'c31c94574f1c604930b572ed74eabdfcbedb344c54668ddeb3214d71de660e9fa8ff445b04ff817f16e62bce43376680d0a1b6c65baa8f6dba30e4ffa230c04a' + '96bd71dd4fbe1417a640ac7526e83e1b2290732d5e558d7942c87db0dc1ccb7614763d7748b219ac5982b0db66cba9c124506ec939a661d73db4d0b2642f431e') _args=( SYSCONFDIR=/etc @@ -43,32 +29,50 @@ _args=( MKTERMCAP=ncurses MKNET=no MKSYSVINIT=yes - BRANDING='Parabola' ) +if [ -f /usr/lib/os-release ]; then + . /usr/lib/os-release + _args+=(BRANDING="${NAME}") +else + _args+=(BRANDING='Unknown GNU/Linux') +fi + prepare(){ - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgbase}-${pkgver}" sed -e "s|/sbin|/usr/bin|g" -i support/sysvinit/inittab sed -i 's:0444:0644:' mk/sys.mk } build(){ - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgbase}-${pkgver}" make "${_args[@]}" } -package() { - cd "${srcdir}/${pkgname}-${pkgver}" +package_openrc() { + pkgdesc="Gentoo's universal init system" + install=${pkgbase}.install + depends=('psmisc' 'pam' 'init') + optdepends=('netifrc: Network Interface Management Scripts' + 'networkmanager-openrc: NetworkManager') + backup=('etc/rc.conf' + 'etc/conf.d/consolefont' + 'etc/conf.d/keymaps' + 'etc/conf.d/hostname' + 'etc/conf.d/modules' + 'etc/conf.d/hwclock') + + cd "${srcdir}/${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" "${_args[@]}" install - install -Dm644 "${srcdir}/${pkgname}.logrotate" "${pkgdir}/etc/logrotate.d/${pkgname}" + install -Dm644 "${srcdir}/${pkgbase}.logrotate" "${pkgdir}/etc/logrotate.d/${pkgbase}" sed -e 's/#unicode="NO"/unicode="YES"/' \ -e 's/#rc_logger="NO"/rc_logger="YES"/' \ -i "${pkgdir}/etc/rc.conf" - install -d ${pkgdir}/usr/lib/rc/cache + install -d ${pkgdir}/usr/lib/openrc/cache # getty sed -e 's|#baud=""|baud="38400"|' \ @@ -76,17 +80,47 @@ package() { -e 's|#agetty_options=""|agetty_options=""|' \ -i ${pkgdir}/etc/conf.d/agetty - for num in 1 2 3 4 5 6;do - cp -v ${pkgdir}/etc/conf.d/agetty ${pkgdir}/etc/conf.d/agetty.tty$num - ln -sf /etc/init.d/agetty ${pkgdir}/etc/init.d/agetty.tty$num - ln -sf /etc/init.d/agetty.tty$num ${pkgdir}/etc/runlevels/default/agetty.tty$num - done - # alpm hooks for h in openrc-{install,remove}.hook;do install -Dm644 ${srcdir}/$h ${pkgdir}/usr/share/libalpm/hooks/$h done # license - install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE "$pkgdir/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/LICENSE "$pkgdir/usr/share/licenses/${pkgbase}/LICENSE" + + # move these to $srcdir + for bin in shutdown reboot halt poweroff openrc-init init; do + mv -v ${pkgdir}/usr/bin/${bin} ${srcdir}/${bin} + done + mv -v ${pkgdir}/etc/conf.d/agetty ${srcdir}/agetty.confd + mv -v ${pkgdir}/etc/init.d/agetty ${srcdir}/agetty.initd +} + +package_openrc-init() { + pkgdesc="OpenRC replacement for /sbin/init" + depends=('openrc') + provides=('init') + groups=('init') + conflicts=('systemd-sysvcompat' 'sysvinit' 'init') + replaces=('sysvinit') + install=${pkgbase}-init.install + + cd ${srcdir} + install -d ${pkgdir}/usr/bin/ \ + -d ${pkgdir}/etc/conf.d/ \ + -d ${pkgdir}/etc/init.d/ \ + -d ${pkgdir}/etc/runlevels/default/ + + for bin in shutdown reboot halt poweroff openrc-init init; do + mv -v ${bin} ${pkgdir}/usr/bin/${bin} + done + + mv -v agetty.confd ${pkgdir}/etc/conf.d/agetty + mv -v agetty.initd ${pkgdir}/etc/init.d/agetty + for num in 1 2 3 4 5 6;do + cp -v ${pkgdir}/etc/conf.d/agetty ${pkgdir}/etc/conf.d/agetty.tty$num + ln -sf /etc/init.d/agetty ${pkgdir}/etc/init.d/agetty.tty$num + ln -sf /etc/init.d/agetty.tty$num ${pkgdir}/etc/runlevels/default/agetty.tty$num + done + } diff --git a/pcr/openrc/openrc-init.install b/pcr/openrc/openrc-init.install new file mode 100644 index 000000000..7584444cc --- /dev/null +++ b/pcr/openrc/openrc-init.install @@ -0,0 +1,3 @@ +post_remove() { + echo " ==> Make sure you install an init provider before you reboot!" +} diff --git a/pcr/runit-scripts/PKGBUILD b/pcr/runit-scripts/PKGBUILD new file mode 100644 index 000000000..acaddd5ff --- /dev/null +++ b/pcr/runit-scripts/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: David P. <megver83@parabola.nu> +# Maintainer (Artix): Chris Cromer <chris@cromer.cl> + +_commit=0800961464d5afeb69730e4c9adc6733d26ea031 + +pkgname=runit-scripts +pkgver=20171118 +pkgrel=1 +pkgdesc='Runit initscripts for GNU/Linux' +provides=('runit-init') +conflicts=('runit-init') +url='https://gitlab.com/Megver83/runit-scripts' +license=('GPL3') +arch=('armv7h' 'i686' 'x86_64') +depends=('procps-ng' 'awk' 'sh' 'eudev' 'runit') +optdepends=('openrc: for managing services with OpenRC') +source=("${pkgname}-${pkgver}.tar.gz::https://gitlab.com/Megver83/runit-scripts/repository/${_commit}/archive.tar.gz") +backup=('etc/runit/rc.conf' + 'etc/runit/rc.local' + 'etc/runit/rc.shutdown') +sha512sums=('46439bfc5293fa1c3cddfff748a65a09c03da5d27dc6288a8904a50fc618934a3bcfab7c32a3dc8fba3e095146855584389ea7731f45947cef6d0d0dd1636921') + +pkgver() { + date +%Y%m%d +} + +build() { + cd ${srcdir} + mv ${pkgname}-${_commit}-${_commit} ${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed 's|/sbin|/bin|' -i Makefile + make DESTDIR="${pkgdir}" PREFIX="/usr" install + + # License + mkdir -p "${pkgdir}"/usr/share/licenses/runit-scripts + cp {COPYING,LICENSE} "${pkgdir}"/usr/share/licenses/runit-scripts/ +} diff --git a/pcr/runit/PKGBUILD b/pcr/runit/PKGBUILD new file mode 100644 index 000000000..2ca8c2910 --- /dev/null +++ b/pcr/runit/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: David P. <megver83@parabola.nu> +# Maintainer (Artix): Chris Cromer <chris@cromer.cl> + +pkgbase=runit +pkgname=('runit' 'runit-doc') +pkgver=2.1.2 +pkgrel=1.parabola4 +arch=('armv7h' 'i686' 'x86_64') +url='http://smarden.org/runit/' +license=('BSD3') +source=("http://smarden.org/${pkgname}/${pkgbase}-${pkgver}.tar.gz") +sha512sums=('a18773ebf1aa22305dd89ed67363165b9fcf86c192b2be4e268d08005dd82d51265160c637abe072f2f2e378c4b315a75bd3d3e602c3e75bdd451a3b0190f8cf') + +prepare() { + # set default service path to /run/runit/service + cd "${srcdir}/admin/${pkgbase}-${pkgver}" + sed -i 's|"/service/"|"/run/runit/service/"|' src/sv.c +} + +build() { + cd "${srcdir}/admin/${pkgbase}-${pkgver}" + + CFLAGS="${CFLAGS} -static" + LDFLAGS="${LDFLAGS} -static" + + package/compile +} + +check() { + cd "${srcdir}/admin/${pkgbase}-${pkgver}" + package/check +} + +package_runit() { + pkgdesc='Cross-platform Unix init scheme with service supervision' + depends=('bash' 'runit-init' 'util-linux') + optdepends=('runit-doc: documentation') + provides=('init') + groups=('init') + conflicts=('systemd-sysvcompat' 'sysvinit' 'init') + # commands + mkdir -p "${pkgdir}/usr/bin" + install -Dm755 ${srcdir}/admin/${pkgbase}-${pkgver}/command/* "${pkgdir}/usr/bin" + + # man pages + mkdir -p "${pkgdir}/usr/share/man/man8" + install -Dm644 ${srcdir}/admin/${pkgbase}-${pkgver}/man/* "${pkgdir}/usr/share/man/man8" + + # default directories + mkdir -p "$pkgdir/etc/runit/runsvdir/default" + + # license + install -Dm644 "${srcdir}/admin/${pkgbase}-${pkgver}/package/COPYING" "$pkgdir/usr/share/licenses/runit/COPYING" + + # init + ln -sf runit-init "${pkgdir}/usr/bin/init" +} + +package_runit-doc() { + pkgdesc='Documentation for the runit init system' + groups=('init-doc') + arch=('any') + install -v -m755 -d "${pkgdir}/usr/share/doc" + cp -r "${srcdir}/admin/${pkgbase}-${pkgver}/doc" "${pkgdir}/usr/share/doc/${pkgbase}-${pkgver}" + rm "${pkgdir}/usr/share/doc/${pkgbase}-${pkgver}/debian" +} |