From 773971cd491255fcd666d5d0f9fb4f818e9d3e0bb6f370f0bce3fa71811b642e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 9 Mar 2018 10:20:40 +0000 Subject: [PATCH] Accepting request 583485 from GNOME:Next Scripted push of project GNOME:Next OBS-URL: https://build.opensuse.org/request/show/583485 OBS-URL: https://build.opensuse.org/package/show/GNOME:Apps/gcab?expand=0&rev=16 --- gcab-0.8.tar.xz | 3 -- gcab-1.1.tar.xz | 3 ++ gcab-revert-git-dep.patch | 38 +++++++++++++++++++ gcab.changes | 79 +++++++++++++++++++++++++++++++++++++++ gcab.spec | 62 +++++++++++++++++++++--------- 5 files changed, 164 insertions(+), 21 deletions(-) delete mode 100644 gcab-0.8.tar.xz create mode 100644 gcab-1.1.tar.xz create mode 100644 gcab-revert-git-dep.patch diff --git a/gcab-0.8.tar.xz b/gcab-0.8.tar.xz deleted file mode 100644 index b65bf3c..0000000 --- a/gcab-0.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c5f602ca4a89904e045b97762b470726383e399d34a161d0ba26cc6023c7086 -size 337016 diff --git a/gcab-1.1.tar.xz b/gcab-1.1.tar.xz new file mode 100644 index 0000000..fa09a88 --- /dev/null +++ b/gcab-1.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:192b2272c2adfde43595e5c62388854bca8a404bc796585b638e81774dd62950 +size 76132 diff --git a/gcab-revert-git-dep.patch b/gcab-revert-git-dep.patch new file mode 100644 index 0000000..650c31c --- /dev/null +++ b/gcab-revert-git-dep.patch @@ -0,0 +1,38 @@ +From b9972fb3329c2b170132a51694b06d0d8189efd5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= +Date: Tue, 13 Feb 2018 11:48:02 +0100 +Subject: build-sys: don't require git to build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Check git is available before running it. + +Fixes: +https://bugzilla.gnome.org/show_bug.cgi?id=793406 + +Signed-off-by: Marc-André Lureau +--- + meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index f2ae0d2..861df60 100644 +--- a/meson.build ++++ b/meson.build +@@ -5,7 +5,11 @@ project('gcab', 'c', + default_options : ['warning_level=2', 'c_std=c99'], + ) + +-git_version = run_command(['git', 'describe', '--abbrev=4', 'HEAD']).stdout().strip().split('-') ++git_version = [] ++git = find_program('git', required: false) ++if git.found() ++ git_version = run_command(git, 'describe', '--abbrev=4', 'HEAD').stdout().strip().split('-') ++endif + + # libtool versioning + lt_current = '0' +-- +cgit v0.12 + diff --git a/gcab.changes b/gcab.changes index 765c282..6f73210 100644 --- a/gcab.changes +++ b/gcab.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Wed Feb 28 16:25:37 UTC 2018 - dimstar@opensuse.org + +- Modernize spec-file by calling spec-cleaner + +------------------------------------------------------------------- +Mon Feb 12 10:28:17 UTC 2018 - bjorn.lie@gmail.com + +- Add gcab-revert-git-dep.patch: Revert new dependency on git, + having a builddependency on git just to able to show version when + using a git checkout is a bit much (bgo#793406). +- Following the above patch, drop git BuildRequires. + +------------------------------------------------------------------- +Fri Feb 9 23:49:52 UTC 2018 - luc14n0@linuxmail.org + +- Update to version 1.1: + + Add git version in --version. + + Fix list of new symbols in index page. + + Fix unused declarations. +- Drop fixed upstream patches: + gcab-meson-build-fixes.patch; + gcab-folder-simplify_sort_cfiles.patch; + gcab-doc-fixes.patch. +- Drop intltool BuildRequires: it's no longer a requirement after + upstream migration to Gettext. +- Add git BuildRequires: new dependency. +- Add a little summary of its content to the main package + description. + +------------------------------------------------------------------- +Tue Jan 23 20:27:11 UTC 2018 - bjorn.lie@gmail.com + +- Add gcab-doc-fixes.patch: Two documentation build fixes. +- Add gcab-folder-simplify_sort_cfiles.patch: folder: simplify + _sort_cfiles(), get rid of warnings. + +------------------------------------------------------------------- +Tue Jan 23 16:19:12 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 1.0 (CVE-2018-5345): + + This fixes the security bug known as CVE-2018-5345. + + New Features: + - Add a helper executable to create massive compressed + archives. + - Add a special binary to use just for fuzzing. + - Add gcab_cabinet_get_size(). + - Add gcab_file_new_with_bytes(). + - Add gcab_file_set_attributes(). + - Add gcab_file_set_date(). + - Add gcab_folder_get_comptype(). + - Add gcab_folder_get_file_by_name(). + - Add some self tests to test libgcab. + - Switch to the Meson buildsystem. + + Bugfixes: + - Do not return translated errors from libraries. + - Fix a large memory leak when parsing LZX cab files. + - Fix a theoretical crash when building the table entries. + - Replace all the custom typedefd unsigned types with working + versions. + - Return detailed errors from gcab_cabinet_get_signature(). + - Use g_autoptr() to fix countless memory leaks when parsing + corrupt files. + - Use g_autoptr() to fix several memory leaks on error in the + library. + - Use G_DECLARE_FINAL_TYPE to remove lots of C boilerplate. + + Updated translations. +- Add gcab-meson-build-fixes.patch: Fixes to meson build to match + the former autotools build. +- Add meson and gtk-doc BuildRequires and use meson, meson_build + and meson_install macros, following upstreams switch to meson. +- Replace gobject-introspection with + pkgconfig(gobject-introspection-1.0) BuildRequires: Actually + build introspection support, split out new sub-package + typelib-1_0-GCab-1_0. +- Pass docs=true, introspection=true and tests=false to meson, + only build the features we want. +- No longer delete .la files, meson build does not generate them. + ------------------------------------------------------------------- Tue Jan 23 16:09:51 UTC 2018 - bjorn.lie@gmail.com diff --git a/gcab.spec b/gcab.spec index 48fe48c..fb3aeb9 100644 --- a/gcab.spec +++ b/gcab.spec @@ -17,19 +17,22 @@ Name: gcab -Version: 0.8 +Version: 1.1 Release: 0 Summary: Cabinet file library and tool -License: LGPL-2.1+ +License: LGPL-2.1-or-later Group: Productivity/Archiving/Compression -Url: http://ftp.gnome.org/pub/GNOME/sources/gcab -Source: http://download.gnome.org/sources/gcab/0.8/%{name}-%{version}.tar.xz - -BuildRequires: gobject-introspection >= 0.9.4 -BuildRequires: intltool >= 0.40.0 +URL: http://ftp.gnome.org/pub/GNOME/sources/gcab +Source0: http://download.gnome.org/sources/gcab/1.1/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM gcab-revert-git-dep.patch bgo#793406 bjorn.lie@gmail.com -- Revert git dependency +Patch0: gcab-revert-git-dep.patch +BuildRequires: gtk-doc +BuildRequires: meson +BuildRequires: pkgconfig BuildRequires: vala >= 0.14 BuildRequires: zlib-devel -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.44.0 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.4 Recommends: %{name}-lang %description @@ -38,6 +41,8 @@ gcab is a tool and library for manipulating cabinet files. It uses the GObject API and provides GIR bindings. It supports creation of archives with simple MSZIP compression. +This package provides gcab tool and its manuals. + %package -n libgcab-1_0-0 Summary: Cabinet file library Group: System/Libraries @@ -50,6 +55,18 @@ It supports creation of archives with simple MSZIP compression. This package provides a system library to access cab files +%package -n typelib-1_0-GCab-1_0 +Summary: Cabinet file library -- Introspection files +Group: Development/Languages/C and C++ + +%description -n typelib-1_0-GCab-1_0 +gcab is a tool and library for manipulating cabinet files. + +It uses the GObject API and provides GIR bindings. +It supports creation of archives with simple MSZIP compression. + +This package contains the introspection files. + %package devel Summary: Cabinet file library -- Development files Group: Development/Languages/C and C++ @@ -61,40 +78,49 @@ gcab is a tool and library for manipulating cabinet files. It uses the GObject API and provides GIR bindings. It supports creation of archives with simple MSZIP compression. -This package provides development files to build code against libgcab +This package provides development files to build code against +libgcab. %lang_package %prep -%autosetup +%autosetup -p1 %build -%configure \ - --disable-static -make %{?_smp_mflags} +%meson \ + -D docs=true \ + -D introspection=true \ + -D tests=false \ +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete -print +%meson_install %find_lang %{name} %post -n libgcab-1_0-0 -p /sbin/ldconfig %postun -n libgcab-1_0-0 -p /sbin/ldconfig %files -%doc COPYING +%license COPYING +%doc NEWS README.md %{_bindir}/%{name} %{_mandir}/man?/%{name}.?%{?ext_man} -%files lang -f %{name}.lang - %files -n libgcab-1_0-0 %{_libdir}/libgcab-1.0.so.* +%files -n typelib-1_0-GCab-1_0 +%{_libdir}/girepository-1.0/GCab-1.0.typelib + %files devel %doc %{_datadir}/gtk-doc/html/%{name}/ %{_includedir}/libgcab-1.0/ %{_libdir}/libgcab-1.0.so %{_libdir}/pkgconfig/libgcab-1.0.pc +%{_datadir}/gir-1.0/GCab-1.0.gir +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/libgcab-1.0.* + +%files lang -f %{name}.lang %changelog