]> git.proxmox.com Git - rustc.git/commitdiff
Split out library packages for multiarch
authorAngus Lees <gus@inodes.org>
Mon, 4 May 2015 13:41:13 +0000 (23:41 +1000)
committerAngus Lees <gus@inodes.org>
Wed, 27 May 2015 08:02:10 +0000 (18:02 +1000)
Split out libraries from rustc.deb into new packages:
- libstd-rust-4e7c5e5c - run-time dylibs
- libstd-rust-dev - compile-time dylibs + rlibs

Run-time dylibs (libstd-rust-4e7c5e5c) are installed into regular
multiarch lib path, compile-time libs are installed into
/usr/lib/rustlib/$rust_triple/

While we're at it, split out rust-gdb, rust-lldb into their own packages
too.

15 files changed:
debian/architecture.mk [new file with mode: 0644]
debian/changelog
debian/control
debian/libstd-rust-4e7c5e5c.lintian-overrides [new file with mode: 0644]
debian/libstd-rust-dev.install [new file with mode: 0644]
debian/libstd-rust-dev.lintian-overrides [new file with mode: 0644]
debian/patches/rust-gdb-paths [new file with mode: 0644]
debian/patches/rust-lldb-paths [new file with mode: 0644]
debian/patches/series
debian/rules
debian/rust-doc.docs
debian/rust-gdb.install [new file with mode: 0644]
debian/rust-lldb.install [new file with mode: 0644]
debian/rustc.install
debian/rustc.lintian-overrides [deleted file]

diff --git a/debian/architecture.mk b/debian/architecture.mk
new file mode 100644 (file)
index 0000000..cf3fe53
--- /dev/null
@@ -0,0 +1,8 @@
+# This Makefile snippet defines DEB_*_RUST_TYPE triples based on DEB_*_GNU_TYPE
+
+include /usr/share/dpkg/architecture.mk
+
+rust_cpu = $(subst i586,i686,$(1))
+
+$(foreach machine,BUILD HOST TARGET,\
+  $(eval DEB_$(machine)_RUST_TYPE ?= $(call rust_cpu,$(DEB_$(machine)_GNU_CPU))-unknown-$(DEB_$(machine)_GNU_SYSTEM)))
index e564470866052c6f39529756a26bd5c4431dc95d..86ded382a1d1ce01aaa66c2257df447e07ddad77 100644 (file)
@@ -3,6 +3,10 @@ rustc (1.0.0+dfsg1-1) unstable; urgency=medium
   [ Angus Lees ]
   * New upstream release (1.0!)
   * Set SONAME when building dylibs
+  * Split out libstd-rust, libstd-rust-dev, rust-gdb, rust-lldb from rustc
+    - libs are now installed into multiarch-friendly locations
+    - rpath is no longer required to use dylibs (but talk to Debian Rust
+      maintainers before building a package that depends on the dylibs)
 
   [ Sylvestre Ledru ]
   * Fix the watch file
index 3ee47b3c0e0cb8ff3303b1cce903aed489af85f9..95b9b35adfe98547a2aea6b2856f3187d65e9632 100644 (file)
@@ -8,7 +8,6 @@ Uploaders: Jordan Justen <jordan.l.justen@intel.com>,
   Angus Lees <gus@debian.org>
 Build-Depends: debhelper (>= 9.20141010),
                dpkg-dev (>= 1.17.14),
-#               rust <!dlstage0>,
                autotools-dev,
                curl,
                python,
@@ -17,33 +16,26 @@ Build-Depends: debhelper (>= 9.20141010),
                libedit-dev,
                valgrind,
                git,
-               ca-certificates,
-# <dlstage0>,
               llvm-3.6-dev (>= 1:3.6~+rc4)
 # git is necessary for 'make check'
 Build-Depends-Indep: pandoc (>=1.9),
-# <!nodoc>,
                      po4a,
-# <!nodoc>,
                      texlive-xetex,
-# <!nodoc>,
                      texlive-latex-base,
-# <!nodoc>,
                      texlive-generic-recommended,
-# <!nodoc>,
                      texlive-fonts-recommended,
-# <!nodoc>,
                      lmodern
