diff options
Diffstat (limited to 'src/mkinitramfs-samizdat')
-rwxr-xr-x | src/mkinitramfs-samizdat | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/mkinitramfs-samizdat b/src/mkinitramfs-samizdat deleted file mode 100755 index c2e6141..0000000 --- a/src/mkinitramfs-samizdat +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | if [ "$(id -u)" != 0 ] | ||
3 | then | ||
4 | exec sudo -- "$0" "$@" | ||
5 | exit 1 | ||
6 | fi | ||
7 | |||
8 | loudly() | ||
9 | { | ||
10 | (set -x | ||
11 | "$@") | ||
12 | } | ||
13 | |||
14 | deb_arch() | ||
15 | { | ||
16 | dpkg-architecture -q DEB_HOST_ARCH | ||
17 | } | ||
18 | |||
19 | up_to_date() | ||
20 | { | ||
21 | local found | ||
22 | [ -e "$1" ] || return | ||
23 | [ -z "$FORCE_BUILD" ] || return | ||
24 | found=$(find "$samizdat_initramfs_conf_dir" \ | ||
25 | "$samizdat_initrd_files_dir" \ | ||
26 | -type f -newer "$1" -print -quit) || return | ||
27 | [ -z "$found" ] | ||
28 | } | ||
29 | |||
30 | build_image() | ||
31 | { | ||
32 | OUTPUT=/boot/initrd.img-$1 | ||
33 | # Always regenerate when --system specified. | ||
34 | # Otherwise, only regenerate if it appears dependencies changed. | ||
35 | if ! up_to_date "$OUTPUT" | ||
36 | then | ||
37 | /usr/sbin/mkinitramfs \ | ||
38 | -d "$samizdat_initramfs_conf_dir" \ | ||
39 | -o "$OUTPUT" \ | ||
40 | -k "$1" || return | ||
41 | fi | ||
42 | loudly ln -sf "${OUTPUT#/}" /initrd.img | ||
43 | } | ||
44 | |||
45 | . samizdat-paths.sh | ||
46 | |||
47 | OUTPUT_TAG= | ||
48 | FORCE_BUILD= | ||
49 | while [ $# -gt 0 ] | ||
50 | do | ||
51 | case "$1" in | ||
52 | -t|--tag) OUTPUT_TAG=.samizdat;; | ||
53 | -f|--force) FORCE_BUILD=y;; | ||
54 | --) shift; break;; | ||
55 | -*) exit 1;; | ||
56 | *) break;; | ||
57 | esac | ||
58 | shift | ||
59 | done | ||
60 | |||
61 | if [ "$1" ] | ||
62 | then | ||
63 | k=/boot/vmlinuz-$1 | ||
64 | if ! [ -e "$k" ] | ||
65 | then | ||
66 | printf 'Error: No such file: %s\n' "$k" >&2 | ||
67 | exit 1 | ||
68 | fi | ||
69 | build_image "$1$OUTPUT_TAG" || exit | ||
70 | ln -sf "${k#/}" /vmlinuz | ||
71 | elif [ -L /vmlinuz ] | ||
72 | then | ||
73 | l=$(readlink /vmlinuz) | ||
74 | mv=${l#boot/vmlinuz-} | ||
75 | for v in "$mv" "$mv-$(deb_arch)" | ||
76 | do | ||
77 | [ -e "/boot/vmlinuz-$v" ] || continue | ||
78 | build_image "$v" | ||
79 | exit | ||
80 | done | ||
81 | exit 1 | ||
82 | else | ||
83 | printf 'Error: Could not determine kernel version. Create /vmlinuz or specify a version.' >&2 | ||
84 | exit 1 | ||
85 | fi | ||