From 1dccf2a1ee4499303d26c03f3555424c5c4e83d2 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Feb 08 2024 12:06:52 +0000 Subject: rpm/kernel-binary.spec.in: install scripts/gdb when enabled in config (bsc#1219653) They are put into -devel subpackage. And a proper link to /usr/share/gdb/auto-load/ is created. --- diff --git a/rpm/kernel-binary.spec.in b/rpm/kernel-binary.spec.in index 37c9b61..43f2c59 100644 --- a/rpm/kernel-binary.spec.in +++ b/rpm/kernel-binary.spec.in @@ -886,6 +886,31 @@ if [ %CONFIG_MODULES = y ]; then fi fi +# CONFIG_GDB_SCRIPTS +if [ -e vmlinux-gdb.py ]; then + DEST=%rpm_install_dir/%cpu_arch_flavor/ + install -m 755 -d "$DEST" + # set sys.path to our devel.rpm scripts + sed 's@\(sys\.path\.insert(0, \).*@\1"%obj_install_dir/%cpu_arch_flavor/scripts/gdb/")@' vmlinux-gdb.py > "$DEST/vmlinux-gdb.py" + + DEST=%rpm_install_dir/%cpu_arch_flavor/scripts/gdb/linux + install -m 755 -d "$DEST" + pushd scripts/gdb/linux/ + for file in *.py; do + if test -L "$file"; then + # relink against our devel.rpm sources, not of buildroot's + ln -s "%src_install_dir/scripts/gdb/linux/$file" "$DEST/$file" + else + cp -p "$file" "$DEST" + fi + done + popd + + DEST=%{buildroot}%{_datadir}/gdb/auto-load%modules_dir + install -m 755 -d "$DEST" + ln -s %obj_install_dir/%cpu_arch_flavor/vmlinux-gdb.py "$DEST/vmlinux-gdb.py" +fi + rm -rf %{buildroot}/lib/firmware add_dirs_to_filelist() { @@ -899,7 +924,7 @@ add_dirs_to_filelist() { # print all parents :a # skip directories owned by other packages - s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$:: + s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/share|/usr/src)/[^/]+$:: s:/[^/]+$::p ta ' "$@" | sort -u @@ -932,6 +957,10 @@ shopt -s nullglob dotglob echo "/$file" %endif done + if test -d .%{_datadir}/gdb/; then + find .%obj_install_dir/%cpu_arch_flavor/scripts/gdb/linux/ -name '*.py' -type l | sed -e 's/^[.]//' + echo "%{_datadir}/gdb/auto-load%modules_dir/vmlinux-gdb.py" + fi } | add_dirs_to_filelist >%my_builddir/kernel-devel.files ( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \