Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=ryuotesting.git;a=commitdiff;h=f667d79036537b8f4645e6142c6d4ffff0c35747
commit f667d79036537b8f4645e6142c6d4ffff0c35747 Author: James Buren <[email protected]> Date: Wed Feb 15 15:17:17 2012 -0600 kernel-initrd.sh: initial draft of new schema diff --git a/source/include/kernel-initrd.sh b/source/include/kernel-initrd.sh new file mode 100644 index 0000000..bd87dec --- /dev/null +++ b/source/include/kernel-initrd.sh @@ -0,0 +1,111 @@ +#!/bin/sh + +### +# = kernel-initrd.sh(3) +# James Buren <[email protected]> +# +# == NAME +# kernel-initrd.sh - for Frugalware +# +# == SYNOPSIS +# Common schema for kernel initrd packages. +# +# == EXAMPLE +# -------------------------------------------------- +# pkgname=kernel-initrd-modules +# pkgrel=1 +# pkgdesc="Initrd for kernel modules." +# _F_kernel_initrd_options="--kernel-only" +# _F_kernel_initrd_name="initrd-modules" +# _F_kernel_initrd_modules_check=y +# +# Finclude kernel-initrd +# +# rodepends=("kernel=$_F_kernelver_ver-$_F_kernelver_rel") +# -------------------------------------------------- +# +# == OPTIONS +# * _F_kernel_initrd_modules_check: specify if you want the generated initrd +# to be checked for kernel modules +# * _F_kernel_initrd_options: options to pass to dracut +# * _F_kernel_initrd_name: name of initrd to place under /boot +### +Finclude kernel-version + +if [ -z "$_F_kernel_initrd_name" ]; then + error "_F_kernel_initrd_name is not defined." + Fdie +fi + +if [ -z "$_F_kernel_initrd_options" ]; then + error "_F_kernel_initrd_options is not defined." + Fdie +fi + +### +# == OVERWRITTEN VARIABLES +# * pkgver +# * url +# * makedepends() +# * archs() +# * up2date +# * groups() +# * source() +# * options() +### +pkgver=$_F_kernelver_ver +url="http://www.frugalware.org" +makedepends=( +'udev>=175-2' +'systemd>=38-2' +'kmod>=4-2' +'xz' +'linux-firmware>=20120203-1' +'eject' +'sysvinit-tools' +'less' +'xfsprogs' +'jfsutils' +'reiserfsprogs' +'mdadm' +'lvm2' +'dracut-plymouth' +'dracut-raid' +"kernel=$_F_kernelver_ver-$_F_kernelver_rel" +) +archs=('i686' 'x86_64') +up2date="$pkgver" +groups=('base') +source=() +options=('scriptlet') + +### +# == PROVIDED FUNCTIONS +# * Fbuild_kernel_initrd() +### +Fbuild_kernel_initrd() +{ + local _UNAME _INITRD + _UNAME="$_F_kernelver_ver-fw$_F_kernelver_rel" + _INITRD="$_F_kernel_initrd_name-$_UNAME" + Fmkdir /boot + Fexec /usr/sbin/dracut --no-compress --force -a dmsquash-live \ + $_F_kernel_initrd_options $_INITRD $_UNAME || Fdie + if [ -n "$_F_kernel_initrd_modules_check" ]; then + Fmessage "Checking initrd for kernel modules." + if ! cpio -t < $_INITRD | grep -q '\.ko\.xz$'; then + error "No kernel modules in initrd." + Fdie + fi + fi + xz < $_INITRD > $Fdestdir/boot/$_INITRD || Fdie + Fln $_INITRD /boot/${_INITRD/-$_UNAME/} +} + +### +# * build() just calls Fbuild_kernel_initrd() +### +build() +{ + Fbuild_kernel_initrd +} _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
