[pkg-wine-party] [wine] 04/06: Generate list of used shared libraries.

Jens Reyer jreyer-guest at moszumanska.debian.org
Sun May 29 22:41:54 UTC 2016


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

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

commit c7a61faafdffa20f9cfe3143102d27556b6c1d63
Author: Jens Reyer <jre.winesim at gmail.com>
Date:   Mon May 30 00:22:14 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}.
---
 debian/changelog |  4 ++++
 debian/rules     | 21 +++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index f2d6e10..e97dbf6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -24,6 +24,10 @@ wine-development (1.9.9-1) UNRELEASED; urgency=medium
   * Drop obsolete dh_strip exclusion of some files.
   * Change version string to display vendor and version.
   * Drop obsolete dependency on x11-utils.
+  * Generate list of used shared libraries and let libwine recommend it.
+    (see: #823991).
+    Also use this mechanism to identify the package names of depended
+    upon libraries. Thanks to Jakub Wilk.
 
  -- Jens Reyer <jre.winesim at gmail.com>  Sun, 29 May 2016 21:13:50 +0200
 
diff --git a/debian/rules b/debian/rules
index a868249..ecdbc1a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -61,6 +61,16 @@ endif
 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 < $< > $@
 
@@ -138,6 +148,17 @@ override_dh_auto_install-arch: $(INSTALLS)
 override_dh_strip:
 	dh_strip --dbgsym-migration='libwine$(VERSION)-dbg (<< 1.9.0-1~)'
 
+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