]> git.pld-linux.org Git - packages/dnf.git/blob - dnf.spec
- rel 1
[packages/dnf.git] / dnf.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # build without tests
4 #
5 %define         hawkey_ver              0.67.0
6 %define         libcomps_ver            0.1.8
7 %define         libmodulemd_ver         2.9.3
8 %define         rpm_ver                 4.14.0
9
10 %define         _enable_debug_packages  0
11
12 Summary:        Package manager
13 Summary(pl.UTF-8):      Zarządca pakietów
14 Name:           dnf
15 Version:        4.12.0
16 Release:        1
17 Group:          Base
18 # GPL v2+ with GPL v2 and GPL parts; for a breakdown of the licensing, see PACKAGE-LICENSING
19 License:        GPL v2 (parts on GPL v2+ or GPL)
20 Source0:        https://github.com/rpm-software-management/dnf/archive/%{version}/%{name}-%{version}.tar.gz
21 # Source0-md5:  0e0242e443f87290efd16226b056f18c
22 Source1:        pld.repo
23 Source2:        pld-archive.repo
24 Source3:        pld-debuginfo.repo
25 Source4:        pld-multilib.repo
26 Patch0:         install.patch
27 Patch1:         repos.d.patch
28 URL:            https://github.com/rpm-software-management/dnf
29 BuildRequires:  bash-completion-devel
30 BuildRequires:  cmake >= 2.4
31 BuildRequires:  gettext-tools
32 BuildRequires:  libmodulemd >= %{libmodulemd_ver}
33 BuildRequires:  python3
34 BuildRequires:  python3-gpg
35 BuildRequires:  python3-hawkey >= %{hawkey_ver}
36 BuildRequires:  python3-libcomps >= %{libcomps_ver}
37 BuildRequires:  python3-libdnf >= %{hawkey_ver}
38 BuildRequires:  python3-modules
39 BuildRequires:  python3-nose
40 BuildRequires:  python3-rpm >= %{rpm_ver}
41 BuildRequires:  rpmbuild(macros) >= 1.647
42 BuildRequires:  rpm-pythonprov
43 BuildRequires:  sed >= 4.0
44 BuildRequires:  sphinx-pdg
45 BuildRequires:  systemd-devel
46 Requires(post,preun,postun):    systemd-units >= 38
47 Requires:       libmodulemd >= %{libmodulemd_ver}
48 Requires:       python3-gpg
49 Requires:       python3-hawkey >= %{hawkey_ver}
50 Requires:       python3-libcomps >= %{libcomps_ver}
51 Requires:       python3-libdnf >= %{hawkey_ver}
52 Requires:       python3-rpm
53 Requires:       systemd-units >= 0.38
54 Recommends:     deltarpm
55 Recommends:     python3-dbus
56 Recommends:     python3-unbound
57 Recommends:     rpm-plugin-systemd-inhibit
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %description
61 Utility that allows users to manage packages on their systems. It
62 supports RPMs, modules and comps groups & environments.
63
64 %description -l pl.UTF-8
65 Marzędzie umożliwiające użytkownikom zarządzanie pakietami w systemie.
66
67 %package automatic
68 Summary:        Alternative CLI to "dnf upgrade" suitable for automatic, regular execution
69 Summary(pl.UTF-8):      Alternatywny interfejs do "dnf upgrade" nadający się do automatycznego wywoływania
70 Group:          Base
71 Requires(post): systemd
72 Requires(preun):        systemd
73 Requires(postun):       systemd
74 Requires:       %{name} = %{version}-%{release}
75 BuildArch:      noarch
76
77 %description automatic
78 Alternative CLI to "dnf upgrade" suitable for automatic, regular
79 execution.
80
81 %description automatic -l pl.UTF-8
82 Alternatywny interfejs linii poleceń do "dnf upgrade", nadający się do
83 automatycznego, regularnego wywoływania.
84
85 %package -n bash-completion-dnf
86 Summary:        Bash completion for dnf command
87 Summary(pl.UTF-8):      Bashowe uzupełnianie parametrów dla polecenia dnf
88 Group:          Applications/Shells
89 Requires:       %{name} = %{version}-%{release}
90 Requires:       bash-completion
91 BuildArch:      noarch
92
93 %description -n bash-completion-dnf
94 Bash completion for dnf command.
95
96 %description -n bash-completion-dnf -l pl.UTF-8
97 Bashowe uzupełnianie parametrów dla polecenia dnf.
98
99 %package -n yum
100 Summary:        Yum compatibility layer for DNF
101 Summary(pl.UTF-8):      Warstwa zgodności z YUM-em dla DNF-a
102 Group:          Base
103 Requires:       %{name} = %{version}-%{release}
104 Recommends:     sqlite3
105 Conflicts:      yum < 3.4.3-505
106 BuildArch:      noarch
107
108 %description -n yum
109 Yum compatibility layer for DNF.
110
111 %description -n yum -l pl.UTF-8
112 Warstwa zgodności z YUM-em dla DNF-a.
113
114 %prep
115 %setup -q
116 %patch0 -p1
117 %patch1 -p1
118
119 %build
120 install -d build
121 cd build
122 %cmake .. \
123         -DPYTHON_DESIRED:FILEPATH=%{__python3} \
124         -DPYTHON_INSTALL_DIR:PATH=%{py3_sitescriptdir} \
125         -DDNF_VERSION=%{version} \
126         -DSYSTEMD_DIR=%{systemdunitdir}
127
128 %{__make}
129 %{__make} doc-man
130
131 %install
132 rm -rf $RPM_BUILD_ROOT
133 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{yum,%{name}/{vars,aliases.d,plugins,modules.d,modules.defaults.d,repos.d}} \
134         -d $RPM_BUILD_ROOT{%{_localstatedir}/log/,%{_var}/cache/dnf} \
135         -d $RPM_BUILD_ROOT%{py3_sitescriptdir}/dnf-plugins/__pycache__
136
137 %{__make} -C build install \
138         DESTDIR=$RPM_BUILD_ROOT
139
140 touch $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}.log
141
142 %{__mv} $RPM_BUILD_ROOT%{_bindir}/dnf-3 $RPM_BUILD_ROOT%{_bindir}/dnf
143 %{__mv} $RPM_BUILD_ROOT%{_bindir}/dnf-automatic-3 $RPM_BUILD_ROOT%{_bindir}/dnf-automatic
144
145 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{%{name}-strict.conf,aliases.d/zypper.conf}
146
147 # YUM compat layer
148 ln -sr $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/%{name}.conf,yum.conf}
149 ln -sr $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/plugins,yum/pluginconf.d}
150 ln -sr $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/protected.d,yum/protected.d}
151 ln -sr $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/repos.d,yum/repos.d}
152 ln -sr $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/vars,yum/vars}
153 ln -s dnf $RPM_BUILD_ROOT%{_bindir}/yum
154
155 %ifarch i686 ppc sparc alpha athlon aarch64 %{arm}
156         %define         ftp_arch        %{_target_cpu}
157 %endif
158 %ifarch pentium2 pentium3 pentium4
159         %define         ftp_arch        i686
160 %endif
161 %ifarch %{x8664}
162         %define         ftp_arch        x86_64
163         %define         ftp_alt_arch    i686
164         %define         ftp_alt2_arch   x32
165 %endif
166 %ifarch x32
167         %define         ftp_arch        x32
168         %define         ftp_alt_arch    x86_64
169         %define         ftp_alt2_arch   i686
170 %endif
171
172 %define pld_repo %{SOURCE1}
173 %define pld_archive_repo %{SOURCE2}
174 %define pld_debuginfo_repo %{SOURCE3}
175
176 %ifarch %{x8664} x32
177         %define pld_multilib_repo %{SOURCE4}
178         %define pld_multilib2_repo %{SOURCE4}
179 %endif
180
181 %{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_repo} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.repo
182
183 %if 0%{?pld_multilib_repo:1}
184         %{__sed} 's|%%ARCH%%|%{ftp_alt_arch}|g' < %{pld_multilib_repo} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.repo
185 %endif
186
187 %if 0%{?pld_multilib2_repo:1}
188         %{__sed} 's|%%ARCH%%|%{ftp_alt2_arch}|g' < %{pld_multilib_repo} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt2_arch}.repo
189 %endif
190
191 %if 0%{?pld_debuginfo_repo:1}
192 %{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_debuginfo_repo} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-debuginfo.repo
193 %endif
194
195 %if 0%{?pld_archive_repo:1}
196 %{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_archive_repo} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-archive.repo
197 %endif
198
199 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}/dnf
200 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}/dnf
201
202 %find_lang %{name}
203
204 %clean
205 rm -rf $RPM_BUILD_ROOT
206
207 %post
208 %systemd_post dnf-makecache.timer
209
210 %preun
211 %systemd_preun dnf-makecache.timer
212
213 %postun
214 %systemd_reload
215
216 %post automatic
217 %systemd_post dnf-automatic.timer dnf-automatic-download.timer dnf-automatic-install.timer dnf-automatic-notifyonly.timer
218
219 %preun automatic
220 %systemd_preun dnf-automatic.timer dnf-automatic-download.timer dnf-automatic-install.timer dnf-automatic-notifyonly.timer
221
222 %postun automatic
223 %systemd_reload
224
225 %files -f %{name}.lang
226 %defattr(644,root,root,755)
227 %doc AUTHORS PACKAGE-LICENSING README.rst
228 %attr(755,root,root) %{_bindir}/dnf
229 %dir %{_sysconfdir}/%{name}
230 %dir %{_sysconfdir}/%{name}/plugins
231 %dir %{_sysconfdir}/%{name}/protected.d
232 %dir %{_sysconfdir}/%{name}/repos.d
233 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/dnf.conf
234 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/protected.d/dnf.conf
235 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/repos.d/*.repo
236 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/collect_dnf.conf
237 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
238 %{_mandir}/man5/dnf.conf.5*
239 %{_mandir}/man5/dnf-transaction-json.5*
240 %{_mandir}/man7/dnf.modularity.7*
241 %{_mandir}/man8/dnf.8*
242 %{_mandir}/man8/yum2dnf.8*
243 %{systemdunitdir}/dnf-makecache.service
244 %{systemdunitdir}/dnf-makecache.timer
245 %{systemdtmpfilesdir}/dnf.conf
246 %{py3_sitescriptdir}/dnf
247 %{py3_sitescriptdir}/dnf-plugins
248 %exclude %{py3_sitescriptdir}/dnf/automatic
249 %dir %{_var}/cache/dnf
250 %ghost %{_localstatedir}/log/%{name}.log
251
252 %files automatic
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_bindir}/dnf-automatic
255 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/automatic.conf
256 %{_mandir}/man8/dnf-automatic.8*
257 %{systemdunitdir}/dnf-automatic-download.service
258 %{systemdunitdir}/dnf-automatic-download.timer
259 %{systemdunitdir}/dnf-automatic-install.service
260 %{systemdunitdir}/dnf-automatic-install.timer
261 %{systemdunitdir}/dnf-automatic-notifyonly.service
262 %{systemdunitdir}/dnf-automatic-notifyonly.timer
263 %{systemdunitdir}/dnf-automatic.service
264 %{systemdunitdir}/dnf-automatic.timer
265 %{py3_sitescriptdir}/dnf/automatic
266
267 %files -n bash-completion-dnf
268 %defattr(644,root,root,755)
269 %{bash_compdir}/dnf
270
271 %files -n yum
272 %defattr(644,root,root,755)
273 %attr(755,root,root) %{_bindir}/yum
274 %{_sysconfdir}/yum.conf
275 %dir %{_sysconfdir}/yum
276 %{_sysconfdir}/yum/pluginconf.d
277 %{_sysconfdir}/yum/protected.d
278 %{_sysconfdir}/yum/repos.d
279 %{_sysconfdir}/yum/vars
280 %{_mandir}/man1/yum-aliases.1*
281 %{_mandir}/man5/yum.conf.5.*
282 %{_mandir}/man8/yum.8*
283 %{_mandir}/man8/yum-shell.8*
284 %config(noreplace) %{_sysconfdir}/%{name}/protected.d/yum.conf
This page took 0.207595 seconds and 4 git commands to generate.