summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD42
-rw-r--r--inferno.install19
-rwxr-xr-xmake-install-root.sh34
4 files changed, 112 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4c7d6c603233
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = inferno
+ pkgdesc = A compact operating system designed for building distributed and networked systems. (Prebuilt)
+ pkgver = 20150328
+ pkgrel = 1
+ url = https://bitbucket.org/inferno-os/inferno-os
+ install = inferno.install
+ arch = any
+ license = GPL2
+ provides = inferno
+ conflicts = inferno
+ source = http://www.vitanuova.com/dist/4e/inferno-20150328.tgz
+ source = make-install-root.sh
+ sha256sums = 3f648d01a5264e1e4fd773824581205cdf9efe0a2e505298d07db21e1828ef7f
+ sha256sums = SKIP
+
+pkgname = inferno
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ddff762e51d2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Konstantinos Foutzopoulos <mail@konfou.xyz>
+
+pkgname=inferno
+pkgver=20150328
+pkgrel=1
+pkgdesc='A compact operating system designed for building distributed and networked systems. (Prebuilt)'
+arch=('any')
+url='https://bitbucket.org/inferno-os/inferno-os'
+license=('GPL2')
+#depends=('gcc-libs' 'libx11' 'libext')
+depends_x86_64=('lib32-gcc-libs' 'lib32-libx11' 'lib32-libxext')
+#makedepends=('gcc' 'glibc' 'mercurial')
+#makedepends_x86_64=('gcc-multilib' 'lib32-glibc' 'mercurial')
+provides=("${pkgname}")
+conflicts=("${pkgname}")
+source=("http://www.vitanuova.com/dist/4e/${pkgname}-${pkgver}.tgz"
+ "make-install-root.sh")
+sha256sums=('3f648d01a5264e1e4fd773824581205cdf9efe0a2e505298d07db21e1828ef7f'
+ 'SKIP')
+install=${pkgname}.install
+
+build() {
+ cat > "${pkgname}/inferno" << 'END'
+#!/usr/bin/env bash
+ROOT="/usr/local/inferno"
+IBIN="$ROOT/Linux/386/bin"
+export PATH="$IBIN:$PATH"
+export EMU="-r$ROOT"
+exec emu "$@"
+END
+}
+
+package() {
+ export IROOT="usr/local/inferno"
+ ./make-install-root.sh "${pkgname}" "${pkgdir}/${IROOT}"
+ find "${pkgdir}/${IROOT}" -path "${pkgdir}/${IROOT}/Linux" -prune -o -exec chmod g+w {} +
+ mkdir -p "${pkgdir}/${IROOT}/Linux"
+ cp -r "${pkgname}/Linux/386" "${pkgdir}/${IROOT}/Linux/"
+ mkdir -p "${pkgdir}/usr/bin"
+ install -D -m755 "${pkgname}/inferno" "${pkgdir}/usr/bin/inferno"
+ install -D -m644 "${pkgname}/NOTICE" "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE"
+} \ No newline at end of file
diff --git a/inferno.install b/inferno.install
new file mode 100644
index 000000000000..502c018b9e5a
--- /dev/null
+++ b/inferno.install
@@ -0,0 +1,19 @@
+post_install() {
+ groupadd inferno
+ IROOT=/usr/local/inferno
+ find $IROOT -path $IROOT/Linux -prune -o -exec chgrp inferno {} +
+ cat << 'END'
+ Permissions for a user to modify the files are needed.
+ This can be done adding a user to the group inferno with:
+ # usermod -a -G inferno $USER
+ For how to procceed you can read the doc/install.ms manual.
+ On the host system this can be done as:
+ # nroff -ms /usr/local/inferno/doc/install.ms | less
+ After invoking inferno (an emu wrapper) this can be dones as:
+ ; man -f /doc/install.ms | p
+END
+}
+
+post_remove() {
+ groupdel inferno
+} \ No newline at end of file
diff --git a/make-install-root.sh b/make-install-root.sh
new file mode 100755
index 000000000000..dd856c9dbe43
--- /dev/null
+++ b/make-install-root.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/bash
+
+mkdir -p $2
+mkdir -p $2/mail
+mkdir -p $2/n/cd
+mkdir -p $2/n/client/chan
+mkdir -p $2/n/client/dev
+mkdir -p $2/n/disk
+mkdir -p $2/n/dist
+mkdir -p $2/n/dos
+mkdir -p $2/n/dump
+mkdir -p $2/n/ftp
+mkdir -p $2/n/gridfs
+mkdir -p $2/n/kfs
+mkdir -p $2/n/local
+mkdir -p $2/n/rdbg
+mkdir -p $2/n/registry
+mkdir -p $2/n/remote
+mkdir -p $2/tmp
+mkdir -p $2/usr
+
+cp -r $1/acme $2/
+cp -r $1/appl $2/
+cp -r $1/dis $2/
+cp -r $1/doc $2/
+cp -r $1/fonts $2/
+cp -r $1/icons $2/
+cp -r $1/keydb $2/
+cp -r $1/lib $2/
+cp -r $1/locale $2/
+cp -r $1/man $2/
+cp -r $1/module $2/
+cp -r $1/services $2/
+cp -r $1/usr $2/