Created
August 6, 2012 06:17
-
-
Save ivoronin/3271302 to your computer and use it in GitHub Desktop.
core/linux PKGBUILD patch for building debuginfo package
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -ur linux.orig/PKGBUILD linux/PKGBUILD | |
--- linux.orig/PKGBUILD 2012-08-28 21:53:04.757568936 +0400 | |
+++ linux/PKGBUILD 2012-08-28 22:05:23.470891452 +0400 | |
@@ -24,8 +24,8 @@ | |
'i915-i2c-crash-3.5.x.patch') | |
md5sums=('24153eaaa81dedc9481ada8cd9c3b83d' | |
'01e0536109d2a06b1701b5051edfcea2' | |
- '4eb50449b069bd699d92a290dce76d00' | |
- '74c0ce9291ad8aaf26546fe85a1a7d18' | |
+ 'f2abe8d7f67936cc0cc8fc50a8d5dcf0' | |
+ 'ab1872774f43493dabb6e12ef763f5b7' | |
'eb14dcfd80c00852ef81ded6e826826a' | |
'9d3c56a4b999c8bfbd4018089a62f662' | |
'c1d58e712112cf8f95e7831012a1e67a' | |
@@ -134,6 +134,7 @@ | |
# add vmlinux | |
install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" | |
+ objcopy --strip-debug "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" | |
# install fallback mkinitcpio.conf file and preset file for kernel | |
install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" | |
@@ -155,7 +156,7 @@ | |
# remove the firmware | |
rm -rf "${pkgdir}/lib/firmware" | |
# gzip -9 all modules to save 100MB of space | |
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; | |
+ find "${pkgdir}" -name '*.ko' -exec objcopy --strip-debug {} \; -exec gzip -9 {} \; | |
# make room for external modules | |
ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules" | |
# add real version for building modules and running depmod from post_install/upgrade | |
@@ -169,6 +170,39 @@ | |
depmod -b "$pkgdir" -F System.map "$_kernver" | |
} | |
+_package-debuginfo() { | |
+ pkgdesc="Debug information for the Linux Kernel and modules" | |
+ depends=('linux') | |
+ | |
+ cd "${srcdir}/linux-${_basekernel}" | |
+ | |
+ KARCH=x86 | |
+ | |
+ # get kernel version | |
+ _kernver="$(make kernelrelease)" | |
+ | |
+ mkdir -p "${pkgdir}"/usr/lib/debug/lib/modules/"${_kernver}" | |
+ make INSTALL_MOD_PATH="${pkgdir}"/usr/lib/debug modules_install | |
+ | |
+ # add vmlinux | |
+ _kernfile="${pkgdir}/usr/lib/debug/lib/modules/${_kernver}/vmlinux" | |
+ install -D -m644 vmlinux "${_kernfile}" | |
+ objcopy --only-keep-debug "${_kernfile}" | |
+ | |
+ # gzip -9 vmlinux | |
+ gzip -9 "${_kernfile}" | |
+ mv "${_kernfile}".gz "${_kernfile}" | |
+ | |
+ # remove build and source links | |
+ rm -f "${pkgdir}"/usr/lib/debug/lib/modules/${_kernver}/{source,build,modules.builtin,modules.order} | |
+ | |
+ # remove the firmware | |
+ rm -rf "${pkgdir}"/usr/lib/debug/lib/firmware | |
+ | |
+ # gzip -9 all modules | |
+ find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; -exec mv {}.gz {}.gz.debug \; | |
+} | |
+ | |
_package-headers() { | |
pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel" | |
provides=("kernel26${_kernelname}-headers=${pkgver}") | |
@@ -317,7 +351,7 @@ | |
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" | |
} | |
-pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs") | |
+pkgname=("${pkgbase}" "${pkgbase}-debuginfo" "${pkgbase}-headers" "${pkgbase}-docs") | |
for _p in ${pkgname[@]}; do | |
eval "package_${_p}() { | |
_package${_p#${pkgbase}} | |
diff -ur linux.orig/config linux/config | |
--- linux.orig/config 2012-08-28 21:53:04.757568936 +0400 | |
+++ linux/config 2012-08-28 22:04:59.507558470 +0400 | |
@@ -5620,7 +5620,8 @@ | |
# CONFIG_DEBUG_KOBJECT is not set | |
# CONFIG_DEBUG_HIGHMEM is not set | |
CONFIG_DEBUG_BUGVERBOSE=y | |
-# CONFIG_DEBUG_INFO is not set | |
+CONFIG_DEBUG_INFO=y | |
+CONFIG_DEBUG_INFO_REDUCED=n | |
# CONFIG_DEBUG_VM is not set | |
# CONFIG_DEBUG_VIRTUAL is not set | |
# CONFIG_DEBUG_WRITECOUNT is not set | |
diff -ur linux.orig/config.x86_64 linux/config.x86_64 | |
--- linux.orig/config.x86_64 2012-08-28 21:53:04.760902270 +0400 | |
+++ linux/config.x86_64 2012-08-28 22:05:06.900891696 +0400 | |
@@ -5389,7 +5389,8 @@ | |
# CONFIG_DEBUG_STACK_USAGE is not set | |
# CONFIG_DEBUG_KOBJECT is not set | |
CONFIG_DEBUG_BUGVERBOSE=y | |
-# CONFIG_DEBUG_INFO is not set | |
+CONFIG_DEBUG_INFO=y | |
+CONFIG_DEBUG_INFO_REDUCED=n | |
# CONFIG_DEBUG_VM is not set | |
# CONFIG_DEBUG_VIRTUAL is not set | |
# CONFIG_DEBUG_WRITECOUNT is not set |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment