[packages/dnf-plugins-core] - new

baggins baggins at pld-linux.org
Sun Mar 14 19:33:54 CET 2021


commit 39fa4e4bfd7b6c6dc52fea2c83113f6eb133a830
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Mar 14 19:33:30 2021 +0100

    - new

 dnf-plugins-core.spec | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++
 install.patch         |  12 ++
 migrate3.patch        |  58 +++++++++
 3 files changed, 390 insertions(+)
---
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
new file mode 100644
index 0000000..0e77f1e
--- /dev/null
+++ b/dnf-plugins-core.spec
@@ -0,0 +1,320 @@
+#
+# Conditional build:
+%bcond_without	yum_compatibility	# Add yum plugins provides
+%bcond_without	yum_utils		# Build yum-utils replacement package dnf-utils
+#
+Summary:	Core Plugins for DNF
+Name:		dnf-plugins-core
+Version:	4.0.19
+Release:	1
+License:	GPL v2+
+Source0:	https://github.com/rpm-software-management/dnf-plugins-core/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	ab4a9b6919a70943d45404943ae49a21
+Patch0:		install.patch
+Patch1:		migrate3.patch
+URL:		https://github.com/rpm-software-management/dnf-plugins-core
+BuildRequires:	cmake
+BuildRequires:	dnf >= 4.2.22
+BuildRequires:	gettext
+BuildRequires:	python3-dbus
+BuildRequires:	python3-devel
+BuildRequires:	python3-nose
+BuildRequires:	sphinx-pdg
+Requires:	dnf >= 4.2.22
+Requires:	python3-dateutil
+Requires:	python3-dbus
+Requires:	python3-hawkey >= 0.46.1
+%if %{with yum_compatibility}
+Provides:	yum-plugin-auto-update-debug-info = %{version}-%{release}
+Provides:	yum-plugin-changelog = %{version}-%{release}
+Provides:	yum-plugin-copr = %{version}-%{release}
+%endif
+BuildArch:	noarch
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Core Plugins for DNF. This package enhances DNF with builddep,
+config-manager, copr, debug, debuginfo-install, download,
+needs-restarting, groups-manager, repoclosure, repograph, repomanage,
+reposync, changelog and repodiff commands. Additionally provides
+generate_completion_cache passive plugin.
+
+%package -n dnf-utils
+Summary:	Yum-utils CLI compatibility layer
+Requires:	%{name} = %{version}-%{release}
+Provides:	yum-utils = %{version}-%{release}
+
+%description -n dnf-utils
+As a Yum-utils CLI compatibility layer, supplies in CLI shims for
+debuginfo-install, repograph, package-cleanup, repoclosure,
+repomanage, repoquery, reposync, repotrack, repodiff, builddep,
+config-manager, debug, download and yum-groups-manager that use new
+implementations using DNF.
+
+%package -n dnf-plugin-leaves
+Summary:	Leaves Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+
+%description -n dnf-plugin-leaves
+Leaves Plugin for DNF. List all installed packages not required by any
+other installed package.
+
+%package -n dnf-plugin-local
+Summary:	Local Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+Requires:	createrepo_c
+
+%description -n dnf-plugin-local
+Local Plugin for DNF. Automatically copy all downloaded packages to a
+repository on the local filesystem and generating repo metadata.
+
+%package -n dnf-plugin-migrate
+Summary:	Migrate Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+Requires:	yum
+
+%description -n dnf-plugin-migrate
+Migrate Plugin for DNF. Migrates history, group and yumdb data from
+yum to dnf.
+
+%package -n dnf-plugin-post-transaction-actions
+Summary:	Post transaction actions Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+
+%description -n dnf-plugin-post-transaction-actions
+Post transaction actions Plugin for DNF. Plugin runs actions (shell
+commands) after transaction is completed. Actions are defined in
+action files.
+
+%package -n dnf-plugin-show-leaves
+Summary:	Show-leaves Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+Requires:	dnf-plugin-leaves = %{version}-%{release}
+
+%description -n dnf-plugin-show-leaves
+Show-leaves Plugin for DNF. List all installed packages that are no
+longer required by any other installed package after a transaction.
+
+%package -n dnf-plugin-versionlock
+Summary:	Version Lock Plugin for DNF
+Requires:	%{name} = %{version}-%{release}
+%if %{with yum_compatibility}
+Provides:	yum-plugin-versionlock = %{version}-%{release}
+%endif
+
+%description -n dnf-plugin-versionlock
+Version lock plugin takes a set of name/versions for packages and
+excludes all other versions of those packages. This allows you to e.g.
+protect packages from being updated by newer versions.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+
+mkdir build
+
+%build
+cd build
+%cmake ../ \
+	-DPYTHON_DESIRED:FILEPATH=%{__python3} \
+	-DPYTHON_INSTALL_DIR:PATH=%{py3_sitescriptdir}
+
+%{__make}
+%{__make} doc-man
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_var}/cache/dnf
+
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+:> $RPM_BUILD_ROOT%{_var}/cache/dnf/packages.db
+
+%if %{with yum_utils}
+install -d $RPM_BUILD_ROOT%{_bindir}
+for p in debuginfo-install needs-restarting find-repos-of-install repo-graph \
+		package-cleanup repoclosure repodiff repomanage repoquery \
+		reposync repotrack yum-builddep yum-config-manager yum-debug-dump \
+		yum-debug-restore yum-groups-manager yumdownloader; do
+	ln -sr $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils $RPM_BUILD_ROOT%{_bindir}/$p
+done
+# These commands don't have a dedicated man page, so let's just point them
+# to the utils page which contains their descriptions.
+for m in find-repos-of-install.1 repoquery.1 repotrack.1; do
+	echo ".so dnf-utils.1" > $RPM_BUILD_ROOT%{_mandir}/man1/$m
+done
+%{__mv} $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils-3 $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils
+
+%else
+
+for m in debuginfo-install needs-restarting repo-graph repoclosure repodiff \
+		repomanage reposync yum-builddep yum-config-manager \
+		yum-debug-dump yum-debug-restore yum-groups-manager \
+		yumdownloader package-cleanup dnf-utils yum-utils; do
+	%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/${m}.1*
+done
+%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/dnf-utils-*
+%endif
+
+%if %{without yum_compatibility}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/yum-changelog.1*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man5/yum-versionlock.5*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/{yum-copr.8*,yum-versionlock.8*}
+%endif
+
+for d in $RPM_BUILD_ROOT%{py3_sitescriptdir}/{dnf-plugins,dnfpluginsextras}; do
+%py3_comp $d
+%py3_ocomp $d
+done
+
+%find_lang %{name}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f %{name}.lang
+%defattr(644,root,root,755)
+%doc AUTHORS README.rst
+%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.conf
+%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.d
+%config(noreplace) %{_sysconfdir}/dnf/plugins/debuginfo-install.conf
+%{py3_sitescriptdir}/dnf-plugins/builddep.py
+%{py3_sitescriptdir}/dnf-plugins/changelog.py
+%{py3_sitescriptdir}/dnf-plugins/config_manager.py
+%{py3_sitescriptdir}/dnf-plugins/copr.py
+%{py3_sitescriptdir}/dnf-plugins/debug.py
+%{py3_sitescriptdir}/dnf-plugins/debuginfo-install.py
+%{py3_sitescriptdir}/dnf-plugins/download.py
+%{py3_sitescriptdir}/dnf-plugins/generate_completion_cache.py
+%{py3_sitescriptdir}/dnf-plugins/groups_manager.py
+%{py3_sitescriptdir}/dnf-plugins/needs_restarting.py
+%{py3_sitescriptdir}/dnf-plugins/repoclosure.py
+%{py3_sitescriptdir}/dnf-plugins/repodiff.py
+%{py3_sitescriptdir}/dnf-plugins/repograph.py
+%{py3_sitescriptdir}/dnf-plugins/repomanage.py
+%{py3_sitescriptdir}/dnf-plugins/reposync.py
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/builddep.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/changelog.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/config_manager.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/copr.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/debug.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/debuginfo-install.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/download.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/generate_completion_cache.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/groups_manager.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/needs_restarting.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/repoclosure.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/repodiff.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/repograph.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/repomanage.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/reposync.*
+%{py3_sitescriptdir}/dnfpluginscore/
+%{_mandir}/man8/dnf-builddep.8*
+%{_mandir}/man8/dnf-changelog.8*
+%{_mandir}/man8/dnf-config-manager.8*
+%{_mandir}/man8/dnf-copr.8*
+%{_mandir}/man8/dnf-debug.8*
+%{_mandir}/man8/dnf-debuginfo-install.8*
+%{_mandir}/man8/dnf-download.8*
+%{_mandir}/man8/dnf-generate_completion_cache.8*
+%{_mandir}/man8/dnf-groups-manager.8*
+%{_mandir}/man8/dnf-needs-restarting.8*
+%{_mandir}/man8/dnf-repoclosure.8*
+%{_mandir}/man8/dnf-repodiff.8*
+%{_mandir}/man8/dnf-repograph.8*
+%{_mandir}/man8/dnf-repomanage.8*
+%{_mandir}/man8/dnf-reposync.8*
+%if %{with yum_compatibility}
+%{_mandir}/man1/yum-changelog.1*
+%{_mandir}/man8/yum-copr.8*
+%endif
+%ghost %{_var}/cache/dnf/packages.db
+
+%if %{with yum_utils}
+%files -n dnf-utils
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/debuginfo-install
+%attr(755,root,root) %{_bindir}/needs-restarting
+%attr(755,root,root) %{_bindir}/find-repos-of-install
+%attr(755,root,root) %{_bindir}/package-cleanup
+%attr(755,root,root) %{_bindir}/repo-graph
+%attr(755,root,root) %{_bindir}/repoclosure
+%attr(755,root,root) %{_bindir}/repodiff
+%attr(755,root,root) %{_bindir}/repomanage
+%attr(755,root,root) %{_bindir}/repoquery
+%attr(755,root,root) %{_bindir}/reposync
+%attr(755,root,root) %{_bindir}/repotrack
+%attr(755,root,root) %{_bindir}/yum-builddep
+%attr(755,root,root) %{_bindir}/yum-config-manager
+%attr(755,root,root) %{_bindir}/yum-debug-dump
+%attr(755,root,root) %{_bindir}/yum-debug-restore
+%attr(755,root,root) %{_bindir}/yum-groups-manager
+%attr(755,root,root) %{_bindir}/yumdownloader
+%attr(755,root,root) %{_libexecdir}/dnf-utils
+%{_mandir}/man1/debuginfo-install.1*
+%{_mandir}/man1/needs-restarting.1*
+%{_mandir}/man1/repo-graph.1*
+%{_mandir}/man1/repoclosure.1*
+%{_mandir}/man1/repodiff.1*
+%{_mandir}/man1/repomanage.1*
+%{_mandir}/man1/reposync.1*
+%{_mandir}/man1/yum-builddep.1*
+%{_mandir}/man1/yum-config-manager.1*
+%{_mandir}/man1/yum-debug-dump.1*
+%{_mandir}/man1/yum-debug-restore.1*
+%{_mandir}/man1/yum-groups-manager.1*
+%{_mandir}/man1/yumdownloader.1*
+%{_mandir}/man1/package-cleanup.1*
+%{_mandir}/man1/dnf-utils.1*
+%{_mandir}/man1/yum-utils.1*
+%{_mandir}/man1/find-repos-of-install.1*
+%{_mandir}/man1/repoquery.1*
+%{_mandir}/man1/repotrack.1*
+%endif
+
+%files -n dnf-plugin-leaves
+%defattr(644,root,root,755)
+%{py3_sitescriptdir}/dnf-plugins/leaves.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/leaves.*
+%{_mandir}/man8/dnf-leaves.8*
+
+%files -n dnf-plugin-local
+%defattr(644,root,root,755)
+%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf
+%{py3_sitescriptdir}/dnf-plugins/local.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/local.*
+%{_mandir}/man8/dnf-local.8*
+
+%files -n dnf-plugin-migrate
+%defattr(644,root,root,755)
+%{py3_sitescriptdir}/dnf-plugins/migrate.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/migrate.*
+%{_mandir}/man8/dnf-migrate.8*
+
+%files -n dnf-plugin-post-transaction-actions
+%defattr(644,root,root,755)
+%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.conf
+%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d
+%{py3_sitescriptdir}/dnf-plugins/post-transaction-actions.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/post-transaction-actions.*
+%{_mandir}/man8/dnf-post-transaction-actions.8*
+
+%files -n dnf-plugin-show-leaves
+%defattr(644,root,root,755)
+%{py3_sitescriptdir}/dnf-plugins/show_leaves.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/show_leaves.*
+%{_mandir}/man8/dnf-show-leaves.8*
+
+%files -n dnf-plugin-versionlock
+%defattr(644,root,root,755)
+%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf
+%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list
+%{py3_sitescriptdir}/dnf-plugins/versionlock.*
+%{py3_sitescriptdir}/dnf-plugins/__pycache__/versionlock.*
+%{_mandir}/man8/dnf-versionlock.8*
+%if %{with yum_compatibility}
+%{_mandir}/man5/yum-versionlock.conf.5*
+%{_mandir}/man8/yum-versionlock.8*
+%endif
diff --git a/install.patch b/install.patch
new file mode 100644
index 0000000..58fdfba
--- /dev/null
+++ b/install.patch
@@ -0,0 +1,12 @@
+--- dnf-plugins-core-4.0.19/CMakeLists.txt~	2021-01-28 18:02:06.000000000 +0100
++++ dnf-plugins-core-4.0.19/CMakeLists.txt	2021-03-14 18:56:13.218300360 +0100
+@@ -18,7 +18,9 @@
+     MESSAGE (FATAL_ERROR "Invalid PYTHON_DESIRED value: " ${PYTHON_DESIRED})
+ ENDIF()
+ 
++IF (NOT PYTHON_INSTALL_DIR)
+ EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++ENDIF()
+ MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
+ 
+ SET (SYSCONFDIR /etc)
diff --git a/migrate3.patch b/migrate3.patch
new file mode 100644
index 0000000..2d1169a
--- /dev/null
+++ b/migrate3.patch
@@ -0,0 +1,58 @@
+--- dnf-plugins-core-4.0.19/doc/CMakeLists.txt~	2021-01-28 18:02:06.000000000 +0100
++++ dnf-plugins-core-4.0.19/doc/CMakeLists.txt	2021-03-14 18:59:48.321737831 +0100
+@@ -40,10 +40,8 @@
+     ${CMAKE_CURRENT_BINARY_DIR}/yum-copr.8
+     ${CMAKE_CURRENT_BINARY_DIR}/yum-versionlock.8
+ 	DESTINATION share/man/man8)
+-if (${PYTHON_VERSION_MAJOR} STREQUAL "2")
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf-migrate.8
+         DESTINATION share/man/man8)
+-endif()
+ 
+ if (${WITHOUT_LOCAL} STREQUAL "0")
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf-local.8
+--- dnf-plugins-core-4.0.19/doc/conf.py~	2021-01-28 18:02:06.000000000 +0100
++++ dnf-plugins-core-4.0.19/doc/conf.py	2021-03-14 19:01:40.081790450 +0100
+@@ -80,8 +80,6 @@
+ # List of patterns, relative to source directory, that match files and
+ # directories to ignore when looking for source files.
+ exclude_patterns = ['_build']
+-if sys.version_info[0] > 2:
+-    exclude_patterns.append('migrate.rst')
+ 
+ # The reST default role (used for this markup: `text`) to use for all
+ # documents.
+@@ -295,8 +293,7 @@
+     ('dnf-utils', 'yum-utils', u'classic YUM utilities implemented as CLI shims on top of DNF',
+      AUTHORS, 1),
+ ]
+-if sys.version_info[0] < 3:
+-    man_pages.append(('migrate', 'dnf-migrate', u'DNF migrate Plugin', AUTHORS, 8))
++man_pages.append(('migrate', 'dnf-migrate', u'DNF migrate Plugin', AUTHORS, 8))
+ 
+ # If true, show URL addresses after external links.
+ #man_show_urls = False
+--- dnf-plugins-core-4.0.19/plugins/CMakeLists.txt~	2021-01-28 18:02:06.000000000 +0100
++++ dnf-plugins-core-4.0.19/plugins/CMakeLists.txt	2021-03-14 18:50:41.048120884 +0100
+@@ -11,9 +11,7 @@
+ if (${WITHOUT_LOCAL} STREQUAL "0")
+ INSTALL (FILES local.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+ endif()
+-if (${PYTHON_VERSION_MAJOR} STREQUAL "2")
+ INSTALL (FILES migrate.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+-endif()
+ INSTALL (FILES needs_restarting.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+ INSTALL (FILES post-transaction-actions.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+ INSTALL (FILES repoclosure.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+--- dnf-plugins-core-4.0.19/plugins/migrate.py~	2021-01-28 18:02:06.000000000 +0100
++++ dnf-plugins-core-4.0.19/plugins/migrate.py	2021-03-14 18:50:31.654781827 +0100
+@@ -16,9 +16,6 @@
+ # Red Hat, Inc.
+ #
+ 
+-from __future__ import absolute_import
+-from __future__ import unicode_literals
+-
+ from dnf.db.history import SwdbInterface
+ from dnfpluginscore import _, logger
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dnf-plugins-core.git/commitdiff/39fa4e4bfd7b6c6dc52fea2c83113f6eb133a830



More information about the pld-cvs-commit mailing list