summaryrefslogtreecommitdiffstats
path: root/lib/profile/proteanos.sh
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2015-12-07 12:07:15 (EST)
committer P. J. McDermott <pj@pehjota.net>2015-12-07 12:07:15 (EST)
commit34a77f7822126263fed5c72aedaa65b58fee94ac (patch)
treea3404e611672f64126298e2f0f6d3398b014851e /lib/profile/proteanos.sh
parent84f3cccfb57fc8270b2ae14f0adf2c2ff24cc69b (diff)
parent41f638c961d5c7832e2b18a9f2e45a09b54dc53e (diff)
Merge branch 'feature/use-shld'
Diffstat (limited to 'lib/profile/proteanos.sh')
-rw-r--r--lib/profile/proteanos.sh255
1 files changed, 0 insertions, 255 deletions
diff --git a/lib/profile/proteanos.sh b/lib/profile/proteanos.sh
deleted file mode 100644
index 272282a..0000000
--- a/lib/profile/proteanos.sh
+++ /dev/null
@@ -1,255 +0,0 @@
-# ProteanOS architecture detection and feeds lists.
-#
-# Copyright (C) 2013, 2014 Patrick "P. J." McDermott
-#
-# This file is part of the ProteanOS Development Kit.
-#
-# The ProteanOS Development Kit is free software: you can redistribute
-# it and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# The ProteanOS Development Kit is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY; without even the implied
-# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with the ProteanOS Development Kit. If not, see
-# <http://www.gnu.org/licenses/>.
-
-use rand
-use opkg
-
-prof_proteanos_fstab_linux="\
-proc /proc proc defaults
-sys /sys sysfs defaults
-/dev /dev none bind
-devpts /dev/pts devpts noexec,nosuid,gid=5,mode=0620
-"
-prof_proteanos_install_service=\
-'#!/bin/sh /etc/rc.common
-
-start()
-{
- log "Configuring packages"
- printf "disabled\n" >/etc/rc.policy
- opkg install $(opkg list-installed | cut -d " " -f 1)
- printf "enabled\n" >/etc/rc.policy
- rm "${SCRIPT}"
-}
-'
-
-prof_proteanos_normalize_suite()
-{
- local suite="${1}"
-
- case "${suite}" in
- */*) printf '%s\n' "${suite}";;
- *) printf 'dev/%s\n' "${suite}";;
- esac
-
- return 0
-}
-
-prof_proteanos_detect_arch()
-{
- local uname_m=
- local uname_s=
- local arch=
-
- uname_m="$( (uname -m) 2>/dev/null)" || uname_m='unknown'
- uname_s="$( (uname -s) 2>/dev/null)" || uname_s='unknown'
-
- case "${uname_m}:${uname_s}" in
- 'x86_64:Linux')
- arch='amd64-linux-glibc'
- ;;
- 'i686:Linux')
- arch='i686-linux-glibc'
- ;;
- *)
- arch=''
- esac
-
- printf '%s\n' "${arch}"
-}
-
-prof_proteanos_default_plat()
-{
- printf 'dev\n'
-}
-
-prof_proteanos_select_mirror()
-{
- local mirrors=
- local mirrors_count=
- local mirror_num=
-
- mirrors="$(wget -q -O - \
- 'http://files.proteanos.com/pub/proteanos-mirrors-http')"
- mirrors_count=$(printf '%s\n' "${mirrors}" | wc -l)
- rand
- mirror_num=$(($rand_x % $mirrors_count + 1))
-
- printf '%s\n' "${mirrors}" | sed -n "${mirror_num}p"
-}
-
-prof_proteanos_validate_archplat()
-{
- local mirror="${1}"
- local arch="${2}"
- local plat="${3}"
- local suite="${4}"
-
- while read -r archplat; do
- case "${archplat}" in
- "${arch}/${plat}")
- return 0
- ;;
- esac
- done <<-EOF
- $(wget -q -O - "${mirror}/feeds/${suite}/Manifest" | sed \
- 's|/[^/]*$||; /^all\//d; /\/all$/d;')
- EOF
-
- return 1
-}
-
-prof_proteanos_feeds()
-{
- local mirror="${1}"
- local arch="${2}"
- local plat="${3}"
- local suite="${4}"
- local a=
- local p=
- local s=
-
- for a in "${arch}" 'all'; do
- for p in "${plat}" 'all'; do
- for s in 'base'; do
- printf 'src/gz proteanos_%s_%s_%s_%s_%s ' \
- "${suite%/*}" "${suite#*/}" \
- "${a}" "${p}" "${s}"
- printf '%s/feeds/%s/%s/%s/%s/Packages.gz\n' \
- "${mirror}" "${suite}" \
- "${a}" "${p}" "${s}"
- done
- done
- done
-
- for s in 'base'; do
- printf 'src/gz proteanos_%s_%s_%s_%s_%s ' \
- "${suite%/*}" "${suite#*/}" \
- 'src' 'all' "${s}"
- printf '%s/feeds/%s/%s/%s/%s/Packages.gz\n' \
- "${mirror}" "${suite}" \
- 'src' 'all' "${s}"
- done
-}
-
-prof_proteanos_dep_fields()
-{
- printf 'Depends Pre-Depends'
-}
-
-prof_proteanos_include_pkg()
-{
- local name="${1}"
- local value="${2}"
-
- if [ "x${name}" = 'xessential' ]; then
- if [ "x${value}" = 'xyes' ]; then
- return 0
- fi
- fi
-
- return 1
-}
-
-prof_proteanos_get_fstab()
-{
- local arch="${1}"
- local plat="${2}"
-
- case "${arch}" in
- *-linux-*)
- printf '%s\n' "${prof_proteanos_fstab_linux}"
- ;;
- esac
-}
-
-prof_proteanos_file_systems_mounted()
-{
- local root="${1}"
- local arch="${2}"
- local plat="${3}"
-
- [ -e "${root}/dev/null" ]
-}
-
-prof_proteanos_bind_mount()
-{
- local arch="${1}"
- local plat="${2}"
- local olddir="${3}"
- local newdir="${4}"
-
- case "${arch}" in
- *-linux-*)
- mount -o bind "${olddir}" "${newdir}"
- ;;
- esac
-}
-
-prof_proteanos_bind_umount()
-{
- local arch="${1}"
- local plat="${2}"
- local olddir="${3}"
- local newdir="${4}"
-
- case "${arch}" in
- *-linux-*)
- umount "${newdir}"
- ;;
- esac
-}
-
-prof_proteanos_configure_system_native()
-{
- local root="${1}"
- local arch="${2}"
- local plat="${3}"
-
- printf 'disabled\n' >"${root}/etc/rc.policy"
- opkg_install_all "${root}"
- if [ "x${plat}" = 'xdev' ]; then
- [ -r /etc/resolv.conf ] && cp /etc/resolv.conf "${root}/etc"
- [ -r /etc/hostname ] && cp /etc/hostname "${root}/etc"
- else
- printf 'enabled\n' >"${root}/etc/rc.policy"
- printf 'proteanos\n' >"${root}/etc/hostname"
- fi
- [ -e "${root}/etc/passwd" ] || printf \
- 'root::0:0:root:/root:/bin/sh\n' >"${root}/etc/passwd"
- [ -e "${root}/etc/group" ] || printf \
- 'root:x:0:\n' >"${root}/etc/group"
-}
-
-prof_proteanos_configure_system_foreign()
-{
- local root="${1}"
- local arch="${2}"
- local plat="${3}"
-
- printf '%s' "${prof_proteanos_install_service}" \
- >"${root}/etc/rc.d/S10install"
- chmod 0755 "${root}/etc/rc.d/S10install"
- printf 'proteanos\n' >"${root}/etc/hostname"
- [ -e "${root}/etc/passwd" ] || printf \
- 'root::0:0:root:/root:/bin/sh\n' >"${root}/etc/passwd"
- [ -e "${root}/etc/group" ] || printf \
- 'root:x:0:\n' >"${root}/etc/group"
-}