45 lines
1.6 KiB
Bash
45 lines
1.6 KiB
Bash
# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package
|
|
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
|
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
|
|
|
# The prepare function is executed in the root of the temp directory
|
|
# This function is used for putting downloaded files to the correct location or applying patches
|
|
prepare() {
|
|
cd "$BPM_SOURCE"
|
|
|
|
make mrproper
|
|
cp ../config .config
|
|
}
|
|
|
|
# The build function is executed in the source directory
|
|
# This function is used to compile the source code
|
|
build() {
|
|
make LLVM=1 olddefconfig
|
|
make LLVM=1
|
|
}
|
|
|
|
# The package function is executed in the source directory
|
|
# This function is used to move the compiled files into the output directory
|
|
package_linux-lts() {
|
|
# Install kernel modules
|
|
make INSTALL_MOD_PATH="$BPM_OUTPUT"/usr INSTALL_MOD_STRIP=1 modules_install
|
|
|
|
# Install kernel image and config
|
|
install -Dm644 arch/x86/boot/bzImage "$BPM_OUTPUT"/boot/vmlinuz-linux-lts
|
|
install -Dm644 .config "$BPM_OUTPUT"/boot/config-linux-lts
|
|
|
|
# Install package licenses
|
|
install -d "$BPM_OUTPUT"/usr/share/licenses
|
|
cp -r LICENSES "$BPM_OUTPUT"/usr/share/licenses/linux-lts
|
|
}
|
|
|
|
package_linux-lts-docs() {
|
|
# Install documentation
|
|
install -d "$BPM_OUTPUT"/usr/share/doc/
|
|
cp -r Documentation "$BPM_OUTPUT"/usr/share/doc/linux-lts
|
|
|
|
# Install package licenses
|
|
install -d "$BPM_OUTPUT"/usr/share/licenses
|
|
ln -sf linux-lts "$BPM_OUTPUT"/usr/share/licenses/linux-lts-docs
|
|
}
|