replace netcfg routine with netctl

This commit is contained in:
Tobias Powalowski 2013-02-22 20:32:29 +01:00
parent 8c81e1224e
commit 0700738663

View file

@ -3136,16 +3136,12 @@ auto_network()
if [[ ${S_NET} -eq 0 ]]; then if [[ ${S_NET} -eq 0 ]]; then
return 1 return 1
fi fi
# copy netcfg profiles # copy netctl profiles
cp /etc/network.d/* ${DESTDIR}/etc/network.d/ 2>/dev/null cp /etc/netctl/* ${DESTDIR}/etc/netctl/ 2>/dev/null
# add netcfg profiles to /etc/conf.d/netcfg # enable netctl profiles
NETWORK_PROFILES="" for i in $(echo /etc/netctl/*); do
for i in $(echo /etc/network.d/*); do [[ -f $i ]] && chroot ${DESTDIR} /usr/bin/netctl enable $(basename $i)
[[ -f $i ]] && NETWORK_PROFILES="${NETWORK_PROFILES} $(basename $i)"
done done
sed -i -e "s#NETWORKS=.*#NETWORKS=\(${NETWORK_PROFILES}\)#g" ${DESTDIR}/etc/conf.d/netcfg
# launch netcfg on boot
chroot ${DESTDIR} /usr/bin/systemctl enable netcfg.service
# copy proxy settings # copy proxy settings
if [[ "${PROXY_HTTP}" != "" ]]; then if [[ "${PROXY_HTTP}" != "" ]]; then
echo "export http_proxy=${PROXY_HTTP}" >> ${DESTDIR}/etc/profile.d/proxy.sh; echo "export http_proxy=${PROXY_HTTP}" >> ${DESTDIR}/etc/profile.d/proxy.sh;
@ -3194,15 +3190,12 @@ donetwork() {
# wireless switch # wireless switch
CONNECTION="" CONNECTION=""
WLAN_HIDDEN="" WLAN_HIDDEN=""
WLAN_HEX=""
WLAN_ESSID="" WLAN_ESSID=""
WLAN_SECURITY="" WLAN_SECURITY=""
WLAN_KEY="" WLAN_KEY=""
DIALOG --defaultno --yesno "Is your network device wireless?" 5 40 DIALOG --defaultno --yesno "Is your network device wireless?" 5 40
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
CONNECTION="wireless" CONNECTION="wireless"
DIALOG --defaultno --yesno "Is your wireless ESSID hexadecimal?" 5 40
[[ $? -eq 0 ]] && WLAN_HEX="yes"
DIALOG --inputbox "Enter your ESSID" 7 40 "MyNetwork" 2>${ANSWER} || return 1 DIALOG --inputbox "Enter your ESSID" 7 40 "MyNetwork" 2>${ANSWER} || return 1
WLAN_ESSID=$(cat ${ANSWER}) WLAN_ESSID=$(cat ${ANSWER})
DIALOG --defaultno --yesno "Is your wireless network hidden?" 5 40 DIALOG --defaultno --yesno "Is your wireless network hidden?" 5 40
@ -3218,10 +3211,10 @@ donetwork() {
0) WLAN_SECURITY=$(cat ${ANSWER}) ;; 0) WLAN_SECURITY=$(cat ${ANSWER}) ;;
esac esac
done done
DIALOG --inputbox "Enter your KEY" 5 40 "WirelessKey" 2>${ANSWER} || return 1 DIALOG --inputbox "for i in $(echo /etc/netctl/*); doEnter your KEY" 5 40 "WirelessKey" 2>${ANSWER} || return 1
WLAN_KEY=$(cat ${ANSWER}) WLAN_KEY=$(cat ${ANSWER})
else else
WLAN_SECURITY="open" WLAN_SECURITY="none"
fi fi
else else
CONNECTION="ethernet" CONNECTION="ethernet"
@ -3237,14 +3230,14 @@ donetwork() {
S_DHCP=1 S_DHCP=1
else else
IP="static" IP="static"
DIALOG --inputbox "Enter your IP address" 7 40 "192.168.1.23" 2>${ANSWER} || return 1 DIALOG --inputbox "Enter your IP address and netmask" 7 40 "192.168.1.23/24" 2>${ANSWER} || return 1
IPADDR=$(cat ${ANSWER}) IPADDR=$(cat ${ANSWER})
DIALOG --inputbox "Enter your gateway" 7 40 "192.168.1.1" 2>${ANSWER} || return 1 DIALOG --inputbox "Enter your gateway" 7 40 "192.168.1.1" 2>${ANSWER} || return 1
GW=$(cat ${ANSWER}) GW=$(cat ${ANSWER})
DIALOG --inputbox "Enter your DNS server IP" 7 40 "192.168.1.1" 2>${ANSWER} || return 1 DIALOG --inputbox "Enter your DNS server IP" 7 40 "192.168.1.1" 2>${ANSWER} || return 1
DNS=$(cat ${ANSWER}) DNS=$(cat ${ANSWER})
fi fi
DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID in hexadecimal: ${WLAN_HEX}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\ndhcp or static: ${IP}\nUse dhclient: ${DHCLIENT}\nIP address: ${IPADDR}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0 DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\ndhcp or static: ${IP}\nUse dhclient: ${DHCLIENT}\nIP address: ${IPADDR}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0
case $? in case $? in
1) ;; 1) ;;
0) NETPARAMETERS="1" ;; 0) NETPARAMETERS="1" ;;
@ -3253,30 +3246,29 @@ donetwork() {
# profile name # profile name
NETWORK_PROFILE="" NETWORK_PROFILE=""
DIALOG --inputbox "Enter your network profile name" 7 40 "${INTERFACE}-${CONNECTION}" 2>${ANSWER} || return 1 DIALOG --inputbox "Enter your network profile name" 7 40 "${INTERFACE}-${CONNECTION}" 2>${ANSWER} || return 1
NETWORK_PROFILE=/etc/network.d/$(cat ${ANSWER}) NETWORK_PROFILE=/etc/netctl/$(cat ${ANSWER})
# write profile # write profile
echo "CONNECTION='${CONNECTION}'" >${NETWORK_PROFILE} echo "Connection=${CONNECTION}" >${NETWORK_PROFILE}
echo "DESCRIPTION='$NETWORK_PROFILE generated by archboot setup'" >>${NETWORK_PROFILE} echo "Description='$NETWORK_PROFILE generated by archboot setup'" >>${NETWORK_PROFILE}
echo "INTERFACE='${INTERFACE}'" >>${NETWORK_PROFILE} echo "Interface=${INTERFACE}" >>${NETWORK_PROFILE}
if [[ "${CONNECTION}" = "wireless" ]]; then if [[ "${CONNECTION}" = "wireless" ]]; then
echo "SECURITY='${WLAN_SECURITY}'" >>${NETWORK_PROFILE} echo "Security=${WLAN_SECURITY}" >>${NETWORK_PROFILE}
[[ "${WLAN_HEX}" = "yes" ]] && echo "ESSID_TYPE='hex'" >>${NETWORK_PROFILE}
echo "ESSID='${WLAN_ESSID}'" >>${NETWORK_PROFILE} echo "ESSID='${WLAN_ESSID}'" >>${NETWORK_PROFILE}
echo "KEY='${WLAN_KEY}'" >>${NETWORK_PROFILE} echo "Key='${WLAN_KEY}'" >>${NETWORK_PROFILE}
[[ "${WLAN_HIDDEN}" = "yes" ]] && echo "HIDDEN=yes" >>${NETWORK_PROFILE} [[ "${WLAN_HIDDEN}" = "yes" ]] && echo "Hidden=yes" >>${NETWORK_PROFILE}
fi fi
echo "IP='${IP}'" >>${NETWORK_PROFILE} echo "IP=${IP}" >>${NETWORK_PROFILE}
if [[ "${IP}" = "dhcp" ]]; then if [[ "${IP}" = "dhcp" ]]; then
[[ "${DHCLIENT}" = "yes" ]] && echo "DHCLIENT=yes" >>${NETWORK_PROFILE} [[ "${DHCLIENT}" = "yes" ]] && echo "DHCLIENT=yes" >>${NETWORK_PROFILE}
else else
echo "ADDR='${IPADDR}'" >>${NETWORK_PROFILE} echo "Address='${IPADDR}'" >>${NETWORK_PROFILE}
echo "GATEWAY='${GW}'" >>${NETWORK_PROFILE} echo "Gateway='${GW}'" >>${NETWORK_PROFILE}
echo "DNS=('${DNS}')" >>${NETWORK_PROFILE} echo "DNS=('${DNS}')" >>${NETWORK_PROFILE}
fi fi
# run netcfg # run netctl
netcfg -r $(basename ${NETWORK_PROFILE}) >${LOG} netctl start $(basename ${NETWORK_PROFILE}) >${LOG}
if [[ $? -gt 0 ]]; then if [[ $? -gt 0 ]]; then
DIALOG --msgbox "Error occured while running netcfg. (see ${LOG} for output)" 0 0 DIALOG --msgbox "Error occured while running netctl. (see ${LOG} for output)" 0 0
return 1 return 1
fi fi
# http/ftp proxy settings # http/ftp proxy settings