From ec37cd0c8a11c87096c8c652b2057583554a8671 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Fri, 14 Sep 2018 09:25:23 +0200 Subject: [PATCH 1/9] Add patch to fix missing MultiArch include dir on powerpcspe --- debian/changelog | 8 ++++++++ .../powerpcspe-add-missing-include-path.diff | 18 ++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 27 insertions(+) create mode 100644 debian/patches/powerpcspe-add-missing-include-path.diff diff --git a/debian/changelog b/debian/changelog index 88245aec..ccea47eb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-6.0 (1:6.0.1-9) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing MultiArch include dir + on powerpcspe (Closes: #908791) + + -- John Paul Adrian Glaubitz Fri, 14 Sep 2018 09:24:02 +0200 + llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium [ John Paul Adrian Glaubitz ] diff --git a/debian/patches/powerpcspe-add-missing-include-path.diff b/debian/patches/powerpcspe-add-missing-include-path.diff new file mode 100644 index 00000000..8ae5dbda --- /dev/null +++ b/debian/patches/powerpcspe-add-missing-include-path.diff @@ -0,0 +1,18 @@ +Description: Fix missing include paths on powerpcspe +Author: John Paul Adrian Glaubitz +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908791 +Forwarded: https://reviews.llvm.org/D52066 +Last-Update: 2018-09-13 + +--- llvm-toolchain-6.0-6.0.1.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-6.0-6.0.1/clang/lib/Driver/ToolChains/Linux.cpp +@@ -629,7 +629,8 @@ void Linux::AddClangSystemIncludeArgs(co + "/usr/include/mips64el-linux-gnu", + "/usr/include/mips64el-linux-gnuabi64"}; + const StringRef PPCMultiarchIncludeDirs[] = { +- "/usr/include/powerpc-linux-gnu"}; ++ "/usr/include/powerpc-linux-gnu", ++ "/usr/include/powerpc-linux-gnuspe"}; + const StringRef PPC64MultiarchIncludeDirs[] = { + "/usr/include/powerpc64-linux-gnu"}; + const StringRef PPC64LEMultiarchIncludeDirs[] = { diff --git a/debian/patches/series b/debian/patches/series index ea72f347..ef521590 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -67,3 +67,4 @@ D51335-alignment-issue.diff # D51639-optim-issue.diff rL338481-cherry-pick-really-subtle-miscompile.diff disable-sse2-old-x86.diff +powerpcspe-add-missing-include-path.diff From 83ecf1cb44e5cc98e10d188f2f205604bb8b6014 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 14 Sep 2018 15:38:02 +0200 Subject: [PATCH 2/9] Fix arch:all build --- debian/rules | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/debian/rules b/debian/rules index ac61565b..a20bfc8a 100755 --- a/debian/rules +++ b/debian/rules @@ -518,7 +518,12 @@ endif override_dh_install: # cp $(TARGET_BUILD)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) ifeq (${POLLY_ENABLE},yes) +# only for arch:any builds +ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages))) dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly +else + rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake +endif endif dh_install --fail-missing From 397214bd0953f297cda44c70b4cd4780ba3bcabb Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 14 Sep 2018 15:38:07 +0200 Subject: [PATCH 3/9] Update changelog, upload to unstable --- debian/changelog | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ccea47eb..0e76b80a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,12 @@ -llvm-toolchain-6.0 (1:6.0.1-9) UNRELEASED; urgency=medium +llvm-toolchain-6.0 (1:6.0.1-9) unstable; urgency=medium [ John Paul Adrian Glaubitz ] * Add patch to fix missing MultiArch include dir on powerpcspe (Closes: #908791) + [ Gianfranco Costamagna ] + * Force polly cmake removal on arch:all because of --fail-missing + -- John Paul Adrian Glaubitz Fri, 14 Sep 2018 09:24:02 +0200 llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium From 004015a32570625ad5b48ae6e2b02da7842c1372 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Sat, 15 Sep 2018 09:35:43 +0200 Subject: [PATCH 4/9] Add patch to fix missing include and library paths on x32 --- debian/changelog | 7 ++ debian/patches/series | 1 + .../patches/x32-fix-driver-search-paths.diff | 80 +++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 debian/patches/x32-fix-driver-search-paths.diff diff --git a/debian/changelog b/debian/changelog index 0e76b80a..61d6d8c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-6.0 (1:6.0.1-10) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing include and library paths on x32 + + -- John Paul Adrian Glaubitz Sat, 15 Sep 2018 09:35:13 +0200 + llvm-toolchain-6.0 (1:6.0.1-9) unstable; urgency=medium [ John Paul Adrian Glaubitz ] diff --git a/debian/patches/series b/debian/patches/series index ef521590..793394e9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -68,3 +68,4 @@ D51335-alignment-issue.diff rL338481-cherry-pick-really-subtle-miscompile.diff disable-sse2-old-x86.diff powerpcspe-add-missing-include-path.diff +x32-fix-driver-search-paths.diff diff --git a/debian/patches/x32-fix-driver-search-paths.diff b/debian/patches/x32-fix-driver-search-paths.diff new file mode 100644 index 00000000..03cf5a2b --- /dev/null +++ b/debian/patches/x32-fix-driver-search-paths.diff @@ -0,0 +1,80 @@ +Description: Fix missing include and library paths on x32 +Author: James Clarke +Forwarded: https://reviews.llvm.org/D43630 +Last-Update: 2018-09-15 + +--- llvm-toolchain-6.0-6.0.1.orig/clang/lib/Driver/ToolChains/Gnu.cpp ++++ llvm-toolchain-6.0-6.0.1/clang/lib/Driver/ToolChains/Gnu.cpp +@@ -1737,7 +1737,10 @@ bool Generic_GCC::GCCInstallationDetecto + "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", + "x86_64-slackware-linux", "x86_64-linux-android", + "x86_64-unknown-linux"}; +- static const char *const X32LibDirs[] = {"/libx32"}; ++ static const char *const X32LibDirs[] = {"/libx32", "/lib"}; ++ static const char *const X32Triples[] = { ++ "x86_64-linux-gnux32", "x86_64-unknown-linux-gnux32", ++ "x86_64-pc-linux-gnux32"}; + static const char *const X86LibDirs[] = {"/lib32", "/lib"}; + static const char *const X86Triples[] = { + "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", +@@ -1842,14 +1845,16 @@ bool Generic_GCC::GCCInstallationDetecto + } + break; + case llvm::Triple::x86_64: +- LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); +- TripleAliases.append(begin(X86_64Triples), end(X86_64Triples)); + // x32 is always available when x86_64 is available, so adding it as + // secondary arch with x86_64 triples + if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) { +- BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs)); ++ LibDirs.append(begin(X32LibDirs), end(X32LibDirs)); ++ TripleAliases.append(begin(X32Triples), end(X32Triples)); ++ BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); + BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples)); + } else { ++ LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); ++ TripleAliases.append(begin(X86_64Triples), end(X86_64Triples)); + BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs)); + BiarchTripleAliases.append(begin(X86Triples), end(X86Triples)); + } +--- llvm-toolchain-6.0-6.0.1.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-6.0-6.0.1/clang/lib/Driver/ToolChains/Linux.cpp +@@ -77,10 +77,13 @@ static std::string getMultiarchTriple(co + return "i386-linux-gnu"; + break; + case llvm::Triple::x86_64: +- // We don't want this for x32, otherwise it will match x86_64 libs +- if (TargetEnvironment != llvm::Triple::GNUX32 && +- D.getVFS().exists(SysRoot + "/lib/x86_64-linux-gnu")) +- return "x86_64-linux-gnu"; ++ if (TargetEnvironment == llvm::Triple::GNUX32) { ++ if (D.getVFS().exists(SysRoot + "/lib/x86_64-linux-gnux32")) ++ return "x86_64-linux-gnux32"; ++ } else { ++ if (D.getVFS().exists(SysRoot + "/lib/x86_64-linux-gnu")) ++ return "x86_64-linux-gnu"; ++ } + break; + case llvm::Triple::aarch64: + if (D.getVFS().exists(SysRoot + "/lib/aarch64-linux-gnu")) +@@ -597,6 +600,8 @@ void Linux::AddClangSystemIncludeArgs(co + // in use in any released version of Debian, so we should consider + // removing them. + "/usr/include/i686-linux-gnu/64", "/usr/include/i486-linux-gnu/64"}; ++ const StringRef X32MultiarchIncludeDirs[] = { ++ "/usr/include/x86_64-linux-gnux32"}; + const StringRef X86MultiarchIncludeDirs[] = { + "/usr/include/i386-linux-gnu", + +@@ -639,7 +644,10 @@ void Linux::AddClangSystemIncludeArgs(co + ArrayRef MultiarchIncludeDirs; + switch (getTriple().getArch()) { + case llvm::Triple::x86_64: +- MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; ++ if (getTriple().getEnvironment() == llvm::Triple::GNUX32) ++ MultiarchIncludeDirs = X32MultiarchIncludeDirs; ++ else ++ MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; + break; + case llvm::Triple::x86: + MultiarchIncludeDirs = X86MultiarchIncludeDirs; From 21fb4ae0299493427a0f6f0a17272b2392197e7a Mon Sep 17 00:00:00 2001 From: Reshabh Sharma Date: Mon, 17 Sep 2018 22:10:18 +0530 Subject: [PATCH 5/9] Revert "make libc++ packages coinstallable" This reverts commit a9ef6d378f143de303be8a30be12339a10d1ebe0. --- debian/changelog | 1 - debian/control | 12 ++++++++++++ debian/libc++-X.Y-dev.install.in | 4 ++-- debian/libc++-X.Y-dev.links.in | 5 +++-- debian/libc++1-X.Y.install.in | 2 +- debian/libc++1-X.Y.links.in | 4 ++-- debian/libc++1-X.Y.lintian-overrides.in | 1 - debian/libc++abi-X.Y-dev.install.in | 4 ++-- debian/libc++abi-X.Y-dev.links.in | 3 +-- debian/libc++abi1-X.Y.install.in | 3 +-- debian/libc++abi1-X.Y.links.in | 3 ++- debian/libc++abi1-X.Y.lintian-overrides.in | 1 - 12 files changed, 26 insertions(+), 17 deletions(-) diff --git a/debian/changelog b/debian/changelog index 138ea814..3fa60c52 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,7 +25,6 @@ llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium [ Reshabh Sharma ] * Make OpenMP packages coinstallable from version 7 - * Make libc++ packages coinstallable from version 7 [ John Paul Adrian Glaubitz ] * Add patch to fix missing MultiArch include dir diff --git a/debian/control b/debian/control index a1fe6a67..09907be8 100644 --- a/debian/control +++ b/debian/control @@ -520,6 +520,9 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: clang +Replaces: libc++1 (<< 7~+rc1-1~exp1) +Breaks: libc++1 (<< 7~+rc1-1~exp1) +Provides: libc++1 Description: LLVM C++ Standard library libc++ is another implementation of the C++ standard library. . @@ -538,6 +541,9 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: libc++1-7 (= ${binary:Version}), ${misc:Depends} +Provides: libc++-dev +Breaks: libc++-dev (<< 7~+rc1-1~exp1) +Replaces: libc++-dev (<< 7~+rc1-1~exp1) Description: LLVM C++ Standard library (development files) libc++ is another implementation of the C++ standard library . @@ -559,6 +565,9 @@ Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libc++abi1 (<< 7~+rc1-1~exp1) +Provides: libc++abi1 +Replaces: libc++abi1 (<< 7~+rc1-1~exp1) Description: LLVM low level support for a standard C++ library libc++abi is another implementation of low level support for a standard C++ library. @@ -573,6 +582,9 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: libc++abi1-7 (= ${binary:Version}), ${misc:Depends} +Replaces: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1) +Breaks: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1) +Provides: libc++abi-dev Description: LLVM low level support for a standard C++ library (development files) libc++abi is another implementation of low level support for a standard C++ library. diff --git a/debian/libc++-X.Y-dev.install.in b/debian/libc++-X.Y-dev.install.in index 54a7a7e3..d14e68c7 100644 --- a/debian/libc++-X.Y-dev.install.in +++ b/debian/libc++-X.Y-dev.install.in @@ -1,5 +1,5 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so usr/lib/@DEB_HOST_MULTIARCH@/ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++fs.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a usr/lib/llvm-@LLVM_VERSION@/include/c++/ diff --git a/debian/libc++-X.Y-dev.links.in b/debian/libc++-X.Y-dev.links.in index a28d4dc8..4fa1b52e 100644 --- a/debian/libc++-X.Y-dev.links.in +++ b/debian/libc++-X.Y-dev.links.in @@ -1,2 +1,3 @@ -/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so -/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.a /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/x86_64-linux-gnu/libc++.so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/x86_64-linux-gnu/libc++.a +usr/lib/llvm-@LLVM_VERSION@/include/c++ /usr/include/c++ diff --git a/debian/libc++1-X.Y.install.in b/debian/libc++1-X.Y.install.in index 4bf1b027..78e2cd3b 100644 --- a/debian/libc++1-X.Y.install.in +++ b/debian/libc++1-X.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.* diff --git a/debian/libc++1-X.Y.links.in b/debian/libc++1-X.Y.links.in index 27a103af..4d1955c5 100644 --- a/debian/libc++1-X.Y.links.in +++ b/debian/libc++1-X.Y.links.in @@ -1,2 +1,2 @@ -/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 -/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1 diff --git a/debian/libc++1-X.Y.lintian-overrides.in b/debian/libc++1-X.Y.lintian-overrides.in index 107251a3..d8d46f92 100644 --- a/debian/libc++1-X.Y.lintian-overrides.in +++ b/debian/libc++1-X.Y.lintian-overrides.in @@ -1,2 +1 @@ libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 -libc++1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++.so.1 usr/lib/*/libc++-@LLVM_VERSION@.so.1.0 libc++.so.1 diff --git a/debian/libc++abi-X.Y-dev.install.in b/debian/libc++abi-X.Y-dev.install.in index 6a04f813..8774c6ae 100644 --- a/debian/libc++abi-X.Y-dev.install.in +++ b/debian/libc++abi-X.Y-dev.install.in @@ -1,3 +1,3 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@*so usr/lib/@DEB_HOST_MULTIARCH@/ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/ diff --git a/debian/libc++abi-X.Y-dev.links.in b/debian/libc++abi-X.Y-dev.links.in index eb8f0ffa..6dd5f555 100644 --- a/debian/libc++abi-X.Y-dev.links.in +++ b/debian/libc++abi-X.Y-dev.links.in @@ -1,2 +1 @@ -usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so -usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so diff --git a/debian/libc++abi1-X.Y.install.in b/debian/libc++abi1-X.Y.install.in index 7940a51b..6e27733d 100644 --- a/debian/libc++abi1-X.Y.install.in +++ b/debian/libc++abi1-X.Y.install.in @@ -1,2 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@/ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.* diff --git a/debian/libc++abi1-X.Y.links.in b/debian/libc++abi1-X.Y.links.in index 754f4d59..a57ef065 100644 --- a/debian/libc++abi1-X.Y.links.in +++ b/debian/libc++abi1-X.Y.links.in @@ -1 +1,2 @@ -/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1 diff --git a/debian/libc++abi1-X.Y.lintian-overrides.in b/debian/libc++abi1-X.Y.lintian-overrides.in index 7dd1f22f..f51d4b1e 100644 --- a/debian/libc++abi1-X.Y.lintian-overrides.in +++ b/debian/libc++abi1-X.Y.lintian-overrides.in @@ -1,2 +1 @@ libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 -libc++abi1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++abi.so.1 usr/lib/*/libc++abi-@LLVM_VERSION@.so.1.0 libc++abi.so.1 From 8960a2eb7b0ba6adabaef572efeabd9bed62ca69 Mon Sep 17 00:00:00 2001 From: Reshabh Sharma Date: Mon, 17 Sep 2018 22:14:20 +0530 Subject: [PATCH 6/9] Revert "OpenMP packages are coinstallable" This reverts commit cb8571939a9b951dbf7dc080a39315dd87d5398c. --- debian/changelog | 4 ---- debian/control | 7 +++++++ debian/libomp-X.Y-dev.links.in | 5 ----- debian/libomp5-X.Y.install.in | 4 +--- debian/libomp5-X.Y.links.in | 5 +++-- debian/libomp5-X.Y.lintian-overrides.in | 1 - debian/rules | 15 +++------------ 7 files changed, 14 insertions(+), 27 deletions(-) delete mode 100644 debian/libomp-X.Y-dev.links.in diff --git a/debian/changelog b/debian/changelog index 3fa60c52..0d7b206b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,15 +17,11 @@ llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium - [ Sylvestre Ledru ] * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738) [ Gianfranco Costamagna ] * Force polly cmake removal on arch:all because of --fail-missing - [ Reshabh Sharma ] - * Make OpenMP packages coinstallable from version 7 - [ John Paul Adrian Glaubitz ] * Add patch to fix missing MultiArch include dir on powerpcspe (Closes: #908791) diff --git a/debian/control b/debian/control index 09907be8..3c791506 100644 --- a/debian/control +++ b/debian/control @@ -484,6 +484,9 @@ Section: libdevel Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 Depends: libomp5-7 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libomp-7-doc +Replaces: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1) +Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1) +Provides: libomp-dev Description: LLVM OpenMP runtime - dev package The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program @@ -493,6 +496,10 @@ Package: libomp5-7 Multi-Arch: same Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: libomp5 (<< 7~+rc1-1~exp1) +Breaks: libomp5 (<< 7~+rc1-1~exp1) +Provides: libomp5 +# TODO add the break depends Description: LLVM OpenMP runtime The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program diff --git a/debian/libomp-X.Y-dev.links.in b/debian/libomp-X.Y-dev.links.in deleted file mode 100644 index c80fc42e..00000000 --- a/debian/libomp-X.Y-dev.links.in +++ /dev/null @@ -1,5 +0,0 @@ -/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so /usr/lib/@DEB_HOST_MULTIARCH@/libgomp-@LLVM_VERSION@.so -/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so /usr/lib/@DEB_HOST_MULTIARCH@/libiomp5-@LLVM_VERSION@.so -/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so -/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so -/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so /usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so diff --git a/debian/libomp5-X.Y.install.in b/debian/libomp5-X.Y.install.in index da0e4b23..19af41ce 100644 --- a/debian/libomp5-X.Y.install.in +++ b/debian/libomp5-X.Y.install.in @@ -1,3 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/ -usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 -usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 +usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 diff --git a/debian/libomp5-X.Y.links.in b/debian/libomp5-X.Y.links.in index 9f83f576..cd9227f0 100644 --- a/debian/libomp5-X.Y.links.in +++ b/debian/libomp5-X.Y.links.in @@ -1,2 +1,3 @@ -/usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 -/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 +usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 + + diff --git a/debian/libomp5-X.Y.lintian-overrides.in b/debian/libomp5-X.Y.lintian-overrides.in index fc7612b7..201d42dc 100644 --- a/debian/libomp5-X.Y.lintian-overrides.in +++ b/debian/libomp5-X.Y.lintian-overrides.in @@ -1,2 +1 @@ libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 -libomp5-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libomp.so.5 usr/lib/*/libomp-@LLVM_VERSION@.so.5 libomp.so.5 diff --git a/debian/rules b/debian/rules index 780a440b..83f51fb7 100755 --- a/debian/rules +++ b/debian/rules @@ -463,6 +463,9 @@ override_dh_auto_install: cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && rm -f libclang.so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \ ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT) + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \ + ln -s libomp.so.$(SONAME_OPENMP) libomp.so + if test "$(OPENMP_ENABLE)" = yes; then \ mkdir -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \ cp -f openmp/runtime/exports/common*/include/* debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \ @@ -512,18 +515,6 @@ endif $(MAKE) -C libcxxabi/build install DESTDIR=$(DEB_INST) $(MAKE) -C libcxx/build install DESTDIR=$(DEB_INST) -# hack to make them co installable - cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && mv libc++.so.1.0 libc++-$(LLVM_VERSION).so.1.0; \ - mv libc++.so libc++-$(LLVM_VERSION).so; \ - mv libc++.a libc++-$(LLVM_VERSION).a; \ - mv libc++abi.so.1.0 libc++abi-$(LLVM_VERSION).so.1.0; \ - mv libc++abi.a libc++abi-$(LLVM_VERSION).a; \ - rm libc++.so.1 libc++abi.so libc++abi.so.1; \ - ln -s libc++-$(LLVM_VERSION).so.1.0 libc++-$(LLVM_VERSION).so.1; \ - ln -s libc++abi-$(LLVM_VERSION).so.1.0 libc++abi-$(LLVM_VERSION).so.1; \ - ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi-$(LLVM_VERSION).so; \ - ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi.so.1 - # Rename binaries mkdir -p $(DEB_INST)/usr/bin/ cd $(DEB_INST)/usr/bin/; \ From 0444b549c6f6c9e4507317bcfc1e3f6ee91c5182 Mon Sep 17 00:00:00 2001 From: Reshabh Sharma Date: Mon, 17 Sep 2018 22:14:56 +0530 Subject: [PATCH 7/9] Revert "update libc++*.a with version in dh_strip exception" This reverts commit f7138055e89bf487f9ebb76ddc1a49d211eb87cc. --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index 83f51fb7..61d409fe 100755 --- a/debian/rules +++ b/debian/rules @@ -627,7 +627,7 @@ endif # endif ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.28 ; echo $$?),0) # strip segfaults on libFuzzer.a - dh_strip -a -v -XlibFuzzer.a -Xlibc++-$(LLVM_VERSION).a -Xlibc++abi-$(LLVM_VERSION).a -Xlibc++experimental.a + dh_strip -a -v -XlibFuzzer.a -Xlibc++.a -Xlibc++abi.a -Xlibc++experimental.a else dh_strip -a -v endif From 64b291b756819df0c75b194bb2c66b64413f782f Mon Sep 17 00:00:00 2001 From: Reshabh Sharma Date: Mon, 17 Sep 2018 16:52:19 +0000 Subject: [PATCH 8/9] fix changelog --- debian/changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/changelog b/debian/changelog index 0d7b206b..13ecb40c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,7 @@ llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium + [ Sylvestre Ledru ] * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738) [ Gianfranco Costamagna ] From 21d3048d5f1a69bd45c85254b69005792af0f1d9 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 18 Sep 2018 21:37:56 +0200 Subject: [PATCH 9/9] On old Debian & Ubuntu, removing the files is necessary --- debian/rules | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/rules b/debian/rules index a20bfc8a..a7b111d5 100755 --- a/debian/rules +++ b/debian/rules @@ -521,6 +521,8 @@ ifeq (${POLLY_ENABLE},yes) # only for arch:any builds ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages))) dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly +# On old Debian & Ubuntu, removing the files is necessary + rm debian/tmp/usr/lib/llvm-$(VERSION)/lib/cmake/polly/*.cmake else rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake endif