From 4cce8b33688390636e3c264a2acd67fc3eb3fa3e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 21:50:30 +0100 Subject: [PATCH] backport to 2.7.5 with working deps and patches for rpm5 [release 2.7.5-1mamba;Sat Jun 01 2019] --- README.md | 2 + dnf-2.7.5-hawkey-0.6.4.1.patch | 12 +++ dnf-2.7.5-rpm-5-2.patch | 11 +++ dnf-2.7.5-rpm5.patch | 48 +++++++++++ dnf.spec | 140 +++++++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+) create mode 100644 dnf-2.7.5-hawkey-0.6.4.1.patch create mode 100644 dnf-2.7.5-rpm-5-2.patch create mode 100644 dnf-2.7.5-rpm5.patch create mode 100644 dnf.spec diff --git a/README.md b/README.md index 0e32c2f..15f9b4f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # dnf +Package manager based on libdnf and libsolv. Replaces YUM. + diff --git a/dnf-2.7.5-hawkey-0.6.4.1.patch b/dnf-2.7.5-hawkey-0.6.4.1.patch new file mode 100644 index 0000000..3e1a306 --- /dev/null +++ b/dnf-2.7.5-hawkey-0.6.4.1.patch @@ -0,0 +1,12 @@ +--- dnf-2.7.5/dnf/cli/commands/updateinfo.py.orig 2019-06-01 12:03:50.647381688 +0200 ++++ dnf-2.7.5/dnf/cli/commands/updateinfo.py 2019-06-01 12:04:09.138471371 +0200 +@@ -46,8 +46,7 @@ + TYPE2LABEL = {hawkey.ADVISORY_BUGFIX: _('bugfix'), + hawkey.ADVISORY_ENHANCEMENT: _('enhancement'), + hawkey.ADVISORY_SECURITY: _('security'), +- hawkey.ADVISORY_UNKNOWN: _('unknown'), +- hawkey.ADVISORY_NEWPACKAGE: _('newpackage')} ++ hawkey.ADVISORY_UNKNOWN: _('unknown')} + + SECURITY2LABEL = {'Critical': _('Critical/Sec.'), + 'Important': _('Important/Sec.'), diff --git a/dnf-2.7.5-rpm-5-2.patch b/dnf-2.7.5-rpm-5-2.patch new file mode 100644 index 0000000..4a70504 --- /dev/null +++ b/dnf-2.7.5-rpm-5-2.patch @@ -0,0 +1,11 @@ +--- dnf-2.7.5/dnf/rpm/__init__.py.orig 2019-06-01 12:01:13.245618282 +0200 ++++ dnf-2.7.5/dnf/rpm/__init__.py 2019-06-01 12:01:27.285686377 +0200 +@@ -37,7 +37,7 @@ + idx = ts.dbMatch('provides', distroverpkg) + except (TypeError, rpm.error) as e: + raise dnf.exceptions.Error('Error: %s' % str(e)) +- if not len(idx): ++ if idx: + continue + try: + hdr = next(idx) diff --git a/dnf-2.7.5-rpm5.patch b/dnf-2.7.5-rpm5.patch new file mode 100644 index 0000000..10a400d --- /dev/null +++ b/dnf-2.7.5-rpm5.patch @@ -0,0 +1,48 @@ +diff -ru dnf-2.7.5.orig/dnf/base.py dnf-2.7.5/dnf/base.py +--- dnf-2.7.5.orig/dnf/base.py 2019-06-01 09:35:45.000000000 +0200 ++++ dnf-2.7.5/dnf/base.py 2019-06-01 11:41:34.731888285 +0200 +@@ -473,10 +473,9 @@ + 'nodocs': rpm.RPMTRANS_FLAG_NODOCS, + 'test': rpm.RPMTRANS_FLAG_TEST, + 'justdb': rpm.RPMTRANS_FLAG_JUSTDB, +- 'nocontexts': rpm.RPMTRANS_FLAG_NOCONTEXTS, +- 'nocrypto': rpm.RPMTRANS_FLAG_NOFILEDIGEST} +- _TS_VSFLAGS_TO_RPM = {'nocrypto': rpm._RPMVSF_NOSIGNATURES | +- rpm._RPMVSF_NODIGESTS} ++ 'nocontexts': 0, ++ 'nocrypto': 0} ++ _TS_VSFLAGS_TO_RPM = {'nocrypto': rpm.RPMVSF_NODSAHEADER} + + @property + def _ts(self): +@@ -1663,7 +1662,7 @@ + + installroot = self.conf.installroot + myts = dnf.rpm.transaction.initReadOnlyTransaction(root=installroot) +- myts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS)) ++ myts.pushVSFlags(~(rpm.RPMVSF_NODSAHEADER)) + idx = myts.dbMatch('name', 'gpg-pubkey') + keys = len(idx) + del idx +diff -ru dnf-2.7.5.orig/dnf/rpm/__init__.py dnf-2.7.5/dnf/rpm/__init__.py +--- dnf-2.7.5.orig/dnf/rpm/__init__.py 2019-06-01 09:35:45.000000000 +0200 ++++ dnf-2.7.5/dnf/rpm/__init__.py 2019-06-01 11:40:28.590565110 +0200 +@@ -31,7 +31,7 @@ + """Calculate the release version for the system.""" + + ts = transaction.initReadOnlyTransaction(root=installroot) +- ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS)) ++ ts.pushVSFlags(~(rpm.RPMVSF_NODSAHEADER)) + for distroverpkg in dnf.const.DISTROVERPKG: + try: + idx = ts.dbMatch('provides', distroverpkg) +diff -ru dnf-2.7.5.orig/dnf/rpm/transaction.py dnf-2.7.5/dnf/rpm/transaction.py +--- dnf-2.7.5.orig/dnf/rpm/transaction.py 2019-06-01 09:35:45.000000000 +0200 ++++ dnf-2.7.5/dnf/rpm/transaction.py 2019-06-01 11:40:28.591565115 +0200 +@@ -119,5 +119,5 @@ + + def initReadOnlyTransaction(root='/'): + read_ts = TransactionWrapper(root=root) +- read_ts.pushVSFlags((rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)) ++ read_ts.pushVSFlags(rpm.RPMVSF_NODSAHEADER) + return read_ts diff --git a/dnf.spec b/dnf.spec new file mode 100644 index 0000000..89d9641 --- /dev/null +++ b/dnf.spec @@ -0,0 +1,140 @@ +Name: dnf +Version: 2.7.5 +Release: 1mamba +Summary: Package manager based on libdnf and libsolv +Group: System/Management +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://github.com/rpm-software-management/dnf +Source: https://github.com/rpm-software-management/dnf.git/%{version}/dnf-%{version}.tar.bz2 +Patch0: dnf-2.7.5-rpm5.patch +Patch1: dnf-2.7.5-rpm-5-2.patch +Patch2: dnf-2.7.5-hawkey-0.6.4.1.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: libpython-devel +## AUTOBUILDREQ-END +BuildRequires: cmake +Requires: librepo +Requires: libcomps +Requires: libsolv +Requires: libdnf +Requires: python-gpg +Requires: python-backports-lzma +Requires: python-iniparse +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Package manager based on libdnf and libsolv. Replaces YUM. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +%cmake -d build + +%make +make doc + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%ifarch x86_64 +install -d %{buildroot}%{python_sitearch} +mv %{buildroot}%{python_sitelib}/dnf %{buildroot}%{python_sitearch} +%endif + +ln -s dnf-2 %{buildroot}%{_bindir}/dnf +ln -s dnf-automatic-2 %{buildroot}%{_bindir}/dnf-automatic + +install -d %{buildroot}/lib +mv %{buildroot}%{_prefix}/lib/systemd %{buildroot}/lib/ + +mv %{buildroot}%{_mandir}/man8/yum.8 %{buildroot}%{_mandir}/man8/yum-dnf.8 + +%find_lang %{name} || touch %{name}.lang + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files -f %{name}.lang +%defattr(-,root,root) +%dir %{_sysconfdir}/dnf +%config %{_sysconfdir}/dnf/automatic.conf +%config %{_sysconfdir}/dnf/dnf.conf +%dir %{_sysconfdir}/dnf/protected.d +%config %{_sysconfdir}/dnf/protected.d/dnf.conf +%{_sysconfdir}/libreport/events.d/collect_dnf.conf +%{_sysconfdir}/logrotate.d/dnf +%{_bindir}/dnf +%{_bindir}/dnf-automatic +%{_bindir}/dnf-2 +%{_bindir}/dnf-automatic-2 +%dir %{python_sitearch}/dnf +%{python_sitearch}/dnf/* +%{_unitdir}/dnf-automatic-download.service +%{_unitdir}/dnf-automatic-download.timer +%{_unitdir}/dnf-automatic-install.service +%{_unitdir}/dnf-automatic-install.timer +%{_unitdir}/dnf-automatic-notifyonly.service +%{_unitdir}/dnf-automatic-notifyonly.timer +%{_unitdir}/dnf-automatic.service +%{_unitdir}/dnf-automatic.timer +%{_unitdir}/dnf-makecache.service +%{_unitdir}/dnf-makecache.timer +%{_tmpfilesdir}/dnf.conf +%{_datadir}/bash-completion/completions/dnf +%{_mandir}/man5/dnf.conf.5* +%{_mandir}/man8/dnf.8* +%{_mandir}/man8/dnf.automatic.8* +%{_mandir}/man8/yum-dnf.8* +%{_mandir}/man8/yum2dnf.8* +%doc AUTHORS COPYING + +%changelog +* Sat Jun 01 2019 Silvan Calarco 2.7.5-1mamba +- backport to 2.7.5 with working deps and patches for rpm5 + +* Sat May 25 2019 Automatic Build System 4.2.6-1mamba +- automatic version update by autodist + +* Fri Dec 28 2018 Silvan Calarco 4.0.10-2mamba +- added rpm5 patch + +* Wed Dec 19 2018 Automatic Build System 4.0.10-1mamba +- automatic version update by autodist + +* Thu Nov 22 2018 Automatic Build System 4.0.9-1mamba +- automatic version update by autodist + +* Sun Nov 04 2018 Automatic Build System 4.0.4-1mamba +- automatic version update by autodist + +* Sat Sep 01 2018 Automatic Build System 3.4.0-1mamba +- automatic version update by autodist + +* Tue Aug 14 2018 Automatic Build System 3.3.0-1mamba +- automatic version update by autodist + +* Tue Aug 07 2018 Automatic Build System 3.2.0-1mamba +- automatic version update by autodist + +* Fri Jul 27 2018 Automatic Build System 3.1.0-1mamba +- automatic version update by autodist + +* Mon Jul 23 2018 Automatic Build System 3.0.4-1mamba +- automatic version update by autodist + +* Thu Jul 12 2018 Automatic Build System 3.0.3-1mamba +- automatic version update by autodist + +* Sun Jul 08 2018 Automatic Build System 3.0.2-1mamba +- automatic version update by autodist + +* Wed May 16 2018 Silvan Calarco 2.7.5-1mamba +- package created using the webbuild interface