]> git.pld-linux.org Git - packages/dnf-plugins-core.git/blob - dnf-plugins-core.spec
b1dddcf18c3a13e8c3ce67ba7d5f80211e6850d5
[packages/dnf-plugins-core.git] / dnf-plugins-core.spec
1 #
2 # Conditional build:
3 %bcond_without  yum_compatibility       # Add yum plugins provides
4 %bcond_without  yum_utils               # Build yum-utils replacement package dnf-utils
5 #
6 Summary:        Core Plugins for DNF
7 Name:           dnf-plugins-core
8 Version:        4.0.19
9 Release:        2
10 License:        GPL v2+
11 Source0:        https://github.com/rpm-software-management/dnf-plugins-core/archive/%{version}/%{name}-%{version}.tar.gz
12 # Source0-md5:  ab4a9b6919a70943d45404943ae49a21
13 Patch0:         install.patch
14 Patch1:         migrate3.patch
15 URL:            https://github.com/rpm-software-management/dnf-plugins-core
16 BuildRequires:  cmake
17 BuildRequires:  dnf >= 4.2.22
18 BuildRequires:  gettext
19 BuildRequires:  python3-dbus
20 BuildRequires:  python3-devel
21 BuildRequires:  python3-nose
22 BuildRequires:  sphinx-pdg
23 Requires:       dnf >= 4.2.22
24 Requires:       python3-dateutil
25 Requires:       python3-dbus
26 Requires:       python3-hawkey >= 0.46.1
27 %if %{with yum_compatibility}
28 Provides:       yum-plugin-auto-update-debug-info = %{version}-%{release}
29 Provides:       yum-plugin-changelog = %{version}-%{release}
30 Provides:       yum-plugin-copr = %{version}-%{release}
31 %endif
32 BuildArch:      noarch
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %description
36 Core Plugins for DNF. This package enhances DNF with builddep,
37 config-manager, copr, debug, debuginfo-install, download,
38 needs-restarting, groups-manager, repoclosure, repograph, repomanage,
39 reposync, changelog and repodiff commands. Additionally provides
40 generate_completion_cache passive plugin.
41
42 %package -n dnf-utils
43 Summary:        Yum-utils CLI compatibility layer
44 Requires:       %{name} = %{version}-%{release}
45 Provides:       yum-utils = %{version}-%{release}
46
47 %description -n dnf-utils
48 As a Yum-utils CLI compatibility layer, supplies in CLI shims for
49 debuginfo-install, repograph, package-cleanup, repoclosure,
50 repomanage, repoquery, reposync, repotrack, repodiff, builddep,
51 config-manager, debug, download and yum-groups-manager that use new
52 implementations using DNF.
53
54 %package -n dnf-plugin-leaves
55 Summary:        Leaves Plugin for DNF
56 Requires:       %{name} = %{version}-%{release}
57
58 %description -n dnf-plugin-leaves
59 Leaves Plugin for DNF. List all installed packages not required by any
60 other installed package.
61
62 %package -n dnf-plugin-local
63 Summary:        Local Plugin for DNF
64 Requires:       %{name} = %{version}-%{release}
65 Requires:       createrepo_c
66
67 %description -n dnf-plugin-local
68 Local Plugin for DNF. Automatically copy all downloaded packages to a
69 repository on the local filesystem and generating repo metadata.
70
71 %package -n dnf-plugin-migrate
72 Summary:        Migrate Plugin for DNF
73 Requires:       %{name} = %{version}-%{release}
74 Requires:       yum
75
76 %description -n dnf-plugin-migrate
77 Migrate Plugin for DNF. Migrates history, group and yumdb data from
78 yum to dnf.
79
80 %package -n dnf-plugin-post-transaction-actions
81 Summary:        Post transaction actions Plugin for DNF
82 Requires:       %{name} = %{version}-%{release}
83
84 %description -n dnf-plugin-post-transaction-actions
85 Post transaction actions Plugin for DNF. Plugin runs actions (shell
86 commands) after transaction is completed. Actions are defined in
87 action files.
88
89 %package -n dnf-plugin-show-leaves
90 Summary:        Show-leaves Plugin for DNF
91 Requires:       %{name} = %{version}-%{release}
92 Requires:       dnf-plugin-leaves = %{version}-%{release}
93
94 %description -n dnf-plugin-show-leaves
95 Show-leaves Plugin for DNF. List all installed packages that are no
96 longer required by any other installed package after a transaction.
97
98 %package -n dnf-plugin-versionlock
99 Summary:        Version Lock Plugin for DNF
100 Requires:       %{name} = %{version}-%{release}
101 %if %{with yum_compatibility}
102 Provides:       yum-plugin-versionlock = %{version}-%{release}
103 %endif
104
105 %description -n dnf-plugin-versionlock
106 Version lock plugin takes a set of name/versions for packages and
107 excludes all other versions of those packages. This allows you to e.g.
108 protect packages from being updated by newer versions.
109
110 %prep
111 %setup -q
112 %patch0 -p1
113 %patch1 -p1
114
115 mkdir build
116
117 %build
118 cd build
119 %cmake ../ \
120         -DPYTHON_DESIRED:FILEPATH=%{__python3} \
121         -DPYTHON_INSTALL_DIR:PATH=%{py3_sitescriptdir}
122
123 %{__make}
124 %{__make} doc-man
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128 install -d $RPM_BUILD_ROOT%{_var}/cache/dnf
129
130 %{__make} -C build install \
131         DESTDIR=$RPM_BUILD_ROOT
132
133 :> $RPM_BUILD_ROOT%{_var}/cache/dnf/packages.db
134
135 %if %{with yum_utils}
136 install -d $RPM_BUILD_ROOT%{_bindir}
137 for p in debuginfo-install needs-restarting find-repos-of-install repo-graph \
138                 package-cleanup repoclosure repodiff repomanage repoquery \
139                 reposync repotrack yum-builddep yum-config-manager yum-debug-dump \
140                 yum-debug-restore yum-groups-manager yumdownloader; do
141         ln -sr $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils $RPM_BUILD_ROOT%{_bindir}/$p
142 done
143 # These commands don't have a dedicated man page, so let's just point them
144 # to the utils page which contains their descriptions.
145 for m in find-repos-of-install.1 repoquery.1 repotrack.1; do
146         echo ".so dnf-utils.1" > $RPM_BUILD_ROOT%{_mandir}/man1/$m
147 done
148 %{__mv} $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils-3 $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils
149
150 %else
151
152 for m in debuginfo-install needs-restarting repo-graph repoclosure repodiff \
153                 repomanage reposync yum-builddep yum-config-manager \
154                 yum-debug-dump yum-debug-restore yum-groups-manager \
155                 yumdownloader package-cleanup dnf-utils yum-utils; do
156         %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/${m}.1*
157 done
158 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils-*
159 %endif
160
161 %if %{without yum_compatibility}
162 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/yum-changelog.1*
163 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man5/yum-versionlock.5*
164 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/{yum-copr.8*,yum-versionlock.8*}
165 %endif
166
167 for d in $RPM_BUILD_ROOT%{py3_sitescriptdir}/{dnf-plugins,dnfpluginsextras}; do
168 %py3_comp $d
169 %py3_ocomp $d
170 done
171
172 %find_lang %{name}
173
174 %clean
175 rm -rf $RPM_BUILD_ROOT
176
177 %files -f %{name}.lang
178 %defattr(644,root,root,755)
179 %doc AUTHORS README.rst
180 %config(noreplace) %{_sysconfdir}/dnf/plugins/copr.conf
181 %config(noreplace) %{_sysconfdir}/dnf/plugins/copr.d
182 %config(noreplace) %{_sysconfdir}/dnf/plugins/debuginfo-install.conf
183 %{py3_sitescriptdir}/dnf-plugins/builddep.py
184 %{py3_sitescriptdir}/dnf-plugins/changelog.py
185 %{py3_sitescriptdir}/dnf-plugins/config_manager.py
186 %{py3_sitescriptdir}/dnf-plugins/copr.py
187 %{py3_sitescriptdir}/dnf-plugins/debug.py
188 %{py3_sitescriptdir}/dnf-plugins/debuginfo-install.py
189 %{py3_sitescriptdir}/dnf-plugins/download.py
190 %{py3_sitescriptdir}/dnf-plugins/generate_completion_cache.py
191 %{py3_sitescriptdir}/dnf-plugins/groups_manager.py
192 %{py3_sitescriptdir}/dnf-plugins/needs_restarting.py
193 %{py3_sitescriptdir}/dnf-plugins/repoclosure.py
194 %{py3_sitescriptdir}/dnf-plugins/repodiff.py
195 %{py3_sitescriptdir}/dnf-plugins/repograph.py
196 %{py3_sitescriptdir}/dnf-plugins/repomanage.py
197 %{py3_sitescriptdir}/dnf-plugins/reposync.py
198 %{py3_sitescriptdir}/dnf-plugins/__pycache__/builddep.*
199 %{py3_sitescriptdir}/dnf-plugins/__pycache__/changelog.*
200 %{py3_sitescriptdir}/dnf-plugins/__pycache__/config_manager.*
201 %{py3_sitescriptdir}/dnf-plugins/__pycache__/copr.*
202 %{py3_sitescriptdir}/dnf-plugins/__pycache__/debug.*
203 %{py3_sitescriptdir}/dnf-plugins/__pycache__/debuginfo-install.*
204 %{py3_sitescriptdir}/dnf-plugins/__pycache__/download.*
205 %{py3_sitescriptdir}/dnf-plugins/__pycache__/generate_completion_cache.*
206 %{py3_sitescriptdir}/dnf-plugins/__pycache__/groups_manager.*
207 %{py3_sitescriptdir}/dnf-plugins/__pycache__/needs_restarting.*
208 %{py3_sitescriptdir}/dnf-plugins/__pycache__/repoclosure.*
209 %{py3_sitescriptdir}/dnf-plugins/__pycache__/repodiff.*
210 %{py3_sitescriptdir}/dnf-plugins/__pycache__/repograph.*
211 %{py3_sitescriptdir}/dnf-plugins/__pycache__/repomanage.*
212 %{py3_sitescriptdir}/dnf-plugins/__pycache__/reposync.*
213 %{py3_sitescriptdir}/dnfpluginscore/
214 %{_mandir}/man8/dnf-builddep.8*
215 %{_mandir}/man8/dnf-changelog.8*
216 %{_mandir}/man8/dnf-config-manager.8*
217 %{_mandir}/man8/dnf-copr.8*
218 %{_mandir}/man8/dnf-debug.8*
219 %{_mandir}/man8/dnf-debuginfo-install.8*
220 %{_mandir}/man8/dnf-download.8*
221 %{_mandir}/man8/dnf-generate_completion_cache.8*
222 %{_mandir}/man8/dnf-groups-manager.8*
223 %{_mandir}/man8/dnf-needs-restarting.8*
224 %{_mandir}/man8/dnf-repoclosure.8*
225 %{_mandir}/man8/dnf-repodiff.8*
226 %{_mandir}/man8/dnf-repograph.8*
227 %{_mandir}/man8/dnf-repomanage.8*
228 %{_mandir}/man8/dnf-reposync.8*
229 %if %{with yum_compatibility}
230 %{_mandir}/man1/yum-changelog.1*
231 %{_mandir}/man8/yum-copr.8*
232 %endif
233 %ghost %{_var}/cache/dnf/packages.db
234
235 %if %{with yum_utils}
236 %files -n dnf-utils
237 %defattr(644,root,root,755)
238 %attr(755,root,root) %{_bindir}/debuginfo-install
239 %attr(755,root,root) %{_bindir}/needs-restarting
240 %attr(755,root,root) %{_bindir}/find-repos-of-install
241 %attr(755,root,root) %{_bindir}/package-cleanup
242 %attr(755,root,root) %{_bindir}/repo-graph
243 %attr(755,root,root) %{_bindir}/repoclosure
244 %attr(755,root,root) %{_bindir}/repodiff
245 %attr(755,root,root) %{_bindir}/repomanage
246 %attr(755,root,root) %{_bindir}/repoquery
247 %attr(755,root,root) %{_bindir}/reposync
248 %attr(755,root,root) %{_bindir}/repotrack
249 %attr(755,root,root) %{_bindir}/yum-builddep
250 %attr(755,root,root) %{_bindir}/yum-config-manager
251 %attr(755,root,root) %{_bindir}/yum-debug-dump
252 %attr(755,root,root) %{_bindir}/yum-debug-restore
253 %attr(755,root,root) %{_bindir}/yum-groups-manager
254 %attr(755,root,root) %{_bindir}/yumdownloader
255 %attr(755,root,root) %{_libexecdir}/dnf-utils
256 %{_mandir}/man1/debuginfo-install.1*
257 %{_mandir}/man1/needs-restarting.1*
258 %{_mandir}/man1/repo-graph.1*
259 %{_mandir}/man1/repoclosure.1*
260 %{_mandir}/man1/repodiff.1*
261 %{_mandir}/man1/repomanage.1*
262 %{_mandir}/man1/reposync.1*
263 %{_mandir}/man1/yum-builddep.1*
264 %{_mandir}/man1/yum-config-manager.1*
265 %{_mandir}/man1/yum-debug-dump.1*
266 %{_mandir}/man1/yum-debug-restore.1*
267 %{_mandir}/man1/yum-groups-manager.1*
268 %{_mandir}/man1/yumdownloader.1*
269 %{_mandir}/man1/package-cleanup.1*
270 %{_mandir}/man1/dnf-utils.1*
271 %{_mandir}/man1/yum-utils.1*
272 %{_mandir}/man1/find-repos-of-install.1*
273 %{_mandir}/man1/repoquery.1*
274 %{_mandir}/man1/repotrack.1*
275 %endif
276
277 %files -n dnf-plugin-leaves
278 %defattr(644,root,root,755)
279 %{py3_sitescriptdir}/dnf-plugins/leaves.*
280 %{py3_sitescriptdir}/dnf-plugins/__pycache__/leaves.*
281 %{_mandir}/man8/dnf-leaves.8*
282
283 %files -n dnf-plugin-local
284 %defattr(644,root,root,755)
285 %config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf
286 %{py3_sitescriptdir}/dnf-plugins/local.*
287 %{py3_sitescriptdir}/dnf-plugins/__pycache__/local.*
288 %{_mandir}/man8/dnf-local.8*
289
290 %files -n dnf-plugin-migrate
291 %defattr(644,root,root,755)
292 %{py3_sitescriptdir}/dnf-plugins/migrate.*
293 %{py3_sitescriptdir}/dnf-plugins/__pycache__/migrate.*
294 %{_mandir}/man8/dnf-migrate.8*
295
296 %files -n dnf-plugin-post-transaction-actions
297 %defattr(644,root,root,755)
298 %config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.conf
299 %config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d
300 %{py3_sitescriptdir}/dnf-plugins/post-transaction-actions.*
301 %{py3_sitescriptdir}/dnf-plugins/__pycache__/post-transaction-actions.*
302 %{_mandir}/man8/dnf-post-transaction-actions.8*
303
304 %files -n dnf-plugin-show-leaves
305 %defattr(644,root,root,755)
306 %{py3_sitescriptdir}/dnf-plugins/show_leaves.*
307 %{py3_sitescriptdir}/dnf-plugins/__pycache__/show_leaves.*
308 %{_mandir}/man8/dnf-show-leaves.8*
309
310 %files -n dnf-plugin-versionlock
311 %defattr(644,root,root,755)
312 %config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf
313 %config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list
314 %{py3_sitescriptdir}/dnf-plugins/versionlock.*
315 %{py3_sitescriptdir}/dnf-plugins/__pycache__/versionlock.*
316 %{_mandir}/man8/dnf-versionlock.8*
317 %if %{with yum_compatibility}
318 %{_mandir}/man5/yum-versionlock.conf.5*
319 %{_mandir}/man8/yum-versionlock.8*
320 %endif
This page took 0.049672 seconds and 2 git commands to generate.