Hello community, here is the log from the commit of package meson for openSUSE:Factory checked in at 2016-08-20 12:27:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/meson (Old) and /work/SRC/openSUSE:Factory/.meson.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "meson" Changes: -------- --- /work/SRC/openSUSE:Factory/meson/meson.changes 2016-07-28 23:46:49.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.meson.new/meson.changes 2016-08-20 12:27:09.000000000 +0200 @@ -1,0 +2,13 @@ +Wed Aug 17 15:43:57 UTC 2016 - dims...@opensuse.org + +- Update to version 0.33.0: + + Correctly install .typelib files to libdir. + + Add option for as-needed link option. + + Print the CFLAGS/LDFLAGS/etc inherited from the environment. + + Only append compile flags to the link flags when appropriate. +- Add meson-633.patch: Handle both DT_RPATH as well as DT_RUNPATH + when fixing rpath settings (gh#mesonbuild/meson#663). +- Add meson-typelib-install.patch: Fix installation path for + gpobject introspection typelib files. + +------------------------------------------------------------------- Old: ---- meson-0.32.0.tar.gz meson-0.32.0.tar.gz.asc New: ---- meson-0.33.0.tar.gz meson-0.33.0.tar.gz.asc meson-633.patch meson-typelib-install.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ meson.spec ++++++ --- /var/tmp/diff_new_pack.R6war1/_old 2016-08-20 12:27:10.000000000 +0200 +++ /var/tmp/diff_new_pack.R6war1/_new 2016-08-20 12:27:10.000000000 +0200 @@ -18,7 +18,7 @@ %define _name mesonbuild Name: meson -Version: 0.32.0 +Version: 0.33.0 Release: 0 Summary: High productivity build system License: Apache-2.0 @@ -27,6 +27,10 @@ Source: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.asc Source2: %{name}.keyring +# PATCH-FIX-UPSTREAM meson-633.patch dims...@opensuse.org -- Handle both DT_RPATH as well as DT_RUNPATH when fixing rpath settings +Patch0: meson-633.patch +# PATCH-FIX-UPSTREAM meson-typelib-install.patch dims...@opensuse.org -- Correct install path for gi typelibs, taken from upstream git +Patch1: meson-typelib-install.patch BuildRequires: bison BuildRequires: boost-devel BuildRequires: flex @@ -68,6 +72,8 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 # Lack of gtest, gmock, gnustep. rm -rf "test cases/frameworks/2 gtest" \ ++++++ meson-0.32.0.tar.gz -> meson-0.33.0.tar.gz ++++++ ++++ 5487 lines of diff (skipped) ++++++ meson-633.patch ++++++ >From 3671c40a4b8ea0c0e7899caf27074f604cb95bcf Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen <jpakk...@gmail.com> Date: Tue, 2 Aug 2016 21:45:45 +0300 Subject: [PATCH] Handle both DT_RPATH as well as DT_RUNPATH when fixing rpath settings. --- mesonbuild/scripts/depfixer.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py index 8ff0dd1..cb136f4 100644 --- a/mesonbuild/scripts/depfixer.py +++ b/mesonbuild/scripts/depfixer.py @@ -20,6 +20,7 @@ SHT_STRTAB = 3 DT_NEEDED = 1 DT_RPATH = 15 +DT_RUNPATH = 29 DT_STRTAB = 5 DT_SONAME = 14 @@ -211,21 +212,29 @@ def print_soname(self): self.bf.seek(strtab.val + soname.val) print(self.read_str()) - def get_rpath_offset(self): + def get_entry_offset(self, entrynum): sec = self.find_section(b'.dynstr') for i in self.dynamic: - if i.d_tag == DT_RPATH: + if i.d_tag == entrynum: return sec.sh_offset + i.val return None def print_rpath(self): - offset = self.get_rpath_offset() + offset = self.get_entry_offset(DT_RPATH) if offset is None: print("This file does not have an rpath.") else: self.bf.seek(offset) print(self.read_str()) + def print_runpath(self): + offset = self.get_entry_offset(DT_RUNPATH) + if offset is None: + print("This file does not have a runpath.") + else: + self.bf.seek(offset) + print(self.read_str()) + def print_deps(self): sec = self.find_section(b'.dynstr') deps = [] @@ -257,9 +266,15 @@ def fix_deps(self, prefix): self.bf.write(newname) def fix_rpath(self, new_rpath): + # The path to search for can be either rpath or runpath. + # Fix both of them to be sure. + self.fix_rpathtype_entry(new_rpath, DT_RPATH) + self.fix_rpathtype_entry(new_rpath, DT_RUNPATH) + + def fix_rpathtype_entry(self, new_rpath, entrynum): if isinstance(new_rpath, str): new_rpath = new_rpath.encode('utf8') - rp_off = self.get_rpath_offset() + rp_off = self.get_entry_offset(entrynum) if rp_off is None: if self.verbose: print('File does not have rpath. It should be a fully static executable.') @@ -272,12 +287,12 @@ def fix_rpath(self, new_rpath): self.bf.write(new_rpath) self.bf.write(b'\0'*(len(old_rpath) - len(new_rpath) + 1)) if len(new_rpath) == 0: - self.remove_rpath_entry() + self.remove_rpath_entry(entrynum) - def remove_rpath_entry(self): + def remove_rpath_entry(self, entrynum): sec = self.find_section(b'.dynamic') for (i, entry) in enumerate(self.dynamic): - if entry.d_tag == DT_RPATH: + if entry.d_tag == entrynum: rpentry = self.dynamic[i] rpentry.d_tag = 0 self.dynamic = self.dynamic[:i] + self.dynamic[i+1:] + [rpentry] @@ -296,6 +311,7 @@ def run(args): e = Elf(args[0]) if len(args) == 1: e.print_rpath() + e.print_runpath() else: new_rpath = args[1] e.fix_rpath(new_rpath) ++++++ meson-typelib-install.patch ++++++ >From 660c872422be4ed7fb4499d1263793fb0e976141 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Mon, 4 Jul 2016 12:29:56 +0200 Subject: [PATCH] gnome.py: typelib files should be installed in libdir The typelib files should be installed in libdir, even on debian (which has them in /usr/lib/x86_64-linux-gnu/girepository-1.0/). --- mesonbuild/modules/gnome.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 2c37655..037b1f5 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -228,9 +228,7 @@ def generate_gir(self, state, args, kwargs): kwargs['output'] = typelib_output kwargs['command'] = typelib_cmd - # Note that this can't be libdir, because e.g. on Debian it points to - # lib/x86_64-linux-gnu but the girepo dir is always under lib. - kwargs['install_dir'] = 'lib/girepository-1.0' + kwargs['install_dir'] = os.path.join(state.environment.get_libdir(), 'girepository-1.0') typelib_target = TypelibTarget(typelib_output, state.subdir, kwargs) return [scan_target, typelib_target]