]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
hooks/30-hostname: Exit with 0 if setting hostname is not needed
authorBenjamin Drung <benjamin.drung@canonical.com>
Tue, 7 May 2024 09:20:04 +0000 (11:20 +0200)
committerRoy Marples <roy@marples.name>
Mon, 13 May 2024 15:19:40 +0000 (16:19 +0100)
If the hostname is already set before dhcpcd is started, `need_hostname`
will hit the "No old hostname" case and will call `false` to return 1.
`set_hostname` will return with the same return value. Then
`30-hostname` will exit with the same exit value:

```
dhcpcd-10.0.6 starting
dev: loaded udev
DUID 00:03:00:01:3c:97:0e:e9:32:3c
enp0s25: IAID 0e:e9:32:3c
enp0s25: soliciting a DHCP lease
enp0s25: offered 192.168.3.61 from 192.168.1.7
enp0s25: ignoring offer of 192.168.3.61 from 192.168.1.8
enp0s25: probing address 192.168.3.61/20
enp0s25: leased 192.168.3.61 for 3600 seconds
enp0s25: adding route to 192.168.0.0/20
enp0s25: adding default route via 192.168.1.1
script_status: /usr/lib/dhcpcd/dhcpcd-run-hooks: WEXITSTATUS 1
exiting due to oneshot
dhcpcd exited
```

Return with value 0 in case setting the hostname is not needed.

Bug-Ubuntu: https://launchpad.net/bugs/2064926
Signed-off-by: Benjamin Drung <benjamin.drung@canonical.com>
hooks/30-hostname.in

index b0a37576429f9175f16009a75c888518e3828be8..98e419f8a5238cb13118ad31fa7d6cb45bd5ddbf 100644 (file)
@@ -118,7 +118,7 @@ set_hostname()
        *)                                      hshort=true;;
        esac
 
-       need_hostname || return
+       need_hostname || return 0
 
        if [ -n "$new_fqdn" ]; then
                if ${hfqdn} || ! ${hshort}; then