[linux-tools] 02/02: Add liblockdep packages

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Fri Aug 14 08:37:09 UTC 2015


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch benh/liblockdep
in repository linux-tools.

commit 042546e3a12601034b99d0f4c52565989e03a0e1
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Thu Aug 13 20:48:12 2015 +0200

    Add liblockdep packages
    
    liblockdep is in fairly bad shape - one patch needed to make it build
    at all, another to make it build in a separate directory successfully,
    and a third to fix the soname.  And the install rule doesn't install
    its public headers.  But maybe it will be useful.
---
 debian/build/tools/Makefile                |  1 +
 debian/build/tools/lib/lockdep/Makefile    | 26 +++++++++++++
 debian/build/tools/lib/lockdep/lockdep.in  |  2 +
 debian/liblockdep-dev.docs                 |  1 +
 debian/liblockdep-dev.install              |  3 ++
 debian/lockdep.install                     |  1 +
 debian/patches/lockdep-fix-headers.patch   | 62 ++++++++++++++++++++++++++++++
 debian/patches/lockdep-fix-oot-build.patch | 33 ++++++++++++++++
 debian/patches/lockdep-fix-soname.patch    | 11 ++++++
 debian/patches/series                      |  3 ++
 debian/rules.real                          | 26 ++++++++++++-
 debian/templates/control.main.in           | 25 ++++++++++++
 12 files changed, 193 insertions(+), 1 deletion(-)

diff --git a/debian/build/tools/Makefile b/debian/build/tools/Makefile
index 06bc266..a3cdd87 100644
--- a/debian/build/tools/Makefile
+++ b/debian/build/tools/Makefile
@@ -1,5 +1,6 @@
 SUBDIRS = \
 	hv \
+	lib/lockdep \
 	perf \
 	usb/usbip
 
