]> git.pld-linux.org Git - SPECS.git/blob - usbguard.spec
SPECS updated Tue 30 Apr 15:13:02 CEST 2024
[SPECS.git] / usbguard.spec
1 #
2 # Conditional build:
3 %bcond_without  static_libs     # static library
4 %bcond_without  systemd         # systemd units
5
6 Summary:        Software framework for implementing USB device authorization policies
7 Name:           usbguard
8 Version:        1.1.2
9 Release:        1
10 License:        GPL v2+
11 Group:          Applications/System
12 Source0:        https://github.com/USBGuard/usbguard/releases/download/%{name}-%{version}/usbguard-%{version}.tar.gz
13 # Source0-md5:  3c9478e17bac575ff51b1d746e72f25c
14 Patch0:         gcc13.patch
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
23 %endif
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)
45
46 %description
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.
51
52 %package libs
53 Summary:        usbguard library
54 Group:          Libraries
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
59
60 %description libs
61 usbguard library.
62
63 %package devel
64 Summary:        Header files for the usbguard library
65 Group:          Development/Libraries
66 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
67
68 %description devel
69 Header files for usbguard library.
70
71 %package static
72 Summary:        Static usbguard library
73 Group:          Development/Libraries
74 Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
75
76 %description static
77 Static usbguard library.
78
79 %prep
80 %setup -q
81 %patch0 -p1
82
83 %build
84 %configure \
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 \
90         --with-ldap
91
92 %{__make}
93
94 %install
95 rm -rf $RPM_BUILD_ROOT
96 %{__make} install \
97         DESTDIR=$RPM_BUILD_ROOT
98
99 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libusbguard.la
100
101 %clean
102 rm -rf $RPM_BUILD_ROOT
103
104 %post
105 %{?with_systemd:%systemd_post usbguard.service usbguard-dbus.service}
106
107 %preun
108 %{?with_systemd:%systemd_preun usbguard.service usbguard-dbus.service}
109
110 %postun
111 %{?with_systemd:%systemd_postun usbguard.service usbguard-dbus.service}
112
113 %post   libs -p /sbin/ldconfig
114 %postun libs -p /sbin/ldconfig
115
116 %files
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
127 %if %{with systemd}
128 %{systemdunitdir}/usbguard.service
129 %{systemdunitdir}/usbguard-dbus.service
130 %endif
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
141
142 %files libs
143 %defattr(644,root,root,755)
144 %attr(755,root,root) %{_libdir}/libusbguard.so.*.*.*
145 %attr(755,root,root) %ghost %{_libdir}/libusbguard.so.1
146
147 %files devel
148 %defattr(644,root,root,755)
149 %attr(755,root,root) %{_libdir}/libusbguard.so
150 %{_includedir}/usbguard
151 %{_pkgconfigdir}/libusbguard.pc
152
153 %if %{with static_libs}
154 %files static
155 %defattr(644,root,root,755)
156 %{_libdir}/libusbguard.a
157 %endif
This page took 0.118074 seconds and 3 git commands to generate.