Update builddeb

This commit is contained in:
orangepi-xunlong 2022-03-25 17:25:30 +08:00
parent 965f749b72
commit b7051b4fb5
2 changed files with 105 additions and 99 deletions

View File

@ -68,13 +68,13 @@ create_package() {
# Create preinstall and post install script to remove dtb # Create preinstall and post install script to remove dtb
if [ "$3" = "dtb" ]; then if [ "$3" = "dtb" ]; then
cat >> $pdir/DEBIAN/preinst <<EOT cat >> $pdir/DEBIAN/preinst <<- EOT
rm -rf /boot/dtb rm -rf /boot/dtb
rm -rf /boot/dtb-$version rm -rf /boot/dtb-$version
exit 0 exit 0
EOT EOT
cat >> $pdir/DEBIAN/postinst <<EOT cat >> $pdir/DEBIAN/postinst <<- EOT
cd /boot cd /boot
ln -sfT dtb-$version dtb 2> /dev/null || mv dtb-$version dtb ln -sfT dtb-$version dtb 2> /dev/null || mv dtb-$version dtb
exit 0 exit 0
@ -89,7 +89,7 @@ EOT
# Set the time for all files to the current time. # Set the time for all files to the current time.
# And build them for the current architecture. # And build them for the current architecture.
cat >> $pdir/DEBIAN/postinst << EOT cat >> $pdir/DEBIAN/postinst <<- EOT
cd /usr/src/linux-headers-$version cd /usr/src/linux-headers-$version
echo "Compiling headers - please wait ..." echo "Compiling headers - please wait ..."
NCPU=\$(grep -c 'processor' /proc/cpuinfo) NCPU=\$(grep -c 'processor' /proc/cpuinfo)
@ -103,7 +103,7 @@ EOT
# After the configuration and compilation processes, new files # After the configuration and compilation processes, new files
# appear that the package manager does not know anything about. # appear that the package manager does not know anything about.
# Just clear all the files in the target directory. # Just clear all the files in the target directory.
cat >> $pdir/DEBIAN/prerm << EOT cat >> $pdir/DEBIAN/prerm <<- EOT
rm -rf /usr/src/linux-headers-$version rm -rf /usr/src/linux-headers-$version
exit 0 exit 0
EOT EOT
@ -112,7 +112,6 @@ EOT
chmod 775 $pdir/DEBIAN/prerm chmod 775 $pdir/DEBIAN/prerm
fi fi
# Create the package # Create the package
dpkg-gencontrol -p$pname -P"$pdir" dpkg-gencontrol -p$pname -P"$pdir"
dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" ..
@ -220,6 +219,7 @@ parisc|mips|powerpc)
*) *)
image_name=vmlinuz image_name=vmlinuz
installed_image_path="boot/vmlinuz-$version" installed_image_path="boot/vmlinuz-$version"
;;
esac esac
BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)
@ -249,7 +249,7 @@ cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path"
if is_enabled CONFIG_OF_EARLY_FLATTREE; then if is_enabled CONFIG_OF_EARLY_FLATTREE; then
# Only some architectures with OF support have this target # Only some architectures with OF support have this target
if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then
$MAKE -f $srctree/Makefile INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install $MAKE -f $srctree/Makefile INSTALL_DTBS_PATH="$tmpdir/usr/lib/linux-image-$version" dtbs_install
fi fi
fi fi
@ -262,10 +262,12 @@ if is_enabled CONFIG_MODULES; then
INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_install INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_install
rm -f "$tmpdir/lib/modules/$version/build" rm -f "$tmpdir/lib/modules/$version/build"
rm -f "$tmpdir/lib/modules/$version/source" rm -f "$tmpdir/lib/modules/$version/source"
if [ "$ARCH" = "um" ]; then if [ "$ARCH" = "um" ]; then
mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/" mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
rmdir "$tmpdir/lib/modules/$version" rmdir "$tmpdir/lib/modules/$version"
fi fi
if [ -n "$BUILD_DEBUG" ]; then if [ -n "$BUILD_DEBUG" ]; then
for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do
module=lib/modules/$module module=lib/modules/$module
@ -293,7 +295,7 @@ fi
debhookdir=${KDEB_HOOKDIR:-/etc/kernel} debhookdir=${KDEB_HOOKDIR:-/etc/kernel}
for script in postinst postrm preinst prerm; do for script in postinst postrm preinst prerm; do
mkdir -p "$tmpdir$debhookdir/$script.d" mkdir -p "$tmpdir$debhookdir/$script.d"
cat <<EOF > "$tmpdir/DEBIAN/$script" cat <<- EOF > "$tmpdir/DEBIAN/$script"
#!/bin/bash #!/bin/bash
set -e set -e
@ -314,7 +316,7 @@ done
## Create sym link to kernel image ## Create sym link to kernel image
## ##
sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst
cat >> $tmpdir/DEBIAN/postinst << EOT cat >> $tmpdir/DEBIAN/postinst <<- EOT
ln -sf $(basename $installed_image_path) /boot/$image_name 2> /dev/null || mv /$installed_image_path /boot/$image_name ln -sf $(basename $installed_image_path) /boot/$image_name 2> /dev/null || mv /$installed_image_path /boot/$image_name
touch /boot/.next touch /boot/.next
exit 0 exit 0
@ -324,11 +326,11 @@ EOT
## FAT install workaround ## FAT install workaround
## ##
sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst
cat >> $tmpdir/DEBIAN/preinst <<EOT cat >> $tmpdir/DEBIAN/preinst <<- EOT
# exit if we are running chroot # exit if we are running chroot
if [ "\$(stat -c %d:%i /)" != "\$(stat -c %d:%i /proc/1/root/.)" ]; then exit 0; fi if [ "\$(stat -c %d:%i /)" != "\$(stat -c %d:%i /proc/1/root/.)" ]; then exit 0; fi
check_and_unmount (){ check_boot_dev (){
boot_device=\$(mountpoint -d /boot) boot_device=\$(mountpoint -d /boot)
for file in /dev/* ; do for file in /dev/* ; do
@ -338,13 +340,13 @@ check_and_unmount (){
break break
fi fi
done done
bootfstype=\$(blkid -s TYPE -o value \$boot_partition) bootfstype=\$(blkid -s TYPE -o value \$boot_partition)
if [ "\$bootfstype" = "vfat" ]; then if [ "\$bootfstype" = "vfat" ]; then
umount /boot
rm -f /boot/System.map* /boot/config* /boot/vmlinuz* /boot/$image_name /boot/uImage rm -f /boot/System.map* /boot/config* /boot/vmlinuz* /boot/$image_name /boot/uImage
fi fi
} }
mountpoint -q /boot && check_and_unmount mountpoint -q /boot && check_boot_dev
exit 0 exit 0
EOT EOT
@ -368,7 +370,10 @@ if [ "$ARCH" != "um" ]; then
else else
# Clean up the executables that are left over from # Clean up the executables that are left over from
# cross-compilation for a different host architecture. # cross-compilation for a different host architecture.
(cd $srctree; make M=scripts clean;) (
cd $srctree
make M=scripts clean
)
deploy_kernel_headers $kernel_headers_dir deploy_kernel_headers $kernel_headers_dir
create_package $kernel_headers_packagename $kernel_headers_dir "headers" create_package $kernel_headers_packagename $kernel_headers_dir "headers"
fi fi

View File

@ -223,6 +223,7 @@ fi
if is_enabled CONFIG_DEBUG_INFO; then if is_enabled CONFIG_DEBUG_INFO; then
cat <<EOF >> debian/control cat <<EOF >> debian/control
Package: $dbg_packagename Package: $dbg_packagename
Section: debug Section: debug
Architecture: $debarch Architecture: $debarch