-# <!nodoc>
 Standards-Version: 3.9.6
 Homepage: http://www.rust-lang.org/
 Vcs-Git: git://git.debian.org/pkg-rust/rust.git
 Vcs-Browser: http://git.debian.org/?p=pkg-rust/rust.git;a=summary
 
 Package: rustc
-Architecture: amd64 i386
+Architecture: any
+Multi-Arch: foreign
 Pre-Depends: ${misc:Pre-Depends}
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, libstd-rust-dev (= ${source:Version})
+Recommends: rust-gdb | rust-lldb
 Suggests: rust-doc
 Description: Rust systems programming language
  Rust is a curly-brace, block-structured expression language.  It
@@ -58,6 +50,89 @@ Description: Rust systems programming language
  generic programming and meta-programming, in both static and dynamic
  styles.
 
+Package: libstd-rust-4e7c5e5c
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: multiarch-support, ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Rust standard libraries
+ Rust is a curly-brace, block-structured expression language.  It
+ visually resembles the C language family, but differs significantly
+ in syntactic and semantic details.  Its design is oriented toward
+ concerns of "programming in the large", that is, of creating and
+ maintaining boundaries - both abstract and operational - that
+ preserve large-system integrity, availability and concurrency.
+ .
+ It supports a mixture of imperative procedural, concurrent actor,
+ object-oriented and pure functional styles.  Rust also supports
+ generic programming and meta-programming, in both static and dynamic
+ styles.
+ .
+ This package contains the standard Rust libraries, built as dylibs.
+
+Package: libstd-rust-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Pre-Depends: multiarch-support
+Depends: ${misc:Depends}, libstd-rust-4e7c5e5c (= ${source:Version})
+Description: Rust standard libraries - development files
+ Rust is a curly-brace, block-structured expression language.  It
+ visually resembles the C language family, but differs significantly
+ in syntactic and semantic details.  Its design is oriented toward
+ concerns of "programming in the large", that is, of creating and
+ maintaining boundaries - both abstract and operational - that
+ preserve large-system integrity, availability and concurrency.
+ .
+ It supports a mixture of imperative procedural, concurrent actor,
+ object-oriented and pure functional styles.  Rust also supports
+ generic programming and meta-programming, in both static and dynamic
+ styles.
+ .
+ This package contains development files necessary to use the standard
+ Rust libraries.
+
+Package: rust-gdb
+Section: devel
+Architecture: any
+Depends: gdb, ${misc:Depends}
+Description: Rust debugger (gdb)
+ Rust is a curly-brace, block-structured expression language.  It
+ visually resembles the C language family, but differs significantly
+ in syntactic and semantic details.  Its design is oriented toward
+ concerns of "programming in the large", that is, of creating and
+ maintaining boundaries - both abstract and operational - that
+ preserve large-system integrity, availability and concurrency.
+ .
+ It supports a mixture of imperative procedural, concurrent actor,
+ object-oriented and pure functional styles.  Rust also supports
+ generic programming and meta-programming, in both static and dynamic
+ styles.
+ .
+ This package contains pretty printers and a wrapper script for
+ invoking gdb on rust binaries.
+
+Package: rust-lldb
+Section: devel
+Architecture: any
+Depends: lldb, ${misc:Depends}
+Description: Rust debugger (lldb)
+ Rust is a curly-brace, block-structured expression language.  It
+ visually resembles the C language family, but differs significantly
+ in syntactic and semantic details.  Its design is oriented toward
+ concerns of "programming in the large", that is, of creating and
+ maintaining boundaries - both abstract and operational - that
+ preserve large-system integrity, availability and concurrency.
+ .
+ It supports a mixture of imperative procedural, concurrent actor,
+ object-oriented and pure functional styles.  Rust also supports
+ generic programming and meta-programming, in both static and dynamic
+ styles.
+ .
+ This package contains pretty printers and a wrapper script for
+ invoking lldb on rust binaries.
+
 Package: rust-doc
 Section: doc
 Architecture: all
@@ -76,4 +151,5 @@ Description: Rust systems programming language - Documentation
  generic programming and meta-programming, in both static and dynamic
  styles.
  .
