#!/bin/bash # # Copyright (c) 2021 Wind River Systems, Inc. # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. The ASF licenses this # file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # The only parameter is the name of the new directory that will contain # the extracted source code. Be aware that this new directory will be # created in the same directory as where this script is located when # building. # Tools needed: tar/sed KERNEL_HEAD_COMMIT=7c2d49c69f3f7e59a598fa8f618b37836fd56404 DEBIAN_FILE=linux_6.1.27-1~bpo11%2B1.debian.tar.xz tar xvf linux-yocto-${KERNEL_HEAD_COMMIT}.tar.gz if [ $? -ne 0 ] then echo "tar failed: linux-yocto source!" exit 1 fi mv linux-yocto-${KERNEL_HEAD_COMMIT} $1 cd $1 tar xvf ../${DEBIAN_FILE} if [ $? -ne 0 ] then echo "tar failed: debian folder for kernel!" exit 1 fi cd debian cp "${MY_REPO_ROOT_DIR}"/cgcs-root/stx/kernel/kernel-rt/\ /debian/source/changelog ./ cp "${MY_REPO_ROOT_DIR}"/cgcs-root/stx/kernel/kernel-rt/\ /debian/source/config ./config/amd64/none cd - # The debian folder is written to build "linux". If use this folder # to build similar things for kernel-rt, all the packages are renamed # from "linux-xxx" to "linux-rt-xxx". Here replace those packages' # name in those files of the debian folder which will affect building. SED_LIST=" ./debian/bin ./debian/rules.d/tools/perf ./debian/rules ./debian/rules.real ./debian/signing_templates ./debian/templates ./debian/control" sed -i "s/linux-headers/linux-rt-headers/g" `grep -rl "linux-headers" $SED_LIST` sed -i "s/linux-image/linux-rt-image/g" `grep -rl "linux-image" $SED_LIST` sed -i "s/linux-perf/linux-rt-perf/g" `grep -rl "linux-perf" $SED_LIST` sed -i "s/linux-config/linux-rt-config/g" `grep -rl "linux-config" $SED_LIST` sed -i "s/linux-kbuild/linux-rt-kbuild/g" `grep -rl "linux-kbuild" $SED_LIST` sed -i "s/linux-libc-dev/linux-rt-libc-dev/g" `grep -rl "linux-libc-dev" $SED_LIST` sed -i "s/linux-source/linux-rt-source/g" `grep -rl "linux-source" $SED_LIST` sed -i "s/linux-support/linux-rt-support/g" `grep -rl "linux-support" $SED_LIST` # The abiname is changed from "0.deb11.9" to "1-rt", so replace # "6.1.0-0.deb11.9" with "6.6.0-1-rt" in init control file. sed -i "s/6\.1\.0-0\.deb11\.9/6.6.0-1-rt/g" ./debian/control # This is the only file name that involves renaming in debian # folder. mv debian/linux-image.NEWS debian/linux-rt-image.NEWS