1cf00d
Name:          bolt
1cf00d
Version:       0.4
1cf00d
Release:       3%{?dist}
1cf00d
Summary:       Thunderbolt device manager
1cf00d
License:       LGPLv2+
1cf00d
URL:           https://gitlab.freedesktop.org/bolt/bolt
1cf00d
Source0:       %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
1cf00d
Patch0:        py2-compat.patch
1cf00d
Patch1:        restricting-capabilities.patch
1cf00d
1cf00d
BuildRequires: gcc
1cf00d
BuildRequires: asciidoc
1cf00d
BuildRequires: meson
1cf00d
BuildRequires: libudev-devel
1cf00d
BuildRequires: pkgconfig(gio-2.0)
1cf00d
BuildRequires: pkgconfig(libudev)
1cf00d
BuildRequires: pkgconfig(systemd)
1cf00d
BuildRequires: pkgconfig(libsystemd)
1cf00d
BuildRequires: polkit-devel
1cf00d
BuildRequires: systemd
1cf00d
%{?systemd_requires}
1cf00d
1cf00d
# for the integration test (optional)
1cf00d
%if 0%{?fedora}
1cf00d
BuildRequires: pygobject3-devel
1cf00d
BuildRequires: python3-dbus
1cf00d
BuildRequires: python3-dbusmock
1cf00d
BuildRequires: umockdev-devel
1cf00d
%endif
1cf00d
1cf00d
%description
1cf00d
bolt is a system daemon to manage thunderbolt 3 devices via a D-BUS
1cf00d
API.  Thunderbolt 3 features different security modes that require
1cf00d
devices to be authorized before they can be used. The D-Bus API can be
1cf00d
used to list devices, enroll them (authorize and store them in the
1cf00d
local database) and forget them again (remove previously enrolled
1cf00d
devices). It also emits signals if new devices are connected (or
1cf00d
removed). During enrollment devices can be set to be automatically
1cf00d
authorized as soon as they are connected.  A command line tool, called
1cf00d
boltctl, can be used to control the daemon and perform all the above
1cf00d
mentioned tasks.
1cf00d
1cf00d
%prep
1cf00d
%setup -q
1cf00d
%patch0 -p1
1cf00d
%patch1 -p1
1cf00d
1cf00d
%build
1cf00d
%meson -Ddb-path=%{_localstatedir}/lib/boltd
1cf00d
%meson_build
1cf00d
1cf00d
%check
1cf00d
%meson_test
1cf00d
1cf00d
%install
1cf00d
%meson_install
1cf00d
install -m0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/boltd
1cf00d
1cf00d
1cf00d
%post
1cf00d
%systemd_post %{name}.service
1cf00d
1cf00d
%preun
1cf00d
%systemd_preun %{name}.service
1cf00d
1cf00d
%postun
1cf00d
%systemd_postun_with_restart %{name}.service
1cf00d
1cf00d
%files
1cf00d
%license COPYING
1cf00d
%doc README.md
1cf00d
%{_bindir}/boltctl
1cf00d
%{_libexecdir}/boltd
1cf00d
%{_unitdir}/%{name}.service
1cf00d
%{_udevrulesdir}/*-%{name}.rules
1cf00d
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.bolt.conf
1cf00d
%{_datadir}/dbus-1/interfaces/org.freedesktop.bolt.xml
1cf00d
%{_datadir}/polkit-1/actions/org.freedesktop.bolt.policy
1cf00d
%{_datadir}/polkit-1/rules.d/org.freedesktop.bolt.rules
1cf00d
%{_datadir}/dbus-1/system-services/org.freedesktop.bolt.service
1cf00d
%{_mandir}/man1/boltctl.1*
1cf00d
%{_mandir}/man8/boltd.8*
1cf00d
%dir %{_localstatedir}/lib/boltd
1cf00d
1cf00d
%changelog
1cf00d
* Wed Jul 18 2018 Christian Kellner <ckellner@redhat.com> - 0.4-3
1cf00d
- Include patch to tighten sandbox by restricting capabilities
1cf00d
- Resolves: #1559611
1cf00d
1cf00d
* Wed Jun  6 2018 Christian Kellner <ckellner@redhat.com> - 0.4-2
1cf00d
- bolt 0.4 upstream release
1cf00d
- Resolves: #1559611