File: fetch-liveupdate.sh

package info (click to toggle)
dracut 059-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,464 kB
  • sloc: sh: 24,874; ansic: 4,479; makefile: 350; perl: 241; python: 28
file content (31 lines) | stat: -rwxr-xr-x 843 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh
# fetch-liveupdate - fetch an update image for dmsquash-live media.
# this gets called by the "initqueue/online" hook for each network interface
# that comes online.

# no updates requested? we're not needed.
[ -e /tmp/liveupdates.info ] || return 0

command -v getarg > /dev/null || . /lib/dracut-lib.sh
command -v fetch_url > /dev/null || . /lib/url-lib.sh
command -v unpack_img > /dev/null || . /lib/img-lib.sh

read -r url < /tmp/liveupdates.info

info "fetching live updates from $url"

if ! fetch_url "$url" /tmp/updates.img; then
    warn "failed to fetch update image!"
    warn "url: $url"
    return 1
fi

if ! unpack_img /tmp/updates.img /updates.tmp.$$; then
    warn "failed to unpack update image!"
    warn "url: $url"
    return 1
fi

copytree /updates.tmp.$$ /updates

mv /tmp/liveupdates.info /tmp/liveupdates.done