Hi Norbert, thank you for the patch. See some comments below.
Cheers On 2017-02-28 00:57:41, Norbert Lange wrote: > Package: bear > Version: 2.2.1-1 > Severity: normal > Tags: patch > > Dear Maintainer, > > bear is preloading the libear.so library with an absolute path, > this requires that the architecture (32/64 bit) is matched > and known in advance. > > This leads to several issues: > > 1. the package is not multiarch capable, thus > there cant be libear.so for multiple archs installed > 2. the default path is fixed for one architecture > 3. starting a build under bear, using both 32 and 64 bit > tools will need someting different that a fixed path > > I am attaching a path to fix these issue, by splitting the library > in its own package, and using a variable in the default path > > Kind Regards, > Norbert Lange > > -- System Information: > Debian Release: 9.0 > APT prefers testing > APT policy: (200, 'testing') > Architecture: amd64 (x86_64) > Foreign Architectures: i386, armhf, arm64 > > Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores) > Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > Init: systemd (via /run/systemd/system) > > Versions of packages bear depends on: > ii bear-lib 2.2.1-1 > pn python3:any <none> > > bear recommends no packages. > > bear suggests no packages. > > -- no debconf information > diff -burN debian.orig/bear.install debian/bear.install > --- debian.orig/bear.install 1970-01-01 01:00:00.000000000 +0100 > +++ debian/bear.install 2017-02-28 00:01:36.000000000 +0100 > @@ -0,0 +1,2 @@ > +/usr/bin > +/usr/share/man > diff -burN debian.orig/bear-lib.install debian/bear-lib.install > --- debian.orig/bear-lib.install 1970-01-01 01:00:00.000000000 +0100 > +++ debian/bear-lib.install 2017-02-27 23:59:12.000000000 +0100 > @@ -0,0 +1 @@ > +/usr/lib > diff -burN debian.orig/changelog debian/changelog > --- debian.orig/changelog 2016-10-19 19:01:50.000000000 +0200 > +++ debian/changelog 2017-02-28 00:40:58.000000000 +0100 > @@ -1,3 +1,11 @@ > +bear (2.2.1-1~nmu) unstable; urgency=medium > + > + * split library from main python script > + * make default libear.so path configurable in the CMake files > + * adjust the default libear.so path to use the ${LIB} Variable > + > + -- Norbert Lange <nolang...@gmail.com> Tue, 28 Feb 2017 00:40:58 +0100 > + > bear (2.2.1-1) unstable; urgency=medium > > * New upstream release. > diff -burN debian.orig/control debian/control > --- debian.orig/control 2016-10-19 18:58:44.000000000 +0200 > +++ debian/control 2017-02-28 00:36:05.000000000 +0100 > @@ -5,8 +5,8 @@ > Build-Depends: > debhelper (>= 10), > cmake, > - python, > - python3, > + python:any, > + python3:any, Why? > scons, > libqt4-dev, > dh-python > @@ -16,9 +16,9 @@ > Vcs-Git: https://anonscm.debian.org/git/collab-maint/bear.git > > Package: bear > -Architecture: any > +Architecture: all > Depends: > - ${shlibs:Depends}, > + bear-lib (>= ${source:Version}), bear-lib (<< ${source:Upstream-Version}.0~) Missing comma at the end. > ${misc:Depends}, > ${python3:Depends} > Description: generate compilation database for Clang tooling > @@ -29,3 +29,19 @@ > cmake supports the generation of JSON compilation databases out of the box. > For any other build system that does not support this, Bear can be used > instead to intercept the invocation of the compiler. > + > +Package: bear-lib Why not something like libear? > +Architecture: any > +Multi-Arch: same > +Depends: > + ${shlibs:Depends} Missing ${misc:Depends} > +Description: generate compilation database for Clang tooling > + Bear records the flags passed to the compiler for each translation unit and > + stores them in a JSON file. This file can be used by Clang's tooling > interface > + and programs like clang-check to process a translation unit. > + . > + cmake supports the generation of JSON compilation databases out of the box. > + For any other build system that does not support this, Bear can be used > + instead to intercept the invocation of the compiler. > + . > + This is the required library for wrapping system calls Missing Breaks + Replaces. > diff -burN debian.orig/patches/make_default_preload_configurable.diff > debian/patches/make_default_preload_configurable.diff > --- debian.orig/patches/make_default_preload_configurable.diff > 1970-01-01 01:00:00.000000000 +0100 > +++ debian/patches/make_default_preload_configurable.diff 2017-02-28 > 00:19:16.000000000 +0100 > @@ -0,0 +1,15 @@ > +Description: Allow configuring the default preload library path > + Add the responsible variable to CMake's cache > + . > + > +--- bear-2.2.1.orig/CMakeLists.txt > ++++ bear-2.2.1/CMakeLists.txt > +@@ -39,7 +39,7 @@ if (NOT CMAKE_BUILD_TYPE) > + endif() > + > + set(EAR_LIB_FILE > ${CMAKE_SHARED_LIBRARY_PREFIX}ear${CMAKE_SHARED_LIBRARY_SUFFIX}) > +-set(DEFAULT_PRELOAD_FILE ${CMAKE_INSTALL_FULL_LIBDIR}/${EAR_LIB_FILE}) > ++set(DEFAULT_PRELOAD_FILE ${CMAKE_INSTALL_FULL_LIBDIR}/${EAR_LIB_FILE} CACHE > STRING "Default preload library path") > + > + add_subdirectory(libear) > + add_subdirectory(bear) This should go upstream. Cheers > diff -burN debian.orig/patches/series debian/patches/series > --- debian.orig/patches/series 2015-08-08 17:13:48.000000000 +0200 > +++ debian/patches/series 2017-02-28 00:17:16.000000000 +0100 > @@ -1,2 +1,3 @@ > use-python3.patch > remove-rpath.patch > +make_default_preload_configurable.diff > diff -burN debian.orig/rules debian/rules > --- debian.orig/rules 2016-10-19 18:58:44.000000000 +0200 > +++ debian/rules 2017-02-28 00:35:21.000000000 +0100 > @@ -7,7 +7,8 @@ > > override_dh_auto_configure: > dh_auto_configure -- \ > - -DCMAKE_INSTALL_LIBDIR="lib/${DEB_HOST_MULTIARCH}/bear" > + -DCMAKE_INSTALL_LIBDIR="lib/${DEB_HOST_MULTIARCH}/bear" \ > + -DDEFAULT_PRELOAD_FILE="/usr/\$${LIB}/bear/libear.so" > > override_dh_auto_test: > # The tests fail if /usr/lib/ccache is in PATH so we remove it here. > The tests > @@ -17,10 +18,5 @@ > -e 's;^/usr/lib/ccache/\?;;') \ > dh_auto_test > > -override_dh_auto_install: > - dh_auto_install > - # Remove unwanted files. > - rm -rf debian/bear/usr/share/doc/bear > - > override_dh_installchangelogs: > dh_installchangelogs ChangeLog.md -- Sebastian Ramacher
signature.asc
Description: PGP signature