diff options
author | P. 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) |
commit | 34a77f7822126263fed5c72aedaa65b58fee94ac (patch) | |
tree | a3404e611672f64126298e2f0f6d3398b014851e /lib/profile/proteanos.sh | |
parent | 84f3cccfb57fc8270b2ae14f0adf2c2ff24cc69b (diff) | |
parent | 41f638c961d5c7832e2b18a9f2e45a09b54dc53e (diff) |
Merge branch 'feature/use-shld'
Diffstat (limited to 'lib/profile/proteanos.sh')
-rw-r--r-- | lib/profile/proteanos.sh | 255 |
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" -} |