summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend
blob: 52fe69d24e1ccf915737f71ba7939f4b08b190a0 (plain)
1
2
3
4
5
6
# fix for kernel using hardcoded awk while our filesystem only provides gawk
do_install_append() {
    # enforce all scripts to use /usr/bin/awk . This fixes the rpm dependency failure on install of kernel-devsrc
    cd ${D} || true
    ( for i in `grep -srI "\!/bin/awk" | cut -d":" -f1 ` ; do sed -i -e "s#\!/bin/awk#\!/usr/bin/env awk#g" $i ; done ) || true
}
class="ch">#!/bin/sh # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. ORG="/C=FR/ST=Brittany/L=Vannes/O=IoT.bzh" cat > extensions << EOC [root] basicConstraints=CA:TRUE keyUsage=keyCertSign subjectKeyIdentifier=hash authorityKeyIdentifier=keyid [derivate] basicConstraints=CA:TRUE keyUsage=keyCertSign,digitalSignature subjectKeyIdentifier=hash authorityKeyIdentifier=keyid EOC keyof() { echo -n "$1.key.pem"; } certof() { echo -n "$1.cert.pem"; } generate() { local s="$1" n="$2" cn="$3" sig="$4" local key="$(keyof "$n")" cert="$(certof "$n")" if [ ! -f "$key" ] then echo echo "generation of the $n key" openssl genpkey \ -algorithm RSA -pkeyopt rsa_keygen_bits:4096 \ -outform PEM \ -out "$key" fi if [ ! -f "$cert" -o "$key" -nt "$cert" ] then echo echo "generation of the $n certificate" openssl req -new \ -key "$key" \ -subj "$ORG/CN=$cn" | openssl x509 -req \ -days 3653 \ -sha256 \ -extfile extensions \ -trustout \ $sig \ -set_serial $s \ -setalias "$cn" \ -out "$cert" fi } genroot() { local s="$1" n="$2" cn="$3" generate "$s" "$n" "$cn" "-signkey $(keyof "$n") -extensions root" } derivate() { local s="$1" n="$2" cn="$3" i="$4" generate "$s" "$n" "$cn" "-CA $(certof "$i") -CAkey $(keyof "$i") -extensions derivate" } genroot 1 root "Root certificate" derivate 2 developer "Root developer" root derivate 3 platform "Root platform" root derivate 4 partner "Root partner" root derivate 5 public "Root public" root rm extensions