pb-plugin: Implement plugin ABI versioning
[petitboot] / utils / pb-udhcpc
index 3494985d3fc33dfcb6ed0b74b9b5d74368ba10b4..7ed9035d5e9dad89f7880a0815e645320b8939d4 100644 (file)
@@ -14,11 +14,12 @@ pb_add () {
        # parameter was in the header, or specified by options
        [ -z "$bootfile" ] && bootfile=${boot_file}
 
-       mac=$(< /sys/class/net/$interface/address)
+       mac=$(cat /sys/class/net/$interface/address)
        paramstr=''
 
        # Collect relevant DHCP response parameters into $paramstr
-       for name in conffile bootfile mac ip siaddr serverid tftp
+       for name in pxeconffile pxepathprefix bootfile mac ip siaddr \
+               serverid tftp
        do
                value=$(eval "echo \${$name}")
                [ -n "$value" ] || continue;
@@ -26,19 +27,20 @@ pb_add () {
                paramstr="$paramstr $name=$value"
        done
 
-       pb-event dhcp@{interface} $paramstr
+       pb-event dhcp@${interface} $paramstr
 
-       # Check if an explicit config file present
-       if [ -n "${conffile}" ]
+       # Check if an explicit boot file present. If there is, add it as
+       # an option directly.
+       if [ -z "${bootfile}" ]
        then
                return;
        fi
 
-        # Finally, add an option for the boot_file parameter
-       paramstr='name=netboot'
+       paramstr=""
 
-       # Collect relevant parameters to add an option to the boot_file parameter
-       for name in rootpath siaddr boot_file
+       # Collect relevant parameters to add an option to the bootfile
+       # parameter
+       for name in rootpath siaddr bootfile
         do
                 value=$(eval "echo \${$name}")
                 [ -n "$value" ] || continue;
@@ -46,11 +48,12 @@ pb_add () {
                 paramstr="$paramstr $name=$value"
         done
 
-       pb-event add@{interface} $paramstr
+       pb-event add@${interface} name="netboot $interface ($bootfile)" \
+               $paramstr
 }
 
 pb_remove () {
-       pb-event remove@${interface} name=netboot
+       pb-event remove@${interface}
 }
 
 case "$1" in