3 %bcond_without static_libs # static library
4 %bcond_without systemd # systemd units
6 Summary: Software framework for implementing USB device authorization policies
11 Group: Applications/System
12 Source0: https://github.com/USBGuard/usbguard/releases/download/%{name}-%{version}/usbguard-%{version}.tar.gz
13 # Source0-md5: 3c9478e17bac575ff51b1d746e72f25c
15 URL: https://usbguard.github.io/
16 BuildRequires: PEGTL-devel
17 BuildRequires: asciidoc
18 BuildRequires: audit-libs-devel >= 2.7.7
19 BuildRequires: dbus-devel
20 BuildRequires: glib2-devel
21 %ifnarch %arch_with_atomics64
22 BuildRequires: libatomic-devel
24 BuildRequires: libcap-ng-devel >= 0.7.0
25 BuildRequires: libqb-devel >= 0.16.0
26 BuildRequires: libseccomp-devel >= 2.0.0
27 BuildRequires: libsodium-devel >= 0.4.5
28 BuildRequires: libstdc++-devel >= 6:8
29 BuildRequires: libxml2-progs
30 BuildRequires: libxslt-progs
31 BuildRequires: linux-libc-headers >= 7:2.6.10
32 BuildRequires: openldap-devel
33 BuildRequires: pkgconfig
34 BuildRequires: polkit-devel
35 BuildRequires: protobuf-devel >= 2.5.0
36 BuildRequires: rpmbuild(macros) >= 2.025
37 %{?with_systemd:BuildRequires: systemd-devel}
38 BuildRequires: umockdev-devel >= 0.8.0
39 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
40 Requires: audit-libs >= 2.7.7
41 Requires: libcap-ng >= 0.7.0
42 Requires: libseccomp >= 2.0.0
43 %{?with_systemd:Requires: systemd-units >= 38}
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 USBGuard is a software framework for implementing USB device
48 authorization policies (what kind of USB devices are authorized) as
49 well as method of use policies (how a USB device may interact with the
50 system). Simply put, it is a USB device allowlisting tool.
53 Summary: usbguard library
55 Requires: libqb >= 0.16.0
56 Requires: libsodium >= 0.4.5
57 Requires: protobuf-libs >= 2.5.0
58 Requires: umockdev >= 0.8.0
64 Summary: Header files for the usbguard library
65 Group: Development/Libraries
66 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
69 Header files for usbguard library.
72 Summary: Static usbguard library
73 Group: Development/Libraries
74 Requires: %{name}-devel%{?_isa} = %{version}-%{release}
77 Static usbguard library.
85 --disable-silent-rules \
86 %{__enable_disable static_libs static} \
87 %{__enable_disable systemd} \
88 --with-bash-completion-dir="%{bash_compdir}" \
89 --with-bundled-catch \
95 rm -rf $RPM_BUILD_ROOT
97 DESTDIR=$RPM_BUILD_ROOT
99 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libusbguard.la
102 rm -rf $RPM_BUILD_ROOT
105 %{?with_systemd:%systemd_post usbguard.service usbguard-dbus.service}
108 %{?with_systemd:%systemd_preun usbguard.service usbguard-dbus.service}
111 %{?with_systemd:%systemd_postun usbguard.service usbguard-dbus.service}
113 %post libs -p /sbin/ldconfig
114 %postun libs -p /sbin/ldconfig
117 %defattr(644,root,root,755)
118 %doc CHANGELOG.md README.adoc
119 %dir %{_sysconfdir}/usbguard
120 %dir %{_sysconfdir}/usbguard/IPCAccessControl.d
121 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/usbguard/rules.conf
122 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/usbguard/usbguard-daemon.conf
123 %attr(755,root,root) %{_bindir}/usbguard
124 %attr(755,root,root) %{_bindir}/usbguard-rule-parser
125 %attr(755,root,root) %{_sbindir}/usbguard-daemon
126 %attr(755,root,root) %{_sbindir}/usbguard-dbus
128 %{systemdunitdir}/usbguard.service
129 %{systemdunitdir}/usbguard-dbus.service
131 %{bash_compdir}/usbguard
132 %{_datadir}/dbus-1/system.d/org.usbguard1.conf
133 %{_datadir}/dbus-1/system-services/org.usbguard1.service
134 %{_mandir}/man1/usbguard.1*
135 %{_mandir}/man5/usbguard-daemon.conf.5*
136 %{_mandir}/man5/usbguard-rules.conf.5*
137 %{_mandir}/man8/usbguard-daemon.8*
138 %{_mandir}/man8/usbguard-dbus.8*
139 %{_datadir}/polkit-1/actions/org.usbguard1.policy
140 %dir %attr(751,root,root) /var/log/usbguard
143 %defattr(644,root,root,755)
144 %attr(755,root,root) %{_libdir}/libusbguard.so.*.*.*
145 %attr(755,root,root) %ghost %{_libdir}/libusbguard.so.1
148 %defattr(644,root,root,755)
149 %attr(755,root,root) %{_libdir}/libusbguard.so
150 %{_includedir}/usbguard
151 %{_pkgconfigdir}/libusbguard.pc
153 %if %{with static_libs}
155 %defattr(644,root,root,755)
156 %{_libdir}/libusbguard.a