diff options
author | maximilian attems <maks@debian.org> | 2006-02-17 21:43:38 +0100 |
---|---|---|
committer | maximilian attems <maks@debian.org> | 2006-02-17 21:43:38 +0100 |
commit | 0d19ff751ee9d9ceb2bf41de2b6fb0c0094a1aaa (patch) | |
tree | 6cb3d90482556685a6e96dfa6df9a6469d88113d /mkinitramfs-kpkg | |
parent | 785fb28847d8a620625a23aeafdc0fe85ef7adf9 (diff) | |
download | initramfs-tools-0d19ff751ee9d9ceb2bf41de2b6fb0c0094a1aaa.tar.gz initramfs-tools-0d19ff751ee9d9ceb2bf41de2b6fb0c0094a1aaa.zip |
add kernel-package compat stuff, behaves like mkinitramfs and adds
an sha1sum for update-initramfs.
is meant for etch release, hope we get rid afterwards.
will allow to clean up mkinitramfs from the longoption calls.
Diffstat (limited to 'mkinitramfs-kpkg')
-rw-r--r-- | mkinitramfs-kpkg | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/mkinitramfs-kpkg b/mkinitramfs-kpkg new file mode 100644 index 0000000..d36710a --- /dev/null +++ b/mkinitramfs-kpkg @@ -0,0 +1,94 @@ +#!/bin/sh + +STATEDIR=/var/lib/initramfs-tools + +usage() +{ + cat >&2 << EOF + +Usage: ${0} <-o outfile> [version] + +Please use update-initramfs(8): +${0} exists for compatibility by kernel-package(5) calls. +See ${0}(8) for further details. +EOF + exit 1 +} + +OPTIONS=`getopt -o m:o: --long supported-host-version:,supported-target-version: -n "$0" -- "$@"` +# Check for non-GNU getopt +if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi + +eval set -- "$OPTIONS" + +while true; do + case "$1" in + -m) + # ignore + shift 2 + ;; + -o) + touch $2 + outfile="$(readlink -f "$2")" + shift 2 + ;; + --supported-host-version) + supported_host_version="$2" + shift 2 + ;; + --supported-target-version) + supported_target_version="$2" + shift 2 + ;; + --) + shift + break + ;; + *) + echo "Internal error!" >&2 + exit 1 + ;; + esac +done + +if [ -n "$supported_host_version" ] || [ -n "$supported_target_version" ]; then + if [ -n "$supported_host_version" ]; then + host_upstream_version="${supported_host_version%%-*}" + fi + if [ -n "$supported_target_version" ]; then + target_upstream_version="${supported_target_version%%-*}" + if dpkg --compare-versions "$target_upstream_version" lt "2.6.12"; then + exit 2 + fi + fi + exit 0 +fi + + +if [ -z "${outfile}" ]; then + usage +fi + +# And by "version" we really mean path to kernel modules +# This is braindead, and exists to preserve the interface with mkinitrd +version="${1}" + +case "${version}" in +/lib/modules/*/[!/]*) + ;; +/lib/modules/[!/]*) + version="${version#/lib/modules/}" + version="${version%%/*}" + ;; +esac + +case "${version}" in +*/*) + echo "$PROG: ${version} is not a valid kernel version" >&2 + exit 1 + ;; +esac + +# linux-image installs latest version +mkinitramfs -o ${outfile} ${version} +sha1sum "${outfile}" | sed -e 's/\.new//' > "${STATEDIR}/${version}" |