import modulemd-tools-0.7-4.el8
This commit is contained in:
commit
b1ef3a331c
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/modulemd-tools-0.7.tar.gz
|
1
.modulemd-tools.metadata
Normal file
1
.modulemd-tools.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
20c992eeb765a8651210d9151248bd09b97ac127 SOURCES/modulemd-tools-0.7.tar.gz
|
224
SOURCES/0001-Dont-generate-manpages-on-the-fly.patch
Normal file
224
SOURCES/0001-Dont-generate-manpages-on-the-fly.patch
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
From c1668f6ca11562c12b6910ec8f399eb4e7e2cb3f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jakub Kadlcik <frostyx@email.cz>
|
||||||
|
Date: Tue, 9 Feb 2021 22:34:02 +0100
|
||||||
|
Subject: [PATCH] Dont generate manpages on the fly
|
||||||
|
|
||||||
|
---
|
||||||
|
man/createrepo_mod.1 | 21 +++++++++++++
|
||||||
|
man/dir2module.1 | 55 ++++++++++++++++++++++++++++++++++
|
||||||
|
man/modulemd-generate-macros.1 | 31 +++++++++++++++++++
|
||||||
|
man/modulemd-merge.1 | 39 ++++++++++++++++++++++++
|
||||||
|
man/repo2module.1 | 27 +++++++++++++++++
|
||||||
|
5 files changed, 173 insertions(+)
|
||||||
|
create mode 100644 man/createrepo_mod.1
|
||||||
|
create mode 100644 man/dir2module.1
|
||||||
|
create mode 100644 man/modulemd-generate-macros.1
|
||||||
|
create mode 100644 man/modulemd-merge.1
|
||||||
|
create mode 100644 man/repo2module.1
|
||||||
|
|
||||||
|
diff --git a/man/createrepo_mod.1 b/man/createrepo_mod.1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..9acdd7d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/createrepo_mod.1
|
||||||
|
@@ -0,0 +1,21 @@
|
||||||
|
+.TH createrepo_mod "1" Manual
|
||||||
|
+.SH NAME
|
||||||
|
+createrepo_mod
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B createrepo_mod
|
||||||
|
+[-h] directory_to_index
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+A small wrapper around createrepo_c and modifyrepo_c toprovide an easy tool
|
||||||
|
+for generating module repositories
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+\fBdirectory_to_index\fR
|
||||||
|
+Directory to index
|
||||||
|
+
|
||||||
|
+.SH AUTHORS
|
||||||
|
+.B createrepo_mod
|
||||||
|
+was written by Jakub Kadlčík <jkadlcik@redhat.com>.
|
||||||
|
+.SH DISTRIBUTION
|
||||||
|
+The latest version of createrepo_mod may be downloaded from
|
||||||
|
+.UR HOMEPAGE
|
||||||
|
+.UE
|
||||||
|
diff --git a/man/dir2module.1 b/man/dir2module.1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..728792e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/dir2module.1
|
||||||
|
@@ -0,0 +1,55 @@
|
||||||
|
+.TH dir2module "1" Manual
|
||||||
|
+.SH NAME
|
||||||
|
+dir2module
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B dir2module
|
||||||
|
+[-h] -m SUMMARY [-d DESCRIPTION] [-l LICENSE] [-r REQUIRES] [--force] [--stdout] (--dir DIR | --pkglist PKGLIST) nsvca
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+Recursively read RPMs from DIR or read them from specified pkglist.If any RPM
|
||||||
|
+is missing on unreadable, error out.Populate artifacts/rpms with RPM
|
||||||
|
+NEVRAs.Populate license/content with list of RPM licenses.Write
|
||||||
|
+N:S:V:C:A.modulemd.yaml in the current directory.Make sure the yaml is in
|
||||||
|
+modulemd v2 format.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+\fBnsvca\fR
|
||||||
|
+Module name, stream version, context and architecture in a N:S:V:C:A format
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-m\fR \fI\,SUMMARY\/\fR, \fB\-\-summary\fR \fI\,SUMMARY\/\fR
|
||||||
|
+Module summary
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-d\fR \fI\,DESCRIPTION\/\fR, \fB\-\-description\fR \fI\,DESCRIPTION\/\fR
|
||||||
|
+Module description
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-l\fR \fI\,LICENSE\/\fR, \fB\-\-license\fR \fI\,LICENSE\/\fR
|
||||||
|
+Module license
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-r\fR \fI\,REQUIRES\/\fR, \fB\-\-requires\fR \fI\,REQUIRES\/\fR
|
||||||
|
+Module runtime dependencies in a N:S format. For multiple dependencies, repeat
|
||||||
|
+this option
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-force\fR
|
||||||
|
+Suppress all constraints and hope for the best
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-stdout\fR
|
||||||
|
+By defult the output is saved in a file. Use this to suppress it and print to
|
||||||
|
+the STDOUT
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-dir\fR \fI\,DIR\/\fR
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-pkglist\fR \fI\,PKGLIST\/\fR
|
||||||
|
+
|
||||||
|
+.SH AUTHORS
|
||||||
|
+.B dir2module
|
||||||
|
+was written by Jakub Kadlčík <jkadlcik@redhat.com>.
|
||||||
|
+.SH DISTRIBUTION
|
||||||
|
+The latest version of dir2module may be downloaded from
|
||||||
|
+.UR HOMEPAGE
|
||||||
|
+.UE
|
||||||
|
diff --git a/man/modulemd-generate-macros.1 b/man/modulemd-generate-macros.1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..36a1e9a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/modulemd-generate-macros.1
|
||||||
|
@@ -0,0 +1,31 @@
|
||||||
|
+.TH modulemd-generate-macros "1" Manual
|
||||||
|
+.SH NAME
|
||||||
|
+modulemd-generate-macros
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B modulemd-generate-macros
|
||||||
|
+[-h] [--disttag DISTTAG] [--conflicts-from-file CONFLICTS_FROM_FILE] yaml
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+Generate `module\-build\-macros` SRPM package, which is a central piece for
|
||||||
|
+building modules. It should be present in the buildroot before any other
|
||||||
|
+module packages are submitted to be built.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+\fByaml\fR
|
||||||
|
+Path to modulemd YAML file
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-disttag\fR \fI\,DISTTAG\/\fR
|
||||||
|
+Disttag
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-conflicts\-from\-file\fR \fI\,CONFLICTS_FROM_FILE\/\fR
|
||||||
|
+Path to a file containing conflicts definitions and their reasoning. Content
|
||||||
|
+of this file gets simply pasted into the specfile
|
||||||
|
+
|
||||||
|
+.SH AUTHORS
|
||||||
|
+.B modulemd\-generate\-macros
|
||||||
|
+was written by Jakub Kadlčík <jkadlcik@redhat.com>.
|
||||||
|
+.SH DISTRIBUTION
|
||||||
|
+The latest version of modulemd\-generate\-macros may be downloaded from
|
||||||
|
+.UR HOMEPAGE
|
||||||
|
+.UE
|
||||||
|
diff --git a/man/modulemd-merge.1 b/man/modulemd-merge.1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..3f280ff
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/modulemd-merge.1
|
||||||
|
@@ -0,0 +1,39 @@
|
||||||
|
+.TH modulemd-merge "1" Manual
|
||||||
|
+.SH NAME
|
||||||
|
+modulemd-merge
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B modulemd-merge
|
||||||
|
+[-h] [-v] [-d] [-i] input [input ...] output
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+Merge several modules.yaml files (rpm modularity metadata) into one.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+\fBinput\fR
|
||||||
|
+input filename(s) or directories.
|
||||||
|
+repomd.xml files are parsed and modules hrefs contained are merged.
|
||||||
|
+If a directory is given, it is searched for repodata/repomd.xml
|
||||||
|
+and repomd.xml
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fBoutput\fR
|
||||||
|
+YAML output filename
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-v\fR, \fB\-\-verbose\fR
|
||||||
|
+increase output verbosity
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-d\fR, \fB\-\-debug\fR
|
||||||
|
+debug output verbosity
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+\fB\-i\fR, \fB\-\-ignore\-no\-input\fR
|
||||||
|
+ignore non\-existing input files
|
||||||
|
+
|
||||||
|
+.SH AUTHORS
|
||||||
|
+.B modulemd\-merge
|
||||||
|
+was written by Gerd v. Egidy <gerd.von.egidy@intra2net.com>.
|
||||||
|
+.SH DISTRIBUTION
|
||||||
|
+The latest version of modulemd\-merge may be downloaded from
|
||||||
|
+.UR HOMEPAGE
|
||||||
|
+.UE
|
||||||
|
diff --git a/man/repo2module.1 b/man/repo2module.1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..bdc2aa8
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/repo2module.1
|
||||||
|
@@ -0,0 +1,27 @@
|
||||||
|
+.TH "REPO2MODULE" "1" "2021-02-09" "" "repo2module Manual"
|
||||||
|
+.SH NAME
|
||||||
|
+repo2module \- Generates modules.yaml file with a module,...
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B repo2module
|
||||||
|
+[OPTIONS] REPO_PATH [MODULES_YAML]
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+Generates modules.yaml file with a module, that provides all RPM packages that are available within a repository.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+\fB\-d,\fP \-\-debug / \-\-nodebug
|
||||||
|
+.PP
|
||||||
|
+.TP
|
||||||
|
+\fB\-n,\fP \-\-module\-name TEXT
|
||||||
|
+[default: (Current directory name)]
|
||||||
|
+.TP
|
||||||
|
+\fB\-s,\fP \-\-module\-stream TEXT
|
||||||
|
+[default: rolling]
|
||||||
|
+.TP
|
||||||
|
+\fB\-v,\fP \-\-module\-version INTEGER
|
||||||
|
+[default: 1]
|
||||||
|
+.TP
|
||||||
|
+\fB\-c,\fP \-\-module\-context TEXT
|
||||||
|
+[default: abcdef12]
|
||||||
|
+.TP
|
||||||
|
+\fB\-O,\fP \-\-to\-stdout
|
||||||
|
+.PP
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
173
SPECS/modulemd-tools.spec
Normal file
173
SPECS/modulemd-tools.spec
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
Name: modulemd-tools
|
||||||
|
Version: 0.7
|
||||||
|
Release: 4%{?dist}
|
||||||
|
Summary: Collection of tools for parsing and generating modulemd YAML files
|
||||||
|
License: MIT
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
URL: https://github.com/rpm-software-management/modulemd-tools
|
||||||
|
Source0: https://github.com/rpm-software-management/modulemd-tools/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch1: 0001-Dont-generate-manpages-on-the-fly.patch
|
||||||
|
|
||||||
|
BuildRequires: createrepo_c
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: python3-libmodulemd >= 2.9.3
|
||||||
|
BuildRequires: python3-click
|
||||||
|
BuildRequires: python3-dnf
|
||||||
|
BuildRequires: python3-hawkey
|
||||||
|
BuildRequires: python3-createrepo_c
|
||||||
|
BuildRequires: python3-pyyaml
|
||||||
|
BuildRequires: python3-pytest
|
||||||
|
|
||||||
|
Requires: createrepo_c
|
||||||
|
Requires: python3-click
|
||||||
|
Requires: python3-dnf
|
||||||
|
Requires: python3-hawkey
|
||||||
|
Requires: python3-createrepo_c
|
||||||
|
Requires: python3-pyyaml
|
||||||
|
Requires: python3-libmodulemd >= 2.9.3
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
Tools provided by this package:
|
||||||
|
|
||||||
|
repo2module - Takes a YUM repository on its input and creates modules.yaml
|
||||||
|
containing YAML module definitions generated for each package.
|
||||||
|
|
||||||
|
dir2module - Generates a module YAML definition based on essential module
|
||||||
|
information provided via command-line parameters. The packages provided by
|
||||||
|
the module are found in a specified directory or a text file containing
|
||||||
|
their list.
|
||||||
|
|
||||||
|
createrepo_mod - A small wrapper around createrepo_c and modifyrepo_c to provide
|
||||||
|
an easy tool for generating module repositories.
|
||||||
|
|
||||||
|
modulemd-merge - Merge several modules.yaml files into one. This is useful for
|
||||||
|
example if you have several yum repositories and want to merge them into one.
|
||||||
|
|
||||||
|
modulemd-generate-macros - Generate module-build-macros SRPM package, which is
|
||||||
|
a central piece for building modules. It should be present in the buildroot
|
||||||
|
before any other module packages are submitted to be built.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd repo2module
|
||||||
|
%py3_build
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cd dir2module
|
||||||
|
%py3_build
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
cd repo2module
|
||||||
|
%py3_install
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cd dir2module
|
||||||
|
%py3_install
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cp createrepo_mod/createrepo_mod.py %{buildroot}%{_bindir}/createrepo_mod
|
||||||
|
cp modulemd-merge/modulemd-merge.py %{buildroot}%{_bindir}/modulemd-merge
|
||||||
|
cp modulemd-generate-macros/modulemd-generate-macros.py \
|
||||||
|
%{buildroot}%{_bindir}/modulemd-generate-macros
|
||||||
|
|
||||||
|
cp -r modulemd_tools/modulemd_tools %{buildroot}%{python3_sitelib}/modulemd_tools
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_mandir}/man1
|
||||||
|
cp man/*.1 %{buildroot}%{_mandir}/man1/
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
cd repo2module
|
||||||
|
%{__python3} -m pytest
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cd dir2module
|
||||||
|
%{__python3} -m pytest
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE
|
||||||
|
%{python3_sitelib}/repo2module
|
||||||
|
%{python3_sitelib}/repo2module-*.egg-info/
|
||||||
|
%{python3_sitelib}/dir2module
|
||||||
|
%{python3_sitelib}/dir2module-*.egg-info/
|
||||||
|
%{_bindir}/repo2module
|
||||||
|
%{_bindir}/dir2module
|
||||||
|
%{_bindir}/createrepo_mod
|
||||||
|
%{_bindir}/modulemd-merge
|
||||||
|
%{_bindir}/modulemd-generate-macros
|
||||||
|
%{python3_sitelib}/modulemd_tools
|
||||||
|
|
||||||
|
%{_mandir}/man1/repo2module.1*
|
||||||
|
%{_mandir}/man1/dir2module.1*
|
||||||
|
%{_mandir}/man1/createrepo_mod.1*
|
||||||
|
%{_mandir}/man1/modulemd-merge.1*
|
||||||
|
%{_mandir}/man1/modulemd-generate-macros.1.*
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Mar 02 2021 Jakub Kadlčík <jkadlcik@redhat.com> - 0.7-4
|
||||||
|
- Rebuild for 8.5.0
|
||||||
|
|
||||||
|
* Thu Feb 11 2021 Jakub Kadlčík <jkadlcik@redhat.com> - 0.7-3
|
||||||
|
- Bump spec to rebuild with gating enabled
|
||||||
|
|
||||||
|
* Tue Feb 09 2021 Jakub Kadlčík <jkadlcik@redhat.com> - 0.7-2
|
||||||
|
- Do not generate manpages on the fly
|
||||||
|
- Drop python-parameterized dependency
|
||||||
|
- Fix python3 macro for running tests
|
||||||
|
|
||||||
|
* Tue Feb 09 2021 Jakub Kadlcik <frostyx@email.cz> 0.7-1
|
||||||
|
- Generate manpages on the fly
|
||||||
|
- Automated test builds incl. Docker/Travis
|
||||||
|
- Fix PEP8 in all tools
|
||||||
|
- modulemd_tools: temporarily skip some tests on EPEL8 or Fedora
|
||||||
|
- Drop libmodulemd dependency in favor of python3-libmodulemd
|
||||||
|
|
||||||
|
* Sun Nov 22 2020 Jakub Kadlcik <frostyx@email.cz> 0.6-1
|
||||||
|
- Generate manpages for all tools in this repository
|
||||||
|
- modulemd-generate-macros: add a tool for generating module-build-macros
|
||||||
|
- modulemd_tools: add the first pieces of a python library (for internal usage only)
|
||||||
|
|
||||||
|
* Thu Nov 05 2020 Jakub Kadlcik <frostyx@email.cz> 0.5-1
|
||||||
|
- Release for epel8 as well (frostyx@email.cz)
|
||||||
|
- Require createrepo_c for the createrepo_mod package (frostyx@email.cz)
|
||||||
|
- modulemd-merge: improve README.md file (frostyx@email.cz)
|
||||||
|
- repo2module: improve README.md file (frostyx@email.cz)
|
||||||
|
- dir2module: improve README.md file (frostyx@email.cz)
|
||||||
|
- Improve README.md file (frostyx@email.cz)
|
||||||
|
- createrepo_mod: improve README.md file (frostyx@email.cz)
|
||||||
|
- Loosen the python3-libmodulemd dependency to just libmodulemd
|
||||||
|
(frostyx@email.cz)
|
||||||
|
- createrepo_mod: use just createrepo_c if it has built-in module support
|
||||||
|
(frostyx@email.cz)
|
||||||
|
- Explicitly depend on python3-setuptools (frostyx@email.cz)
|
||||||
|
- createrepo_mod: dump modules.yaml into the correct directory
|
||||||
|
(frostyx@email.cz)
|
||||||
|
|
||||||
|
* Mon Aug 10 2020 Jakub Kadlcik <frostyx@email.cz> 0.4-1
|
||||||
|
- createrepo_mod: support also non-module repositories (frostyx@email.cz)
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Jakub Kadlcik <frostyx@email.cz> 0.3-1
|
||||||
|
- Add createrepo_mod and modulemd-merge scripts
|
||||||
|
|
||||||
|
* Sun Jul 26 2020 Jakub Kadlčík <jkadlcik@redhat.com> - 0.2-1
|
||||||
|
- Add createrepo_mod tool
|
||||||
|
- Add modulemd-merge tool
|
||||||
|
- Drop Source1, it is not needed anymore
|
||||||
|
|
||||||
|
* Tue Jun 09 2020 Jakub Kadlčík <jkadlcik@redhat.com> - 0.1-1
|
||||||
|
- Initial package
|
Loading…
Reference in New Issue
Block a user