diff options
author | rbalocca <rbalocca@vyatta.com> | 2008-10-28 14:49:35 -0700 |
---|---|---|
committer | rbalocca <rbalocca@vyatta.com> | 2008-10-28 14:49:35 -0700 |
commit | 3939e96a8830755228bd2bbedb50db6808d36f80 (patch) | |
tree | 6c55ccb42447ad90946ee6157dab49e573ec92d2 /mkinitramfs-kpkg | |
download | initramfs-tools-3939e96a8830755228bd2bbedb50db6808d36f80.tar.gz initramfs-tools-3939e96a8830755228bd2bbedb50db6808d36f80.zip |
initramfs-tools-0.92j from mirrrors.kernel.orgdebian/0.92j
Diffstat (limited to 'mkinitramfs-kpkg')
-rwxr-xr-x | mkinitramfs-kpkg | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/mkinitramfs-kpkg b/mkinitramfs-kpkg new file mode 100755 index 0000000..ea0e783 --- /dev/null +++ b/mkinitramfs-kpkg @@ -0,0 +1,100 @@ +#!/bin/sh +set -eu + +STATEDIR=/var/lib/initramfs-tools +supported_host_version="" +supported_target_version="" +outfile="" + +# FIXME: drop script after Lenny (needed for Etch linux-images) + +usage() +{ + cat >&2 << EOF + +Usage: ${0} <-o outfile> [version] + +Please use update-initramfs(8): +${0} exists for compatibility by kernel-package(5) calls. +See mkinitramfs-kpkg(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}" |