#export DH_VERBOSE=1
# TODO: check for headers not being installed
+BUILD_DIR=$(shell pwd)
include /usr/share/dpkg/default.mk
+include debian/rules.d/env.mk
include debian/rules.d/${DEB_BUILD_ARCH}.mk
-KVNAME=${DEB_VERSION_UPSTREAM}${EXTRAVERSION}
CHANGELOG_DATE:=$(shell dpkg-parsechangelog -SDate)
PVE_KERNEL_PKG=pve-kernel-${KVNAME}
binary: install
debian/rules fwcheck abicheck
- dh_strip
+ dh_strip -N${PVE_HEADER_PKG}
dh_makeshlibs
dh_shlibdeps
dh_installdeb
touch $@
.tools_compile_mark: .compile_mark
- ${MAKE} -C ${KERNEL_SRC}/tools/perf prefix=/usr HAVE_CPLUS_DEMANGLE=1 NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBCRYPTO=1 PYTHON=python2.7
+ ${MAKE} -C ${KERNEL_SRC}/tools/perf prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBCRYPTO=1 PYTHON=python2.7
+ echo "checking GPL-2 only perf binary for library linkage with incompatible licenses.."
+ ! ldd ${KERNEL_SRC}/tools/perf/perf | grep -q -E '\blibbfd'
+ ! ldd ${KERNEL_SRC}/tools/perf/perf | grep -q -E '\blibcrypto'
${MAKE} -C ${KERNEL_SRC}/tools/perf man
+ # contained in linux-base
+ rm -f ${KERNEL_SRC}/tools/perf/Documentation/perf.1
touch $@
.tools_install_mark: .tools_compile_mark
rm -rf debian/${LINUX_TOOLS_PKG}
mkdir -p debian/${LINUX_TOOLS_PKG}/usr/bin
+ mkdir -p debian/${LINUX_TOOLS_PKG}/usr/share/man/man1
install -m 755 ${BUILD_DIR}/${KERNEL_SRC}/tools/perf/perf debian/${LINUX_TOOLS_PKG}/usr/bin/perf_4.13
+ install -m644 ${BUILD_DIR}/${KERNEL_SRC}/tools/perf/Documentation/*.1 debian/${LINUX_TOOLS_PKG}/usr/share/man/man1
touch $@
.headers_install_mark: .compile_mark .modules_compile_mark
mkdir -p debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
install -m 0644 ${KERNEL_SRC}/.config debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
install -m 0644 ${KERNEL_SRC}/Module.symvers debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
- cd ${KERNEL_SRC}; find . -path './debian/*' -prune -o -path './include/*' -prune -o -path './Documentation' -prune \
- -o -path './scripts' -prune -o -type f \
- \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
- -name '*.sh' -o -name '*.pl' \) \
- -print | cpio -pd --preserve-modification-time ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
+ cd ${KERNEL_SRC}; find . -path './debian/*' -prune \
+ -o -path './include/*' -prune \
+ -o -path './Documentation' -prune \
+ -o -path './scripts' -prune \
+ -o -type f \
+ \( \
+ -name 'Makefile*' \
+ -o -name 'Kconfig*' \
+ -o -name 'Kbuild*' \
+ -o -name '*.sh' \
+ -o -name '*.pl' \
+ \) \
+ -print | cpio -pd --preserve-modification-time ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
cd ${KERNEL_SRC}; cp -a include scripts ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
- cd ${KERNEL_SRC}; (find arch/${KERNEL_HEADER_ARCH} -name include -type d -print | \
- xargs -n1 -i: find : -type f) | \
- cpio -pd --preserve-modification-time ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
+ cd ${KERNEL_SRC}; \
+ ( \
+ find arch/${KERNEL_HEADER_ARCH} -name include -type d -print | \
+ xargs -n1 -i: find : -type f \
+ ) | \
+ cpio -pd --preserve-modification-time ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
mkdir -p debian/${PVE_HEADER_PKG}/lib/modules/${KVNAME}
ln -sf /usr/src/linux-headers-${KVNAME} debian/${PVE_HEADER_PKG}/lib/modules/${KVNAME}/build
touch $@
abi-${KVNAME}: .compile_mark
- sed -e 's/^\(.\+\)[[:space:]]\+\(.\+\)[[:space:]]\(.\+\)$$/\3 \2 \1/' debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}/Module.symvers | sort > abi-${KVNAME}
+ debian/scripts/abi-generate debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}/Module.symvers abi-${KVNAME} ${KVNAME}
.PHONY: abicheck
-abicheck: debian/scripts/abi-check abi-${KVNAME} abi-previous abi-blacklist
- debian/scripts/abi-check abi-${KVNAME} abi-previous ${SKIPABI}
+abicheck: debian/scripts/abi-check abi-${KVNAME} abi-prev-* abi-blacklist
+ debian/scripts/abi-check abi-${KVNAME} abi-prev-* ${SKIPABI}
.PHONY: clean