diff --git a/debian/build/tools/lib/lockdep/Makefile b/debian/build/tools/lib/lockdep/Makefile
new file mode 100644
index 0000000..7c8408f
--- /dev/null
+++ b/debian/build/tools/lib/lockdep/Makefile
@@ -0,0 +1,26 @@
+srcdir := $(top_srcdir)/tools/lib/lockdep
+
+DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+MAKE_LOCKDEP := $(MAKE) -C $(srcdir) O=$(CURDIR)/out V=1 \
+	prefix=/usr libdir_relative=lib/$(DEB_HOST_MULTIARCH) \
+	LIBLOCKDEP_VERSION=$(VERSION)
+
+unexport CFLAGS
+
+all:
+	mkdir -p out
+	$(MAKE_LOCKDEP)
+
+install:
+	$(MAKE_LOCKDEP) install
+	mkdir -p $(DESTDIR)/usr/include
+	cp -R $(srcdir)/include/liblockdep $(DESTDIR)/usr/include/
+	ln -s liblockdep.so.$(VERSION) \
+		$(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/liblockdep.so
+# Upstream lockdep preload script is not suitable for installation
+	sed 's/@VERSION@/$(VERSION)/' lockdep.in > $(DESTDIR)/usr/bin/lockdep
+	chmod 755 $(DESTDIR)/usr/bin/lockdep
+
+clean:
+	rm -rf out
diff --git a/debian/build/tools/lib/lockdep/lockdep.in b/debian/build/tools/lib/lockdep/lockdep.in
new file mode 100644
index 0000000..4a0d03a
--- /dev/null
+++ b/debian/build/tools/lib/lockdep/lockdep.in
@@ -0,0 +1,2 @@
+#!/bin/sh
+LD_PRELOAD="liblockdep.so. at VERSION@ $LD_PRELOAD" exec "$@"
diff --git a/debian/liblockdep-dev.docs b/debian/liblockdep-dev.docs
new file mode 100644
index 0000000..15b2bbe
--- /dev/null
+++ b/debian/liblockdep-dev.docs
@@ -0,0 +1 @@
+Documentation/locking/lockdep-design.txt
diff --git a/debian/liblockdep-dev.install b/debian/liblockdep-dev.install
new file mode 100644
index 0000000..bd85724
--- /dev/null
+++ b/debian/liblockdep-dev.install
@@ -0,0 +1,3 @@
+usr/include/liblockdep
+usr/lib/*/liblockdep.a
+usr/lib/*/liblockdep.so
diff --git a/debian/lockdep.install b/debian/lockdep.install
new file mode 100644
index 0000000..2369420
--- /dev/null
+++ b/debian/lockdep.install
@@ -0,0 +1 @@
+usr/bin/lockdep
diff --git a/debian/patches/lockdep-fix-headers.patch b/debian/patches/lockdep-fix-headers.patch
new file mode 100644
index 0000000..c0e3ced
--- /dev/null
+++ b/debian/patches/lockdep-fix-headers.patch
@@ -0,0 +1,62 @@
+--- /dev/null
++++ b/tools/lib/lockdep/uinclude/linux/export.h
+@@ -0,0 +1,10 @@
++#ifndef _LINUX_EXPORT_H
++#define _LINUX_EXPORT_H
++
++#define EXPORT_SYMBOL(sym)
++#define EXPORT_SYMBOL_GPL(sym)
++#define EXPORT_SYMBOL_GPL_FUTURE(sym)
++#define EXPORT_UNUSED_SYMBOL(sym)
++#define EXPORT_UNUSED_SYMBOL_GPL(sym)
++
++#endif /* _LINUX_EXPORT_H */
+--- a/tools/lib/lockdep/uinclude/linux/kernel.h
++++ b/tools/lib/lockdep/uinclude/linux/kernel.h
+@@ -23,7 +23,7 @@
+ #define WARN_ON(x) (x)
+ #define WARN_ON_ONCE(x) (x)
+ #define likely(x) (x)
+-#define WARN(x, y, z) (x)
++#define WARN(x, y...) (x)
+ #define uninitialized_var(x) x
+ #define __init
+ #define noinline
+--- a/tools/lib/lockdep/preload.c
++++ b/tools/lib/lockdep/preload.c
+@@ -5,7 +5,7 @@
+ #include <stdlib.h>
+ #include <sysexits.h>
+ #include "include/liblockdep/mutex.h"
+-#include "../../../include/linux/rbtree.h"
++#include <linux/rbtree.h>
+ 
+ /**
+  * struct lock_lookup - liblockdep's view of a single unique lock
+--- a/tools/lib/lockdep/uinclude/linux/rbtree.h
++++ b/tools/lib/lockdep/uinclude/linux/rbtree.h
+@@ -1 +1 @@
+-#include "../../../include/linux/rbtree.h"
++#include "../../include/linux/rbtree.h"
+--- a/tools/lib/lockdep/uinclude/linux/compiler.h
++++ b/tools/lib/lockdep/uinclude/linux/compiler.h
+@@ -4,4 +4,10 @@
+ #define __used		__attribute__((__unused__))
+ #define unlikely
+ 
++#define __ACCESS_ONCE(x) ({ \
++	__attribute__((__unused__)) typeof(x) __var = (__force typeof(x)) 0; \
++        (volatile typeof(x) *)&(x); })
++#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))
++#define WRITE_ONCE(x, val) (ACCESS_ONCE(x) = (val))
++
+ #endif
+--- a/tools/lib/lockdep/uinclude/linux/rcu.h
++++ b/tools/lib/lockdep/uinclude/linux/rcu.h
+@@ -18,4 +18,6 @@ static inline bool rcu_is_watching(void)
+ 	return false;
+ }
+ 
++#define RCU_INIT_POINTER(p, v) (p = v)
++
+ #endif
diff --git a/debian/patches/lockdep-fix-oot-build.patch b/debian/patches/lockdep-fix-oot-build.patch
new file mode 100644
index 0000000..2011743
--- /dev/null
+++ b/debian/patches/lockdep-fix-oot-build.patch
@@ -0,0 +1,33 @@
+--- a/tools/lib/lockdep/Makefile
++++ b/tools/lib/lockdep/Makefile
+@@ -98,7 +98,7 @@ build := -f $(srctree)/tools/build/Makef
+ 
+ do_compile_shared_library =			\
+ 	($(print_shared_lib_compile)		\
+-	$(CC) --shared $^ -o $@ -lpthread -ldl -Wl,-soname='"$@"';$(shell ln -s $@ liblockdep.so))
++	$(CC) --shared $^ -o $@ -lpthread -ldl -Wl,-soname='"$(@F)"';$(shell ln -s $(@F) $(@D)/liblockdep.so))
+ 
+ do_build_static_lib =				\
+ 	($(print_static_lib_build)		\
+@@ -116,10 +116,10 @@ all_cmd: $(CMD_TARGETS)
+ $(LIB_IN): force
+ 	$(Q)$(MAKE) $(build)=liblockdep
+ 
+-liblockdep.so.$(LIBLOCKDEP_VERSION): $(LIB_IN)
++$(OUTPUT)liblockdep.so.$(LIBLOCKDEP_VERSION): $(LIB_IN)
+ 	$(Q)$(do_compile_shared_library)
+ 
+-liblockdep.a: $(LIB_IN)
++$(OUTPUT)liblockdep.a: $(LIB_IN)
+ 	$(Q)$(do_build_static_lib)
+ 
+ tags:	force
+@@ -147,7 +147,7 @@ install_lib: all_cmd
+ install: install_lib
+ 
+ clean:
+-	$(RM) *.o *~ $(TARGETS) *.a *liblockdep*.so* $(VERSION_FILES) .*.d
++	$(RM) $(OUTPUT)*.o *~ $(TARGETS) $(OUTPUT)*.a $(OUTPUT)*liblockdep*.so* $(VERSION_FILES) $(OUTPUT).*.d
+ 	$(RM) tags TAGS
+ 
+ PHONY += force
diff --git a/debian/patches/lockdep-fix-soname.patch b/debian/patches/lockdep-fix-soname.patch
new file mode 100644
index 0000000..dab83d6
--- /dev/null
+++ b/debian/patches/lockdep-fix-soname.patch
@@ -0,0 +1,11 @@
+--- a/tools/lib/lockdep/Makefile
++++ b/tools/lib/lockdep/Makefile
+@@ -98,7 +98,7 @@ build := -f $(srctree)/tools/build/Makef
+ 
+ do_compile_shared_library =			\
+ 	($(print_shared_lib_compile)		\
+-	$(CC) --shared $^ -o $@ -lpthread -ldl -Wl,-soname='"$(@F)"';$(shell ln -s $(@F) $(@D)liblockdep.so))
++	$(CC) --shared $^ -o $@ -lpthread -ldl -Wl,-soname='$(@F)';$(shell ln -s $(@F) $(@D)/liblockdep.so))
+ 
+ do_build_static_lib =				\
+ 	($(print_static_lib_build)		\
diff --git a/debian/patches/series b/debian/patches/series
index d2cc300..e1943ce 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,6 @@ kbuild-fix-recordmcount-dependency.patch
 usbip-include-uninstalled-linux-usbip-h.patch
 tools-perf-man-date.patch
 tools-perf-add-empty-build-files-for-architectures-lacking.patch
+lockdep-fix-oot-build.patch
+lockdep-fix-headers.patch
+lockdep-fix-soname.patch
diff --git a/debian/rules.real b/debian/rules.real
index 3f2669f..feaafa6 100644
--- a/debian/rules.real
+++ b/debian/rules.real
@@ -3,7 +3,7 @@ export KBUILD_BUILD_TIMESTAMP := $(shell dpkg-parsechangelog | sed -ne 's,^Date:
 
 include debian/rules.defs
 
-binary-arch: install-kbuild install-usbip
+binary-arch: install-kbuild install-usbip install-lockdep
 ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32,$(DEB_BUILD_ARCH)),)
   binary-arch: install-perf
 endif
@@ -103,3 +103,27 @@ install-hyperv-daemons: $(STAMPS_DIR)/build
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb
+
+install-lockdep: DH_OPTIONS = -plockdep -pliblockdep$(VERSION) -pliblockdep-dev
+install-lockdep: DIR = $(CURDIR)/debian/tmp
+install-lockdep: $(STAMPS_DIR)/build
+	dh_testdir
+	dh_testroot
+	dh_prep
+	$(MAKE) -C $(BUILD_DIR)/tools/lib/lockdep install top_srcdir=$(CURDIR) \
+		DESTDIR=$(DIR)
+	env -u DH_OPTIONS dh_install -pliblockdep$(VERSION) \
+		'usr/lib/*/liblockdep.so.*'
+	dh_install
+	dh_installchangelogs
+	dh_installdocs
+	dh_strip
+	dh_compress
+	dh_fixperms
+	env -u DH_OPTIONS dh_makeshlibs -pliblockdep$(VERSION) \
+		liblockdep$(VERSION)
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in
index e76b886..cb88ca5 100644
--- a/debian/templates/control.main.in
+++ b/debian/templates/control.main.in
@@ -70,3 +70,28 @@ Description: Support daemons for Linux running on Hyper-V
  .
  hv_vss_daemon provides the volume shadow copy service (VSS), allowing
  the host to freeze the guest filesystems while taking a snapshot.
+
+Package: lockdep
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, liblockdep at version@
+Recommends: liblockdep-dev
+Section: devel
+Multi-Arch: allowed
+Description: Runtime locking correctness validator
+ TBD
+
+Package: liblockdep at version@
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Section: libs
+Multi-Arch: same
+Description: Runtime locking correctness validator - shared library
+ TBD
+
+Package: liblockdep-dev
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Section: libdevel
+Multi-Arch: same
+Description: Runtime locking correctness validator - development files
+ TBD

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux-tools.git



More information about the Kernel-svn-changes mailing list