From d13452ba59293f5c97352623f8a83033bcd4c838 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 1 Sep 2014 11:49:31 +0000 Subject: [PATCH] * libclang-3.4.so should be used instead libclang.so. Update the soname to match the new lib name (Closes: #759538) * Rename liblldb.so to liblldb-3.4.so + update of the soname. * python-clang-3.4 description updated * liblldb-3.4 and python-lldb-3.4 added * lldb-3.4-dev renamed to liblldb-3.4-dev to match the previous changes * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy added * clang-3.4 should depends on binutils (for ld, at least) (Closes: #751030) --- debian/TODO | 12 ---- debian/changelog | 15 +++++ debian/clang-X.Y.manpages.in | 3 + debian/clang-format-X.Y.manpages.in | 2 +- debian/control | 56 +++++++++++++++-- debian/libclang-X.Y-dev.install.in | 1 + debian/libclang-X.Y-dev.links.in | 1 - debian/libclang1-X.Y.lintian-overrides.in | 5 +- debian/libclang1-X.Y.symbols.in | 44 ++++++------- ....install.in => liblldb-X.Y-dev.install.in} | 0 debian/liblldb-X.Y.install.in | 2 + debian/liblldb-X.Y.links.in | 4 ++ debian/liblldb-X.Y.lintian-overrides.in | 4 ++ debian/lldb-X.Y.install.in | 2 - debian/lldb-X.Y.links.in | 12 ---- debian/lldb-X.Y.lintian-overrides.in | 4 -- debian/llvm-X.Y.manpages.in | 1 + debian/patches/18-soname.patch | 12 ++-- debian/patches/lldb-libname.diff | 13 ++++ debian/patches/series | 1 + debian/python-lldb-X.Y.install.in | 2 + debian/python-lldb-X.Y.links.in | 3 + debian/rules | 62 ++++++++++--------- 23 files changed, 165 insertions(+), 96 deletions(-) rename debian/{lldb-X.Y-dev.install.in => liblldb-X.Y-dev.install.in} (100%) create mode 100644 debian/liblldb-X.Y.install.in create mode 100644 debian/liblldb-X.Y.links.in create mode 100644 debian/liblldb-X.Y.lintian-overrides.in delete mode 100644 debian/lldb-X.Y.links.in create mode 100644 debian/patches/lldb-libname.diff create mode 100644 debian/python-lldb-X.Y.install.in create mode 100644 debian/python-lldb-X.Y.links.in diff --git a/debian/TODO b/debian/TODO index 7fcc5878..0ce53dbd 100644 --- a/debian/TODO +++ b/debian/TODO @@ -1,18 +1,6 @@ * add the support of libclang in llvm default (for now, it is called libclang1-3.3.so) -* add a symbol file for libclang.so in llvm default - -* check if we should use alternatives - -* remove of clang & llvm 3.2 - -* look at the bugs of llvm 3.2 - * move the header at the right place in libclang-dev * bootstrap of clang with itself - -* update of the soname - -* man page for clang-format diff --git a/debian/changelog b/debian/changelog index 64b932b3..208334a0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +llvm-toolchain-3.4 (1:3.4.2-9~exp1) experimental; urgency=medium + + * libclang-3.4.so should be used instead libclang.so. Update the soname + to match the new lib name (Closes: #759538) + * Rename liblldb.so to liblldb-3.4.so + update of the soname. + * python-clang-3.4 description updated + * liblldb-3.4 and python-lldb-3.4 added + * lldb-3.4-dev renamed to liblldb-3.4-dev to match the previous changes + * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy + added + * clang-3.4 should depends on binutils (for ld, at least) + (Closes: #751030) + + -- Sylvestre Ledru Sat, 30 Aug 2014 18:09:20 +0200 + llvm-toolchain-3.4 (1:3.4.2-8) unstable; urgency=medium * Try to bring back lldb-3.4-dev on mips & mipsel (Closes: #758314) diff --git a/debian/clang-X.Y.manpages.in b/debian/clang-X.Y.manpages.in index a07b5ee3..c414065e 100644 --- a/debian/clang-X.Y.manpages.in +++ b/debian/clang-X.Y.manpages.in @@ -3,3 +3,6 @@ clang/tools/scan-build/scan-build-@LLVM_VERSION@.1 debian/man/clang-check-@LLVM_VERSION@.1 debian/man/clang-tblgen-@LLVM_VERSION@.1 debian/man/scan-view-@LLVM_VERSION@.1 +debian/man/clang-tidy-@LLVM_VERSION@.1 +debian/man/clang-apply-replacements-@LLVM_VERSION@.1 +debian/man/pp-trace-@LLVM_VERSION@.1 diff --git a/debian/clang-format-X.Y.manpages.in b/debian/clang-format-X.Y.manpages.in index a073eda3..486b909d 100644 --- a/debian/clang-format-X.Y.manpages.in +++ b/debian/clang-format-X.Y.manpages.in @@ -1,2 +1,2 @@ debian/man/clang-format-diff-@LLVM_VERSION@.1 - +debian/man/clang-format-@LLVM_VERSION@.1 diff --git a/debian/control b/debian/control index f84f77a9..204bdd03 100644 --- a/debian/control +++ b/debian/control @@ -22,7 +22,7 @@ Package: clang-3.4 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang-common-3.4-dev (= ${binary:Version}), - libclang1-3.4 (= ${binary:Version}), libc6-dev + libclang1-3.4 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler Recommends: llvm-3.4-dev, python Suggests: gnustep, gnustep-devel, clang-3.4-doc @@ -177,6 +177,13 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, python Replaces: python-clang-3.3, python-clang-3.5 Breaks: python-clang-3.3, python-clang-3.5 Description: Clang Python Bindings + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang implements all of the ISO C++ 1998 and 2001 standards and also provides + a partial support of C++1y. + . This binding package provides access to the Clang compiler and libraries. @@ -385,19 +392,50 @@ Description: Modular compiler and toolchain technologies, examples Package: lldb-3.4 Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 powerpc mips mipsel # ia64 hurd have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.4 (= ${binary:Version}), python, llvm-3.4-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.4 (= ${binary:Version}), python, llvm-3.4-dev, liblldb-3.4, + python-lldb-3.4 Pre-Depends: ${misc:Pre-Depends} -Replaces: lldb-3.2, lldb-3.3, lldb-3.5 -Breaks: lldb-3.2, lldb-3.3, lldb-3.5 Description: Next generation, high-performance debugger LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. -Package: lldb-3.4-dev +Package: liblldb-3.4 Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 powerpc mips mipsel +# ia64 hurd have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.4 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Replaces: lldb-3.4 (>> 1:3.4.2-9~) +Breaks: lldb-3.4 (>> 1:3.4.2-9~) +Description: Next generation, high-performance debugger, library + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package contains the LLDB runtime library. + + +Package: python-lldb-3.4 +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, python lib + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This binding package provides access to lldb. + + +Package: liblldb-3.4-dev +Section: libdevel +Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 powerpc mips mipsel # ia64 mips mipsel hurd have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.4 (= ${binary:Version}) +Replaces: lldb-3.4-dev (<< 1:3.4.2-9~) +Breaks: lldb-3.4-dev (<< 1:3.4.2-9~) Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger - Header files LLDB is a next generation, high-performance debugger. It is built as a set of @@ -405,3 +443,11 @@ Description: Next generation, high-performance debugger - Header files Project, such as the Clang expression parser and LLVM disassembler. . This package provides the header files to build extension over lldb. + + +Package: lldb-3.4-dev +Depends: liblldb-3.4-dev, ${misc:Depends} +Architecture: all +Section: oldlibs +Description: transitional dummy package to liblldb-3.4-dev + This is a transitional dummy package. It can safely be removed. diff --git a/debian/libclang-X.Y-dev.install.in b/debian/libclang-X.Y-dev.install.in index eeb39575..d051ccc1 100644 --- a/debian/libclang-X.Y-dev.install.in +++ b/debian/libclang-X.Y-dev.install.in @@ -1,6 +1,7 @@ usr/lib/llvm-@LLVM_VERSION@/include/clang usr/lib/llvm-@LLVM_VERSION@/include/clang-c usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so usr/lib/llvm-@LLVM_VERSION@/lib/libmodernizeCore.a diff --git a/debian/libclang-X.Y-dev.links.in b/debian/libclang-X.Y-dev.links.in index e5025d27..5edcb499 100644 --- a/debian/libclang-X.Y-dev.links.in +++ b/debian/libclang-X.Y-dev.links.in @@ -1,3 +1,2 @@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so -usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so diff --git a/debian/libclang1-X.Y.lintian-overrides.in b/debian/libclang1-X.Y.lintian-overrides.in index 096da0c0..74348405 100644 --- a/debian/libclang1-X.Y.lintian-overrides.in +++ b/debian/libclang1-X.Y.lintian-overrides.in @@ -1,2 +1,5 @@ # I know and I am not planning to change that. -libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang1 \ No newline at end of file +libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang1 +# Provided as transition +libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so + diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index e6fcc4ef..e6e0c248 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -1,4 +1,4 @@ -libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# +libclang-@LLVM_VERSION@.so libclang1-@LLVM_VERSION@ #MINVER# clang_BlockCommandComment_getArgText@Base 3.2 clang_BlockCommandComment_getCommandName@Base 3.2 clang_BlockCommandComment_getNumArgs@Base 3.2 @@ -7,7 +7,7 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_CXCursorSet_insert@Base 3.2 clang_CXIndex_getGlobalOptions@Base 3.2 clang_CXIndex_setGlobalOptions@Base 3.2 - clang_CXXMethod_isPureVirtual@Base 1:@LLVM_VERSION@ + clang_CXXMethod_isPureVirtual@Base 3.4 clang_CXXMethod_isStatic@Base 3.2 clang_CXXMethod_isVirtual@Base 3.2 clang_Comment_getChild@Base 3.2 @@ -16,7 +16,7 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_Comment_isWhitespace@Base 3.2 clang_CompilationDatabase_dispose@Base 3.2 clang_CompilationDatabase_fromDirectory@Base 3.2 - clang_CompilationDatabase_getAllCompileCommands@Base 1:@LLVM_VERSION@ + clang_CompilationDatabase_getAllCompileCommands@Base 3.4 clang_CompilationDatabase_getCompileCommands@Base 3.2 clang_CompileCommand_getArg@Base 3.2 clang_CompileCommand_getDirectory@Base 3.2 @@ -29,19 +29,19 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_Cursor_getCommentRange@Base 3.2 clang_Cursor_getModule@Base 3.2 clang_Cursor_getNumArguments@Base 3.2 - clang_Cursor_getObjCDeclQualifiers@Base 1:@LLVM_VERSION@ - clang_Cursor_getObjCPropertyAttributes@Base 1:@LLVM_VERSION@ + clang_Cursor_getObjCDeclQualifiers@Base 3.4 + clang_Cursor_getObjCPropertyAttributes@Base 3.4 clang_Cursor_getObjCSelectorIndex@Base 3.2 clang_Cursor_getParsedComment@Base 3.2 clang_Cursor_getRawCommentText@Base 3.2 clang_Cursor_getReceiverType@Base 3.2 clang_Cursor_getSpellingNameRange@Base 3.2 clang_Cursor_getTranslationUnit@Base 3.2 - clang_Cursor_isBitField@Base 1:@LLVM_VERSION@ + clang_Cursor_isBitField@Base 3.4 clang_Cursor_isDynamicCall@Base 3.2 clang_Cursor_isNull@Base 3.2 - clang_Cursor_isObjCOptional@Base 1:@LLVM_VERSION@ - clang_Cursor_isVariadic@Base 1:@LLVM_VERSION@ + clang_Cursor_isObjCOptional@Base 3.4 + clang_Cursor_isVariadic@Base 3.4 clang_FullComment_getAsHTML@Base 3.2 clang_FullComment_getAsXML@Base 3.2 clang_HTMLStartTagComment_isSelfClosing@Base 3.2 @@ -57,9 +57,9 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_InlineCommandComment_getNumArgs@Base 3.2 clang_InlineCommandComment_getRenderKind@Base 3.2 clang_InlineContentComment_hasTrailingNewline@Base 3.2 - clang_Location_isFromMainFile@Base 1:@LLVM_VERSION@ - clang_Location_isInSystemHeader@Base 1:@LLVM_VERSION@ - clang_Module_getASTFile@Base 1:@LLVM_VERSION@ + clang_Location_isFromMainFile@Base 3.4 + clang_Location_isInSystemHeader@Base 3.4 + clang_Module_getASTFile@Base 3.4 clang_Module_getFullName@Base 3.2 clang_Module_getName@Base 3.2 clang_Module_getNumTopLevelHeaders@Base 3.2 @@ -76,11 +76,11 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_TParamCommandComment_getParamName@Base 3.2 clang_TParamCommandComment_isParamPositionValid@Base 3.2 clang_TextComment_getText@Base 3.2 - clang_Type_getAlignOf@Base 1:@LLVM_VERSION@ - clang_Type_getCXXRefQualifier@Base 1:@LLVM_VERSION@ - clang_Type_getClassType@Base 1:@LLVM_VERSION@ - clang_Type_getOffsetOf@Base 1:@LLVM_VERSION@ - clang_Type_getSizeOf@Base 1:@LLVM_VERSION@ + clang_Type_getAlignOf@Base 3.4 + clang_Type_getCXXRefQualifier@Base 3.4 + clang_Type_getClassType@Base 3.4 + clang_Type_getOffsetOf@Base 3.4 + clang_Type_getSizeOf@Base 3.4 clang_VerbatimBlockLineComment_getText@Base 3.2 clang_VerbatimLineComment_getText@Base 3.2 clang_annotateTokens@Base 3.2 @@ -123,8 +123,8 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_equalRanges@Base 3.2 clang_equalTypes@Base 3.2 clang_executeOnThread@Base 3.2 - clang_findIncludesInFile@Base 1:@LLVM_VERSION@ - clang_findIncludesInFileWithBlock@Base 1:@LLVM_VERSION@ + clang_findIncludesInFile@Base 3.4 + clang_findIncludesInFileWithBlock@Base 3.4 clang_findReferencesInFile@Base 3.2 clang_findReferencesInFileWithBlock@Base 3.2 clang_formatDiagnostic@Base 3.2 @@ -188,12 +188,12 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_getEnumConstantDeclValue@Base 3.2 clang_getEnumDeclIntegerType@Base 3.2 clang_getExpansionLocation@Base 3.2 - clang_getFieldDeclBitWidth@Base 1:@LLVM_VERSION@ + clang_getFieldDeclBitWidth@Base 3.4 clang_getFile@Base 3.2 - clang_getFileLocation@Base 1:@LLVM_VERSION@ + clang_getFileLocation@Base 3.4 clang_getFileName@Base 3.2 clang_getFileTime@Base 3.2 - clang_getFileUniqueID@Base 1:@LLVM_VERSION@ + clang_getFileUniqueID@Base 3.4 clang_getFunctionTypeCallingConv@Base 3.2 clang_getIBOutletCollectionType@Base 3.2 clang_getIncludedFile@Base 3.2 @@ -232,7 +232,7 @@ libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_getTranslationUnitSpelling@Base 3.2 clang_getTypeDeclaration@Base 3.2 clang_getTypeKindSpelling@Base 3.2 - clang_getTypeSpelling@Base 1:@LLVM_VERSION@ + clang_getTypeSpelling@Base 3.4 clang_getTypedefDeclUnderlyingType@Base 3.2 clang_hashCursor@Base 3.2 clang_indexLoc_getCXSourceLocation@Base 3.2 diff --git a/debian/lldb-X.Y-dev.install.in b/debian/liblldb-X.Y-dev.install.in similarity index 100% rename from debian/lldb-X.Y-dev.install.in rename to debian/liblldb-X.Y-dev.install.in diff --git a/debian/liblldb-X.Y.install.in b/debian/liblldb-X.Y.install.in new file mode 100644 index 00000000..6b58d197 --- /dev/null +++ b/debian/liblldb-X.Y.install.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/debian/liblldb-X.Y.links.in b/debian/liblldb-X.Y.links.in new file mode 100644 index 00000000..86c0b504 --- /dev/null +++ b/debian/liblldb-X.Y.links.in @@ -0,0 +1,4 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so usr/lib/python2.7/dist-packages/lldb-@LLVM_VERSION@/_lldb.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 diff --git a/debian/liblldb-X.Y.lintian-overrides.in b/debian/liblldb-X.Y.lintian-overrides.in new file mode 100644 index 00000000..b045ee27 --- /dev/null +++ b/debian/liblldb-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +# That is normal. The lib is not (yet?) shipped as a new package +liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb +# For now, override this warning. We might create a -dev at some point +liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so diff --git a/debian/lldb-X.Y.install.in b/debian/lldb-X.Y.install.in index 1316fbe5..f1f8ec49 100644 --- a/debian/lldb-X.Y.install.in +++ b/debian/lldb-X.Y.install.in @@ -2,5 +2,3 @@ usr/bin/lldb-@LLVM_VERSION@ usr/bin/lldb-platform-@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/bin/lldb usr/lib/llvm-@LLVM_VERSION@/bin/lldb-platform -usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ -build-llvm/Release/lib/python2.7/site-packages/lldb/ /usr/lib/python2.7/dist-packages/ diff --git a/debian/lldb-X.Y.links.in b/debian/lldb-X.Y.links.in deleted file mode 100644 index 5783897a..00000000 --- a/debian/lldb-X.Y.links.in +++ /dev/null @@ -1,12 +0,0 @@ -usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so -usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 -usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so usr/lib/python2.7/dist-packages/lldb/_lldb.so -usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 - -usr/bin/lldb-@LLVM_VERSION@ usr/bin/lldb -usr/bin/lldb-platform-@LLVM_VERSION@ usr/bin/lldb-platform -usr/bin/lldb-gdbserver-@LLVM_VERSION@ usr/bin/lldb-gdbserver - -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1 -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1 - diff --git a/debian/lldb-X.Y.lintian-overrides.in b/debian/lldb-X.Y.lintian-overrides.in index b4a7c0bc..2efccc46 100644 --- a/debian/lldb-X.Y.lintian-overrides.in +++ b/debian/lldb-X.Y.lintian-overrides.in @@ -1,5 +1 @@ -# That is normal. The lib is not (yet?) shipped as a new package -lldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz -# For now, override this warning. We might create a -dev at some point -lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so \ No newline at end of file diff --git a/debian/llvm-X.Y.manpages.in b/debian/llvm-X.Y.manpages.in index b74242d7..693f9ee6 100644 --- a/debian/llvm-X.Y.manpages.in +++ b/debian/llvm-X.Y.manpages.in @@ -7,4 +7,5 @@ debian/man/llvm-rtdyld-@LLVM_VERSION@.1 debian/man/llvm-size-@LLVM_VERSION@.1 debian/man/llvm-tblgen-@LLVM_VERSION@.1 debian/man/macho-dump-@LLVM_VERSION@.1 +debian/man/llvm-ranlib-@LLVM_VERSION@.1 diff --git a/debian/patches/18-soname.patch b/debian/patches/18-soname.patch index 12446c70..ac78f415 100644 --- a/debian/patches/18-soname.patch +++ b/debian/patches/18-soname.patch @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_3.4~svn193628/clang/tools/libclang/Makefile +Index: llvm-toolchain-3.4-3.4.2/clang/tools/libclang/Makefile =================================================================== ---- llvm-toolchain-snapshot_3.4~svn193628.orig/clang/tools/libclang/Makefile 2013-10-29 18:21:54.358914501 +0100 -+++ llvm-toolchain-snapshot_3.4~svn193628/clang/tools/libclang/Makefile 2013-10-29 18:22:13.622915201 +0100 -@@ -14,6 +14,7 @@ +--- llvm-toolchain-3.4-3.4.2.orig/clang/tools/libclang/Makefile ++++ llvm-toolchain-3.4-3.4.2/clang/tools/libclang/Makefile +@@ -14,6 +14,7 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/l LINK_LIBS_IN_SHARED = 1 SHARED_LIBRARY = 1 @@ -10,12 +10,12 @@ Index: llvm-toolchain-snapshot_3.4~svn193628/clang/tools/libclang/Makefile include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option -@@ -30,7 +31,7 @@ +@@ -30,7 +31,7 @@ include $(CLANG_LEVEL)/Makefile # Add soname to the library. ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) -+ LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_MAJOR) ++ LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)-$(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)$(SHLIBEXT) endif ##===----------------------------------------------------------------------===## diff --git a/debian/patches/lldb-libname.diff b/debian/patches/lldb-libname.diff new file mode 100644 index 00000000..5ec9149c --- /dev/null +++ b/debian/patches/lldb-libname.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-3.4-3.4.2/lldb/lib/Makefile +=================================================================== +--- llvm-toolchain-3.4-3.4.2.orig/lldb/lib/Makefile ++++ llvm-toolchain-3.4-3.4.2/lldb/lib/Makefile +@@ -153,7 +153,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L + # Link GCC atomic helper library + LLVMLibsOptions += -latomic + endif +- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_EXTENSION) ++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)-$(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)$(SHLIBEXT).$(SONAME_EXTENSION) + endif + + ifeq ($(HOST_OS),FreeBSD) diff --git a/debian/patches/series b/debian/patches/series index 2d629e96..2355bce0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -43,3 +43,4 @@ follow-parallel-var.diff scan-build-search-path.diff gcc-4.9-i586-linux-gnu.diff hurd-EIEIO-undef.diff +lldb-libname.diff diff --git a/debian/python-lldb-X.Y.install.in b/debian/python-lldb-X.Y.install.in new file mode 100644 index 00000000..a151a473 --- /dev/null +++ b/debian/python-lldb-X.Y.install.in @@ -0,0 +1,2 @@ +build-llvm/Release/lib/python2.7/site-packages/lldb/ /usr/lib/python2.7/dist-packages/ + diff --git a/debian/python-lldb-X.Y.links.in b/debian/python-lldb-X.Y.links.in new file mode 100644 index 00000000..0b700f07 --- /dev/null +++ b/debian/python-lldb-X.Y.links.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1 + diff --git a/debian/rules b/debian/rules index 5daa619b..aa202160 100755 --- a/debian/rules +++ b/debian/rules @@ -122,7 +122,7 @@ LLDB_DISABLE_ARCHS := arm64 hurd-i386 ia64 # mips* fails with "undefined references to `__atomic_load_8'" ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH))) # Disable LLDB for this arch. - LLDB_ENABLE=no + LLDB_ENABLE=no endif @@ -156,25 +156,25 @@ override_dh_auto_configure: preconfigure # Remove some old symlinks cd tools/ && \ - if test -h clang; then \ - rm clang; \ - fi; \ - ln -s ../clang .; \ + if test -h clang; then \ + rm clang; \ + fi; \ + ln -s ../clang .; \ readlink clang if test $(POLLY_ENABLE) = yes; then \ - cd tools/ && \ - if test -h polly; then \ - rm polly; \ - fi; \ - ln -s ../polly .; \ + cd tools/ && \ + if test -h polly; then \ + rm polly; \ + fi; \ + ln -s ../polly .; \ fi if test $(LLDB_ENABLE) = yes; then \ - cd tools/ && \ - if test -h lldb; then \ + cd tools/ && \ + if test -h lldb; then \ rm lldb; \ - fi; \ + fi; \ ln -s ../lldb .; \ fi @@ -255,36 +255,31 @@ build_doc: help2man --version-string=$(LLVM_VERSION) clang/tools/scan-view/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 help2man --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 - for f in clang clang-tblgen clang-check; do \ - help2man --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/Release/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ + CMDS="llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-tblgen llvm-ranlib macho-dump lldb clang-format clang-modernize clang clang-tblgen clang-check clang-tidy clang-apply-replacements pp-trace"; \ + for f in $$CMDS; do \ + echo "Generating manpage of $$f"; \ + LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ help2man --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/Release/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ done - for f in llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-tblgen macho-dump lldb clang-format clang-modernize; do \ - help2man --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/Release/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ - done - - override_dh_auto_install: $(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install DESTDIR=$(DEB_INST)/ chrpath -d $(TARGET_BUILD)/Release/bin/clang chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable` + chmod -x $(TARGET_BUILD)/tools/polly/Release/lib/libpolly*.a # Add the trailing soname mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) - - if test $(LLDB_ENABLE) = yes; then \ - mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so.$(SONAME_EXT); \ - fi - cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && \ - if test ! -f libclang-$(LLVM_VERSION).so.$(SONAME_EXT); then \ - mv libclang.so libclang-$(LLVM_VERSION).so.$(SONAME_EXT) && \ - ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT); \ + mv libclang.so libclang-$(LLVM_VERSION).so.$(SONAME_EXT) && \ + ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT); \ + ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \ + if test $(LLDB_ENABLE) = yes; then \ + mv liblldb.so liblldb-$(LLVM_VERSION).so.$(SONAME_EXT) && \ + ln -s liblldb-$(LLVM_VERSION).so.$(SONAME_EXT) liblldb.so.$(SONAME_EXT); \ fi; \ - rm -f libLLVM-$(LLVM_VERSION_FULL).so; \ - rm -f libclang.so + rm -f libLLVM-$(LLVM_VERSION_FULL).so # Remove artefact (where compiler-rt is built) if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \ @@ -322,8 +317,10 @@ override_dh_auto_install: cp -f $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + rm -rf clang/tools/scan-build-$(LLVM_VERSION) cp -fR $(CURDIR)/clang/tools/scan-build clang/tools/scan-build-$(LLVM_VERSION) + rm -rf clang/tools/scan-view-$(LLVM_VERSION) cp -fR $(CURDIR)/clang/tools/scan-view clang/tools/scan-view-$(LLVM_VERSION) # Remove some license files @@ -363,6 +360,9 @@ override_dh_strip: dh_strip -a +override_dh_install: + dh_install --fail-missing + override_dh_installdeb: # Managed by the package dh_installdeb -a @@ -375,6 +375,8 @@ override_dh_installdeb: find $(CURDIR)/debian/llvm-$(LLVM_VERSION)-tools/usr/lib/llvm-$(LLVM_VERSION)/ -name '*.pyc' | xargs -r rm -f + + ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS))) # List of the archs we know we have 100 % tests working ARCH_LLVM_TEST_OK := amd64 i386