Blob Blame History Raw
%global min_glib2_ver 2.46
%global min_jsonglib_ver 1.2
%global min_libsoup_ver 2.32
%global min_gtkdoc_ver 1.20
%global min_gi_ver 0.9.5
%global min_valatools_ver 0.16

Name:		snapd-glib
Version:	1.15
Release:	1%{?dist}
Summary:	Library providing a GLib interface to snapd

Group:		System Environment/Libraries
License:	LGPLv2 or LGPLv3
URL:		https://launchpad.net/%{name}
Source0:	https://launchpad.net/%{name}/1.x/%{version}/+download/%{name}-%{version}.tar.xz

BuildRequires:	gtk-doc >= %{min_gtkdoc_ver}
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  gobject-introspection-devel >= %{min_gi_ver}
BuildRequires:  intltool
BuildRequires:  libtool
BuildRequires:  pkgconfig(gio-2.0) >= %{min_glib2_ver}
BuildRequires:  pkgconfig(gio-unix-2.0) >= %{min_glib2_ver}
BuildRequires:  pkgconfig(glib-2.0) >= %{min_glib2_ver}
BuildRequires:  pkgconfig(json-glib-1.0) >= %{min_jsonglib_ver}
BuildRequires:  pkgconfig(libsoup-2.4) >= %{min_libsoup_ver}
BuildRequires:  pkgconfig(polkit-gobject-1)
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5Qml)
BuildRequires:  vala-tools >= %{min_valatools_ver}

# Ensure that weird Provides aren't generated
%global __provides_exclude_from ^%{_qt5_qmldir}/Snapd/.*\\.so$

%description
%{name} is a library that provides an interface to communicate
with snapd for GLib based applications.

%package devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
This package provides the files for developing applications
that use %{name} to communicate with snapd.

%package -n snapd-qt
Summary:	Library providing a Qt5 interface to snapd
Group:		System Environment/Libraries
Requires:	%{name}%{?_isa} = %{version}-%{release}

%description -n snapd-qt
snapd-qt is a library that provides an interface to communicate
with snapd for Qt based applications.

%package -n snapd-qt-qml
Summary:	Library providing a Qt5 QML interface to snapd
Group:		System Environment/Libraries
Requires:	snapd-qt%{?_isa} = %{version}-%{release}

%description -n snapd-qt-qml
snapd-qt-qml is a library that provides an interface to communicate
with snapd for Qt QML based applications.


%package -n snapd-qt-devel
Summary:	Development files for snapd-qt
Group:		Development/Libraries
Requires:	snapd-qt%{?_isa} = %{version}-%{release}
Requires:	%{name}-devel%{?_isa} = %{version}-%{release}

%description -n snapd-qt-devel
This package provides the files for developing applications
that use snapd-qt to communicate with snapd.

%package -n snapd-login-service
Summary:        Service to allow non-root access to snapd
Group:          System Environment/Daemons
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       polkit
# snapd is not necessarily available on all architectures...
Recommends:     snapd

%description -n snapd-login-service
Snapd Login Service is a daemon that allows users to request
authorization from snapd. It uses Polkit to check for permissions.

%prep
%setup -q


%build
%configure --enable-gtk-doc --libexecdir=%{_libexecdir}/snapd \
	    --enable-snapd-qt --enable-qml-module
%make_build


%install
%make_install

find %{buildroot} -name '*.la' -delete

%find_lang %{name}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -n snapd-qt -p /sbin/ldconfig

%postun -n snapd-qt -p /sbin/ldconfig


%files -f %{name}.lang
%license COPYING.LGPL2 COPYING.LGPL3
%doc NEWS
%{_libdir}/libsnapd-glib.so.*
%{_libdir}/girepository-1.0/Snapd-1.typelib

%files devel
%doc %{_datadir}/gtk-doc/html/snapd-glib
%{_includedir}/snapd-glib
%{_libdir}/libsnapd-glib.so
%{_libdir}/pkgconfig/snapd-glib.pc
%{_datadir}/vala/vapi/snapd-glib.*
%{_datadir}/gir-1.0/Snapd-1.gir

%files -n snapd-qt
%{_libdir}/libsnapd-qt.so.*

%files -n snapd-qt-qml
%{_qt5_qmldir}/Snapd/

%files -n snapd-qt-devel
%{_includedir}/snapd-qt
%{_libdir}/libsnapd-qt.so
%{_libdir}/pkgconfig/snapd-qt.pc
%{_libdir}/cmake/Snapd/

%files -n snapd-login-service
%{_libexecdir}/snapd/snapd-login-service
%{_sysconfdir}/dbus-1/system.d/io.snapcraft.SnapdLoginService.conf
%{_datadir}/dbus-1/interfaces/io.snapcraft.SnapdLoginService.xml
%{_datadir}/dbus-1/system-services/io.snapcraft.SnapdLoginService.service
%{_datadir}/polkit-1/actions/io.snapcraft.SnapdLoginService.policy

%changelog
* Thu Jul 13 2017 Robert Ancell <robert.ancell@canonical.com> - 1.15-1
- Update to 1.15
- Add gcc-c++ build depends

* Wed Jun 28 2017 Neal Gompa <ngompa13@gmail.com> - 1.13-2
- Downgrade snapd to Recommends and remove ExclusiveArch

* Tue Jun 27 2017 Neal Gompa <ngompa13@gmail.com> - 1.13-1
- Update to 1.13
- Version the build dependencies

* Thu May 18 2017 Neal Gompa <ngompa13@gmail.com> - 1.12-1
- Update to 1.12

* Wed Apr 05 2017 Neal Gompa <ngompa13@gmail.com> - 1.10-1
- Update to 1.10

* Fri Mar 31 2017 Neal Gompa <ngompa13@gmail.com> - 1.9-2
- Add ExclusiveArch entry from snapd, since it requires snapd

* Fri Mar 31 2017 Neal Gompa <ngompa13@gmail.com> - 1.9-1
- Rebase to latest upstream release

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Tue Nov 1 2016  Zygmunt Krynicki <me@zygoon.pl> - 1.2-1
- Update to latest upstream release

* Tue Sep 27 2016 Neal Gompa <ngompa13@gmail.com> - 0.14-1
- Flesh out spec and add subpackages for devel and login service

* Thu Sep 08 2016 Zygmunt Krynicki <me@zygoon.pl> - 0.14-0
- Update to 0.14

* Fri Aug 26 2016 Zygmunt Krynicki <me@zygoon.pl> - 0.8-1
- Initial version of the package