[pkg-wine-party] [wine] 99/114: Generate list of used shared libraries.

Jens Reyer jreyer-guest at moszumanska.debian.org
Thu Jun 16 17:25:30 UTC 2016


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

jreyer-guest pushed a commit to branch stretch
in repository wine.

commit 2a0aa03dcc269799ef4d9bfd64da1fa0259b6a54
Author: Jens Reyer <jre.winesim at gmail.com>
Date:   Mon Jun 6 04:05:32 2016 +0200

    Generate list of used shared libraries.
    
    First check for all sonames that were found by configure in
    include/config.h. Drop not wanted ones (netapi) and use this list
    for "Recommends". Select some important libraries, which were
    already depended upon before (fontconfig, freetype and ncurses)
    for "Depends".
    
    Then for each set of sonames use sonames2elf to build an ELF
    binary that depends on them, and use dpkg-shlibdeps to compute
    the dependencies and add them to libwineVERSION.substvars
    (dlopen:Depends and dlopen:Recommends}.
    
    # Conflicts:
    #	debian/changelog
---
 debian/changelog |  3 +++
 debian/rules     | 21 +++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index ba5416e..f83596d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ wine (1.8.2-2) UNRELEASED; urgency=medium
     - Change version string to display vendor and version.
     - Drop obsolete dh_strip exclusion of some files.
     - Drop obsolete dependency on x11-utils.
+    - Generate list of used shared libraries.
+      Also use this mechanism to identify the package names of depended
+      upon libraries. Thanks to Jakub Wilk.
 
  -- Jens Reyer <jre.winesim at gmail.com>  Mon, 06 Jun 2016 03:35:43 +0200
 
diff --git a/debian/rules b/debian/rules
index a9ddc25..d8e923b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -66,6 +66,16 @@ export DEB_CFLAGS_MAINT_APPEND+=-Wno-error
 INSTALLS=$(shell ls debian/*VERSION* | sed s/VERSION/$(VERSION)/) \
          debian/bug-control \
 
+# sonames to compute additional dependencies
+sonamesDepends=$(shell \
+    grep "^\#define SONAME_" include/config.h | \
+    grep -E "libfontconfig|libfreetype|libncurses" | \
+    cut -d\" -f2)
+sonamesRecommends=$(shell \
+    grep "^\#define SONAME_" include/config.h | \
+    grep -v libnetapi | \
+    cut -d\" -f2)
+
 debian/control: debian/control.in
 	sed s/VERSION/$(VERSION)/g < $< > $@
 
@@ -146,6 +156,17 @@ override_dh_auto_install-arch: $(INSTALLS)
 override_dh_strip:
 	dh_strip --dbgsym-migration='libwine$(VERSION)-dbg (<< 1.8-2~)'
 
+override_dh_shlibdeps:
+	mkdir -p debian/tmp
+	./debian/scripts/sonames2elf $(sonamesDepends) > debian/tmp/elf.depends
+	./debian/scripts/sonames2elf $(sonamesRecommends) > debian/tmp/elf.recommends
+	dpkg-shlibdeps --warnings=1 \
+	    -pdlopen \
+	    -dDepends -edebian/tmp/elf.depends \
+	    -dRecommends -edebian/tmp/elf.recommends \
+	    -Tdebian/libwine$(VERSION).substvars
+	dh_shlibdeps
+
 override_dh_gencontrol:
 	dh_gencontrol -- \
 	    -Vbuilt:Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W khronos-api unicode-data)" \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wine/wine.git



More information about the pkg-wine-party mailing list