- Change from colon to space separation to avoid URL parsing issues - Update sources.conf format: TYPE NAME URL VERSION BUILD_FUNCTION [EXTRA] - Implement awk-based parsing for reliable field extraction - Fix firmware package list (remove unavailable linux-firmware-marvell)
40 lines
814 B
Plaintext
40 lines
814 B
Plaintext
# Lookup the hostname in DNS if not set
|
|
|
|
lookup_hostname()
|
|
{
|
|
[ -z "$new_ip_address" ] && return 1
|
|
# Silly ISC programs love to send error text to stdout
|
|
if command -v dig >/dev/null 2>&1; then
|
|
h=$(dig +short -x $new_ip_address)
|
|
if [ $? = 0 ]; then
|
|
echo "$h" | sed 's/\.$//'
|
|
return 0
|
|
fi
|
|
elif command -v host >/dev/null 2>&1; then
|
|
h=$(host $new_ip_address)
|
|
if [ $? = 0 ]; then
|
|
echo "$h" \
|
|
| sed 's/.* domain name pointer \(.*\)./\1/'
|
|
return 0
|
|
fi
|
|
elif command -v getent >/dev/null 2>&1; then
|
|
h=$(getent hosts $new_ip_address)
|
|
if [ $? = 0 ]; then
|
|
echo "$h" | sed 's/[^ ]* *\([^ ]*\).*/\1/'
|
|
return 0
|
|
fi
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
set_hostname()
|
|
{
|
|
if [ -z "${new_host_name}${new_fqdn_name}" ]; then
|
|
export new_host_name="$(lookup_hostname)"
|
|
fi
|
|
}
|
|
|
|
if $if_up; then
|
|
set_hostname
|
|
fi
|