@@ -35,7 +35,20 @@ mkdir -p "$pkgdir/bits/scripts"
)
# Install the support files we need.
-cp "$srcdir/scripts/module-common.lds" "$pkgdir/bits/scripts"
+echo "II: copying support files ..."
+for lds_src in \
+ "$dkms_dir/headers/linux-headers-$abi_flavour/scripts/module.lds" \
+ "/usr/src/linux-headers-$abi_flavour/scripts/module.lds" \
+ "$dkms_dir/headers/linux-headers-$abi_flavour/scripts/module-common.lds" \
+ "/usr/src/linux-headers-$abi_flavour/scripts/module-common.lds"
+do
+ [ ! -f "$lds_src" ] && continue
+ echo "II: copying support files ... found $lds_src"
+ cp "$lds_src" "$pkgdir/bits/scripts"
+ break
+done
+
+# Build helper scripts.
grep /usr/bin/ld.bfd "$log" | grep -v scripts/genksyms/genksyms | sed -e "s@$build/@@g" >"$pkgdir/bits/BUILD"
sed -e 's/.*-o *\([^ ]*\) .*/rm -f \1/g' <"$pkgdir/bits/BUILD" >"$pkgdir/bits/CLEAN"
deleted file mode 100644
@@ -1,26 +0,0 @@
-/*
- * Common module linker script, always used when linking a module.
- * Archs are free to supply their own linker scripts. ld will
- * combine them automatically.
- */
-SECTIONS {
- /DISCARD/ : {
- *(.discard)
- *(.discard.*)
- }
-
- __ksymtab 0 : { *(SORT(___ksymtab+*)) }
- __ksymtab_gpl 0 : { *(SORT(___ksymtab_gpl+*)) }
- __ksymtab_unused 0 : { *(SORT(___ksymtab_unused+*)) }
- __ksymtab_unused_gpl 0 : { *(SORT(___ksymtab_unused_gpl+*)) }
- __ksymtab_gpl_future 0 : { *(SORT(___ksymtab_gpl_future+*)) }
- __kcrctab 0 : { *(SORT(___kcrctab+*)) }
- __kcrctab_gpl 0 : { *(SORT(___kcrctab_gpl+*)) }
- __kcrctab_unused 0 : { *(SORT(___kcrctab_unused+*)) }
- __kcrctab_unused_gpl 0 : { *(SORT(___kcrctab_unused_gpl+*)) }
- __kcrctab_gpl_future 0 : { *(SORT(___kcrctab_gpl_future+*)) }
-
- .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) }
-
- __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) }
-}
@@ -46,8 +46,7 @@ for thing in \
debian/scripts/misc/git-ubuntu-log \
debian/scripts/dkms-build \
debian/scripts/dkms-build--nvidia-N \
- debian/scripts/fix-filenames.c \
- scripts/module-common.lds
+ debian/scripts/fix-filenames.c
do
cp -p "$master_dir/$thing" "$thing" || exit 1
if ! git diff --exit-code -- "$thing" >/dev/null; then
In later kernels they have renamed the modules-common.lds file. Handle both the old and new names. We pick up the appropriate file from headers which are available (as they are in preparation) or actually installed as a build-dependency in all contexts. Drop the internal copy of this script and the update-version configuration to keep it up to date. BugLink: https://bugs.launchpad.net/bugs/1918134 Signed-off-by: Andy Whitcroft <apw@canonical.com> --- debian/scripts/dkms-build--nvidia-N | 15 ++++++++++++++- scripts/module-common.lds | 26 -------------------------- update-version | 3 +-- 3 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 scripts/module-common.lds