- This package contains the documentation.
+ This package contains the Rust tutorial, language reference and
+ standard library documentation.
diff --git a/debian/libstd-rust-4e7c5e5c.lintian-overrides b/debian/libstd-rust-4e7c5e5c.lintian-overrides
new file mode 100644 (file)
index 0000000..b9a6bd2
--- /dev/null
@@ -0,0 +1,10 @@
+# "libstd" just seemed too generic
+libstd-rust-4e7c5e5c binary: package-name-doesnt-match-sonames
+
+# Rust doesn't use dev shlib symlinks.
+libstd-rust-4e7c5e5c binary: dev-pkg-without-shlib-symlink
+
+# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
+# to libc.  Lintian gets upset that some Rust libraries don't need
+# libc, boo hoo.
+libstd-rust-4e7c5e5c binary: library-not-linked-against-libc
diff --git a/debian/libstd-rust-dev.install b/debian/libstd-rust-dev.install
new file mode 100644 (file)
index 0000000..62eeb7e
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/rustlib/*/lib/
diff --git a/debian/libstd-rust-dev.lintian-overrides b/debian/libstd-rust-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..61b3c11
--- /dev/null
@@ -0,0 +1,3 @@
+# I assure you, dear lintian, that "/usr/lib/rustlib/x86_64-unknown-linux-gnu/"
+# is indeed an arch-specific directory.
+libstd-rust-dev binary: arch-dependent-file-not-in-arch-specific-directory
diff --git a/debian/patches/rust-gdb-paths b/debian/patches/rust-gdb-paths
new file mode 100644 (file)
index 0000000..510352d
--- /dev/null
@@ -0,0 +1,25 @@
+Description: Hardcode GDB python module directory
+ Debian package installs python modules into a fixed directory, so
+ just hardcode path in wrapper script.
+Author: Angus Lees <gus@debian.org>
+Forwarded: not-needed
+
+--- a/src/etc/rust-gdb
++++ b/src/etc/rust-gdb
+@@ -13,11 +13,13 @@
+ set -e
+
+ # Find out where the pretty printer Python module is
+-RUSTC_SYSROOT=`rustc --print=sysroot`
+-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
++#RUSTC_SYSROOT=`rustc --print=sysroot`
++#GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
++# We can just hardcode this on Debian, and remove the rustc dependency
++GDB_PYTHON_MODULE_DIRECTORY="/usr/share/rust-gdb"
+
+ # Run GDB with the additional arguments that load the pretty printers
+-PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" gdb \
++PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec gdb \
+   -d "$GDB_PYTHON_MODULE_DIRECTORY" \
+   -iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \
+   "$@"
diff --git a/debian/patches/rust-lldb-paths b/debian/patches/rust-lldb-paths
new file mode 100644 (file)
index 0000000..7ec9ca5
--- /dev/null
@@ -0,0 +1,20 @@
+Description: Hardcode LLDB python module directory
+ Debian package installs python modules into a fixed directory, so
+ just hardcode path in wrapper script.
+Author: Angus Lees <gus@debian.org>
+Forwarded: not-needed
+
+--- a/src/etc/rust-lldb
++++ b/src/etc/rust-lldb
+@@ -18,11 +18,8 @@ TMPFILE=`mktemp /tmp/rust-lldb-commands.XXXXXX`
+ # Make sure to delete the tempfile no matter what
+ trap "rm -f $TMPFILE; exit" INT TERM EXIT
+
+-# Find out where to look for the pretty printer Python module
+-RUSTC_SYSROOT=`rustc --print sysroot`
+-
+ # Write the LLDB script to the tempfile
+-echo "command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\"" >> $TMPFILE
++echo "command script import \"/usr/share/rust-lldb/lldb_rust_formatters.py\"" >> $TMPFILE
+ echo "type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust" >> $TMPFILE
+ echo "type category enable Rust" >> $TMPFILE
index f381fccc44307e3480142d7083504b2b8f4facd7..857c1fb3a8ed3f8c01faa1264b5ee8b3f234b0cb 100644 (file)
@@ -1,2 +1,4 @@
 buildflags
+rust-gdb-paths
+rust-lldb-paths
 add-soname
index cf23e748635889566727438013bfd0ee360649b7..6c6cb92336cb0cfc365550487c44a18fdb3f6c33 100755 (executable)
@@ -7,6 +7,9 @@ include /usr/share/dpkg/buildflags.mk
 RUSTFLAGS = -C link-args="$(LDFLAGS)"
 export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS RUSTFLAGS
 
+# Defines DEB_*_RUST_TYPE triples
+include debian/architecture.mk
+
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
@@ -18,54 +21,41 @@ unexport SUDO_USER
 # Debhelper clears MAKEFLAGS, so we have to do this again for any
 # target where we call $(MAKE) directly.  Boo.
 DEB_PARALLEL_JOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-DEB_MAKE_PARALLEL = $(if $(DEB_PARALLEL_JOBS),-j$(DEB_PARALLEL_JOBS))
-
-
-# $DEB_VERSION_UPSTREAM is the full upstream version (eg. 1.0.0~alpha)
-
-# This is original/unmangled upstream version (eg. 1.0.0-alpha)
-UPSTREAM_RUST_VERSION := $(subst ~,-,$(DEB_VERSION_UPSTREAM))
-
-# Main (major.minor) upstream version (eg. 1.0)
-MAIN_RUST_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | egrep -o '^[^\.]+\.[^\.]+')
-
-# Upstream version suffix, if any (eg. alpha)
-UPSTREAM_RUST_SUFFIX := $(shell echo $(DEB_VERSION_UPSTREAM) | egrep -o '[^\~]+$$')
-
-# Private dir for rust .so and .rlib
-RUST_PREFIX := usr/lib/$(DEB_HOST_MULTIARCH)/rust/$(MAIN_RUST_VERSION)
+PMAKE = $(MAKE) $(if $(DEB_PARALLEL_JOBS),-j$(DEB_PARALLEL_JOBS))
 
 # Release type (one of beta, stable or nightly)
 RELEASE_CHANNEL := beta
 
 DEB_DESTDIR := $(CURDIR)/debian/tmp
-RUST_TMP_PREFIX := $(DEB_DESTDIR)/$(RUST_PREFIX)
+
+RUST_HASH := $(shell sed -n 's/^CFG_FILENAME_EXTRA=//p' mk/main.mk)
+LIBSTD_PKG := libstd-rust-$(RUST_HASH)
 
 # These are the normal build flags
-COMMON_FLAGS = \
+DEB_CONFIGURE_FLAGS = \
+               --host=$(DEB_HOST_RUST_TYPE) \
+               --target=$(DEB_TARGET_RUST_TYPE) \
                --disable-manage-submodules \
                --release-channel=$(RELEASE_CHANNEL) \
-               --mandir=/usr/share/man \
-               --enable-rpath \
-               --prefix=/$(RUST_PREFIX)
-
-SYSTEM_LLVM = --llvm-root=/usr/lib/llvm-3.6
+               --prefix=/usr
 
+# Use system LLVM (comment out to use vendored LLVM)
+DEB_CONFIGURE_FLAGS += --llvm-root=/usr/lib/llvm-3.6
 
 ifeq (,$(findstring dlstage0,$(DEB_BUILD_PROFILES)))
 # Without these options, a pre-built stage0 will be downloaded from
-# rust-lang.org at build time.
-#      DEB_CONFIGURE_EXTRA_FLAGS += --enable-local-rust --local-rust-root=/usr
+# rust-lang.org at build time (or looked for in dl/).
+  #DEB_CONFIGURE_FLAGS += --enable-local-rust --local-rust-root=/usr
 endif
 
 BUILD_DOCS = 1
 ifneq (,$(findstring nodoc,$(DEB_BUILD_PROFILES)))
-  DEB_CONFIGURE_EXTRA_FLAGS += --disable-docs
+  DEB_CONFIGURE_FLAGS += --disable-docs
   BUILD_DOCS =
 endif
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-  DEB_CONFIGURE_EXTRA_FLAGS += --disable-optimize --disable-optimize-cxx --disable-optimize-llvm
+  DEB_CONFIGURE_FLAGS += --disable-optimize --disable-optimize-cxx --disable-optimize-llvm
 endif
 
 
@@ -75,15 +65,15 @@ endif
 # Note: SHELL is not set by dash, but the configure script wants to use it
 override_dh_auto_configure:
        SHELL=/bin/sh \
-           ./configure \
-                   $(COMMON_FLAGS) \
-                   $(DEB_CONFIGURE_EXTRA_FLAGS) \
-                   $(SYSTEM_LLVM)
+           ./configure $(DEB_CONFIGURE_FLAGS)
 
 
 override_dh_auto_clean:
-       [ ! -f Makefile ] ||  $(MAKE) $(DEB_MAKE_PARALLEL) clean-all
-       -$(RM) Makefile
+       set -e; \
+       if [ -f Makefile ]; then \
+         $(PMAKE) clean-all; \
+         $(RM) Makefile config.stamp; \
+       fi
 
 override_dh_auto_build-arch:
        dh_auto_build -- all VERBOSE=1
@@ -91,45 +81,41 @@ override_dh_auto_build-arch:
 override_dh_auto_build-indep:
        $(if $(BUILD_DOCS),dh_auto_build -- docs)
 
-LD_TMP1 := $(RUST_TMP_PREFIX)/lib
-# TODO improve this stuff to make it dynamic
-LD_TMP_i386 := $(LD_TMP1)/rustlib/i686-unknown-linux-gnu/lib
-LD_TMP_AMD64 := $(LD_TMP1)/rustlib/x86_64-unknown-linux-gnu/lib
-RUST_TMP_LD_PATH := $(LD_TMP1):$(LD_TMP_i386):$(LD_TMP_AMD64)
-
-override_dh_shlibdeps:
-       LD_LIBRARY_PATH=$(RUST_TMP_LD_PATH):$(LD_LIBRARY_PATH) \
-               dh_shlibdeps -l$(RUST_TMP_LD_PATH)
-
 override_dh_auto_install:
        dh_auto_install --destdir=$(DEB_DESTDIR)
-       dh_link $(RUST_PREFIX)/bin/rustc usr/bin/rustc-$(MAIN_RUST_VERSION)
-       dh_link usr/bin/rustc-$(MAIN_RUST_VERSION) usr/bin/rustc
-       dh_link $(RUST_PREFIX)/bin/rustdoc usr/bin/rustdoc-$(MAIN_RUST_VERSION)
-       dh_link usr/bin/rustdoc-$(MAIN_RUST_VERSION) usr/bin/rustdoc
-       dh_link $(RUST_PREFIX)/bin/rust-gdb usr/bin/rust-gdb-$(MAIN_RUST_VERSION)
-       dh_link usr/bin/rust-gdb-$(MAIN_RUST_VERSION) usr/bin/rust-gdb
+
+       mkdir -p $(DEB_DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/
+       mv $(DEB_DESTDIR)/usr/lib/lib*.so $(DEB_DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/
 
        # Replace duplicated compile-time/run-time dylibs with symlinks
-       for f in $(RUST_TMP_PREFIX)/lib/rustlib/*/lib/lib*.so; do \
-               name=$${f##*/}; \
-               if [ -f $(RUST_TMP_PREFIX)/lib/$$name ]; then \
-                       ln -sf ../../../$$name $$f; \
-               fi; \
+       @set -e; \
+       for f in $(DEB_DESTDIR)/usr/lib/rustlib/$(DEB_HOST_RUST_TYPE)/lib/lib*.so; do \
+         name=$${f##*/}; \
+         if [ -f "$(DEB_DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/$$name" ]; then \
+           echo "ln -sf ../../../$(DEB_HOST_MULTIARCH)/$$name $$f"; \
+           ln -sf ../../../$(DEB_HOST_MULTIARCH)/$$name $$f; \
+         fi; \
        done
 
-override_dh_install:
+ifneq (,$(BUILD_DOCS))
        # Brute force to remove privacy-breach-logo lintian warning.
        # We could have updated the upstream sources but it would complexify
        # the rebase
-ifneq (,$(BUILD_DOCS))
-       sed -i '/rel="shortcut icon" href="http:\/\/www.rust-lang.org\/favicon.ico"/d' `find $(DEB_DESTDIR) -iname '*.html'`
-       rm -f `find $(DEB_DESTDIR) -iname '*.html' -empty` $(DEB_DESTDIR)/usr/share/doc/rust-doc/html/.lock
-       ln -sf /usr/share/javascript/jquery/jquery.js $(DEB_DESTDIR)/usr/lib/*/rust/*/share/doc/rust/html/jquery.js
-       ln -sf /usr/share/javascript/jquery/jquery.js $(DEB_DESTDIR)/usr/lib/*/rust/*/share/doc/rust/html/style/jquery.js
-       ln -sf /usr/share/javascript/jquery/jquery.js $(DEB_DESTDIR)/usr/lib/*/rust/*/share/doc/rust/html/book/jquery.js
+       sed -i '\!rel="shortcut icon" href="http://www.rust-lang.org/favicon.ico"!d' `find $(DEB_DESTDIR) -iname '*.html'`
+
+       find $(DEB_DESTDIR) \( -iname '*.html' -empty -o -name .lock \) -delete
+
+       find $(DEB_DESTDIR)/usr/share/doc -name jquery.js \
+         -exec ln -sf /usr/share/javascript/jquery/jquery.js '{}' \;
 endif
+
+override_dh_install:
        dh_install
+       dh_install -p$(LIBSTD_PKG) usr/lib/$(DEB_HOST_MULTIARCH)/
+
+       chmod -x \
+         debian/rust-gdb/usr/share/rust-gdb/*.py \
+         debian/rust-lldb/usr/share/rust-lldb/*.py
 
 override_dh_installchangelogs:
        dh_installchangelogs RELEASES.md
@@ -138,8 +124,23 @@ override_dh_installdocs:
        dh_installdocs -X.tex -X.aux -X.log -X.out -X.toc
 
 override_dh_auto_test:
-       # NB: not parallel - there is some race that leads to failures like:
-       # note: cc: error: x86_64-unknown-linux-gnu/test/run-pass/generic-default-type-params-cross-crate.stage2-x86_64-unknown-linux-gnulibaux/default_type_params_xc.o: No such file or directory
 ifeq (, $(filter nocheck,$(DEB_BUILD_OPTIONS)))
-       $(MAKE) check-notidy
+       $(PMAKE) check-notidy
 endif
+
+override_dh_makeshlibs:
+       dh_makeshlibs -V
+
+       # dh_makeshlibs doesn't support our "libfoo-version.so" naming
+       # structure, so we have to do this ourselves.
+       install -o 0 -g 0 -d debian/$(LIBSTD_PKG)/DEBIAN
+       ls debian/$(LIBSTD_PKG)/usr/lib/$(DEB_HOST_MULTIARCH)/lib*.so | \
+       sed -n 's,^.*/\(lib.*\)-\(.\+\)\.so$$,\1 \2,p' | \
+       while read name version; do \
+         echo "$$name $$version $(LIBSTD_PKG) (>= $(DEB_VERSION_UPSTREAM))"; \
+       done > debian/$(LIBSTD_PKG)/DEBIAN/shlibs
+       chmod 644 debian/$(LIBSTD_PKG)/DEBIAN/shlibs
+       chown 0:0 debian/$(LIBSTD_PKG)/DEBIAN/shlibs
+
+override_dh_shlibdeps:
+       dh_shlibdeps -- -x$(LIBSTD_PKG)
index 179bbbcb8119afdedeada0113f66ca43bea8ace0..5a0e189bd9fc39e380339840cef97d1846f80830 100644 (file)
@@ -1 +1 @@
-debian/tmp/usr/lib/*/rust/*/share/doc/rust/html
+debian/tmp/usr/share/doc/rust/html
diff --git a/debian/rust-gdb.install b/debian/rust-gdb.install
new file mode 100644 (file)
index 0000000..fb7affa
--- /dev/null
@@ -0,0 +1,2 @@
+src/etc/rust-gdb usr/bin/
+src/etc/gdb_*.py usr/share/rust-gdb/
diff --git a/debian/rust-lldb.install b/debian/rust-lldb.install
new file mode 100644 (file)
index 0000000..41d943e
--- /dev/null
@@ -0,0 +1,2 @@
+src/etc/rust-lldb usr/bin/
+src/etc/lldb_rust_formatters.py usr/share/rust-lldb/
index 13bc2aa7d8f639e4d32c9d4340470eca1f743816..edebf356c0cb5caeb119fc3d553977909800d6a2 100644 (file)
@@ -1,2 +1,2 @@
-usr/lib/*/rust/*/bin/
-usr/lib/*/rust/*/lib/
+usr/bin/rustc
+usr/bin/rustdoc
diff --git a/debian/rustc.lintian-overrides b/debian/rustc.lintian-overrides
deleted file mode 100644 (file)
index 81b0342..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Rust uses libraries that are not directly linked to libc.
-# libstd (at least) looks like it uses symbols from libc, so we may
-# need to selectively fix this.
-rustc binary: library-not-linked-against-libc