-
Notifications
You must be signed in to change notification settings - Fork 416
/
dnf.spec
2775 lines (2599 loc) · 145 KB
/
dnf.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Always build out-of-source
%define __cmake_in_source_build 1
# default dependencies
%global hawkey_version 0.73.1
%global libcomps_version 0.1.8
%global libmodulemd_version 2.9.3
%global rpm_version 4.14.0
# conflicts
%global conflicts_dnf_plugins_core_version 4.7.0
%global conflicts_dnf_plugins_extras_version 4.0.4
%global conflicts_dnfdaemon_version 0.3.19
%bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 11]
# override dependencies for rhel 7
%if 0%{?rhel} == 7
%global rpm_version 4.11.3-32
%endif
%if 0%{?rhel} == 7 && 0%{?centos}
%global rpm_version 4.11.3-25.el7.centos.1
%endif
# override dependencies for fedora 26
%if 0%{?fedora} == 26
%global rpm_version 4.13.0.1-7
%endif
# YUM compat subpackage configuration
#
# level=full -> deploy all compat symlinks (conflicts with yum < 4)
# level=minimal -> deploy a subset of compat symlinks only
# (no conflict with yum >= 3.4.3-505)*
# *release 505 renamed /usr/bin/yum to /usr/bin/yum-deprecated
%global yum_compat_level full
%global yum_subpackage_name yum
%if 0%{?fedora}
# Avoid file conflict with yum < 4 in all Fedoras
# It can be resolved by pretrans scriptlet but they are not recommended in Fedora
%global yum_compat_level minimal
%if 0%{?fedora} < 31
# Avoid name conflict with yum < 4
%global yum_subpackage_name %{name}-yum
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} <= 7
%global yum_subpackage_name nextgen-yum4
%endif
# paths
%global confdir %{_sysconfdir}/%{name}
%global pluginconfpath %{confdir}/plugins
%global py3pluginpath %{python3_sitelib}/%{name}-plugins
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
%global pkg_summary Package manager
%global pkg_description Utility that allows users to manage packages on their systems. \
It supports RPMs, modules and comps groups & environments.
Name: dnf
Version: 4.21.1
Release: 1%{?dist}
Summary: %{pkg_summary}
# For a breakdown of the licensing, see PACKAGE-LICENSING
License: GPL-2.0-or-later AND GPL-1.0-only
URL: https://github.com/rpm-software-management/dnf
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: cmake
BuildRequires: gettext
# Documentation
BuildRequires: systemd
%if 0%{?fedora} > 40 || 0%{?rhel} > 10
BuildRequires: bash-completion-devel
%else
BuildRequires: bash-completion
%endif
Requires: coreutils
BuildRequires: %{_bindir}/sphinx-build-3
Requires: python3-%{name} = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} <= 7
Requires: python-dbus
Requires: %{_bindir}/sqlite3
%elif 0%{?fedora}
Recommends: (%{_bindir}/sqlite3 if (bash-completion and python3-dnf-plugins-core))
%else
Recommends: (python3-dbus if NetworkManager)
%endif
Conflicts: python3-dnf-plugins-core < %{conflicts_dnf_plugins_core_version}
Conflicts: python3-dnf-plugins-extras-common < %{conflicts_dnf_plugins_extras_version}
%description
%{pkg_description}
%package data
Summary: Common data and configuration files for DNF
%if %{with dnf5_obsoletes_dnf}
Requires: /etc/dnf/dnf.conf
%endif
Obsoletes: %{name}-conf <= %{version}-%{release}
Provides: %{name}-conf = %{version}-%{release}
%description data
Common data and configuration files for DNF
%package -n %{yum_subpackage_name}
Requires: %{name} = %{version}-%{release}
Summary: %{pkg_summary}
%if 0%{?fedora} && 0%{?fedora} < 31
Conflicts: yum < 3.4.3-505
%else
Provides: %{name}-yum = %{version}-%{release}
Obsoletes: %{name}-yum < 5
%endif
%description -n %{yum_subpackage_name}
%{pkg_description}
%package -n python3-%{name}
Summary: Python 3 interface to DNF
%{?python_provide:%python_provide python3-%{name}}
BuildRequires: python3-devel
BuildRequires: python3-hawkey >= %{hawkey_version}
BuildRequires: python3-libdnf >= %{hawkey_version}
BuildRequires: python3-libcomps >= %{libcomps_version}
BuildRequires: python3-libdnf
BuildRequires: libmodulemd >= %{libmodulemd_version}
Requires: libmodulemd >= %{libmodulemd_version}
Requires: %{name}-data = %{version}-%{release}
%if 0%{?fedora}
%if 0%{?fedora} < 40
Recommends: deltarpm
%endif
# required for DNSSEC main.gpgkey_dns_verification https://dnf.readthedocs.io/en/latest/conf_ref.html
Recommends: python3-unbound
%endif
Requires: python3-hawkey >= %{hawkey_version}
Requires: python3-libdnf >= %{hawkey_version}
Requires: python3-libcomps >= %{libcomps_version}
Requires: python3-libdnf
BuildRequires: python3-rpm >= %{rpm_version}
Requires: python3-rpm >= %{rpm_version}
%if 0%{?rhel} && 0%{?rhel} <= 7
Requires: rpm-plugin-systemd-inhibit
%else
Recommends: (rpm-plugin-systemd-inhibit if systemd)
%endif
Provides: dnf-command(alias)
Provides: dnf-command(autoremove)
Provides: dnf-command(check-update)
Provides: dnf-command(clean)
Provides: dnf-command(distro-sync)
Provides: dnf-command(downgrade)
Provides: dnf-command(group)
Provides: dnf-command(history)
Provides: dnf-command(info)
Provides: dnf-command(install)
Provides: dnf-command(list)
Provides: dnf-command(makecache)
Provides: dnf-command(mark)
Provides: dnf-command(provides)
Provides: dnf-command(reinstall)
Provides: dnf-command(remove)
Provides: dnf-command(repolist)
Provides: dnf-command(repoquery)
Provides: dnf-command(repository-packages)
Provides: dnf-command(search)
Provides: dnf-command(updateinfo)
Provides: dnf-command(upgrade)
Provides: dnf-command(upgrade-to)
%description -n python3-%{name}
Python 3 interface to DNF.
%package automatic
Summary: %{pkg_summary} - automated upgrades
BuildRequires: systemd
Requires: python3-%{name} = %{version}-%{release}
%{?systemd_requires}
%description automatic
Systemd units that can periodically download package upgrades and apply them.
%prep
%autosetup
mkdir build-py3
%build
pushd build-py3
%cmake .. -DPYTHON_DESIRED:FILEPATH=%{__python3} -DDNF_VERSION=%{version}
%make_build
make doc-man
popd
%install
pushd build-py3
%make_install
popd
%find_lang %{name}
mkdir -p %{buildroot}%{confdir}/vars
mkdir -p %{buildroot}%{confdir}/aliases.d
mkdir -p %{buildroot}%{pluginconfpath}/
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules.d
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules.defaults.d
mkdir -p %{buildroot}%{py3pluginpath}/__pycache__/
mkdir -p %{buildroot}%{_localstatedir}/log/
mkdir -p %{buildroot}%{_var}/cache/dnf/
touch %{buildroot}%{_localstatedir}/log/%{name}.log
%if %{without dnf5_obsoletes_dnf}
ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/dnf
ln -sr %{buildroot}%{_datadir}/bash-completion/completions/dnf-3 %{buildroot}%{_datadir}/bash-completion/completions/dnf
for file in %{buildroot}%{_mandir}/man[578]/dnf4[-.]*; do
dir=$(dirname $file)
filename=$(basename $file)
ln -sr $file $dir/${filename/dnf4/dnf}
done
%endif
ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/dnf4
ln -sr %{buildroot}%{_datadir}/bash-completion/completions/dnf-3 %{buildroot}%{_datadir}/bash-completion/completions/dnf4
%if %{without dnf5_obsoletes_dnf}
mv %{buildroot}%{_bindir}/dnf-automatic-3 %{buildroot}%{_bindir}/dnf-automatic
%endif
rm -vf %{buildroot}%{_bindir}/dnf-automatic-*
# Strict conf distribution
%if 0%{?rhel}
mv -f %{buildroot}%{confdir}/%{name}-strict.conf %{buildroot}%{confdir}/%{name}.conf
%else
rm -vf %{buildroot}%{confdir}/%{name}-strict.conf
%endif
%if %{without dnf5_obsoletes_dnf}
# YUM compat layer
ln -sr %{buildroot}%{confdir}/%{name}.conf %{buildroot}%{_sysconfdir}/yum.conf
ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/yum
%if "%{yum_compat_level}" == "full"
mkdir -p %{buildroot}%{_sysconfdir}/yum
ln -sr %{buildroot}%{pluginconfpath} %{buildroot}%{_sysconfdir}/yum/pluginconf.d
ln -sr %{buildroot}%{confdir}/protected.d %{buildroot}%{_sysconfdir}/yum/protected.d
ln -sr %{buildroot}%{confdir}/vars %{buildroot}%{_sysconfdir}/yum/vars
%endif
%endif
%if %{with dnf5_obsoletes_dnf}
rm %{buildroot}%{confdir}/automatic.conf
rm %{buildroot}%{confdir}/%{name}.conf
rm %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/%{name}.mo
rm %{buildroot}%{_mandir}/man8/%{name}-automatic.8*
rm %{buildroot}%{_mandir}/man8/yum2dnf.8*
rm %{buildroot}%{_unitdir}/%{name}-automatic.service
rm %{buildroot}%{_unitdir}/%{name}-automatic.timer
rm %{buildroot}%{_unitdir}/%{name}-automatic-notifyonly.service
rm %{buildroot}%{_unitdir}/%{name}-automatic-notifyonly.timer
rm %{buildroot}%{_unitdir}/%{name}-automatic-download.service
rm %{buildroot}%{_unitdir}/%{name}-automatic-download.timer
rm %{buildroot}%{_unitdir}/%{name}-automatic-install.service
rm %{buildroot}%{_unitdir}/%{name}-automatic-install.timer
rm %{buildroot}%{_unitdir}/%{name}-makecache.service
rm %{buildroot}%{_unitdir}/%{name}-makecache.timer
%endif
%if 0%{?fedora} >= 41 || 0%{?rhel} >= 10
%py3_shebang_fix %{buildroot}%{_bindir}/dnf-3
%if %{without dnf5_obsoletes_dnf}
%py3_shebang_fix %{buildroot}%{_bindir}/dnf-automatic
%endif
%py3_shebang_fix %{buildroot}%{python3_sitelib}/%{name}/cli/completion_helper.py
%endif
%check
pushd build-py3
ctest -VV
popd
%if %{without dnf5_obsoletes_dnf}
%post
%systemd_post dnf-makecache.timer
%preun
%systemd_preun dnf-makecache.timer
%postun
%systemd_postun_with_restart dnf-makecache.timer
%post automatic
%systemd_post dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
%preun automatic
%systemd_preun dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
%postun automatic
%systemd_postun_with_restart dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
%endif
%if %{without dnf5_obsoletes_dnf}
%files -f %{name}.lang
%{_bindir}/%{name}
%if 0%{?rhel} && 0%{?rhel} <= 7
%{_sysconfdir}/bash_completion.d/%{name}
%else
%{_datadir}/bash-completion/completions/%{name}
%endif
%{_mandir}/man8/%{name}.8*
%{_mandir}/man8/yum2dnf.8*
%{_mandir}/man7/dnf.modularity.7*
%{_mandir}/man5/dnf-transaction-json.5*
%{_unitdir}/%{name}-makecache.service
%{_unitdir}/%{name}-makecache.timer
%endif
%files data
%license COPYING PACKAGE-LICENSING
%doc AUTHORS README.rst
%dir %{confdir}
%dir %{confdir}/modules.d
%dir %{confdir}/modules.defaults.d
%dir %{pluginconfpath}
%if %{without dnf5_obsoletes_dnf}
%dir %{confdir}/protected.d
%dir %{confdir}/vars
%endif
%dir %{confdir}/aliases.d
%exclude %{confdir}/aliases.d/zypper.conf
%if %{without dnf5_obsoletes_dnf}
# If DNF5 does not obsolete DNF ownership of dnf.conf should be DNF's
%config(noreplace) %{confdir}/%{name}.conf
%endif
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%ghost %attr(644,-,-) %{_localstatedir}/log/hawkey.log
%ghost %attr(644,-,-) %{_localstatedir}/log/%{name}.log
%ghost %attr(644,-,-) %{_localstatedir}/log/%{name}.librepo.log
%ghost %attr(644,-,-) %{_localstatedir}/log/%{name}.rpm.log
%ghost %attr(644,-,-) %{_localstatedir}/log/%{name}.plugin.log
%ghost %attr(755,-,-) %dir %{_sharedstatedir}/%{name}
%ghost %attr(644,-,-) %{_sharedstatedir}/%{name}/groups.json
%ghost %attr(755,-,-) %dir %{_sharedstatedir}/%{name}/yumdb
%ghost %attr(755,-,-) %dir %{_sharedstatedir}/%{name}/history
%{_mandir}/man5/%{name}4.conf.5*
%if %{without dnf5_obsoletes_dnf}
%{_mandir}/man5/%{name}.conf.5*
%endif
%{_tmpfilesdir}/%{name}.conf
%if %{without dnf5_obsoletes_dnf}
%files -n %{yum_subpackage_name}
%{_bindir}/yum
%{_mandir}/man8/yum.8*
%if "%{yum_compat_level}" == "full"
%{_sysconfdir}/yum
%{_sysconfdir}/yum.conf
%{_mandir}/man5/yum.conf.5.*
%{_mandir}/man8/yum-shell.8*
%{_mandir}/man1/yum-aliases.1*
# If DNF5 does not obsolete DNF, protected.d/yum.conf should be owned by DNF
%config(noreplace) %{confdir}/protected.d/yum.conf
%else
%exclude %{_sysconfdir}/yum.conf
%exclude %{confdir}/protected.d/yum.conf
%exclude %{_mandir}/man5/yum.conf.5.*
%exclude %{_mandir}/man8/yum-shell.8*
%exclude %{_mandir}/man1/yum-aliases.1*
%endif
%else
# No %%{yum_subpackage_name} package
%exclude %{confdir}/protected.d/yum.conf
%exclude %{_mandir}/man5/yum.conf.5.*
%exclude %{_mandir}/man8/yum.8*
%exclude %{_mandir}/man8/yum-shell.8*
%exclude %{_mandir}/man1/yum-aliases.1*
%endif
%files -n python3-%{name}
%{_bindir}/%{name}-3
%{_bindir}/%{name}4
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name}-3
%{_datadir}/bash-completion/completions/%{name}4
%{_mandir}/man8/%{name}4.8*
%{_mandir}/man7/dnf4.modularity.7*
%{_mandir}/man5/dnf4-transaction-json.5*
%exclude %{python3_sitelib}/%{name}/automatic
%{python3_sitelib}/%{name}-*.dist-info
%{python3_sitelib}/%{name}/
%dir %{py3pluginpath}
%dir %{py3pluginpath}/__pycache__
%{_var}/cache/%{name}/
%if %{without dnf5_obsoletes_dnf}
%files automatic
%{_bindir}/%{name}-automatic
%config(noreplace) %{confdir}/automatic.conf
%{_mandir}/man8/%{name}-automatic.8*
%{_unitdir}/%{name}-automatic.service
%{_unitdir}/%{name}-automatic.timer
%{_unitdir}/%{name}-automatic-notifyonly.service
%{_unitdir}/%{name}-automatic-notifyonly.timer
%{_unitdir}/%{name}-automatic-download.service
%{_unitdir}/%{name}-automatic-download.timer
%{_unitdir}/%{name}-automatic-install.service
%{_unitdir}/%{name}-automatic-install.timer
%{python3_sitelib}/%{name}/automatic/
%endif
%changelog
* Wed Aug 14 2024 Evan Goode <mail@evangoo.de> - 4.21.1-1
- doc: minor formatting and consistency fixes
- Allow local downloads to same `downloaddir`
- Fix "console" width on non real terminals (pipe)
- Update ostree/bootc host system check.
- Update bootc hosts message to point to bootc --help
- tests: Use PGP keys without SHA-1
* Tue Jun 18 2024 Evan Goode <mail@evangoo.de> - 4.21.0-1
- Add detection for ostree-based systems and warn users about losing changes
- Fix: No traceback when Python interpreter is running with -P
- Allow `%py3_shebang_fix` macro to add `-P` argument to shebang lines
- man: Improve upgrade-minimal command docs (RHEL-6417)
- Limit queries to nevra forms when provided by command
- [doc] Remove provide of spec definition for repoquery command
- Update the man page entry for the countme option
- Drop collect file for ABRT
* Wed Apr 24 2024 Jan Kolarik <jkolarik@redhat.com> - 4.20.0-1
- repoquery: Fix loading filelists when -f is used (RhBug:2276012)
- remove: --duplicates and --oldinstallonly exit with 0 when nothing to do (RHEL-6424)
- spec: Do not add user site-packages directory to sys.path (RHEL-26646)
- man: Prepare pages for dnf5 switch
- spec: Prepare for switch of dnf5 in Rawhide
* Fri Mar 29 2024 Evan Goode <mail@evangoo.de> - 4.19.2-1
- Bump libdnf requirement to 0.73.1
* Thu Mar 28 2024 Evan Goode <mail@evangoo.de> - 4.19.1-1
- Add required `.readthedocs.yaml`, `conf.py` and set `sphinx_rtd_theme`
- Drop dnf obsoletion temporarily
- doc: Update FAQ entry on filelists
- build: Adapt to changes in Fedora packaging of bash-completion
- Support RPMTRANS_FLAG_DEPLOOPS
- Add all candidates for reinstall to solver
- Fix handling installonly packages reasons
- Remove confusing sentence from documentation
- Remove "leaf" word from documentation
- Update documentation of history userinstalled command
- Onboard packit tests
- doc: Makecache with timer tries only one mirror
- ELN: Don't obsolete DNF with DNF5 yet
- bash-completion: Complete dnf command only if we own it
- bash-completion: Prepare ownerships for dnf5 switch
* Thu Feb 08 2024 Jan Kolarik <jkolarik@redhat.com> - 4.19.0-1
- filelists metadata loading on demand
- deltarpm disabled on Fedora by default
- conf: Introduce new optional_metadata_types option to load filelists on demand
- cli: Add a hint for user on transaction file dependency failure
- cli: Setup filelists metadata for commands that need them
- util: Add function for detecting file in specs
- Fix failing API unit test on rawhide (RhBug:2261066)
- automatic: Use add_security_filters, not _update_security_filters
* Fri Dec 08 2023 Jan Kolarik <jkolarik@redhat.com> - 4.18.2-1
- automatic: Add feature to allow emitters to invoke on dnf error
- dnssec: Fix parsing PGP keys for DNS validation (RhBug:2249380)
* Tue Nov 07 2023 Jan Kolarik <jkolarik@redhat.com> - 4.18.1-1
- Do not translate repoquery time format strings (RhBug:2245773)
- automatic: Fix applying the color option
* Wed Oct 18 2023 Jan Kolarik <jkolarik@redhat.com> - 4.18.0-1
- base: Add obsoleters of only latest versions (RhBug:2183279,2176263)
- comps: Fix marking a group package as installed (RhBug:2066638)
- distro-sync: Print better info message when no match (RhBug:2011850)
- Include dist-info for python3-dnf (RhBug:2239323)
- Revert "Block signals during RPM transaction processing" (RhBug:2133398)
- Do not print details of verifying (RhBug:1908253)
- Add Recommends %{_bindir}/sqlite3 for bash-completion for Fedora
- conf: Split $releasever to $releasever_major and $releasever_minor (RhBug:1789346)
- Allow DNF to be removed by DNF 5 (RhBug:2221907)
- Update translations
* Fri Sep 01 2023 Jan Kolarik <jkolarik@redhat.com> - 4.17.0-1
- crypto: Use libdnf crypto API instead of using GnuPG/GpgME
- Reprotect dnf, unprotect python3-dnf (RhBug:2221905)
- Block signals during RPM transaction processing (RhBug:2133398)
- Fix bash completion due to sqlite changes (RhBug:2232052)
- automatic: allow use of STARTTLS/TLS
- automatic: use email_port specified in config
* Thu Jul 27 2023 Nicola Sella <nsella@redhat.com> - 4.16.2-1
- depend on /etc/dnf/dnf.conf, not libdnf5
- Update repo metadata cache pattern to include zstd
- Add provide exception handling
- When parsing over a KVP list, do not return till the whole list is parsed
- Provide /usr/bin/dnf4 symlink to /usr/bin/dnf-3
- Document the symbols in the output of `dnf history list` (RhBug:2172067)
* Mon May 29 2023 Jan Kolarik <jkolarik@redhat.com> - 4.16.1-1
- DNF5 should not deprecate DNF on Fedora 38
* Thu May 25 2023 Jan Kolarik <jkolarik@redhat.com> - 4.16.0-1
- Remove ownership of dnf.conf, protected.d, vars
- Add requirement of libdnf5 to dnf-data
- dnf-automatic: require python3-dnf, not dnf
* Thu May 18 2023 Jan Kolarik <jkolarik@redhat.com> - 4.15.1-1
- automatic: Fix online detection with proxy (RhBug:2022440)
- automatic: Return an error when transaction fails (RhBug:2170093)
- repoquery: Allow uppercased query tags (RhBug:2185239)
- Unprotect dnf and yum, protect python3-dnf
* Thu Apr 06 2023 Jan Kolarik <jkolarik@redhat.com> - 4.15.0-1
- Add reboot option to DNF Automatic (RhBug:2124793)
- Add support for rollback of group upgrade rollback (RhBug:2016070)
- Omit src RPMs from check-update (RhBug:2151910)
- repoquery: Properly sanitize queryformat strings (RhBug:2140884)
- Don't double-encode RPM URLs passed on CLI (RhBug:2103015)
- Allow passing CLI options when loading remote cfg (RhBug:2060127)
- Ignore processing variable files with unsupported encoding (RhBug:2141215)
- Fix AttributeError when IO busy and press ctrl+c (RhBug:2172433)
- cli: Allow = in setopt values
- Mark strftime format specifiers for translation
- Unload plugins upon their deletion
- Fixes in docs and help command
- Fix plugins unit tests
- Add unit tests for dnf mark
- smtplib: catch OSError, not SMTPException
* Fri Sep 09 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.14.0-1
- doc: Describe how gpg keys are stored for `repo_ggpcheck` (RhBug:2020678)
- Set default value for variable to prevent crash (RhBug:2091636)
- Add only relevant pkgs to upgrade transaction (RhBug:2097757)
- Use `installed_all` because `installed_query` is filtered user input
- Don't include resolved advisories for obsoletes filtering with security filters (RhBug:2101421)
- Allow passing plugin parameters with dashes in names (RhBug:1980712)
- Fix upgrade from file to noarch pkg (RhBug:2006018)
- Translations update
- Expose plugin unload method to API (RhBug:2047251)
- Add support for group upgrade rollback (RhBug:2016070)
- Fix broken dependencies error reporting (RhBug:2088422)
- Add doc related to --destdir and --downloadonly options (RhBug:2100811)
* Mon May 30 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.13.0-1
- Base.reset: plug (temporary) leak of libsolv's page file descriptors
- Don't use undocumented re.template()
- Small change to better present the option
- Use sqlite cache to make bash completion snappier (RhBug:1815895)
* Wed Apr 27 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.12.0-1
- dnf.conf: hint users where to find more info about defaults and other options
- Fix unittests that relied on checksum being at the end of solvfiles
- completion: remove unnecessary echo
- Fix remove when no repos are enabled (RhBug:2064341)
- Add loongarch support for dnf
- Add spaces between words to fix typos (RhBug:2077296)
- [doc] Improve "proxy" configuration option documentation (RhBug:2072332)
- Fix download errors handling in non-english locales (RhBug:2024527)
* Mon Mar 14 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.11.1-1
- Bump version, so that 4.11.0 can be released separately
* Tue Mar 08 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.11.0-1
- Allow destdir option with modulesync command
- Add documentation for query api flags (RhBug:2035577)
- Fix swap command to work with local rpm files correctly (RhBug:2036434)
- Don't recommend %{_bindir}/sqlite3 for bash-completion (RhBug:1947925)
- Don't recommend python3-unbound on RHEL (RhBug:1947924)
- Recommend rpm-plugin-systemd-inhibit only if systemd (RhBug:1947924)
- Fix regression in verifying signatures using rpmkeys
- Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed (RhBug:2043476)
- Fix decompression of groups.xml (RhBug:2030255)
- Fix history undo on a Reason Change (RhBug:2010259,2053014)
- Remove /usr/bin from sys.path to avoid accidentally importing garbage
- Fix: Python dnf API does not respect cacheonly (RhBug:1862970)
- Fix python3.11 build: remove deprecated, update traceback regex
- fix dnf mark error when history sqlite missing
- [doc] Improve description of multilib_policy=all (RhBug:1996681,1995630)
- [doc] clarify effect of --enablerepo and --disablerepo options (RhBug:2031414)
- [doc] default values for module_obsoletes and module_stream_switch (RhBug: 2051846)
* Thu Oct 21 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.10.0-1
- Add support for autodetecting packages to be excluded from being installed as weak dependencies (RhBug:1699672)
- Add support for excluding packages to be installed as weak dependencies (RhBug:1699672)
- Add fail_fast parameter to download_payloads methods for use in reposync
- Acquire all relevant locks during "dnf clean"
- API: Raise CompsError when group/env not found in install_group and install_environment (RhBug:1947958)
* Thu Sep 16 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.9.0-1
- [API] Add method "set_or_append_opt_value" to BaseConfig (RhBug:1967925)
- Add aliases for commands: info, updateinfo, provides (RhBug:1938333)
- Add report about demodularized rpms into module info (RhBug:1805260)
- Remove DNSSEC errors on COPR group email keys
- Documentation improvements - bugs: 1938352, 1993899, 1963704
* Mon Jun 14 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.8.0-1
- Do not assume that a remote rpm is complete if present
- Use positive percentage for "Failed delta RPMs" message
- Remove redundant new line in Groups output
- Format empty group names outputs to <name-unset>
- [doc] Document default colors
- Use rpmkeys alone to verify signature
- Add dnf.error message to explain rpm.error traceback when package not found after resolving a transaction (RhBug:1815327,1887293,1909845)
- Bugs fixed (RhBug:1946975,1955309)
* Mon Apr 12 2021 Nicola Sella <nsella@redhat.com> - 4.7.0-1
- Improve repo config path ordering to fix a comps merging issue (RhBug:1928181)
- Keep reason when package is removed (RhBug:1921063)
- Improve mechanism for application of security filters (RhBug:1918475)
- [doc] Add description for new API
- [API] Add new method for reset of security filters
- [doc] Improve documentation for Hotfix repositories
- [doc] fix: "makecache" command downloads only enabled repositories
- Use libdnf.utils.checksum_{check,value}
- [doc] Add info that maximum parallel downloads is 20
- Increase loglevel in case of invalid config options
- [doc] installonly_limit documentation follows behavior
- Prevent traceback (catch ValueError) if pkg is from cmdline
- Add documentation for config option sslverifystatus (RhBug:1814383)
- Check for specific key string when verifying signatures (RhBug:1915990)
- Use rpmkeys binary to verify package signature (RhBug:1915990)
- Bugs fixed (RhBug:1916783)
- Preserve file mode during log rotation (RhBug:1910084)
* Tue Mar 02 2021 Nicola Sella <nsella@redhat.com> - 4.6.1-1
- Fix recreate script
- Add unit test for fill_sack_from_repos_in_cache (RhBug:1865803)
- Add docs and examples for fill_sack_from_repos_in_cache (RhBug:1865803)
- [spec] remove python2 support
- Remove problematic language
- The noroot plugin no longer exists, remove mention
- Run tests for fill_sack_from_repos_in_cache in installroot (RhBug:1865803)
- expand history to full term size when output is redirected (RhBug:1852577) (RhBug:1852577,1906970)
- [doc] Fix: "sslcacert" contains path to the file
- [doc] Added proxy ssl configuration options, increase libdnf require
- Set persistdir and substitutions for fill_sack_from_repos_in_cache tests (RhBug:1865803)
- Update documentation for module_obsoletes and module_stream_switch
- print additional information when verifying GPG key using DNS
- Bugs fixed (RhBug:1897573)
- Remove hardcoded logfile permissions (RhBug:1910084)
- Enhanced detection of plugins removed in transaction (RhBug:1929163)
* Thu Jan 28 2021 Nicola Sella <nsella@redhat.com> - 4.6.0-1
- Log scriptlets output also for API users (RhBug:1847340)
- Fix module remove --all when no match spec (RhBug:1904490)
- yum.misc.decompress() to handle uncompressed files (RhBug:1895059)
- Make an error message more informative (RhBug:1814831)
- Add deprecation notice to help messages of deplist
- Remove Base._history_undo_operations() as it was replaced with transaction_sr code
- cli/output: Return number of listed packages from listPkgs()
- Clean up history command error handling
- [doc] Describe install with just a name and obsoletes (RhBug:1902279)
- Add api function fill_sack_from_repos_in_cache to allow loading a repo cache with repomd and (solv file or primary xml) only (RhBug:1865803)
- Packages installed/removed via DNF API are logged into dnf.log (RhBug:1855158)
- Support comps groups in history redo (RhBug:1657123,1809565,1809639)
- Support comps groups in history rollback (RhBug:1657123,1809565,1809639)
- Support comps groups in history undo (RhBug:1657123,1809565,1809639)
- New optional parameter for filter_modules enables following modular obsoletes based on a config option module_obsoletes
- Add get_header() method to the Package class (RhBug:1876606)
- Fix documentation of globs not supporting curly brackets (RhBug:1913418)
* Thu Dec 03 2020 Nicola Sella <nsella@redhat.com> - 4.5.2-1
- Change behaviour of Package().from_repo
* Wed Dec 02 2020 Nicola Sella <nsella@redhat.com> - 4.5.1-1
- Add a get_current() method to SwdbInterface
- Add `from_repo` attribute for Package class (RhBug:1898968,1879168)
- Correct description of Package().reponane attribute
- Add unittest for new API
- Make rotated log file (mode, owner, group) match previous log settings (RhBug:1894344)
- [doc] Improve description of modular filtering
- [doc] add documentation for from_repo
- [doc] deprecated alias for dnf repoquery --deplist <deplist_option-label>
- New config option module_allow_stream_switch allows switching enabled streams
* Mon Nov 09 2020 Nicola Sella <nsella@redhat.com> - 4.4.2-1
- spec: Fix building with new cmake macros (backport from downstream)
- Warn about key retrieval over http:
- Fix --setopt=cachedir writing outside of installroot
- Add vendor to dnf API (RhBug:1876561)
- Add allow_vendor_change option (RhBug:1788371) (RhBug:1788371)
* Tue Oct 06 2020 Nicola Sella <nsella@redhat.com> - 4.4.0-1
- Handle empty comps group name (RhBug:1826198)
- Remove dead history info code (RhBug:1845800)
- Improve command emitter in dnf-automatic
- Enhance --querytags and --qf help output
- [history] add option --reverse to history list (RhBug:1846692)
- Add logfilelevel configuration (RhBug:1802074)
- Don't turn off stdout/stderr logging longer than necessary (RhBug:1843280)
- Mention the date/time that updates were applied
- [dnf-automatic] Wait for internet connection (RhBug:1816308)
- [doc] Enhance repo variables documentation (RhBug:1848161,1848615)
- Add librepo logger for handling messages from librepo (RhBug:1816573)
- [doc] Add package-name-spec to the list of possible specs
- [doc] Do not use <package-nevr-spec>
- [doc] Add section to explain -n, -na and -nevra suffixes
- Add alias 'ls' for list command
- README: Reference Fedora Weblate instead of Zanata
- remove log_lock.pid after reboot(Rhbug:1863006)
- comps: Raise CompsError when removing a non-existent group
- Add methods for working with comps to RPMTransactionItemWrapper
- Implement storing and replaying a transaction
- Log failure to access last makecache time as warning
- [doc] Document Substitutions class
- Dont document removed attribute ``reports`` for get_best_selector
- Change the debug log timestamps from UTC to local time
* Tue Jun 02 2020 Aleš Matěj <amatej@redhat.com> - 4.2.23-1
- Fix behavior of install-n, autoremove-n, remove-n, repoquery-n
- Fix behavior of localinstall and list-updateinfo aliases
- Add updated field to verbose output of updateinfo list (RhBug: 1801092)
- Add comment option to transaction (RhBug:1773679)
- Add new API for handling gpg signatures (RhBug:1339617)
- Verify GPG signatures when running dnf-automatic (RhBug:1793298)
- Fix up Conflicts: on python-dnf-plugins-extras
- [doc] Move yum-plugin-post-transaction-actions to dnf-plugins-core
- Remove args "--set-enabled", "--set-disabled" from DNF (RhBug:1727882)
- Search command is now alphabetical (RhBug:1811802)
- Fix downloading packages with full URL as their location
- repo: catch libdnf.error.Error in addition to RuntimeError in load() (RhBug:1788182)
- History table to max size when redirect to file (RhBug:1786335,1786316)
* Fri Apr 24 2020 Stephen Gallagher <sgallagh@redhat.com> - 4.2.21-1
- Fix up Conflicts: on python3-dnf-plugins-extras so it actually works
* Tue Mar 31 2020 Aleš Matěj <amatej@redhat.com> - 4.2.21-1
- Fix completion helper if solv files not in roon cache (RhBug:1714376)
- Add bash completion for 'dnf module' (RhBug:1565614)
- Check command no longer reports missing %pre and %post deps (RhBug:1543449)
- Check if arguments can be encoded in 'utf-8'
- [doc] Remove incorrect information about includepkgs (RhBug:1813460)
- Fix crash with "dnf -d 6 repolist" (RhBug:1812682)
- Do not print the first empty line for repoinfo
- Redirect logger and repo download progress when --verbose
- Respect repo priority when listing packages (RhBug:1800342)
- [doc] Document that list and info commands respect repo priority
- [repoquery] Do not protect running kernel for --unsafisfied (RhBug:1750745)
- Remove misleading green color from the "broken dependencies" lines (RhBug:1814192)
- [doc] Document color options
* Mon Feb 24 2020 Aleš Matěj <amatej@redhat.com> - 4.2.19-1
- match RHEL behavior for CentOS and do not require deltarpm
- List arguments: only first empty value is used (RhBug:1788154)
- Report missing profiles or default as broken module (RhBug:1790967)
- repoquery: fix rich deps matching by using provide expansion from libdnf (RhBug:1534123)
- [documentation] repoquery --what* with multiple arguments (RhBug:1790262)
- Format history table to use actual terminal width (RhBug:1786316)
- Update `dnf alias` documentation
- Handle custom exceptions from libdnf
- Fix _skipped_packages to return only skipped (RhBug:1774617)
- Add setter for tsi.reason
- Add new hook for commands: Run_resolved
- Add doc entry: include url (RhBug 1786072)
- Clean also .yaml repository metadata
- New API function base.setup_loggers() (RhBug:1788212)
- Use WantedBy=timers.target for all dnf timers (RhBug:1798475)
* Wed Jan 15 2020 Aleš Matěj <amatej@redhat.com> - 4.2.18-1
- [doc] Remove note about user-agent whitelist
- Do a substitution of variables in repo_id (RhBug:1748841)
- Respect order of config files in aliases.d (RhBug:1680489)
- Unify downgrade exit codes with upgrade (RhBug:1759847)
- Improve help for 'dnf module' command (RhBug:1758447)
- Add shell restriction for local packages (RhBug:1773483)
- Fix detection of the latest module (RhBug:1781769)
- Document the retries config option only works for packages (RhBug:1783041)
- Sort packages in transaction output by nevra (RhBug:1773436)
- Honor repo priority with check-update (RhBug:1769466)
- Strip '\' from aliases when processing (RhBug:1680482)
- Print the whole alias definition in case of infinite recursion (RhBug:1680488)
- Add support of commandline packages by repoquery (RhBug:1784148)
- Running with tsflags=test doesn't update log files
- Restore functionality of remove --oldinstallonly
- Allow disabling individual aliases config files (RhBug:1680566)
* Mon Nov 25 2019 Aleš Matěj <amatej@redhat.com> - 4.2.17-1
- Enable versionlock for check-update command (RhBug:1750620)
- Add error message when no active modules matched (RhBug:1696204)
- Log mirror failures as warning when repo load fails (RhBug:1713627)
- dnf-automatic: Change all systemd timers to a fixed time of day (RhBug:1754609)
- DNF can use config from the remote location (RhBug:1721091)
- [doc] update reference to plugin documentation (RhBug:1706386)
- [yum compatibility] Report all packages in repoinfo
- [doc] Add definition of active/inactive module stream
- repoquery: Add a switch to disable modular excludes
- Report more informative messages when no match for argument (RhBug:1709563)
- [doc] Add description of excludes in dnf
- Report more descriptive message when removed package is excluded
- Add module repoquery command
- Fix assumptions about ARMv8 and the way the rpm features work (RhBug:1691430)
- Add Requires information into module info commands
- Enhance inheritance of transaction reasons (RhBug:1672618,1769788)
* Thu Nov 14 2019 Aleš Matěj <amatej@redhat.com> - 4.2.16-1
- Make DNF compatible with FIPS mode (RhBug:1762032)
- Return always alphabetically sorted modular profiles
- Revert "Fix messages for starting and failing scriptlets"
* Tue Nov 05 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.15-1
- Fix downloading local packages into destdir (RhBug:1727137)
- Report skipped packages with identical nevra only once (RhBug:1643109)
- Restore functionality of dnf remove --duplicates (RhBug:1674296)
- Improve API documentation
- Document NEVRA parsing in the man page
- Do not wrap output when no terminal (RhBug:1577889)
- Allow to ship alternative dnf.conf (RhBug:1752249)
- Don't check if repo is expired if it doesn't have loaded metadata (RhBug:1745170)
- Remove duplicate entries from "dnf search" output (RhBug:1742926)
- Set default value of repo name attribute to repo id (RhBug:1669711)
- Allow searching in disabled modules using "dnf module provides" (RhBug:1629667)
- Group install takes obsoletes into account (RhBug:1761137)
- Improve handling of vars
- Do not load metadata for repolist commands (RhBug:1697472,1713055,1728894)
- Fix messages for starting and failing scriptlets (RhBug:1724779)
- Don't show older install-only pkgs updates in updateinfo (RhBug:1649383,1728004)
- Add --ids option to the group command (RhBug:1706382)
- Add --with_cve and --with_bz options to the updateinfo command (RhBug:1750528)
* Thu Sep 19 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.11-1
- Improve modularity documentation (RhBug:1730162,1730162,1730807,1734081)
- Fix detection whether system is running on battery (used by metadata caching timer) (RhBug:1498680)
- New repoquery queryformat: %{reason}
- Print rpm errors during test transaction (RhBug:1730348)
- Fix: --setopt and repo with dots
- Fix incorrectly marked profile and stream after failed rpm transaction check (RhBug:1719679)
- Show transaction errors inside dnf shell (RhBug:1743644)
- Don't reinstall modified packages with the same NEVRA (RhBug:1644241)
- dnf-automatic now respects versionlock excludes (RhBug:1746562)
* Tue Aug 13 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.9-1
- Prevent printing empty Error Summary (RhBug: 1690414)
- [doc] Add user_agent and countme options
* Tue Aug 06 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.8-1
- Enhance synchronization of rpm transaction to swdb
- Accept multiple specs in repoquery options (RhBug:1667898)
- Prevent switching modules in all cases (RhBug:1706215)
- [history] Don't store failed transactions as succeeded
- [history] Do not require root for informative commands
- [dnssec] Fix UnicodeWarning when using new rpm (RhBug:1699650)
- Print rpm error messages during transaction (RhBug:1677199)
- Report missing default profile as an error (RhBug:1669527)
- Apply excludes before modular excludes (RhBug:1709453)
- Improve help for command line arguments (RhBug:1659328)
- [doc] Describe a behavior when plugin is removed (RhBug:1700741)
- Add new modular API method ModuleBase.get_modules
- Mark features used by ansible, anaconda and subscription-manager as an API
* Tue Jun 11 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.7-1
- Set default to skip_if_unavailable=false (RhBug:1679509)
- Fix package reinstalls during yum module remove (RhBug:1700529)
- Fail when "-c" option is given nonexistent file (RhBug:1512457)
- Reuse empty lock file instead of stopping dnf (RhBug:1581824)
- Propagate comps 'default' value correctly (RhBug:1674562)
- Better search of provides in /(s)bin/ (RhBug:1657993)
- Add detection for armv7hcnl (RhBug:1691430)
- Fix group install/upgrade when group is not available (RhBug:1707624)
- Report not matching plugins when using --enableplugin/--disableplugin
(RhBug:1673289) (RhBug:1467304)
- Add support of modular FailSafe (RhBug:1623128)
- Replace logrotate with build-in log rotation for dnf.log and dnf.rpm.log
(RhBug:1702690)
* Tue May 07 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.6-1
- librepo: Turn on debug logging only if debuglevel is greater than 2 (RhBug:1355764,1580022)
- Fix issues with terminal hangs when attempting bash completion (RhBug:1702854)
- Rename man page from dnf.automatic to dnf-automatic to match command name
- [provides] Enhanced detecting of file provides (RhBug:1702621)
- [provides] Sort the output packages alphabetically
* Thu Apr 25 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.5-1
- Fix multilib obsoletes (RhBug:1672947)
- Do not remove group package if other packages depend on it
- Remove duplicates from "dnf list" and "dnf info" outputs
- Installroot now requires absolute path
- Fix the installation of completion_helper.py
- Allow globs in setopt in repoid part
- Fix formatting of message about free space required
- [doc] Add info of relation update_cache with fill_sack (RhBug:1658694)
- Fix installation failiure when duplicit RPMs are specified (RhBug:1687286)
- Add command abbreviations (RhBug:1634232)
- Allow plugins to terminate dnf (RhBug:1701807)
* Wed Mar 27 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.2-1
- [conf] Use environment variables prefixed with DNF_VAR_
- Enhance documentation of --whatdepends option (RhBug:1687070)
- Allow adjustment of repo from --repofrompath (RhBug:1689591)
- Document cachedir option (RhBug:1691365)
- Retain order of headers in search results (RhBug:1613860)
- Solve traceback with the "dnf install @module" (RhBug:1688823)
- Build "yum" instead of "dnf-yum" on Fedora 31
* Mon Mar 11 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.1-1
- Do not allow direct module switch (RhBug:1669491)
- Use improved config parser that preserves order of data
- Fix alias list command (RhBug:1666325)
- Postpone yum conflict to F31
- Update documentation: implemented plugins; options; deprecated commands (RhBug:1670835,1673278)
- Support zchunk (".zck") compression
- Fix behavior of ``--bz`` option when specifying more values
- Follow RPM security policy for package verification
- Update modules regardless of installed profiles
- Add protection of yum package (RhBug:1639363)
- Fix ``list --showduplicates`` (RhBug:1655605)
* Tue Feb 12 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.1.0-1
- Allow to enable modules that break default modules (RhBug:1648839)
- Enhance documentation - API examples
- Add best as default behavior (RhBug:1670776,1671683)
- Add --nobest option
* Wed Dec 12 2018 Jaroslav Mracek <jmracek@redhat.com> - 4.0.10-1
- Updated difference YUM vs. DNF for yum-updateonboot
- Added new command ``dnf alias [options] [list|add|delete] [<name>...]`` to allow the user to
define and manage a list of aliases
- Enhanced documentation
- Unifying return codes for remove operations
- [transaction] Make transaction content available for commands
- Triggering transaction hooks if no transaction (RhBug:1650157)
- Add hotfix packages to install pool (RhBug:1654738)
- Report group operation in transaction table
- [sack] Change algorithm to calculate rpmdb_version
* Thu Nov 22 2018 Jaroslav Mracek <jmracek@redhat.com> - 4.0.9-1
- Added dnf.repo.Repo.get_http_headers
- Added dnf.repo.Repo.set_http_headers
- Added dnf.repo.Repo.add_metadata_type_to_download
- Added dnf.repo.Repo.get_metadata_path
- Added dnf.repo.Repo.get_metadata_content
- Added --changelogs option for check-update command
- [module] Add information about active modules
- Hide messages created only for logging
- Enhanced --setopt option
- [module] Fix dnf remove @<module>
- [transaction] Make transaction content available for plugins
* Mon Oct 15 2018 Jaroslav Mracek <jmracek@redhat.com> - 4.0.4-1
- Update to 4.0.4
- Add dnssec extension
- Set termforce to AUTO to automatically detect if stdout is terminal
- Repoquery command accepts --changelogs option (RhBug:1483458)
- Calculate sack version from all installed packages (RhBug:1624291)
- [module] Allow to enable module dependencies (RhBug:1622566)
* Tue Sep 25 2018 Jaroslav Mracek <jmracek@redhat.com> - 3.6.1-1
- [module] Improved module commands list, info
- [module] Reports error from module solver
- Fix: Error detected when calling 'RepoCB.fastestMirror' (RhBug:1628056)
- Preserve packages from other installed mod profiles (RhBug:1629841)
- [spec] Postpone conflict with yum to Fedora 30+ (RhBug:1600444)
- [cli] Install command recommends alternative packages (RhBug:1625586)
- [cli] Fix case insensitive hint (1628514)
- Fix installed profiles for module info (RhBug:1629689)
- Fix module provides not having consistent output (RhBug:1623866)
- Enhance label for transaction table (RhBug:1609919)
- Implement C_, the gettext function with a context (RhBug:1305340)
- Actually disambiguate some messages using C_ (RhBug:1305340)
- Restore 'strict' choice for group installs (#1461539)
- [repoquery] More strict queryformat parsing (RhBug:1631458)
- Redirect repo progress to std error (RhBug:1626011)
- Unify behavior of remove and module remove (RhBug:1629848)
- Change behavior of disabled module for module install (RhBug:1629711)
- Allow enablement on disabled plugin (RhBug:1614539)
* Mon Sep 10 2018 Jaroslav Mracek <jmracek@redhat.com> - 3.5.1-1
- [module] Fixed list and info subcommands
* Fri Sep 07 2018 Jaroslav Mracek <jmracek@redhat.com> - 3.5.0-1
- New implementation of modularity
* Fri Aug 31 2018 Daniel Mach <dmach@redhat.com> - 3.4.0-1
- [history] Fix 'attempt to write a readonly database' error in addConsoleOutputLine().
- [spec] Improve YUM v3 compat layer.
- [doc] document missing link from yum-rhn-plugin to dnf-plugin-spacewalk (RhBug:1580356)
- [doc] document difference between yum and dnf when listing packages (RhBug:1615834)
- [doc] document missing download functionality after transaction table is displayed (RhBug:1585140)
- [systemd] dnf-makecache.timer: move the ordering after network to .service
- [translations] Update translations from zanata.
- [cli] Fix 'already installed' message output.
- [module] change 'module_nsvp' to 'module_spec'
- [module] show module profiles without ', ...'
- [module] unify usability of RepoModuleDict.get_info*(); fix traceback
- [security] fix update count (RhBug:1585138)
- [cli] enable reposync to use --destdir (RhBug:1582152)