1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env bash
- # This file is part of the OpenADK project. OpenADK is copyrighted
- # material, please see the LICENCE file in the top-level directory.
- os=$(uname)
- if [ "$os" = "Darwin" ]; then
- sed="sed -i '' -e"
- else
- sed="sed -i -e"
- fi
- topdir=$(readlink -nf $(dirname $0)/.. 2>/dev/null || (cd $(dirname $0)/..; pwd -P))
- . $topdir/.config
- suffix=${ADK_TARGET_SYSTEM}
- if [ ! -z ${ADK_TARGET_LIBC} ];then
- suffix=${suffix}_${ADK_TARGET_LIBC}
- fi
- if [ ! -z ${ADK_TARGET_CPU_TYPE} ];then
- suffix=${suffix}_${ADK_TARGET_CPU_TYPE}
- fi
- if [ ! -z ${ADK_TARGET_ENDIAN_SUFFIX} ];then
- suffix=${suffix}${ADK_TARGET_ENDIAN_SUFFIX}
- fi
- if [ ! -z ${ADK_TARGET_FLOAT} ];then
- suffix=${suffix}_${ADK_TARGET_FLOAT}
- fi
- if [ ! -z ${ADK_TARGET_ABI} ];then
- suffix=${suffix}_${ADK_TARGET_ABI}
- fi
- if [ ! -z ${ADK_TARGET_BINFMT} ];then
- suffix=${suffix}_${ADK_TARGET_BINFMT}
- fi
- rcconf=$(ls $topdir/root_${suffix}/etc/rc.conf)
- if [ ! -f $rcconf ];then
- exit 0
- fi
- for service in $(grep ^ADK_RUNTIME_START_ $topdir/.config |grep -v ADK_RUNTIME_START_SERVICES);do
- rcname=$(echo $service|sed -e "s#ADK_RUNTIME_START_##")
- mode=$(echo $rcname|cut -d \= -f 2)
- rcname=$(echo $rcname| sed -e "s#=.*##")
- rcname=$(echo $rcname| sed -e "s#^BUSYBOX_##")
- rcname=$(echo $rcname| tr '[:upper:]' '[:lower:]')
- # workarounds where package name not equal to service name
- if [ $rcname = "alsa_utils" ];then
- rcname=amixer
- fi
- if [ $rcname = "iptables" ];then
- rcname=firewall
- fi
- if [ $rcname = "nfs_utils_server" ];then
- rcname=nfsd
- fi
- if [ $rcname = "openssh_server" ];then
- rcname=openssh
- fi
- if [ $mode = "m" ]; then
- $sed "s#^$rcname=\"NO\"#$rcname=\"DAEMON\"#" $rcconf
- else
- $sed "s#^$rcname=\"NO\"#$rcname=\"YES\"#" $rcconf
- fi
- done
|